:root{--brand-navy:#10213A;--brand-navy-dark:#0A1627;--brand-primary:#2563EB;--brand-primary-hover:#1D4ED8;--brand-primary-light:rgba(37,99,235,0.12);--brand-accent:#20C4D4;--brand-accent-glow:rgba(32,196,212,0.35);--navy:var(--brand-navy);--navy-dark:var(--brand-navy-dark);--primary:var(--brand-primary);--primary-hover:var(--brand-primary-hover);--primary-light:var(--brand-primary-light);--cyan:var(--brand-accent);--cyan-dark:#129EA8;--cyan-light:rgba(32,196,212,0.15);--glass-bg:rgba(255,255,255,0.95);--glass-bg-subtle:rgba(255,255,255,0.88);--glass-bg-strong:rgba(255,255,255,0.97);--glass-bg-solid:#FFFFFF;--glass-border:rgba(255,255,255,0.65);--glass-border-subtle:rgba(255,255,255,0.45);--glass-border-strong:rgba(255,255,255,0.85);--glass-shadow:0 10px 32px 0 rgba(31,55,90,0.08),inset 0 1px 1px 0 rgba(255,255,255,0.8);--glass-shadow-hover:0 16px 40px 0 rgba(31,55,90,0.12),inset 0 1px 1px 0 rgba(255,255,255,0.9);--glass-shadow-sm:0 4px 16px 0 rgba(31,55,90,0.05),inset 0 1px 0 0 rgba(255,255,255,0.7);--glass-shadow-lg:0 20px 48px -4px rgba(16,33,58,0.14),inset 0 1px 1px 0 rgba(255,255,255,0.8);--glass-blur:24px;--glass-blur-sm:14px;--glass-blur-lg:32px;--glass-dark-bg:rgba(16,33,58,0.68);--glass-dark-border:rgba(255,255,255,0.14);--glass-dark-shadow:0 16px 40px 0 rgba(10,22,39,0.28),inset 0 1px 1px 0 rgba(255,255,255,0.2);--surface-white:#FFFFFF;--surface-light:#EAF3FC;--surface-subtle:#F1F6FB;--surface-glass:var(--glass-bg);--surface-glass-card:var(--glass-bg-strong);--surface-glass-dark:var(--glass-dark-bg);--text-main:#172033;--text-muted:#475569;--text-faint:#64748B;--text-on-dark:#FFFFFF;--text-on-dark-muted:rgba(255,255,255,0.7);--success:#16A34A;--success-bg:rgba(22,163,74,0.12);--success-border:rgba(22,163,74,0.3);--success-text:#166534;--warning:#F59E0B;--warning-bg:rgba(245,158,11,0.12);--warning-border:rgba(245,158,11,0.3);--warning-text:#92400E;--danger:#DC2626;--danger-bg:rgba(220,38,38,0.12);--danger-border:rgba(220,38,38,0.3);--danger-text:#991B1B;--info:#0284C7;--info-bg:rgba(2,132,199,0.12);--info-border:rgba(2,132,199,0.3);--info-text:#075985;--border:rgba(203,213,225,0.85);--border-subtle:rgba(220,229,239,0.8);--border-strong:#CBD5E1;--shadow-sm:var(--glass-shadow-sm);--shadow-md:var(--glass-shadow);--shadow-lg:var(--glass-shadow-lg);--radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--radius-full:9999px;--sidebar-width:250px;--sidebar-collapsed:72px;--header-height:56px}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text-main);background-color:#EAF3FC;background-image:url(/brand/glass-bg.jpg);background-size:cover;background-position:top;background-attachment:fixed;background-repeat:no-repeat;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 15%,rgba(255,255,255,.28) 0,transparent 60%),radial-gradient(circle at 85% 85%,rgba(32,196,212,.08) 0,transparent 50%),rgba(241,246,251,.82);pointer-events:none;z-index:0}a{color:inherit;text-decoration:none}button{border:none;background:none;cursor:pointer;font:inherit}input,select,textarea{font:inherit;color:inherit}.glass-shell{min-height:100vh;z-index:1}.glass-shell,.glass-sidebar{display:flex;position:relative}.glass-sidebar{background:var(--glass-dark-bg);-webkit-backdrop-filter:blur(var(--glass-blur-lg)) saturate(180%);backdrop-filter:blur(var(--glass-blur-lg)) saturate(180%);border:1px solid var(--glass-dark-border);box-shadow:var(--glass-dark-shadow);border-radius:var(--radius-xl);transition:width .25s cubic-bezier(.16,1,.3,1),min-width .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);width:var(--sidebar-width);min-width:var(--sidebar-width);margin:14px 0 14px 14px;flex-direction:column;overflow:hidden;z-index:50}.glass-sidebar[data-collapsed=true]{width:var(--sidebar-collapsed);min-width:var(--sidebar-collapsed)}.sidebar-brand{height:68px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.1)}.glass-sidebar[data-collapsed=true] .sidebar-brand{justify-content:center;padding:0 12px}.sidebar-brand-link{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-logo{width:36px;height:36px;flex-shrink:0;border-radius:10px;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;padding:4px;box-shadow:0 4px 12px rgba(0,0,0,.25),inset 0 1px 1px #fff}.sidebar-logo.sidebar-logo--custom{background:transparent;box-shadow:none;padding:0}.logo-on-dark,.sidebar-logo--custom img{filter:drop-shadow(0 0 .6px rgba(255,255,255,.9)) drop-shadow(0 0 2px rgba(255,255,255,.45))}.sidebar-brand-text{display:flex;flex-direction:column;min-width:0;white-space:nowrap}.sidebar-brand-name{font-weight:700;font-size:14px;letter-spacing:-.01em;color:#FFFFFF;line-height:1.2}.sidebar-brand-tagline{font-size:9.5px;color:#20C4D4;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.sidebar-icon-button{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.8)}.sidebar-nav{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:14px 10px;display:flex;flex-direction:column;gap:16px}.glass-sidebar[data-collapsed=true] .sidebar-nav{padding:12px 6px}.sidebar-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.62);padding:0 10px 6px;white-space:nowrap}.sidebar-group-items{display:flex;flex-direction:column;gap:3px}.sidebar-app-link,.sidebar-link{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;font-weight:500;border:1px solid transparent;transition:background .18s ease,color .18s ease,border-color .18s ease}.sidebar-link{padding:8px 12px;border-radius:12px;color:rgba(255,255,255,.75)}.sidebar-link:focus-visible,.sidebar-link:hover{background:rgba(255,255,255,.08);color:#FFFFFF}.sidebar-link[data-active=true]{color:#FFFFFF;font-weight:600;background:linear-gradient(135deg,rgba(37,99,235,.9),rgba(32,196,212,.85));border-color:rgba(255,255,255,.35);box-shadow:0 4px 16px rgba(32,196,212,.35),inset 0 1px 1px rgba(255,255,255,.4)}.glass-sidebar[data-collapsed=true] .sidebar-app-link,.glass-sidebar[data-collapsed=true] .sidebar-link{justify-content:center;padding:9px 0}.sidebar-link-icon{flex-shrink:0}.sidebar-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-badge{flex-shrink:0;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:10px;color:#FFFFFF;background:rgba(32,196,212,.85);box-shadow:0 2px 6px rgba(0,0,0,.2)}.sidebar-badge[data-tone=danger]{background:rgba(220,38,38,.85)}.sidebar-badge[data-tone=warning]{background:rgba(245,158,11,.85)}.sidebar-apps{flex-shrink:0;padding:12px 10px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:6px}.glass-sidebar[data-collapsed=true] .sidebar-apps{padding:10px 6px}.sidebar-app-link{padding:7px 10px;border-radius:10px;font-size:12px;font-weight:600;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}.sidebar-app-link[data-tone=driver]{color:#20C4D4}.sidebar-app-link[data-tone=driver]:hover{background:rgba(32,196,212,.15);border-color:rgba(32,196,212,.35)}.sidebar-app-link[data-tone=supervisor]{color:#60A5FA}.sidebar-app-link[data-tone=supervisor]:hover{background:rgba(96,165,250,.15);border-color:rgba(96,165,250,.35)}.sidebar-app-link[data-disabled=true],.sidebar-app-link[data-disabled=true]:hover{color:rgba(255,255,255,.4);background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.06);cursor:not-allowed}.sidebar-backdrop{position:fixed;inset:0;background:rgba(16,33,58,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:55}@media (max-width:1023px){.glass-sidebar{position:fixed;top:0;left:0;width:min(var(--sidebar-width),86vw);min-width:0;height:100vh;height:100dvh;margin:0;border-radius:0 var(--radius-xl) var(--radius-xl) 0;background:rgba(16,33,58,.92);transform:translateX(-105%);z-index:60}.glass-sidebar[data-open=true]{transform:none}}.glass-topbar{background:transparent;height:var(--header-height);padding:14px 28px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:40}.glass-card,.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);position:relative}.glass-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.glass-card:hover{border-color:rgba(255,255,255,.85);box-shadow:var(--glass-shadow-hover)}.glass-card-strong{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);border:1px solid var(--glass-border-strong);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg)}.glass-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:13.5px}.glass-table th{background:rgba(255,255,255,.45);color:var(--text-muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;border-bottom:1px solid var(--glass-border-subtle);white-space:nowrap}.glass-table td{padding:13px 16px;border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle;background:transparent;transition:background .15s ease}.glass-table tr:hover td{background:var(--surface-subtle)}.glass-table tr:last-child td{border-bottom:none}.glass-input{width:100%;padding:9px 14px;font-size:13.5px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(var(--glass-blur-sm));backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-main);box-shadow:inset 0 1px 2px rgba(16,33,58,.04);transition:all .18s ease}.glass-input:focus{outline:none;background:rgba(255,255,255,.85);border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(37,99,235,.15),inset 0 1px 2px rgba(16,33,58,.04)}.glass-input::placeholder{color:var(--text-muted)}.glass-search-capsule{display:flex;align-items:center;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-sm);border-radius:var(--radius-full);padding:0 14px;height:42px;transition:all .2s ease}.glass-search-capsule:focus-within{background:rgba(255,255,255,.85);border-color:var(--brand-primary);box-shadow:0 4px 20px rgba(37,99,235,.15)}.glass-dropdown{background:rgba(255,255,255,.98);border:1px solid var(--glass-border-strong);box-shadow:0 16px 40px rgba(16,33,58,.15),inset 0 1px 1px rgba(255,255,255,.9);border-radius:var(--radius-md);z-index:100}.glass-dialog,.glass-dropdown{-webkit-backdrop-filter:blur(var(--glass-blur-lg)) saturate(180%);backdrop-filter:blur(var(--glass-blur-lg)) saturate(180%);overflow:hidden}.glass-dialog{background:#FFFFFF;border:1px solid var(--glass-border-strong);box-shadow:var(--glass-shadow-lg);border-radius:var(--radius-xl)}.glass-mobile-nav{background:rgba(16,33,58,.82);-webkit-backdrop-filter:blur(var(--glass-blur-lg)) saturate(180%);backdrop-filter:blur(var(--glass-blur-lg)) saturate(180%);border-top:1px solid rgba(255,255,255,.15);box-shadow:0 -4px 24px rgba(10,22,39,.25)}.btn-glass{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;border-radius:var(--radius-full);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(var(--glass-blur-sm));backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--border-strong);color:var(--text-main);box-shadow:var(--glass-shadow-sm);transition:all .18s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.btn-glass:hover{background:rgba(255,255,255,.85);border-color:rgba(255,255,255,.95);transform:translateY(-1px);box-shadow:var(--glass-shadow)}.btn-glass-primary{background:linear-gradient(135deg,rgba(37,99,235,.92),rgba(32,196,212,.92));color:#FFFFFF;border:1px solid rgba(255,255,255,.35);box-shadow:0 4px 16px rgba(32,196,212,.35),inset 0 1px 1px rgba(255,255,255,.4)}.btn-glass-primary:hover{background:linear-gradient(135deg,rgba(37,99,235,1),rgba(32,196,212,1));box-shadow:0 6px 22px rgba(32,196,212,.48),inset 0 1px 1px rgba(255,255,255,.5);transform:translateY(-1px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:500;border-radius:var(--radius-sm);transition:all .18s ease;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-primary{background:linear-gradient(135deg,var(--brand-primary) 0,#1D4ED8 100%);color:#FFFFFF;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px rgba(37,99,235,.25)}.btn-primary:hover{background:linear-gradient(135deg,#1D4ED8,#1E40AF);box-shadow:0 6px 16px rgba(37,99,235,.35);transform:translateY(-1px)}.btn-secondary{background:#FFFFFF;-webkit-backdrop-filter:blur(var(--glass-blur-sm));backdrop-filter:blur(var(--glass-blur-sm));color:var(--text-main);border:1px solid var(--border-strong);box-shadow:var(--glass-shadow-sm)}.btn-secondary:hover{background:var(--surface-subtle);border-color:#94A3B8}.btn-outline{background:transparent;color:var(--brand-primary);border:1px solid var(--brand-primary)}.btn-outline:hover{background:rgba(37,99,235,.08)}.btn-danger{background:var(--danger);color:#FFFFFF}.btn-danger:hover{background:#B91C1C}.btn-success{background:#15803D;color:#FFFFFF}.btn-success:hover{background:var(--success-text)}.btn-warning{background:#B45309;color:#FFFFFF}.btn-warning:hover{background:var(--warning-text)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn-sm{padding:5px 12px;font-size:12px;border-radius:var(--radius-xs)}.btn-icon{width:38px;height:38px;padding:0}.badge,.btn-icon{border-radius:var(--radius-full)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}.badge-dot{width:6px;height:6px;border-radius:50%}.badge-success{background:rgba(22,163,74,.15);color:var(--success-text);border:1px solid rgba(22,163,74,.3)}.badge-success .badge-dot{background:var(--success)}.badge-warning{background:rgba(245,158,11,.15);color:var(--warning-text);border:1px solid rgba(245,158,11,.3)}.badge-warning .badge-dot{background:var(--warning)}.badge-danger{background:rgba(220,38,38,.15);color:var(--danger-text);border:1px solid rgba(220,38,38,.3)}.badge-danger .badge-dot{background:var(--danger)}.badge-info{background:rgba(2,132,199,.15);color:var(--info-text);border:1px solid rgba(2,132,199,.3)}.badge-info .badge-dot{background:var(--info)}.badge-neutral{background:rgba(100,116,139,.15);color:#1E293B;border:1px solid rgba(100,116,139,.25)}.badge-neutral .badge-dot{background:#64748B}.glass-tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(var(--glass-blur-sm));backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--border-strong);box-shadow:var(--glass-shadow-sm)}.glass-tab-btn,.glass-tabs{border-radius:var(--radius-full)}.glass-tab-btn{padding:6px 14px;font-size:12.5px;font-weight:500;color:var(--text-muted);transition:all .18s ease}.glass-tab-btn:hover{color:var(--text-main)}.glass-tab-btn.active{background:#FFFFFF;color:var(--brand-primary);box-shadow:0 2px 8px rgba(31,55,90,.1);font-weight:600}.input-control{width:100%;padding:9px 13px;font-size:13.5px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#FFFFFF;-webkit-backdrop-filter:blur(var(--glass-blur-sm));backdrop-filter:blur(var(--glass-blur-sm));color:var(--text-main);box-shadow:inset 0 1px 2px rgba(16,33,58,.04);transition:all .18s ease}.input-control:focus{outline:none;background:rgba(255,255,255,.95);border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(37,99,235,.15)}.input-label{display:block;font-size:12.5px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.data-table-container{background:var(--surface-white);border:1px solid var(--border-strong);border-radius:var(--radius-lg);overflow:auto;box-shadow:var(--glass-shadow);max-width:100%;min-width:0}.data-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:13.5px}.data-table th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#FFFFFF;color:var(--text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:13px 18px;border-bottom:1px solid var(--border-strong);white-space:nowrap}.data-table td{padding:14px 18px;border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle;transition:background .15s ease}.data-table tr:hover td{background-color:var(--surface-subtle)}.data-table tr:last-child td{border-bottom:none}.data-table-container:has(>.data-table .expandable-row){container-type:inline-size}.data-table .expand-cell{width:36px;padding:0 0 0 10px}.row-chevron{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-muted)}.row-chevron svg{transition:transform .15s ease}.row-chevron:hover{background:rgba(37,99,235,.08);color:var(--primary)}.row-chevron:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.expandable-row{cursor:pointer}.data-table .expandable-row.expanded:hover>td,.data-table .expandable-row.expanded>td{background:#EAF2FF;border-bottom-color:transparent}.data-table .expandable-row.expanded>td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.expandable-row.expanded .row-chevron{color:var(--primary)}.expandable-row.expanded .row-chevron svg{transform:rotate(90deg)}.data-table .row-details-row:hover>td,.data-table .row-details-row>td{padding:0;background:#F8FAFC;border-bottom:2px solid var(--border-strong)}.row-details{position:-webkit-sticky;position:sticky;left:0;box-sizing:border-box;width:100%;width:100cqw;padding:10px 16px 12px 46px;border-left:3px solid var(--primary);display:flex;flex-direction:column;gap:10px;font-size:12.5px;white-space:normal;cursor:auto;scroll-margin-top:48px}.row-details-header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.row-details-ref{font-size:13.5px;font-weight:700;color:var(--navy)}.row-details-when{font-size:12px;color:var(--text-muted)}.row-details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px 16px;gap:8px 16px;margin:0}.row-details-grid dt,.row-details-label{font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px}.row-details-grid dd{margin:0;font-size:12.5px;font-weight:600;color:var(--navy);overflow-wrap:anywhere}.row-details-missing{font-size:12px;font-weight:500;font-style:italic;color:var(--text-muted)}.row-details-warnings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600}.row-details-warnings li{display:flex;gap:6px;align-items:flex-start}.row-details-warnings.warning{color:var(--warning-text)}.row-details-warnings.danger{color:var(--danger-text)}.row-details-photos{display:flex;flex-wrap:wrap;gap:10px 20px}.row-details-photo-group{min-width:0;max-width:100%}.row-details-locations{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:8px 16px;gap:8px 16px}.row-details-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.material-item-line{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.6fr) 72px 112px auto;grid-gap:6px;gap:6px}.material-items-table{width:100%;border-collapse:collapse;font-size:12px;background:#FFFFFF;border:1px solid var(--border);border-radius:8px}.material-items-table th{text-align:left;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.material-items-table td{padding:6px 8px;border-bottom:1px solid rgba(220,229,239,.6);vertical-align:top}.material-items-table tr:last-child td{border-bottom:none}@media (max-width:640px){.material-item-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.material-item-line>:first-child,.material-item-line>:nth-child(3){grid-column:1/-1}}.row-details-history>summary{font-size:12.5px;font-weight:600;color:var(--primary);cursor:pointer;width:max-content}.row-details-history[open]>summary{margin-bottom:8px}.trip-timeline{list-style:none;margin:0;padding:10px 12px 12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-column-gap:16px;column-gap:16px;background:#FFFFFF;border:1px solid var(--border);border-radius:8px}.trip-stage{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.trip-stage-track{position:relative;width:100%;height:12px}.trip-stage-dot{position:absolute;left:0;top:1px;width:10px;height:10px;box-sizing:border-box;border-radius:50%;border:2px solid #cbd5e1;background:#FFFFFF}.trip-stage{--stage-color:#94A3B8}.trip-stage.tone-done{--stage-color:#15803D}.trip-stage.tone-active{--stage-color:#B45309}.trip-stage.tone-problem{--stage-color:#B91C1C}.trip-stage.tone-active .trip-stage-dot,.trip-stage.tone-done .trip-stage-dot,.trip-stage.tone-problem .trip-stage-dot{border-color:var(--stage-color);background:var(--stage-color)}.trip-stage-line{position:absolute;left:16px;right:-10px;top:5px;border-top:2px dashed #cbd5e1}.trip-stage-line:after{content:"";position:absolute;right:-1px;top:-6px;border:5px solid transparent;border-right:0;border-left:6px solid #cbd5e1}.trip-stage.line-active .trip-stage-line,.trip-stage.line-done .trip-stage-line,.trip-stage.line-problem .trip-stage-line{border-top-style:solid;border-top-color:var(--stage-color)}.trip-stage.line-active .trip-stage-line:after,.trip-stage.line-done .trip-stage-line:after,.trip-stage.line-problem .trip-stage-line:after{border-left-color:var(--stage-color)}.trip-stage-name{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--stage-color)}.trip-stage-state{font-weight:600;letter-spacing:0;text-transform:none}.trip-stage-note{font-size:11.5px;color:var(--text-muted);overflow-wrap:anywhere}.trip-stage-photos{display:flex;flex-direction:column;gap:4px;max-width:100%}.trip-stage-photos-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.trip-stage-photos-list{display:flex;flex-wrap:wrap;gap:6px}.trip-stage-time{font-size:12.5px;font-weight:600;color:var(--navy)}.trip-when{white-space:nowrap}.trip-stage-km{font-size:15px;font-weight:700;color:var(--navy)}.trip-stage-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;font-size:11.5px;color:var(--text-muted)}.trip-event-label{font-weight:600;color:var(--navy)}.trip-actions,.trip-remarks{display:flex;flex-direction:column;gap:8px;min-width:0}.trip-actions-row{display:flex;flex-wrap:wrap;gap:6px}.trip-action-form{display:flex;flex-direction:column;gap:10px;padding:10px 12px;background:#FFFFFF;border:1px solid var(--border);border-radius:8px;max-width:640px}.trip-action-title{font-size:12.5px;font-weight:700;color:var(--navy)}.trip-action-hint{font-size:11.5px;color:var(--text-muted)}.trip-remarks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.trip-remark{padding:6px 10px;border-left:2px solid var(--border);font-size:12.5px;min-width:0}.trip-remark-meta{font-size:11.5px;color:var(--text-muted)}.trip-remark-meta strong{color:var(--navy)}.trip-remark-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px}.trip-remark-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}@media (max-width:640px){.trip-timeline{padding:8px;column-gap:10px}.trip-stage-line{left:14px;right:-6px}.trip-stage-time{font-size:11.5px}.trip-stage-km{font-size:13px}}@media (max-width:520px){.trip-timeline{grid-template-columns:1fr;row-gap:16px}.trip-stage-line{display:none}}@media (max-width:640px){.row-details{padding:10px 12px}.row-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row-details-locations{grid-template-columns:minmax(0,1fr)}}.modal-overlay{position:fixed;inset:0;background:rgba(16,33,58,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}.modal-content{background:#FFFFFF;-webkit-backdrop-filter:blur(var(--glass-blur-lg)) saturate(180%);backdrop-filter:blur(var(--glass-blur-lg)) saturate(180%);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow-lg);border:1px solid var(--glass-border-strong);width:100%;max-width:600px;max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;overflow-y:auto;position:relative}.modal-content>form{display:flex;flex-direction:column;min-height:0}.modal-header{padding:18px 24px;border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:24px;overflow-y:auto}.modal-footer{padding:16px 24px;border-top:1px solid var(--glass-border);display:flex;justify-content:flex-end;gap:12px;background:#F8FAFC}.modal-content.attachment-preview{max-width:820px;max-height:80vh;max-height:80dvh}.attachment-preview-image{max-width:100%;overflow:auto;border-radius:8px;background:#0F172A;display:flex;justify-content:center}.attachment-preview-pdf{width:100%;height:min(64vh,620px);border:1px solid var(--border);border-radius:8px;background:#FFFFFF}.attachment-preview-message{padding:14px;border-radius:8px;font-size:13px;color:var(--danger);background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.25)}.attachment-preview-message.muted{color:var(--text-muted);background:var(--surface-subtle,#F8FAFC);border-color:var(--border)}.attachment-preview-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));grid-gap:8px 14px;gap:8px 14px;margin:0;font-size:12.5px}.attachment-preview-details dt{color:var(--text-muted)}.attachment-preview-details dd{margin:0;font-weight:600;color:var(--navy);overflow-wrap:anywhere}.app-container{display:flex;min-height:100vh;min-height:100dvh;position:relative}.main-content{flex:1 1;display:flex;flex-direction:column;min-width:0;overflow-x:hidden;overflow-x:clip}.page-body{flex:1 1;min-width:0;padding:18px max(28px,calc((100% - 1544px) / 2)) 24px}.sos-alerts{margin:12px max(28px,calc((100% - 1544px) / 2)) 0;max-height:45vh;overflow-y:auto;flex-shrink:0}@media (max-width:640px){.sos-alerts{margin:10px 16px 0}}.glass-card,.glass-panel,.page-body>*{min-width:0;max-width:100%}@media (min-width:1024px){.app-container{height:100vh;height:100dvh}.page-body{min-height:0;overflow-x:hidden;overflow-y:auto}.data-table-container{max-height:calc(100dvh - var(--header-height) - 42px)}.page-body>:has(>.data-table-container){height:100%}}.topbar-start{flex:1 1 340px;max-width:520px;min-width:0;display:flex;align-items:center;gap:12px}.topbar-search{flex:1 1;min-width:0}.topbar-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.topbar-icon-button{width:42px;height:42px;padding:0;flex-shrink:0;border-radius:var(--radius-full)}.topbar-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:var(--dropdown-width,260px)}.dashboard-action,.topbar-menu-item{transition:background .15s ease}.dashboard-action{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-md);background:rgba(255,255,255,.94);border:1px solid var(--border-subtle)}.dashboard-action:focus-visible,.dashboard-action:hover{background:var(--surface-subtle)}.dashboard-split{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:16px;gap:16px}@media (max-width:1100px){.dashboard-split{grid-template-columns:1fr}}.vehicle-hero{display:grid;grid-template-columns:auto 1fr auto;grid-gap:24px;gap:24px;align-items:center}.vehicle-hero-stats{display:flex;gap:16px;border-left:1px solid var(--border-subtle);padding-left:24px}@media (max-width:768px){.vehicle-hero{grid-template-columns:1fr}.vehicle-hero-stats{flex-wrap:wrap;border-left:none;padding-left:0}}.topbar-menu-item:focus-visible,.topbar-menu-item:hover{background:rgba(255,255,255,.5)}@media (max-width:768px){.page-body{padding:14px}.glass-topbar{padding:12px 14px 0;gap:8px}.topbar-actions,.topbar-start{gap:8px}.topbar-kbd,.topbar-site-name,.topbar-user-meta{display:none}.topbar-dropdown{position:fixed;top:64px;left:14px;right:14px;width:auto}}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:rgba(71,85,105,.45);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(71,85,105,.65)}.back-link{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 12px 5px 8px;margin-bottom:10px;font-size:13px;font-weight:600;color:var(--primary-hover);background:#FFFFFF;border:1px solid var(--border-strong);border-radius:var(--radius-full);box-shadow:var(--glass-shadow-sm)}.back-link:hover{background:var(--surface-subtle);border-color:#94A3B8}.back-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.record-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.record-history-item{border-left:3px solid var(--border-strong);padding:2px 0 2px 10px;font-size:12.5px;color:var(--text-main)}.record-history-item.source-approval{border-left-color:var(--warning)}.record-history-item.source-reading{border-left-color:var(--primary)}.record-history-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.record-history-source{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.record-history-title{color:var(--navy)}.record-history-meta{font-size:12px;color:var(--text-muted)}.record-history-changes{list-style:none;margin:3px 0 0;padding:0;display:flex;flex-direction:column;gap:1px}.record-history-field{font-weight:600;color:var(--text-muted)}.record-history-before{text-decoration:line-through;color:var(--text-muted)}.record-history-unknown{font-style:italic;color:var(--text-muted)}.record-history-text{margin-top:2px;white-space:pre-wrap;overflow-wrap:anywhere}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}