:root{--navy-950:#0b1d35;--navy-900:#102a4c;--navy-800:#173b67;--blue-600:#2d659d;--blue-100:#e9f1fa;--amber-500:#e88a28;--amber-100:#fff3e3;--green-600:#21875d;--red-600:#b33d43;--ink:#152238;--muted:#6f7d90;--line:#e1e7ee;--surface:#fff;--canvas:#f4f6f9;--shadow-sm:0 3px 12px rgba(16,42,76,.06);--shadow-md:0 12px 32px rgba(16,42,76,.09);--radius-sm:10px;--radius:16px;--sidebar:270px;--topbar:68px}
html{background:var(--canvas);scroll-behavior:smooth}body{color:var(--ink);background:var(--canvas);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.app-page{padding-top:var(--topbar)}
a{transition:color .18s,background .18s,border-color .18s,transform .18s,box-shadow .18s}
.content,.sidebar.unified-sidebar+.content{width:auto;max-width:none;margin-left:var(--sidebar);padding:34px clamp(22px,3.2vw,52px) 56px}
.content>header{min-height:70px;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.content>header h1{color:var(--navy-950);font-size:clamp(27px,2.2vw,36px);font-weight:800;letter-spacing:-.035em}
.content>header p:not(.eyebrow){margin:10px 0 0;color:var(--muted);font-size:14px}.eyebrow{margin-bottom:8px;color:var(--blue-600);font-size:10px;font-weight:850;letter-spacing:.16em}
.app-topbar{position:fixed;z-index:880;inset:0 0 auto var(--sidebar);height:var(--topbar);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,3.2vw,52px);border-bottom:1px solid rgba(16,42,76,.08);background:rgba(255,255,255,.94);box-shadow:0 2px 12px rgba(16,42,76,.035);backdrop-filter:blur(14px)}
.topbar-context{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.topbar-context:before{content:"";width:26px;height:3px;border-radius:2px;background:var(--amber-500)}
.topbar-user{display:flex;align-items:center;gap:10px}.topbar-user-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--navy-900);color:#fff;font-size:12px;font-weight:850}.topbar-user strong,.topbar-user small{display:block}.topbar-user strong{font-size:12px}.topbar-user small{margin-top:2px;color:var(--muted);font-size:9px}
.saas-menu-toggle{display:none;width:40px;height:40px;padding:0;border:1px solid var(--line);background:#fff;color:var(--navy-900)}.saas-menu-toggle span,.saas-menu-toggle:before,.saas-menu-toggle:after{content:"";display:block;width:18px;height:2px;margin:4px auto;background:currentColor}
.sidebar.unified-sidebar{z-index:900;width:var(--sidebar);padding:24px 18px 18px;background:linear-gradient(180deg,var(--navy-950),#102c50 72%,#123458);box-shadow:8px 0 30px rgba(9,28,52,.12)}
.sidebar-brand{margin:0 8px 25px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none}.sidebar-brand .brand-mark{width:44px;height:44px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.08)}.sidebar-brand strong{font-size:20px;letter-spacing:.02em}.sidebar-brand small{color:#9db0c5}.sidebar-brand.has-full-logo{display:flex;width:calc(100% - 16px);min-height:70px;align-items:center;justify-content:center;padding:0 4px 22px}.sidebar-brand-logo{display:block;width:100%;max-width:210px;height:66px;object-fit:contain;object-position:center}
.unified-sidebar nav{display:block;margin:0;padding-right:4px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.unified-sidebar .menu-heading{display:block;margin:22px 11px 8px;color:#6f8aa7;font-size:8px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.unified-sidebar nav a{display:flex;align-items:center;gap:12px;margin:3px 0;padding:10px 12px;border:1px solid transparent;border-radius:10px;color:#b7c6d5;font-size:12px;font-weight:650}.unified-sidebar nav a:hover{border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.06);color:#fff}.unified-sidebar nav a.active{border-color:rgba(232,138,40,.35);background:linear-gradient(90deg,rgba(232,138,40,.22),rgba(232,138,40,.06));color:#fff;box-shadow:inset 3px 0 var(--amber-500)}.unified-sidebar nav a.active .menu-icon{color:#ffb25f}.menu-icon{width:18px;height:18px;flex:0 0 18px;stroke-width:1.7}.sidebar-logout{padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-logout .logout{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05)}
.panel,.dash-card,.metric-grid article,.fuel-summary article,.dashboard-metrics a,.metrics article,.next-step,.schedule-item,.approval-card,.boarding-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}
.panel:hover,.dash-card:hover{border-color:#d5dee8}.dash-card{box-shadow:var(--shadow-sm)}
.primary-action,.secondary-action,.content header a.primary-action,.content header a.secondary-action{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:0 17px;border-radius:10px;font-size:12px;font-weight:800;text-decoration:none}
.primary-action{border:1px solid var(--navy-900);background:var(--navy-900);color:#fff;box-shadow:0 5px 14px rgba(16,42,76,.16)}.primary-action:hover{background:var(--navy-800);transform:translateY(-1px)}
.secondary-action{border:1px solid var(--line);background:#fff;color:var(--navy-800)}.secondary-action:hover{border-color:#cbd6e2;background:#f8fafc}
button{min-height:42px;border-radius:10px;background:var(--navy-900);font-weight:800;box-shadow:none}button:hover{background:var(--navy-800)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(45,101,157,.2);outline-offset:2px}
label{color:#34455d;font-size:11px;font-weight:750}input,select,textarea{width:100%;border:1px solid #dbe3eb;border-radius:10px;background:#fbfcfe;color:var(--ink);font:inherit}input,select{min-height:44px;padding:0 13px}textarea{padding:12px 13px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:#c8d4e0}input:focus,select:focus,textarea:focus{border-color:var(--blue-600);background:#fff;box-shadow:0 0 0 3px rgba(45,101,157,.1)}
fieldset{border-color:var(--line)!important;border-radius:12px!important}legend{color:var(--navy-800);font-weight:800}
.form-panel{padding:clamp(22px,3vw,34px)}.form-grid{gap:16px}.form-actions{padding-top:22px;border-top:1px solid var(--line)}
.table-wrap{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}table{background:#fff}th{padding:14px 17px;background:#f7f9fc;color:#728198;font-size:9px;font-weight:850;letter-spacing:.1em}td{padding:16px 17px;color:#29384e;font-size:12px}tbody tr:hover{background:#f8fbfd}tbody tr:last-child td{border-bottom:0}
.badge{padding:6px 9px;border:1px solid #dfe6ec;background:#f0f3f6;color:#617083;font-size:8px;letter-spacing:.06em}.badge-active{border-color:#c7e7d8;background:#e9f7f0;color:#16704b}
.alert,.success-alert{border-radius:11px;padding:13px 16px;box-shadow:var(--shadow-sm)}.alert{border-color:#f0c7ca;background:#fff4f4}.success-alert{border-color:#c7e7d8;background:#effaf4}
.empty-state{padding:64px 24px;color:var(--muted)}
.dashboard-content{max-width:none}.dashboard-metrics{gap:14px}.dashboard-metrics a{position:relative;overflow:hidden;padding:20px}.dashboard-metrics a:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--blue-600)}.dashboard-metrics a:nth-child(2):before{background:var(--amber-500)}.dashboard-metrics a strong{color:var(--navy-950);font-size:24px}.dash-title{background:linear-gradient(180deg,#fff,#fbfcfe)}.dash-title h2{color:var(--navy-950)}
.metrics article,.dashboard-metrics a{box-shadow:var(--shadow-sm)}.metrics strong{color:var(--navy-950)}
.calendar-panel{overflow:hidden}.calendar-toolbar{background:#fff}.calendar-day{background:#fff!important}.calendar-day:hover{background:#f8fbfd!important}.calendar-event{border-radius:7px!important;box-shadow:none}
.schedule-item{overflow:hidden}.schedule-date{color:var(--navy-800)}.schedule-info h3{color:var(--navy-950)}.schedule-filters{box-shadow:var(--shadow-sm)}
.notification-item,.document-summary article,.report-summary article,.expense-summary article{border-radius:12px!important;box-shadow:var(--shadow-sm)}
.planning-warning{border-left:4px solid var(--amber-500)!important;background:var(--amber-100)!important}.route-card{box-shadow:var(--shadow-md)}
.leaflet-container{font-family:inherit}
dialog,.modal,.modal-content{border:0;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(9,28,52,.22)}dialog::backdrop{background:rgba(9,28,52,.55);backdrop-filter:blur(3px)}
.pagination{display:flex;gap:6px}.pagination a,.pagination span{display:grid;min-width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy-800);text-decoration:none}.pagination .active{border-color:var(--navy-900);background:var(--navy-900);color:#fff}
.auth-page{background:radial-gradient(circle at 18% 20%,rgba(45,101,157,.18),transparent 32%),linear-gradient(135deg,#edf2f8,#f9fafc 58%,#fff3e3)}.auth-card{border:1px solid rgba(255,255,255,.9);border-radius:22px;box-shadow:0 28px 80px rgba(16,42,76,.14)}.auth-card .brand-mark{background:var(--navy-900)}.auth-brand-full{display:flex;width:100%;min-height:82px;align-items:center;justify-content:center}.auth-brand-full img{display:block;width:100%;max-width:310px;height:90px;object-fit:contain;object-position:center}.auth-heading h1{color:var(--navy-950)}
.saas-overlay{display:none;position:fixed;z-index:890;inset:0;background:rgba(9,28,52,.48);backdrop-filter:blur(2px)}
@media(max-width:1180px){.dashboard-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){body.app-page{padding-top:var(--topbar)}.app-topbar{left:0;padding:0 18px}.saas-menu-toggle{display:block}.topbar-context{display:none}.sidebar.unified-sidebar{position:fixed;width:min(300px,86vw);transform:translateX(-105%);transition:transform .22s ease}.sidebar.unified-sidebar.is-open{transform:none}.saas-overlay.is-open{display:block}.content,.sidebar.unified-sidebar+.content{margin-left:0;padding:28px 20px 48px}.content>header{align-items:flex-start;gap:16px}.dashboard-grid{grid-template-columns:1fr}.table-wrap{overflow-x:auto}.notification-bell{top:12px!important;left:auto!important;right:72px!important}}
@media(max-width:650px){:root{--topbar:62px}.app-topbar{height:var(--topbar);padding:0 14px}.topbar-user div:last-child{display:none}.content{padding:22px 14px 42px}.content>header{flex-direction:column}.content>header>div:last-child,.quick-actions{width:100%;flex-wrap:wrap}.content>header .primary-action,.content>header .secondary-action{flex:1}.dashboard-metrics,.metrics{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.panel,.dash-card,.schedule-item{border-radius:13px}.table-wrap{border-radius:11px}th,td{padding:13px 12px}.auth-page{padding:18px}.auth-card{padding:26px}}
@media print{.app-topbar,.saas-menu-toggle,.saas-overlay{display:none!important}body.app-page{padding-top:0}.content{margin-left:0}}
.sidebar-brand .brand-mark{overflow:hidden}.sidebar-brand .brand-mark img{width:100%;height:100%;padding:4px;object-fit:contain}

.topbar-user{text-decoration:none;color:inherit}.topbar-user-avatar{overflow:hidden}.topbar-user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.topbar-user:hover strong{color:var(--blue-600)}