@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.login-wrapper{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f7fa;font-family:Inter,sans-serif;padding:20px;box-sizing:border-box}.login-card-modern{background:#fff;width:100%;max-width:440px;border-radius:8px;border:1px solid #d8e0ea;box-shadow:0 10px 24px #0f172a14;padding:32px;box-sizing:border-box;transition:border-color .18s ease,box-shadow .18s ease}.login-header{text-align:center;margin-bottom:28px}.brand-title{color:var(--brand, #2563eb);margin:0;font-size:30px;font-weight:700;letter-spacing:0}.brand-subtitle{color:#64748b;margin:8px 0 0;font-size:15px;font-weight:400}.login-form{display:flex;flex-direction:column;gap:14px}.form-group{display:flex;flex-direction:column;gap:12px}.input-label{font-size:14px;font-weight:600;color:var(--brand-ink, #1e293b)}.input-modern{width:100%;font-size:16px;padding:12px 14px;border:1px solid #bdc8d6;border-radius:8px;background-color:#fff;color:#0f172a;box-sizing:border-box;transition:border-color .18s ease,box-shadow .18s ease}.input-modern:focus{outline:none;border-color:var(--brand, #2563eb);box-shadow:0 0 0 3px #96c11f29}.input-modern::placeholder{color:#94a3b8}.input-modern:disabled{opacity:.6;cursor:not-allowed}.btn-primary{width:100%;font-size:16px;font-weight:600;padding:12px;background-color:var(--brand, #2563eb);color:#172033;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease}.btn-primary:hover:not(:disabled){filter:none;box-shadow:0 0 0 3px #96c11f29}.btn-primary:active:not(:disabled){box-shadow:none}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-ghost{width:100%;margin-top:16px;padding:12px;background:transparent;border:none;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:background-color .2s ease,color .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-ghost:hover{background-color:#f1f5f9;color:#0f172a;box-shadow:none}.icon-back{font-size:16px}.footer-links{margin-top:24px;text-align:center}.btn-link{background:transparent;border:none;color:#cbd5e1;font-size:14px;font-weight:500;cursor:pointer;transition:color .2s ease}.btn-link:hover{color:#94a3b8;text-decoration:underline}.error-message{margin-top:24px;padding:12px;background-color:#fef2f2;color:#ef4444;border:1px solid #f87171;border-radius:8px;font-size:14px;font-weight:500;text-align:center;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root{font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#172033;background:#f5f7fa;--brand: #96c11f;--brand-dark: #6c9412;--brand-soft: #eff8dc;--brand-ink: #172033;--surface: #ffffff;--surface-alt: #f7f9fc;--surface-muted: #eef2f6;--border: #d8e0ea;--border-strong: #bdc8d6;--text-muted: #657286;--text-subtle: #8a96a8;--success: #16803a;--warning: #b7791f;--danger: #c73434;--danger-dark: #a82525;--sidebar-bg: #20242a;--sidebar-ink: #f4f6f8;--sidebar-muted: #aab3bf;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 10px 24px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;-webkit-font-smoothing:antialiased;background:var(--surface-alt)}.layout{min-height:100vh;display:grid;grid-template-columns:248px 1fr;background:var(--surface-alt)}.layout-sidebar-collapsed{grid-template-columns:76px 1fr}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-ink);padding:18px 14px;position:sticky;top:0;height:100vh;border-right:1px solid rgba(255,255,255,.08);z-index:10;transition:width .2s ease,padding .2s ease}.layout-sidebar-collapsed .sidebar{padding-left:14px;padding-right:14px}.sidebar-brand h2{margin:0;color:#fff;font-size:18px;letter-spacing:0;line-height:1.2}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 4px 16px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-toggle{border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:var(--sidebar-muted);border-radius:8px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.sidebar-toggle:hover{background:#ffffff1a;color:#fff;box-shadow:none}.layout-sidebar-collapsed .sidebar-brand{justify-content:center}.layout-sidebar-collapsed .sidebar-brand h2{font-size:18px}.layout-sidebar-collapsed .sidebar-toggle{position:absolute;right:-17px;top:22px;z-index:20;background:var(--sidebar-bg);box-shadow:0 8px 18px #00000029}.sidebar nav{display:grid;gap:4px}.sidebar a{color:var(--sidebar-muted);text-decoration:none;padding:10px 12px;border-radius:8px;font-weight:500;font-size:14px;line-height:1.2;display:flex;align-items:center;min-height:38px;transition:background .18s ease,color .18s ease}.sidebar a:hover{color:#fff;background:#ffffff12}.sidebar a.active{background:var(--brand-soft);color:#29320f;font-weight:600;box-shadow:none}.nav-item-label{display:inline-block;overflow:hidden;text-overflow:ellipsis}.nav-section-label{color:#dbe2ea;font-size:13px;font-weight:700;padding:12px 12px 6px}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;color:var(--sidebar-muted);border:0;box-shadow:none;cursor:pointer;padding:8px 12px 8px 22px;font-size:13px;font-weight:600;border-radius:8px;margin:2px 0}.nav-group-toggle:hover{background:#ffffff12;color:#fff;box-shadow:none}.nav-chevron{font-size:10px;opacity:.7;transition:transform .18s ease}.nav-chevron-open{transform:rotate(180deg)}.layout-sidebar-collapsed .sidebar nav{justify-items:center}.layout-sidebar-collapsed .sidebar a{width:100%;justify-content:center;padding-left:8px;padding-right:8px}.layout-sidebar-collapsed .nav-item-label{display:none}.layout-sidebar-collapsed .nav-section-label,.layout-sidebar-collapsed .nav-group-toggle{justify-content:center;padding-left:8px;padding-right:8px}.layout-sidebar-collapsed .nav-chevron{display:none}.content{display:flex;flex-direction:column;height:100vh;overflow-y:auto}.content-header{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5;min-height:66px;box-shadow:var(--shadow-sm)}.page-content{padding:26px 28px 36px;flex:1;max-width:1520px;width:100%;margin:0 auto}.header-meta{display:flex;gap:16px;align-items:center}.user-info{display:flex;flex-direction:column;gap:2px}.user-role{font-size:12px;text-transform:uppercase;letter-spacing:0;color:var(--text-muted);font-weight:600}.user-name{font-weight:600;font-size:15px}.header-actions{display:flex;gap:8px;align-items:center}.badge{background:var(--brand-soft);color:var(--brand-dark);padding:4px 10px;border-radius:8px;font-size:12px;font-weight:700;border:1px solid rgba(150,193,31,.3)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px;box-shadow:var(--shadow-sm);transition:border-color .18s ease,box-shadow .18s ease}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.card ul{padding-left:20px;margin:12px 0 0;color:#465366;line-height:1.6}button{border:1px solid transparent;border-radius:8px;padding:9px 14px;cursor:pointer;background:var(--brand);color:#172033;font-weight:600;font-size:14px;line-height:1.2;min-height:38px;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}button:hover{background:#a7cd34;box-shadow:0 0 0 3px #96c11f29}button:active{box-shadow:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(150,193,31,.32);outline-offset:2px}button.btn-secondary{background:var(--surface);color:#334155;border:1px solid var(--border-strong)}button.btn-secondary:hover{background:var(--surface-muted);color:var(--brand-ink);box-shadow:0 0 0 3px #94a3b81f}button.btn-danger{background:var(--surface);color:var(--danger);border:1px solid var(--danger)}button.btn-danger:hover{background:var(--danger);color:#fff;box-shadow:0 0 0 3px #c7343429}input,select{border:1px solid var(--border-strong);border-radius:8px;padding:9px 12px;font-size:14px;color:var(--brand-ink);background:var(--surface);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;outline:none;width:100%;min-height:38px}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #96c11f26}.vehicle-form{margin:18px 0 22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;background:var(--surface);padding:16px;border-radius:8px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.list{margin-top:18px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.error{color:var(--danger);font-weight:600;font-size:14px;background:#fff4f4;border:1px solid #f2c4c4;border-radius:8px;padding:10px 12px}section>div:first-child h2,.planning-header h2{color:#172033;font-size:24px;font-weight:700;line-height:1.2}section>div:first-child p,.planning-header p{color:var(--text-muted)}.layout-mobile{grid-template-columns:1fr;grid-template-rows:auto 1fr}.layout-mobile .sidebar{display:grid;grid-template-columns:1fr;gap:8px;padding:10px 12px;position:sticky;height:auto}.layout-mobile .sidebar-brand h2{font-size:18px;text-align:center}.layout-mobile .sidebar-brand{justify-content:center}.layout-mobile .sidebar-toggle{display:none}.layout-mobile .sidebar nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:4px;gap:6px;scrollbar-width:thin}.layout-mobile .sidebar a{text-align:center;white-space:nowrap;padding:8px 10px;font-size:13px}.layout-mobile .nav-section-label{display:none}.layout-mobile .nav-group-toggle{white-space:nowrap;padding:8px 10px}.layout-mobile .content-header{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 16px}.layout-mobile .header-actions{width:100%;flex-wrap:wrap}.layout-mobile .header-actions select,.layout-mobile .header-actions button{flex:1;min-width:0;font-size:13px;padding:8px 10px}.layout-mobile .page-content{padding:16px 14px 28px}.layout-mobile .vehicle-form{grid-template-columns:1fr;padding:16px;margin:16px 0;gap:12px}.vehicle-insight-card{display:flex;flex-direction:column;gap:12px}.vehicle-insight-title{margin:0;font-size:18px;color:#0f172a}.vehicle-insight-muted{margin:0;color:#64748b;font-size:13px}.vehicle-insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.vehicle-metric-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px}.vehicle-metric-box-total{background:#eff6ff;border-color:#bfdbfe}.vehicle-metric-label{font-size:12px;text-transform:uppercase;letter-spacing:0;color:#64748b;font-weight:600}.vehicle-metric-value{font-size:18px;color:#0f172a}.vehicle-tco-highlight{margin-top:4px;border-radius:8px;padding:14px 18px;text-align:center;font-size:34px;font-weight:800;line-height:1.1;color:#0f172a;background:#f4f8e8;border:1px solid #d9f99d}.maintenance-alert-list{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:10px}.maintenance-alert-item{border-radius:8px;padding:10px 12px;border:1px solid transparent;font-weight:600;font-size:14px}.maintenance-alert-due{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.maintenance-alert-ok{color:#166534;background:#dcfce7;border-color:#86efac}.vehicle-details-panel{margin-top:14px;padding-top:14px;border-top:1px dashed #cbd5e1}.vehicle-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.vehicle-details-grid .card{margin:0}.layout-mobile .vehicle-details-grid,.layout-mobile .list{grid-template-columns:1fr}.planning-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.planning-header h2{margin:0 0 6px;color:#0f172a}.planning-header p{margin:0;color:#64748b;font-size:14px}.planning-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.segmented-control{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;background:#fff}.segmented-control button{border-radius:0;background:#fff;color:#475569;border-right:1px solid #e2e8f0;box-shadow:none;min-height:36px}.segmented-control button:last-child{border-right:0}.segmented-control button.active{background:var(--brand);color:#0f172a}.form-field{display:flex;flex-direction:column;gap:4px}.form-field span{color:#64748b;font-size:12px;font-weight:600}.planning-filter-row{max-width:220px;margin-bottom:12px}.planning-board{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.planning-day-header,.planning-week-header{display:grid;min-width:980px;background:#f7f9fc;border-bottom:1px solid var(--border);color:#475569;font-size:12px;font-weight:700}.planning-day-header{grid-template-columns:180px repeat(14,minmax(64px,1fr))}.planning-week-header{grid-template-columns:180px repeat(7,minmax(120px,1fr))}.planning-day-header>*,.planning-week-header>*{padding:10px;border-left:1px solid #e2e8f0}.planning-day-header>*:first-child,.planning-week-header>*:first-child{border-left:0}.planning-day-row,.planning-week-row{display:grid;min-width:980px;min-height:96px;border-bottom:1px solid #e2e8f0}.planning-day-row{grid-template-columns:180px 1fr}.planning-week-row{grid-template-columns:180px repeat(7,minmax(120px,1fr))}.planning-day-row:last-child,.planning-week-row:last-child{border-bottom:0}.planning-vehicle-cell{padding:12px;border-right:1px solid #e2e8f0;background:#fff;display:flex;flex-direction:column;justify-content:center;gap:4px;position:sticky;left:0;z-index:2}.planning-vehicle-cell strong{color:#0f172a;font-size:14px}.planning-vehicle-cell span{color:#64748b;font-size:12px}.planning-day-slots{position:relative;display:grid;grid-template-columns:repeat(14,minmax(64px,1fr));min-height:96px}.planning-hour-slot{border-right:1px solid #f1f5f9;min-height:96px;color:#cbd5e1;font-size:11px;padding:6px}.planning-day-cell{min-height:96px;padding:8px;border-right:1px solid #f1f5f9;display:flex;flex-direction:column;gap:6px}.planning-day-cell:last-child{border-right:0}.planning-event{border:1px solid;border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.25;overflow:hidden}.planning-event strong{font-size:12px}.planning-event-day{position:absolute;top:30px;min-height:46px}.reservation-event-actions{display:flex;gap:6px;margin-top:4px}button.btn-approve,button.btn-reject{flex:1;padding:7px 8px;font-size:12px;box-shadow:none}button.btn-approve{background:var(--success);color:#fff}button.btn-approve:hover{background:#15803d}button.btn-reject{background:var(--danger);color:#fff}button.btn-reject:hover{background:#b91c1c}.planning-empty{margin:0;padding:24px;color:#64748b}.reservation-list-compact{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.layout-mobile .planning-header{flex-direction:column}.layout-mobile .planning-actions{justify-content:flex-start;width:100%}.layout-mobile .planning-filter-row{max-width:none}.layout-mobile .planning-day-header,.layout-mobile .planning-week-header,.layout-mobile .planning-day-row,.layout-mobile .planning-week-row{min-width:820px}.layout-mobile .cards{grid-template-columns:1fr;gap:12px}.layout-mobile .card{padding:16px}@media (max-width: 768px){.layout-desktop{grid-template-columns:1fr}.layout-desktop .sidebar{display:grid;grid-template-columns:1fr;gap:8px;padding:12px 16px}.layout-desktop .sidebar-brand h2{margin-bottom:8px;font-size:18px}.layout-desktop .sidebar nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:4px;gap:6px}.layout-desktop .sidebar a{text-align:center;white-space:nowrap;padding:8px 12px;font-size:13px}.layout-desktop .content-header{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 16px}.layout-desktop .header-actions{width:100%;flex-wrap:wrap}.layout-desktop .page-content{padding:16px}.layout-desktop .vehicle-form{grid-template-columns:1fr;padding:16px}.layout-desktop .list,.layout-desktop .cards{grid-template-columns:1fr}}
