:root{
  --red:#c91818;
  --dark:#8b0000;
  --white:#ffffff;
  --muted:#f6f6f6;
  --card-shadow: 0 6px 18px rgba(0,0,0,0.08);
  --radius:10px;
}
/* Global accessibility variables */
:root{
  --text:#1f2937;
  --on-dark:#f3f4f6;
  --muted-text:#6b7280;
  --font-sans: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  /* DomiGo palette: oliva, naranja, negro */
  --olive:#6b8b3b;
  --orange:#ff8a00;
  --brand-black:#111111;
}
*{box-sizing:border-box}
body{font-family:var(--font-sans); background:var(--muted); color:var(--text); margin:0; -webkit-font-smoothing:antialiased}
.navbar{background:linear-gradient(90deg,var(--olive),var(--brand-black)); color:var(--on-dark); padding:12px 20px; display:flex; align-items:center; justify-content:space-between}
/* make any white text on dark navbars readable and slightly bolder */
.navbar, .navbar *{ color:var(--on-dark) !important; text-shadow:0 1px 2px rgba(0,0,0,0.45); font-weight:600 }
.header-title{font-size:1.1rem}
.logout-btn{background:transparent;border:1px solid rgba(255,255,255,0.18);color:#fff;padding:8px;border-radius:8px;cursor:pointer}
.logout-btn i{font-size:16px}
.logout-btn:hover{background:rgba(255,255,255,0.04)}
.navbar #clock{font-size:14px;color:#fff}
.brand{display:flex;align-items:center;gap:12px;font-weight:700}
.brand .logo{width:44px;height:44px;border-radius:8px;background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--red);font-weight:900}
/* Header styles */
.brand .title{font-size:1.35rem;font-weight:900;letter-spacing:0.6px;color:#fff}
.navbar-subtitle{font-size:0.95rem;color:rgba(255,255,255,0.92);text-transform:uppercase;font-weight:600;margin-left:12px}

/* Logout icon button */
.logout-btn{background:transparent;border:1px solid rgba(255,255,255,0.18);color:#fff;padding:8px;border-radius:8px;cursor:pointer}
.logout-btn i{font-size:16px}
.logout-btn:hover{background:rgba(255,255,255,0.04)}
.container{max-width:1100px;margin:24px auto;padding:0 16px}
.layout{display:grid;grid-template-columns:1fr 520px;gap:18px}
.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:14px}
.headline{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.notif-list{display:flex;flex-direction:column;gap:12px}
.incoming{border-left:4px solid var(--red);padding:10px;border-radius:6px;background:linear-gradient(180deg,#fff, #fffafa)}
.order{display:flex;flex-direction:column;gap:8px}
.order-details{font-size:0.95em;color:#333;margin-top:6px}
.order-meta{display:flex;gap:12px;align-items:center;color:#666;font-size:0.92em}
.order .meta{display:flex;gap:8px;align-items:center}
.btn{background:linear-gradient(90deg,var(--olive),var(--orange));color:var(--brand-black);border:none;padding:8px 12px;border-radius:8px;cursor:pointer}
.btn.secondary{background:#f3f4f6;color:var(--brand-black)}
.btn{border:1px solid rgba(0,0,0,0.08);box-shadow:0 1px 0 rgba(255,255,255,0.04)}
.btn:active{transform:translateY(1px)}
.btn.online{background:#2ecc71;color:#fff;border-color:rgba(0,0,0,0.06)}
.btn.offline{background:#95a5a6;color:#fff;border-color:rgba(0,0,0,0.06)}
.btn.secondary{border:1px solid #ddd}
.where-btn{background:var(--olive);color:var(--on-dark);border:1px solid rgba(0,0,0,0.06);padding:8px 10px;border-radius:8px}

#driverName{font-weight:700}

.btn:focus{outline:2px solid rgba(52,152,219,0.18)}
.store-input{padding:8px;border-radius:8px;border:1px solid #e6e6e6}
.small-muted{color:#666;font-size:0.9em}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
footer{padding:18px;text-align:center;color:#666}
.icon{color:var(--red);margin-right:6px}
.media-resize{max-width:100%}
@media(max-width:980px){.layout{grid-template-columns:1fr} .admin-grid{grid-template-columns:1fr}}

/* Monitoring animation */
.monitoring{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#777}
.spinner{width:64px;height:64px;border-radius:50%;border:8px solid #f3f3f3;border-top:8px solid var(--red);animation:spin 1s linear infinite;margin-bottom:12px}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* Highlight for newly assigned orders */
.highlight{box-shadow:0 0 0 4px rgba(201,24,24,0.12);animation:flash 1s ease-in-out}
@keyframes flash{0%{transform:scale(1);opacity:1}50%{transform:scale(1.01);opacity:0.95}100%{transform:scale(1);opacity:1}}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);display:none;align-items:center;justify-content:center;z-index:60}
.modal{background:var(--white);padding:18px;border-radius:12px;min-width:320px;max-width:720px;box-shadow:0 10px 40px rgba(0,0,0,0.2)}
.modal .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.modal .close{position:absolute;right:18px;top:12px;background:transparent;border:none;color:#999;font-size:18px;cursor:pointer}
.modal .modal-body{max-height:60vh;overflow:auto}
.modal.show{display:block}
.modal-overlay.show{display:flex}

/* Order detail inside modal */
.order-detail{font-size:0.95rem;color:#222}
.order-detail ul{padding-left:16px}
.order-detail li{margin-bottom:6px}
.orders-table th, .orders-table td{padding:8px;border-bottom:1px solid #eee}
.orders-table{width:100%;border-collapse:collapse}
.station-card{background:#fff;border-radius:8px;padding:12px;margin-bottom:10px;box-shadow:0 4px 12px rgba(0,0,0,0.04)}
.stat{color:#666;margin-top:6px}

/* Toast notifications */
.toast{position:fixed;right:18px;top:18px;background:rgba(0,0,0,0.85);color:#fff;padding:10px 14px;border-radius:8px;z-index:1000;box-shadow:0 6px 18px rgba(0,0,0,0.2);opacity:0;transform:translateY(-8px);transition:opacity 220ms,transform 220ms}
.toast.show{opacity:1;transform:translateY(0)}

/* Login page modern styling */
.login-card{font-family:Poppins, system-ui, -apple-system, 'Segoe UI', Roboto, Arial; padding:20px; border-radius:14px; background:linear-gradient(180deg,#fff,#fffbfb); box-shadow:0 10px 30px rgba(0,0,0,0.12); border:1px solid rgba(0,0,0,0.04); animation:slideInFade 600ms ease-out}
.login-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.brand-left{display:flex;align-items:center;gap:12px}
.login-card .logo{width:52px;height:52px;border-radius:10px;background:#fff;color:var(--red);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;border:2px solid rgba(0,0,0,0.04)}
.login-card .title{font-weight:700;color:#111;font-size:1.05rem}
.login-card .small-muted{font-size:0.85rem;color:#666}
.brand-right .delivery-icon{font-size:28px;color:#111;opacity:0.9;transform:translateX(0);transition:transform 0.9s cubic-bezier(.2,.9,.2,1)}
.brand-right .delivery-icon.animate{transform:translateX(6px)}

.login-form{display:flex;flex-direction:column;gap:12px}
.input-group{display:flex;align-items:center;background:#fff;border:1px solid rgba(0,0,0,0.06);padding:8px;border-radius:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);transition:box-shadow 180ms,border-color 180ms}
.input-group:focus-within{box-shadow:0 6px 18px rgba(201,24,24,0.08);border-color:var(--red)}
.input-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:rgba(0,0,0,0.6);margin-right:8px}
.input-field{border:0;outline:0;padding:8px 6px;font-size:1rem;background:transparent}

.actions-row{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:8px}
.btn-primary{background:linear-gradient(90deg,var(--red),#d32f2f);color:#fff;border:none;padding:10px 16px;border-radius:10px;box-shadow:0 6px 18px rgba(201,24,24,0.12);transition:transform 160ms ease,box-shadow 160ms}
.btn-primary:active{transform:translateY(1px)}
.btn-ghost{background:#2ecc71;color:#fff;border:1px solid #27ae60;padding:8px 12px;border-radius:10px; font-weight:600; transition:background 160ms,transform 160ms}
.btn-ghost:hover{background:#27ae60}
.btn-ghost:active{transform:translateY(1px)}

/* Accent green for success states */
.badge-success{background:#2ecc71;color:#fff;padding:6px 10px;border-radius:8px;font-weight:600}

/* Responsive tweaks */
@media(max-width:480px){ .login-card{margin:18px; padding:16px} .brand-right .delivery-icon{display:none} }

/* Card entrance animation */
@keyframes slideInFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* subtle input placeholder color */
::placeholder{color:#9aa0a6}

