:root{--accent: #fd7e14;--accent-dark: #d8670a;--accent-soft: #fff1e7;--detail: #0f3d64;--detail-soft: #163f63;--bg: #e0e2ec;--block: #ffffff;--line: #d7deea;--ink: #102033;--muted: #758296;--danger: #d92d20;--blue: #0f3d64;--teal: #15b88a;--orange: #fd7e14;font-family:Aptos,Segoe UI,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--bg)}:root[data-theme=dark]{--accent-soft: rgba(253, 126, 20, .18);--detail: #0b2f4e;--detail-soft: #103a5e;--bg: #0e1826;--block: #142235;--line: #26384f;--ink: #e7edf6;--muted: #aab7c8;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}button,input,select,textarea{font:inherit}button{cursor:pointer}:root[data-theme=dark] .login-card,:root[data-theme=dark] .topbar,:root[data-theme=dark] .page-intro,:root[data-theme=dark] .stat-card,:root[data-theme=dark] .chart-card,:root[data-theme=dark] .distribution-card,:root[data-theme=dark] .search-panel,:root[data-theme=dark] .entity-toolbar,:root[data-theme=dark] .table-panel,:root[data-theme=dark] .fleet-card,:root[data-theme=dark] .modal,:root[data-theme=dark] .presence-row,:root[data-theme=dark] .media-preview-card,:root[data-theme=dark] .history-summary,:root[data-theme=dark] .contractor-exit-panel,:root[data-theme=dark] .fleet-checkout,:root[data-theme=dark] .upload-card,:root[data-theme=dark] .alert-box{background:var(--block);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .top-search,:root[data-theme=dark] .input-shell,:root[data-theme=dark] .ghost-icon,:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .trend-pill,:root[data-theme=dark] .segmented,:root[data-theme=dark] .history-person,:root[data-theme=dark] .fleet-metric,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .empty-history{background:#0f1c2d;border-color:var(--line);color:var(--ink)}:root[data-theme=dark] .login-card p,:root[data-theme=dark] .login-footer,:root[data-theme=dark] .page-intro p,:root[data-theme=dark] .top-date,:root[data-theme=dark] .profile small,:root[data-theme=dark] .stat-card div span,:root[data-theme=dark] .stat-card small,:root[data-theme=dark] .panel-title span,:root[data-theme=dark] .search-input span,:root[data-theme=dark] td,:root[data-theme=dark] .fleet-card span,:root[data-theme=dark] .timeline-item p,:root[data-theme=dark] .timeline-item small,:root[data-theme=dark] .field span,:root[data-theme=dark] .upload-card>span,:root[data-theme=dark] .modal-header p{color:var(--muted)}:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] strong,:root[data-theme=dark] th,:root[data-theme=dark] .panel-title h2,:root[data-theme=dark] .login-card h1{color:var(--ink)}:root[data-theme=dark] tbody tr:hover,:root[data-theme=dark] .segmented button.active{background:#fd7e141f}:root[data-theme=dark] .icon-button,:root[data-theme=dark] .vehicle-photo.placeholder,:root[data-theme=dark] .avatar.placeholder{border-color:var(--line)}.login-page{align-items:center;background:radial-gradient(circle at 22% 12%,rgba(255,255,255,.68),transparent 34%),radial-gradient(circle at 78% 82%,rgba(253,126,20,.13),transparent 34%),var(--bg);display:flex;justify-content:center;min-height:100vh;padding:22px}.login-card{align-items:center;background:var(--block);border:1px solid #c8cfdb;border-radius:13px;box-shadow:0 24px 45px #23304529;display:flex;flex-direction:column;max-width:380px;min-height:490px;padding:34px 34px 28px;width:min(100%,380px)}.login-logo{background:var(--detail);border-radius:7px;height:76px;margin-bottom:18px;object-fit:contain;padding:16px 28px;width:230px}.login-card h1{font-size:24px;line-height:1.1;margin:0 0 7px}.login-card p{color:#4e5a6e;font-size:15px;margin:0 0 26px}.input-shell{align-items:center;border:1px solid #c7cfdd;border-radius:9px;color:#5d6573;display:flex;gap:12px;height:46px;margin-bottom:15px;padding:0 16px;width:100%}.input-shell input{background:transparent;border:0;color:var(--ink);font-size:15px;outline:0;width:100%}.login-error{color:var(--danger);font-weight:800;margin:-10px 0 14px}.text-button{background:transparent;border:0;color:var(--accent-dark);font-size:14px;font-weight:800;margin:20px 0 26px}.login-footer{border-top:1px solid #d9deea;color:#5f6674;font-size:14px;margin-top:auto;padding-top:22px;text-align:center;width:100%}.app-shell{display:block;min-height:100vh}.sidebar{background:var(--detail);border-right:1px solid rgba(255,255,255,.1);bottom:0;display:flex;flex-direction:column;gap:26px;left:0;min-height:0;overflow-y:auto;padding:22px 16px;position:fixed;top:0;width:248px;z-index:8}.sidebar-brand{align-items:flex-start;background:transparent;border:0;color:#fff;display:flex;flex-direction:column;gap:8px;justify-content:flex-start;padding:0 2px 18px}.sidebar-brand img{height:42px;object-fit:contain;object-position:left center;width:184px}.sidebar-brand span{background:#fd7e142e;border-radius:999px;color:#fff;font-size:11px;font-weight:900;padding:5px 8px;text-transform:uppercase}.sidebar-section>span{color:#ffffffb8;display:block;font-size:13px;font-weight:900;margin:0 0 8px}.sidebar-nav{display:flex;flex-direction:column;gap:7px}.sidebar-link{align-items:center;background:transparent;border:0;border-radius:6px;color:#ffffffdb;display:grid;font-weight:750;gap:10px;grid-template-columns:22px 1fr 16px;min-height:44px;padding:0 12px;text-align:left}.sidebar-link.active{background:linear-gradient(90deg,var(--accent),#ff9b45);box-shadow:0 10px 22px #fd7e143d;color:#fff}.sidebar-section.compact{border-top:1px solid rgba(255,255,255,.12);margin-top:auto;padding-top:18px}.side-metric{align-items:center;border:1px solid rgba(255,255,255,.13);border-radius:8px;color:var(--accent);display:flex;gap:10px;margin-top:9px;padding:12px}.side-metric strong,.side-metric small{display:block}.side-metric strong{color:#fff;font-size:13px}.side-metric small{color:#ffffffad;font-size:12px}.main-shell{margin-left:248px;min-width:0}.topbar{align-items:center;background:var(--detail);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 8px 18px #0f3d6429;display:flex;gap:16px;justify-content:space-between;min-height:72px;padding:0 24px;position:sticky;top:0;z-index:5}.topbar-left,.topbar-actions{align-items:center;display:flex;gap:12px}.top-search{align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:6px;color:#ffffffc2;display:flex;gap:10px;height:38px;padding:0 13px;width:min(360px,42vw)}.top-search input{background:transparent;border:0;outline:0;color:#fff;width:100%}.top-search input::placeholder{color:#ffffff9e}.ghost-icon{align-items:center;background:transparent;border:0;border-radius:6px;color:#fff;display:inline-flex;height:38px;justify-content:center;width:38px}.ghost-icon:hover{background:#ffffff1f}.top-date,.profile,.logout-button{align-items:center;display:inline-flex}.top-date{color:#ffffffd1;gap:7px;font-size:13px;font-weight:800}.profile{gap:9px}.profile-avatar{align-items:center;background:var(--accent-soft);border:1px solid rgba(253,126,20,.32);border-radius:999px;color:var(--accent-dark);display:inline-flex;height:38px;justify-content:center;width:38px}.profile strong,.profile small{display:block;line-height:1.15}.profile strong{color:#fff;font-size:13px}.profile small{color:#ffffffad;font-size:12px}.logout-button{background:var(--accent);border:0;border-radius:6px;color:#fff;font-weight:850;gap:7px;min-height:38px;padding:0 13px}.workspace{display:flex;flex-direction:column;gap:18px;margin:0 auto;max-width:1480px;padding:28px 28px 36px;width:100%}.page-intro{align-items:flex-end;display:flex;justify-content:space-between;min-height:84px}.page-intro p{color:#667085;font-size:12px;font-weight:700;margin:0 0 8px;text-transform:uppercase}.page-intro h1{color:#0c2238;font-size:28px;font-weight:760;line-height:1.05;margin:0 0 6px}.page-intro span{color:#5b6779;font-size:14px}.intro-badge{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px #1018280a;color:var(--detail);display:grid;gap:0 10px;grid-template-columns:24px auto;min-width:150px;padding:13px 16px}.intro-badge strong,.intro-badge small{line-height:1.1}.intro-badge small{color:var(--muted);grid-column:2;font-size:11px;font-weight:750;text-transform:uppercase}.search-panel,.stat-card,.chart-card,.distribution-card,.operations-card,.table-panel,.entity-toolbar{background:var(--block);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px #1018280a,0 10px 28px #0f3d640a}.search-panel{align-items:end;display:grid;gap:14px;grid-template-columns:minmax(260px,1.35fr) repeat(4,minmax(135px,.7fr)) auto;padding:16px}.search-input span,.field span{color:#5f6b7c;display:block;font-size:11px;font-weight:760;letter-spacing:.02em;margin-bottom:7px;text-transform:uppercase}.search-input input,.search-input select,.field input,.field select,.field textarea{background:#fcfdff;border:1px solid #c9d3e2;border-radius:6px;color:var(--ink);min-height:40px;outline-color:var(--accent);padding:0 12px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;width:100%}.search-input input:focus,.search-input select:focus,.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#0f3d647a;box-shadow:0 0 0 3px #0f3d6414}.field select{min-height:38px}.search-input div{align-items:center;background:#fcfdff;border:1px solid #c9d3e2;border-radius:6px;color:#667085;display:flex;gap:8px;min-height:40px;padding:0 12px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.search-input div:focus-within{background:#fff;border-color:#0f3d647a;box-shadow:0 0 0 3px #0f3d6414}.search-input div input{background:transparent;border:0;padding:0}.filter-button,.primary-button,.secondary-button,.icon-button{align-items:center;border:0;display:inline-flex;gap:8px;justify-content:center}.filter-button{background:#fff;border:1px solid #c9d3e2;border-radius:6px;color:var(--detail);font-weight:760;min-height:40px;padding:0 16px}.filter-button:hover,.secondary-button:hover,.action-button:hover{background:#fff8f2}.primary-button{background:var(--accent);border-radius:7px;color:#fff;font-weight:850;min-height:50px;padding:0 22px;width:100%}.primary-button.compact{min-height:40px;width:auto}.stats-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(220px,1fr))}.stat-card{border:1px solid var(--line);color:inherit;display:flex;flex-direction:column;gap:12px;min-height:172px;overflow:hidden;padding:18px;position:relative;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.stat-card.clickable:hover{border-color:#fd7e1475;box-shadow:0 12px 26px #0f3d641a;transform:translateY(-1px)}.stat-card:after{background:var(--accent);border-radius:0;bottom:0;content:"";height:auto;left:0;position:absolute;top:0;width:4px}.stat-card.blue:after{background:#3b82f61f}.stat-card.orange:after{background:#ff9f1c29}.stat-card.green:after{background:#22c55e29}.stat-card.teal:after{background:#15b88a21}.trend-pill{background:#f6f8fb;border:1px solid #e2e8f0;border-radius:999px;color:#536273;font-size:11px;font-weight:760;line-height:1.2;max-width:calc(100% - 86px);padding:5px 9px;position:absolute;right:18px;text-align:right;top:18px;text-transform:uppercase;z-index:1}.icon-box,.modal-icon,.avatar.placeholder{align-items:center;background:var(--accent-soft);border-radius:7px;color:var(--accent);display:inline-flex;justify-content:center}.icon-box{height:44px;margin-bottom:16px;width:44px}.stat-card .icon-box{flex:0 0 auto}.stat-card.blue .icon-box{background:#eef5ff;color:var(--blue)}.stat-card.green .icon-box{background:#edfdf4;color:var(--green)}.stat-card.orange .icon-box{background:#fff4e1;color:var(--orange)}.stat-card.teal .icon-box{background:#e6fbf5;color:var(--teal)}.stat-card strong{display:block;font-size:34px;font-weight:780;line-height:1;margin-bottom:7px}.stat-card div span,.stat-card small{color:var(--muted);display:block}.stat-card div span{color:#344054;font-size:14px;font-weight:720;line-height:1.25}.stat-card small{border-top:1px solid #edf1f6;font-size:12px;line-height:1.25;margin-top:auto;padding-top:10px}.analytics-grid{display:grid;gap:14px;grid-template-columns:minmax(0,2fr) minmax(300px,.95fr)}.chart-card{min-height:340px;padding:20px}.distribution-card,.operations-card{padding:20px}.operations-card{grid-column:2}.panel-title{align-items:start;border-bottom:1px solid #edf1f6;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:13px}.panel-title h2{color:#18293d;font-size:16px;font-weight:760;margin:0 0 4px}.panel-title span{color:var(--muted);font-size:12px;font-weight:650}.segmented{background:#edf2f8;border-radius:7px;display:flex;padding:3px}.segmented button{background:transparent;border:0;border-radius:5px;color:#5f6f82;font-size:12px;font-weight:760;padding:6px 12px}.segmented button.active{background:var(--accent);color:#fff}.chart-legend{display:flex;gap:16px;justify-content:flex-end;margin:-4px 0 8px}.chart-legend span{align-items:center;color:#667085;display:inline-flex;font-size:13px;font-weight:800;gap:7px}.chart-legend strong{color:var(--ink)}.line-chart{height:242px;position:relative}.line-chart svg{height:calc(100% - 24px);width:100%}.grid-line{fill:none;stroke:#edf1f6;stroke-dasharray:5 7}.area{fill:url(#orangeFade)}.line{fill:none;stroke-linecap:round;stroke-width:4}.line.primary{stroke:var(--accent)}.line.secondary{stroke:var(--blue)}.chart-point{stroke:#fff;stroke-width:2}.chart-point.entry{fill:var(--accent)}.chart-point.exit{fill:var(--blue)}.chart-labels{bottom:0;color:#8792a5;display:flex;font-size:12px;font-weight:800;justify-content:space-between;left:16px;position:absolute;right:16px}.donut-wrap{display:flex;justify-content:center;padding:4px 0 18px}.donut{align-items:center;background:conic-gradient(var(--accent) 0 var(--a),var(--blue) var(--a) var(--b),var(--orange) var(--b) 100%);border-radius:999px;display:flex;height:188px;justify-content:center;width:188px}.donut>div{align-items:center;background:#fff;border-radius:999px;display:flex;flex-direction:column;height:118px;justify-content:center;width:118px}.donut span{color:var(--muted);font-size:14px}.donut strong{font-size:26px}.legend,.ops-list{display:flex;flex-direction:column;gap:12px}.legend span,.ops-list span{align-items:center;color:#556372;display:flex;font-size:13px;font-weight:720;gap:9px;justify-content:space-between}.legend span strong,.ops-list span strong{color:var(--ink);margin-left:auto}.dot{border-radius:999px;display:inline-flex;height:12px;width:12px}.dot.green{background:var(--accent)}.dot.blue{background:var(--blue)}.dot.orange{background:var(--orange)}.ops-list span{background:#fbfcfe;border:1px solid #e5eaf2;border-radius:7px;min-height:44px;padding:0 13px}.entity-toolbar{align-items:center;display:flex;justify-content:space-between;padding:16px 18px}.section-heading span{color:var(--accent);font-size:12px;font-weight:780;letter-spacing:.02em;text-transform:uppercase}.section-heading h2{color:#18293d;font-size:18px;font-weight:760;margin:3px 0 0}.table-panel{overflow:hidden}.table-meta{align-items:center;background:linear-gradient(180deg,#fff,#fbfcfe);border-bottom:1px solid #edf1f6;display:flex;gap:10px;justify-content:flex-end;padding:12px 16px}.table-meta span{background:#f4f7fb;border:1px solid #d8dfeb;border-radius:7px;color:#415068;font-size:12px;font-weight:760;padding:7px 10px}.table-scroll{overflow-x:auto}table{border-collapse:separate;border-spacing:0;min-width:1320px;width:100%}.compact-table{min-width:1060px}th{background:#f4f7fb;color:#607086;font-size:11px;font-weight:760;letter-spacing:0;text-transform:uppercase}th,td{border-bottom:1px solid #e6ebf2;padding:13px 16px;text-align:left;vertical-align:middle}td{color:#273449;font-size:13px}tbody tr:hover{background:#fffaf5}.person-cell{align-items:center;display:flex;gap:10px;min-width:210px}.avatar{aspect-ratio:1 / 1;border-radius:999px;display:block;flex:0 0 36px;height:34px;object-fit:cover;object-position:center center;width:34px}.avatar.placeholder{align-items:center;display:inline-flex;justify-content:center;height:34px;width:34px}.type-pill,.status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:760;padding:5px 9px;white-space:nowrap}.type-pill{background:#eaf2f9;color:var(--detail)}.type-pill.compact{align-items:center;font-size:13px;height:30px;justify-content:center;padding:0;width:30px}.status.allowed{background:#e8f7ee;color:#087a3b}.status.blocked{background:#fee4e2;color:#b42318}.blocked-reason{color:#b42318;display:block;font-size:11px;font-weight:800;margin-top:6px;max-width:220px}.row-actions{display:flex;gap:8px;min-width:82px}.action-button{align-items:center;background:#fff;border:1px solid #dbe3ef;border-radius:7px;color:#344054;display:inline-flex;font-size:12px;font-weight:760;gap:6px;min-height:34px;padding:0 10px}.action-button.icon-only{align-items:center;display:inline-grid;gap:0;height:36px;justify-items:center;line-height:0;padding:0;place-items:center;width:36px}.action-button.icon-only svg{display:block;flex:none}.action-button:hover{border-color:#fd7e147a;color:var(--accent-dark)}.action-button:disabled,.secondary-button:disabled{opacity:.5}.secondary-button.danger{color:#b42318}.inside-panel{border:0;border-bottom:1px solid #edf1f6;border-radius:0;box-shadow:none}.users-table{min-width:760px}.fleet-summary-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(180px,1fr))}.fleet-kpi,.fleet-card{background:var(--block);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px #1018280a,0 10px 28px #0f3d640a}.fleet-kpi{align-items:center;display:flex;gap:14px;padding:16px}.fleet-kpi .icon-box{flex:0 0 auto;margin:0}.fleet-kpi strong,.fleet-kpi small{display:block}.fleet-kpi strong{font-size:25px;font-weight:780}.fleet-kpi small{color:var(--muted);font-size:12px;font-weight:720}.fleet-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(260px,1fr))}.fleet-card{display:flex;flex-direction:column;gap:14px;min-height:286px;padding:16px}.fleet-card-head{align-items:center;display:grid;gap:12px;grid-template-columns:58px 1fr auto}.fleet-card-head strong,.fleet-card-head span{display:block}.fleet-card-head strong{font-size:16px;font-weight:760}.fleet-card-head div span{color:var(--muted);font-size:12px;font-weight:700;margin-top:3px}.vehicle-photo{border-radius:8px;height:58px;object-fit:cover;width:58px}.vehicle-photo.placeholder{align-items:center;background:var(--accent-soft);color:var(--accent);display:inline-flex;justify-content:center}.fleet-details{display:flex;flex-direction:column;gap:10px}.fleet-details span{align-items:flex-start;background:#fbfcfe;border:1px solid #e5eaf2;border-radius:7px;color:#667085;display:grid;font-size:13px;font-weight:700;gap:8px;grid-template-columns:18px 1fr;min-height:44px;padding:10px}.fleet-details strong{color:var(--ink);font-weight:760}.fleet-actions{display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr;margin-top:auto}.fleet-actions .secondary-button{min-height:38px;padding:0 10px}.fleet-empty{background:var(--block);border:1px solid var(--line);border-radius:8px;grid-column:1 / -1}.fleet-checkout{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.compact-modal{max-width:680px}.empty-state{color:var(--muted);font-weight:800;padding:28px;text-align:center}.modal-backdrop{align-items:center;background:#0f1c2c7a;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:10}.modal{background:#fff;border-radius:8px;box-shadow:0 24px 72px #0d162447;max-height:calc(100vh - 48px);max-width:880px;overflow:auto;padding:22px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #edf1f6;display:flex;justify-content:space-between;margin-bottom:18px;padding-bottom:16px}.modal-header>div{align-items:center;display:flex;gap:12px}.modal-header h2{color:#18293d;font-size:20px;font-weight:760;margin:0}.modal-icon{height:40px;width:40px}.icon-button{background:#f4f7fb;border:1px solid #e2e8f0;border-radius:7px;color:#3b4658;height:40px;width:40px}.modal-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.field{color:#46556c;font-size:13px;font-weight:720}.field.wide{grid-column:1 / -1}.field textarea{min-height:90px;padding-top:10px;resize:vertical}.upload-card{color:#46556c;font-size:13px;font-weight:720}.upload-trigger{cursor:pointer;display:block}.upload-card>span{color:#64748b;display:block;font-size:11px;font-weight:760;letter-spacing:.02em;margin-bottom:6px;text-transform:uppercase}.upload-card input{height:1px;opacity:0;position:absolute;width:1px}.preview-upload-button{align-items:center;background:#fff;border:1px solid #dbe3ef;border-radius:7px;color:#344054;display:inline-flex;font-size:12px;font-weight:760;gap:7px;justify-content:center;margin-top:8px;min-height:36px;padding:0 12px;width:100%}.preview-upload-button:hover{border-color:#fd7e147a;color:var(--accent-dark)}.upload-box{align-items:center;background:#fbfcfe;border:1px dashed #b9c5d6;border-radius:8px;display:grid;gap:12px;grid-template-columns:52px 1fr auto;min-height:76px;padding:12px;transition:.18s ease}.upload-box:hover{border-color:var(--accent);box-shadow:0 8px 20px #fd7e141f}.upload-preview{align-items:center;background:var(--accent-soft);border-radius:8px;color:var(--accent);display:inline-flex;height:52px;justify-content:center;overflow:hidden;width:52px}.upload-preview img{height:100%;object-fit:cover;width:100%}.upload-copy strong,.upload-copy small{display:block}.upload-copy strong{color:#243247;font-size:14px;font-weight:760}.upload-copy small{color:var(--muted);font-size:12px;margin-top:3px}.upload-box em{background:var(--accent-soft);border-radius:999px;color:var(--accent-dark);font-size:12px;font-style:normal;font-weight:760;padding:7px 10px}.preview-backdrop{background:#0c1420ad;z-index:20}.image-preview-modal{max-width:min(960px,calc(100vw - 40px));padding:18px}.image-preview-stage{align-items:center;background:#0f172a;border-radius:8px;display:flex;justify-content:center;min-height:360px;overflow:hidden;padding:16px}.image-preview-stage img{border-radius:6px;max-height:calc(100vh - 210px);max-width:100%;object-fit:contain}.switch-field{align-items:center;color:#334155;display:flex;font-weight:720;gap:10px}.switch-field input{opacity:0;position:absolute}.switch-field span{background:#d8dee9;border-radius:999px;height:26px;position:relative;width:46px}.switch-field span:after{background:#fff;border-radius:999px;box-shadow:0 2px 6px #0000002e;content:"";height:20px;left:3px;position:absolute;top:3px;transition:.2s;width:20px}.switch-field input:checked+span{background:var(--accent)}.switch-field input:checked+span:after{transform:translate(20px)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.secondary-button{background:#f4f7fb;border:1px solid #dbe3ef;border-radius:8px;color:#344054;font-weight:760;min-height:42px;padding:0 18px}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.52}.history-modal{max-width:760px}.wide-history-modal,.presence-modal{max-width:min(1120px,calc(100vw - 48px))}.modal-header p{color:var(--muted);font-size:13px;font-weight:700;margin:4px 0 0}.history-summary{align-items:center;background:#fbfcfe;border:1px solid #e5eaf2;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:14px;padding:14px}.history-media-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.media-preview-card{background:#fbfcfe;border:1px solid #e5eaf2;border-radius:8px;display:grid;gap:10px;padding:12px}.media-preview-card>span{color:#64748b;font-size:11px;font-weight:760;letter-spacing:.02em;text-transform:uppercase}.media-preview-card>div{align-items:center;background:#fff;border:1px solid #e4e9f2;border-radius:8px;color:var(--accent);display:flex;height:180px;justify-content:center;overflow:hidden}.media-preview-card img{height:100%;object-fit:contain;width:100%}.contractor-exit-panel{background:#fbfcfe;border:1px solid #e5eaf2;border-radius:8px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px;padding:14px}.timeline-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.timeline-attachments button{align-items:center;background:#fff;border:1px solid #dbe3ef;border-radius:7px;color:#344054;display:inline-flex;font-size:12px;font-weight:760;gap:6px;min-height:32px;padding:0 10px}.presence-list{display:flex;flex-direction:column;gap:10px}.presence-row{align-items:center;background:#fbfcfe;border:1px solid #e5eaf2;border-radius:8px;display:grid;gap:12px;grid-template-columns:42px 1fr auto auto;padding:12px}.presence-row strong,.presence-row span{display:block}.presence-row span{color:var(--muted);font-size:13px;margin-top:3px}.confirm-time-field input{background:#fff;border:1px solid #cbd4e3;border-radius:7px;color:var(--ink);font-size:17px;font-weight:760;min-height:48px;padding:0 12px;width:100%}.confirm-backdrop{background:#0d162494;z-index:30}.confirm-time-modal{max-width:440px;overflow:visible;padding:24px;text-align:center}.confirm-time-icon{align-items:center;background:var(--accent-soft);border-radius:8px;color:var(--accent);display:inline-flex;height:54px;justify-content:center;margin-bottom:14px;width:54px}.confirm-time-modal h2{font-size:22px;font-weight:760;margin:0 0 8px}.confirm-time-modal p{color:var(--muted);font-weight:650;line-height:1.45;margin:0 auto 18px;max-width:340px}.confirm-time-modal p strong{color:var(--ink)}.confirm-time-field{color:#46556c;display:grid;font-size:12px;font-weight:760;letter-spacing:.02em;gap:7px;margin:0 auto;max-width:300px;text-align:left;text-transform:uppercase}.confirm-time-modal .modal-actions{justify-content:center;margin-top:22px}.history-person{align-items:center;display:flex;gap:12px}.history-person strong,.history-person span{display:block}.history-person span{color:var(--muted);font-size:13px;margin-top:3px}.alert-box{align-items:center;background:#fff2f0;border:1px solid #ffd0ca;border-radius:8px;color:#b42318;display:flex;gap:10px;font-weight:760;margin-bottom:14px;padding:12px 14px}.history-actions{display:flex;gap:10px;margin-bottom:18px}.timeline{border-top:1px solid #edf1f6;display:flex;flex-direction:column;gap:0;padding-top:10px}.timeline-item{display:grid;gap:12px;grid-template-columns:18px 1fr;padding:12px 0;position:relative}.timeline-item:not(:last-child):after{background:#e3e9f2;bottom:-4px;content:"";left:8px;position:absolute;top:34px;width:2px}.timeline-dot{border-radius:999px;height:18px;margin-top:2px;width:18px}.timeline-dot.in{background:var(--accent)}.timeline-dot.out{background:var(--orange)}.timeline-item strong,.timeline-item small,.timeline-item p{display:block}.timeline-item strong{color:#1f2d3d;font-weight:760}.timeline-item small{color:var(--muted);font-size:12px;font-weight:700;margin-top:2px}.timeline-item p{color:#526173;font-size:13px;margin:6px 0 0}.empty-history{color:var(--muted);font-weight:800;padding:24px;text-align:center}@media(max-width:1350px){.stats-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}.search-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.search-input.wide{grid-column:1 / -1}.fleet-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}@media(max-width:1080px){.app-shell{display:grid;grid-template-columns:1fr}.sidebar{bottom:auto;left:auto;min-height:auto;overflow:visible;position:static;width:auto}.main-shell{margin-left:0}.sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-section.compact{display:none}.topbar,.page-intro,.topbar-actions{align-items:stretch;flex-direction:column}.topbar{padding:16px;position:static}.topbar-left,.top-search{width:100%}.analytics-grid{grid-template-columns:1fr}.operations-card{grid-column:auto}.fleet-summary-grid,.fleet-grid{grid-template-columns:1fr}}@media(max-width:700px){.workspace{padding:18px 12px 24px}.login-card{min-height:auto;padding:32px 24px 26px}.login-logo{width:210px}.login-card h1{font-size:24px}.login-card p,.input-shell input{font-size:15px}.sidebar-nav,.search-panel,.stats-grid,.modal-grid{grid-template-columns:1fr}.entity-toolbar,.modal-actions,.history-actions{align-items:stretch;flex-direction:column}.fleet-card-head,.fleet-actions,.fleet-checkout,.history-media-grid,.contractor-exit-panel,.presence-row{grid-template-columns:1fr}.primary-button.compact,.secondary-button{width:100%}}
