/*
 * Main Sightlock stylesheet — extracted from app/sightlock.html in P0.8.
 * Originally inline at lines 16-1691 of the monolith.
 * Split into per-pane modules during P0.14 per-pane extract.
 */
:root{
    --bg-primary:#0a0e17;--bg-secondary:#10141f;--bg-tertiary:#181d2a;--bg-card:#141924;
    --border:#1e2536;--border-pop:#151a28;
    --text-primary:#e8eaf0;--text-secondary:#8b93a6;--text-muted:#5a6278;
    --accent:#06b6d4;--accent-glow:rgba(6,182,212,0.2);--accent-hot:#f43f5e;--accent-green:#10b981;--accent-amber:#f59e0b;
    --surface-control:#111827;--surface-control-hover:#182235;--control-border:#273244;--control-height:28px;--control-radius:4px;
    --sidebar-w:284px;--left-rail-width:72px;--pane-radius:12px;--pane-border:1px solid var(--border-pop);
}
[data-theme="light"]{
    --bg-primary:#f0f2f5;--bg-secondary:#fff;--bg-tertiary:#e8ecf0;--bg-card:#fff;
    --border:#d0d5dd;--border-pop:#c0c7d0;
    --text-primary:#1a1f2e;--text-secondary:#5a6278;--text-muted:#8b93a6;
    --accent:#0891b2;--accent-glow:rgba(8,145,178,.12);--accent-hot:#e11d48;--accent-green:#059669;--accent-amber:#d97706;
    --surface-control:#fff;--surface-control-hover:#eef5f7;--control-border:#cbd5df;
    --pane-border:1px solid #d0d5dd;
}
[data-theme="light"] .tb{background:var(--surface-control);border-color:var(--control-border);color:#334155;}
[data-theme="light"] .tb:hover{background:var(--surface-control-hover);color:#0f172a;border-color:#94a3b8;}
[data-theme="light"] .hk-btn{background:#fff;border-color:#d0d5dd;color:#5a6278;}
[data-theme="light"] .hk-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
[data-theme="light"] .lb{color:#475569;}
[data-theme="light"] .lb:hover{background:#f8fafc;color:#0f172a;}
[data-theme="light"] .layout-bar{background:#eef2f6;border-color:var(--control-border);}
[data-theme="light"] .crs-toggle{background:#eef2f6;border-color:var(--control-border);}
[data-theme="light"] .crs-btn{color:#475569;}
[data-theme="light"] .vid-export-btn{border-color:transparent!important;}
*{margin:0;padding:0;box-sizing:border-box;}
html{width:100%;height:100%;min-height:100vh;overflow:hidden;background:var(--bg-primary);}
body{font-family:'Segoe UI',-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);width:100%;height:100%;min-height:100vh;overflow:hidden;font-size:15px;}

/* BOOT */
#boot-screen{position:fixed;inset:0;background:var(--bg-primary);z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;}
#boot-screen.fade-out{animation:bootFade .5s ease forwards;}
@keyframes bootFade{to{opacity:0;pointer-events:none}}
#boot-drone-canvas{position:absolute;inset:0;z-index:0;}
.boot-center{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;}
.boot-logo-img{width:200px;height:200px;filter:drop-shadow(0 0 24px rgba(6,182,212,.5));margin-bottom:16px;}
/* ── Converge boot animation (replaces static logo) ── */
.cv-stage{position:relative;width:300px;height:300px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.cv-burst{position:absolute;inset:0;pointer-events:none;}
.cv-bp{position:absolute;width:5px;height:5px;border-radius:50%;background:#06b6d4;box-shadow:0 0 8px #06b6d4;opacity:0.8;}
.cv-ring{position:absolute;left:50%;top:50%;width:100%;height:100%;border:1px solid rgba(6,182,212,0.25);border-radius:50%;transform:translate(-50%,-50%) scale(0.2);opacity:0;animation:cv-ring 2.4s ease-out 0.4s infinite;}
.cv-ring.cv-r2{animation-delay:0.7s;}
.cv-ring.cv-r3{animation-delay:1.0s;}
@keyframes cv-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(0.15);}50%{opacity:0.5;}100%{opacity:0;transform:translate(-50%,-50%) scale(1.6);}}
.cv-icon{position:relative;width:200px;height:200px;opacity:0;filter:drop-shadow(0 0 30px rgba(6,182,212,0.65));z-index:5;animation:cv-icon-in 1.4s cubic-bezier(0.16,1,0.3,1) 1.3s forwards,cv-breathe 3.5s ease-in-out 2.7s infinite;}
.cv-icon img{width:100%;height:100%;object-fit:contain;}
@keyframes cv-icon-in{0%{opacity:0;transform:scale(0.4);}60%{opacity:1;transform:scale(1.08);}100%{opacity:1;transform:scale(1);}}
@keyframes cv-breathe{0%,100%{filter:drop-shadow(0 0 30px rgba(6,182,212,0.65)) brightness(1);transform:scale(1);}50%{filter:drop-shadow(0 0 50px rgba(6,182,212,0.9)) brightness(1.12);transform:scale(1.03);}}
.boot-sub{color:var(--text-muted);font-size:11px;letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;}
.boot-load-wrap{width:260px;}
.boot-load-bar{height:3px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;}
.boot-load-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),#10b981);border-radius:2px;transition:width 50ms linear;}
.boot-load-text{text-align:center;font-size:10px;color:var(--text-muted);margin-top:8px;}
.boot-steps{margin-top:16px;list-style:none;padding:0;}
.boot-steps li{font-size:11px;color:var(--text-muted);padding:3px 0;display:flex;align-items:center;gap:8px;font-family:'Segoe UI',sans-serif;}
.boot-steps li .step-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;}
.boot-steps li.active{color:var(--accent);}
.boot-steps li.active .step-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 6px var(--accent);}
.boot-steps li.done{color:var(--text-secondary);}
.boot-steps li.done .step-dot{background:var(--accent-green);border-color:var(--accent-green);}
.boot-elapsed{font-size:10px;color:var(--text-muted);margin-top:12px;font-variant-numeric:tabular-nums;}
.boot-desc{display:none;}
/* ── Boot tagline ─────────────────────────────────── */
.boot-tagline{display:flex;align-items:center;gap:10px;margin-bottom:30px;}
.bt-item{display:flex;align-items:baseline;opacity:0;animation:bt-word .55s cubic-bezier(.22,1,.36,1) forwards;}
.bt-item:nth-child(1){animation-delay:.35s;}
.bt-item:nth-child(2){animation-delay:.52s;}
.bt-item:nth-child(3){animation-delay:.69s;}
@keyframes bt-word{0%{opacity:0;transform:translateY(10px);}100%{opacity:1;transform:none;}}
.bt-w{font-size:10px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--text-secondary);transition:color .25s;}
.bt-d{font-size:28px;font-weight:900;line-height:.65;color:var(--accent);display:inline-block;position:relative;top:5px;transition:text-shadow .25s;}
[data-theme="dark"] .bt-d{text-shadow:0 0 10px rgba(6,182,212,.65),0 0 22px rgba(6,182,212,.25);}
/* ── Topbar tagline ───────────────────────────────── */
.topbar-credit{display:flex;align-items:center;padding:2px 8px;gap:0;}
.topbar-credit:hover .tc-w{color:var(--accent);}
[data-theme="dark"] .topbar-credit:hover .tc-d{text-shadow:0 0 10px rgba(6,182,212,.9),0 0 20px rgba(6,182,212,.4);}
.tc-w{font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-muted);transition:color .2s;}
.tc-d{font-size:17px;font-weight:900;line-height:.75;color:var(--accent);display:inline-block;vertical-align:middle;padding:0 1px;transition:text-shadow .2s;}
[data-theme="dark"] .tc-d{text-shadow:0 0 7px rgba(6,182,212,.5);}
/* Boot→Auth morph */
.boot-auth-status{font-size:12px;color:var(--text-muted);margin-bottom:10px;min-height:18px;text-align:center;transition:color .2s;}
.boot-auth-status.err{color:#f43f5e;}.boot-auth-status.ok{color:#10b981;}
.boot-auth-input{width:100%;box-sizing:border-box;background:rgba(0,0,0,.04);border:1px solid var(--border);border-radius:8px;padding:11px 14px;color:var(--text-primary);font-size:13px;margin-bottom:8px;outline:none;transition:border .2s;letter-spacing:.4px;font-family:inherit;}
.boot-auth-input:focus{border-color:var(--accent);}
.boot-auth-hint{font-size:11px;color:var(--text-muted);margin-bottom:10px;line-height:1.5;text-align:center;}
.boot-auth-hint a{color:var(--accent);text-decoration:none;}
.boot-auth-btn{width:100%;padding:11px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:700;cursor:pointer;letter-spacing:.5px;transition:opacity .2s;font-family:inherit;}
.boot-auth-btn:hover:not(:disabled){opacity:.85;}
.boot-auth-btn:disabled{opacity:.35;cursor:not-allowed;}
.boot-auth-ver{font-size:10px;color:var(--text-muted);margin-top:14px;text-align:center;opacity:.4;}
[data-theme="dark"] .boot-auth-input{background:rgba(255,255,255,.04);}

/* TOPBAR CREDIT */
.topbar-credit{color:var(--text-muted);font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s;white-space:nowrap;}
.topbar-credit:hover{color:var(--accent);background:var(--accent-glow);}
.topbar-version{font-size:9px;color:var(--text-muted);opacity:.5;padding:2px 6px;letter-spacing:.03em;}

/* ABOUT POPUP */
#about-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:10002;display:none;align-items:center;justify-content:center;}
#about-overlay.active{display:flex;}
.about-card{background:var(--bg-secondary);border:var(--pane-border);border-radius:var(--pane-radius);padding:24px 28px;width:480px;max-width:90%;position:relative;}
.about-close{position:absolute;top:10px;right:12px;background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-secondary);width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;}.about-close:hover{background:var(--accent);color:#fff;}
.about-name{font-size:22px;font-weight:800;color:var(--accent);font-family:'Courier New',monospace;margin-bottom:2px;}
.about-title{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;}
.about-org{font-size:14px;font-weight:700;margin-bottom:12px;}
.about-desc{font-size:13px;color:var(--text-secondary);line-height:1.7;margin-bottom:12px;}
.about-contact{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.about-contact a{display:flex;align-items:center;gap:5px;padding:5px 12px;border:1px solid var(--accent);border-radius:6px;color:var(--accent);text-decoration:none;font-size:12px;transition:all .15s;}
.about-contact a:hover{background:var(--accent);color:#fff;}
.about-footer{font-size:10px;color:var(--text-muted);line-height:1.6;border-top:var(--pane-border);padding-top:10px;}

/* LANDING DRONE TRAIL */
#landing-drone-canvas{position:absolute;inset:0;z-index:0;pointer-events:none;}

/* TOPBAR */
.topbar{height:48px;background:linear-gradient(180deg,#0f1724 0%,#0b111d 100%);border-bottom:1px solid var(--control-border);display:flex;align-items:center;padding:0 8px;z-index:200;gap:6px;box-shadow:0 1px 0 rgba(255,255,255,.04) inset;}
[data-theme="light"] .topbar{background:linear-gradient(180deg,#fff 0%,#f7f9fb 100%);border-bottom-color:#cbd5df;box-shadow:0 1px 0 rgba(15,23,42,.04);}
.workstation-topbar{min-width:0;}
.topbar-logo{display:flex;align-items:center;margin-right:8px;flex-shrink:0;background:transparent;border-radius:var(--control-radius);padding:2px 4px;}
[data-theme="light"] .topbar-logo{background:transparent;}
.topbar-logo img{height:42px;max-width:150px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(6,182,212,.35));}
.layout-bar{display:flex;gap:2px;background:rgba(255,255,255,.03);border-radius:var(--control-radius);padding:2px;border:1px solid var(--control-border);overflow-x:auto;flex-shrink:1;min-width:0;}
.layout-bar::-webkit-scrollbar{height:0;}
.lb{height:24px;background:transparent;border:1px solid transparent;color:var(--text-muted);padding:0 8px;border-radius:3px;cursor:pointer;font-size:11px;font-family:inherit;transition:background .12s,border-color .12s,color .12s;white-space:nowrap;flex-shrink:0;}
.lb:hover{color:var(--text-primary);background:var(--surface-control-hover);border-color:rgba(148,163,184,.22);}
.lb.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset;}
.tb-sep{width:1px;height:20px;background:var(--border);margin:0 2px;flex-shrink:0;}
.tb{height:var(--control-height);background:var(--surface-control);border:1px solid var(--control-border);color:var(--text-secondary);padding:0 9px;border-radius:var(--control-radius);cursor:pointer;font-size:12px;font-family:inherit;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;white-space:nowrap;line-height:1;max-width:180px;overflow:hidden;text-overflow:ellipsis;}
.tb:hover{background:var(--surface-control-hover);color:var(--text-primary);border-color:var(--accent);}
.tb.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.tb svg{width:13px;height:13px;}
.tb-compare{display:flex!important;background:linear-gradient(90deg,rgba(239,68,68,.14),rgba(59,130,246,.16))!important;color:var(--text-primary)!important;border:1px solid rgba(6,182,212,.38)!important;font-weight:700;box-shadow:none;transition:background .15s,border-color .15s,color .15s;}
.tb-compare:hover{background:linear-gradient(90deg,rgba(239,68,68,.22),rgba(6,182,212,.22))!important;border-color:var(--accent)!important;}
.tb-compare.cmp-active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;}
.tb-export-main{border-color:rgba(16,185,129,.42);color:#34d399;font-weight:700;}
[data-theme="light"] .tb-export-main{color:#047857;}
/* z-index must beat Leaflet panes (400+) and map controls (1000) or the
   semi-transparent map tiles composite over the open panel */
.topbar-export-menu{position:relative;display:flex;align-items:center;flex-shrink:0;z-index:1200;}
.topbar-export-panel{position:absolute;right:0;top:31px;z-index:240;display:none;min-width:250px;max-width:310px;padding:6px;border:1px solid rgba(148,163,184,.34);border-radius:7px;background:#fff;color:#334155;box-shadow:0 16px 34px rgba(15,23,42,.2);}
.topbar-export-menu.open .topbar-export-panel{display:grid;gap:4px;}
.topbar-export-summary{display:grid;gap:2px;padding:8px 9px;border:1px solid rgba(16,185,129,.25);border-radius:6px;background:linear-gradient(180deg,#ecfdf5,#f8fafc);}
.topbar-export-summary strong{font-size:11px;font-weight:950;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.topbar-export-summary span{font-size:9px;font-weight:850;line-height:1.25;color:#64748b;}
.topbar-export-panel button{height:28px;border:0;border-radius:4px;background:transparent;color:#334155;text-align:left;font:inherit;font-size:10px;font-weight:900;padding:0 9px;cursor:pointer;}
.topbar-export-panel button:hover{background:#dcfce7;color:#047857;}
.topbar-export-panel button:disabled{opacity:.45;cursor:not-allowed;background:#f8fafc;color:#94a3b8;}
.topbar-export-divider{height:1px;background:rgba(148,163,184,.22);margin:2px 3px;}
.topbar-export-history{display:grid;gap:5px;margin-top:3px;padding-top:6px;border-top:1px solid rgba(148,163,184,.22);}
.topbar-export-history-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 3px;}
.topbar-export-history-head strong{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#64748b;}
.topbar-export-history-head span{font-size:9px;font-weight:950;color:#0891b2;}
.topbar-export-history-list{display:grid;gap:4px;max-height:158px;overflow:auto;}
.topbar-export-history-list>span{padding:6px 8px;border:1px dashed rgba(148,163,184,.28);border-radius:5px;color:#94a3b8;font-size:10px;font-weight:850;}
.topbar-export-job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;padding:7px;border:1px solid rgba(148,163,184,.24);border-radius:5px;background:#f8fafc;}
.topbar-export-job b{display:block;font-size:10px;color:#0f172a;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.topbar-export-job span{display:block;font-size:9px;color:#64748b;font-weight:800;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:185px;}
.topbar-export-job em{display:block;font-style:normal;font-size:9px;color:#047857;font-weight:950;margin-top:2px;}
.topbar-export-job button{height:24px!important;border:1px solid rgba(8,145,178,.28)!important;background:#fff!important;color:#0891b2!important;text-align:center!important;padding:0 8px!important;}
.topbar-export-job button:hover{background:#0891b2!important;color:#fff!important;border-color:#0891b2!important;}
[data-theme="dark"] .topbar-export-panel{background:#101827;color:#cbd5e1;border-color:rgba(148,163,184,.28);box-shadow:0 18px 40px rgba(0,0,0,.45);}
[data-theme="dark"] .topbar-export-summary{background:linear-gradient(180deg,rgba(16,185,129,.14),rgba(15,23,42,.92));border-color:rgba(16,185,129,.28);}
[data-theme="dark"] .topbar-export-summary strong{color:#f8fafc;}
[data-theme="dark"] .topbar-export-summary span{color:#94a3b8;}
[data-theme="dark"] .topbar-export-panel button{color:#cbd5e1;}
[data-theme="dark"] .topbar-export-panel button:hover{background:rgba(16,185,129,.18);color:#86efac;}
[data-theme="dark"] .topbar-export-panel button:disabled{background:rgba(15,23,42,.55);color:#64748b;}
[data-theme="dark"] .topbar-export-job{background:rgba(15,23,42,.8);border-color:rgba(148,163,184,.22);}
[data-theme="dark"] .topbar-export-job b{color:#f8fafc;}
[data-theme="dark"] .topbar-export-job span{color:#94a3b8;}
[data-theme="dark"] .topbar-export-job button{background:#0f172a!important;color:#67e8f9!important;border-color:rgba(103,232,249,.28)!important;}
.tb-focus-main{border-color:rgba(6,182,212,.42);color:#67e8f9;font-weight:700;}
.tb-focus-main.active,body.media-focus .tb-focus-main{background:#0891b2!important;border-color:#0891b2!important;color:#fff!important;box-shadow:0 0 0 1px rgba(8,145,178,.14),0 6px 16px rgba(8,145,178,.18);}
[data-theme="light"] .tb-focus-main{color:#0e7490;}
select.tb{display:block;padding:0 24px 0 8px;line-height:var(--control-height);}
/* (hover/active rules removed — button hidden) */
.tb-tour{background:#ec4899;border-color:#ec4899;color:#fff;font-weight:600;animation:tourPulse 2s ease-in-out infinite;}
.tb-tour:hover{background:#db2777;border-color:#db2777;}
@keyframes tourPulse{0%,100%{box-shadow:0 0 0 0 rgba(236,72,153,.4);}50%{box-shadow:0 0 0 6px rgba(236,72,153,0);}}
.tb-spacer{flex:1;}
@media (max-width: 1460px){
    .topbar{gap:4px;padding-inline:6px;}
    .topbar-credit,.topbar-version{display:none;}
    .topbar-logo{margin-right:2px;padding-inline:2px;}
    .topbar-logo img{height:38px;max-width:126px;}
    .tb{padding-inline:7px;font-size:11px;max-width:132px;}
    #topbar-basemap{max-width:112px!important;}
    .layout-bar{max-width:360px;}
    .lb{padding-inline:7px;}
    .crs-btn{padding-inline:7px;}
    .tb-spacer{min-width:2px;}
    .win-controls{margin-left:2px;}
}
@media (max-width: 1280px){
    .tb-tour,.tb-focus-main,#btn-shortcuts{font-size:0;width:30px;padding:0;}
    .tb-tour svg,#btn-shortcuts svg{margin:0;}
    .layout-bar{max-width:300px;}
    .crs-btn{font-size:10px;padding-inline:6px;}
    #topbar-basemap{max-width:96px!important;}
}

/* LANDING — hidden, replaced by inline empty states */
#landing{display:none!important;}
.landing-title,.landing-sub,.file-drop,.landing-hint{display:none!important;}
#file-input{display:none;}
/* Video pane empty state (no files loaded) */
.vid-empty-hint{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:5;gap:6px;}
.vid-add-overlay{position:absolute;inset:0;z-index:4;cursor:pointer;background:transparent;}
.vid-add-overlay:hover~.vid-empty-hint,.vid-add-overlay:hover+.vid-empty-hint{opacity:.8;}
.vid-add-overlay:hover{background:rgba(6,182,212,.04);}
.vid-empty-hint .veh-icon{font-size:28px;opacity:.3;}
.vid-empty-hint .veh-text{font-size:12px;color:var(--text-muted);opacity:.6;}
.vid-empty-hint .veh-sub{font-size:10px;color:var(--text-muted);opacity:.4;}

/* IMPORT TOAST */
/* GLOBAL DROP OVERLAY */
#global-drop-overlay{position:fixed;inset:0;z-index:9998;display:none;align-items:center;justify-content:center;pointer-events:none;background:rgba(6,182,212,.06);border:3px dashed rgba(6,182,212,.5);box-sizing:border-box;border-radius:var(--pane-radius);}
#global-drop-overlay.active{display:flex;}
/* Phase 5 — update notification bar */
#update-bar{position:fixed;bottom:0;left:0;right:0;z-index:9990;height:36px;display:none;align-items:center;justify-content:center;gap:12px;background:rgba(16,185,129,.92);backdrop-filter:blur(6px);font-size:12px;font-weight:600;color:#fff;letter-spacing:.02em;}
#update-bar.show{display:flex;}
#update-bar .ub-msg{display:flex;align-items:center;gap:8px;}
#update-bar .ub-spin{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0;}
#update-bar .ub-btn{padding:4px 14px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.4);border-radius:4px;color:#fff;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s;}
#update-bar .ub-btn:hover{background:rgba(0,0,0,.35);}
#update-bar .ub-dismiss{padding:2px 6px;background:none;border:none;color:rgba(255,255,255,.6);font-size:14px;cursor:pointer;margin-left:4px;}
.gdo-inner{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--accent);pointer-events:none;user-select:none;}
.gdo-inner svg{opacity:.9;}
.gdo-title{font-size:18px;font-weight:700;}
.gdo-sub{font-size:12px;color:var(--text-secondary);}

#import-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--bg-secondary);border:var(--pane-border);border-radius:var(--pane-radius);padding:16px 22px;min-width:340px;z-index:10000;opacity:0;pointer-events:none;box-shadow:0 12px 40px rgba(0,0,0,.5);transition:opacity .4s,transform .4s;}
#import-toast.active{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
#import-toast.fade-out{opacity:0;transform:translateX(-50%) translateY(20px);transition:opacity 2s,transform 2s;}
.import-toast-title{font-size:14px;font-weight:600;margin-bottom:8px;}
.import-toast-file{font-size:12px;color:var(--text-muted);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.import-toast-bar{height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;}
.import-toast-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-green));border-radius:2px;width:0%;transition:width .3s;}
.import-toast-status{font-size:11px;color:var(--text-muted);margin-top:6px;text-align:center;}

/* ══ LEFT PANEL / LOCKED NAVIGATION RAIL ═══════════════════════════════ */
#left-panel{
  display:none;position:fixed;left:0;top:48px;bottom:0;
  width:var(--left-rail-width);
  z-index:200;
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(15,23,42,.94));
  border-right:1px solid rgba(6,182,212,.22);
  box-shadow:4px 0 18px rgba(0,0,0,.28),inset -1px 0 rgba(255,255,255,.06);
  flex-direction:column;align-items:stretch;
  overflow:hidden;
  transform:translateX(0);
  transition:transform .18s ease;
}
#left-panel::after{
  content:'';
  position:absolute;top:0;right:0;bottom:0;width:2px;
  background:linear-gradient(180deg,rgba(6,182,212,.14),rgba(245,158,11,.42),rgba(6,182,212,.16));
  pointer-events:none;
}
#left-panel.open{display:flex;}
body.auth-ok #left-panel{display:flex;}
#left-panel:hover,#left-panel.hint-open{
  width:var(--left-rail-width);
  transition:none;
}
#left-panel.frozen{width:var(--left-rail-width);transition:none!important;}

/* Mode buttons — fill available height evenly */
.lp-btn{
  position:relative;
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  flex:1;min-height:104px;max-height:220px;
  padding:9px 0;
  background:none;border:none;
  border-left:4px solid transparent;
  color:var(--text-muted);
  font-family:inherit;
  cursor:pointer;
  overflow:hidden;
  transition:color .18s,background .18s,border-color .18s;
  width:100%;
  gap:6px;
}
.lp-btn::before{
  content:'';position:absolute;inset:0;
  background:var(--accent);opacity:0;
  transition:opacity .18s;pointer-events:none;
}
.lp-btn:hover::before{opacity:.12;}
.lp-btn:hover{color:var(--text-primary);background:rgba(6,182,212,.045);}
.lp-btn.active{
  color:#d97706;
  border-left-color:#f59e0b;
  background:linear-gradient(90deg,rgba(245,158,11,.2),rgba(245,158,11,.07));
  position:relative;
}
.lp-btn.active::after{
  content:'';position:absolute;inset:0;border-radius:0;pointer-events:none;
  background:conic-gradient(from var(--lp-snake-angle,0deg),transparent 0%,rgba(245,158,11,.25) 8%,transparent 16%);
  animation:lp-snake 6s linear infinite;
  mix-blend-mode:screen;opacity:.5;
}
@keyframes lp-snake{to{--lp-snake-angle:360deg;}}
@property --lp-snake-angle{syntax:'<angle>';initial-value:0deg;inherits:false;}
.lp-btn.active .lp-icon-wrap svg path,
.lp-btn.active .lp-icon-wrap svg rect,
.lp-btn.active .lp-icon-wrap svg circle{stroke:#f59e0b;}
.lp-btn.active .lp-label{color:#d97706;}

/* Icon — always centred in the 52px strip */
.lp-icon-wrap{
  flex-shrink:0;
  width:var(--left-rail-width);
  height:36px;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;line-height:1;
}
.lp-icon-wrap svg{width:30px;height:30px;}
/* Label — locked vertical in the permanent thin rail */
.lp-label{
  font-size:18px;font-weight:950;
  letter-spacing:.012em;text-transform:none;
  white-space:nowrap;pointer-events:none;
  opacity:1;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  transition:none;
  line-height:1.05;
  max-height:198px;
  color:#cbd5e1;
  text-shadow:0 1px 1px rgba(0,0,0,.32);
}
#left-panel:hover .lp-label,
#left-panel.hint-open .lp-label,
#left-panel.frozen .lp-label{opacity:1;transform:rotate(180deg);}
/* Vertical labels hidden — icons are self-explanatory in collapsed state */
.lp-vlabel{display:none;}

.lp-spacer{flex:0 0 12px;}
.nav-rail-reveal{
  display:none;position:fixed;left:0;top:calc(48px + 42%);z-index:201;
  width:24px;height:116px;border:1px solid rgba(8,145,178,.35);border-left:0;border-radius:0 6px 6px 0;
  background:rgba(248,250,252,.96);color:#0891b2;box-shadow:2px 8px 24px rgba(15,23,42,.16);
  align-items:center;justify-content:center;cursor:pointer;font:inherit;font-size:9px;font-weight:900;
  letter-spacing:.08em;text-transform:uppercase;padding:0;backdrop-filter:blur(8px);
}
.nav-rail-reveal span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;}
.nav-rail-reveal:hover{background:#e0f7fe;border-color:#0891b2;color:#0e7490;}
body.nav-rail-hidden #left-panel{transform:translateX(calc(-1 * var(--left-rail-width)));pointer-events:none;}
body.nav-rail-hidden:not(.media-focus):not(.compare-studio-active) .nav-rail-reveal{display:flex;}
body.nav-rail-hidden.compare-studio-active #left-panel{transform:translateX(0);pointer-events:auto;}

@media (max-height:680px){
  .lp-btn{min-height:0;padding:2px 0;gap:1px;}
  .lp-icon-wrap{height:24px;}
  .lp-icon-wrap svg{width:22px;height:22px;}
  .lp-label{max-height:112px;}
}

/* Content margin — pushed right by collapsed panel width */
body.lp-open #viewer,body.lp-open #mode-race,body.lp-open #mode-inspection,
body.lp-open #mode-timetrial,body.lp-open #mode-library,body.lp-open #mode-overview,
body.lp-open #landing{margin-left:var(--left-rail-width);transition:margin-left .25s ease;}
body.lp-frozen #viewer,body.lp-frozen #mode-race,body.lp-frozen #mode-inspection,
body.lp-frozen #mode-timetrial,body.lp-frozen #mode-library,body.lp-frozen #mode-overview,
body.lp-frozen #landing{margin-left:var(--left-rail-width);transition:margin-left .25s ease;}
body.nav-rail-hidden #viewer,body.nav-rail-hidden #mode-race,body.nav-rail-hidden #mode-inspection,
body.nav-rail-hidden #mode-timetrial,body.nav-rail-hidden #mode-library,body.nav-rail-hidden #mode-overview,
body.nav-rail-hidden #landing{margin-left:0;transition:margin-left .18s ease;}

/* MODE WORKSPACE */
.mode-workspace{flex:1;display:flex;overflow:hidden;}
.mode-workspace.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:10px;opacity:.4;user-select:none;background:var(--bg-primary);}
.mode-workspace.placeholder .ph-icon{font-size:44px;}
.mode-workspace.placeholder .ph-title{font-size:16px;font-weight:600;color:var(--text-primary);}
.mode-workspace.placeholder .ph-msg{font-size:12px;color:var(--text-secondary);}

/* RACE ANALYSER (v26) */
#mode-race{height:calc(100vh - 48px);}  /* 48px = topbar only */

/* TIME TRIAL (v26) */
#mode-timetrial{height:calc(100vh - 48px);}

/* INSPECTION COMPARE (v27) */
#mode-inspection{height:calc(100vh - 48px);}
.insp-container{width:100%;height:100%;display:flex;overflow:hidden;background:var(--bg-primary);}
/* BUG-058: insp-sidebar collapsible */
.insp-sidebar{width:280px;min-width:220px;display:flex;flex-direction:column;background:var(--bg-secondary,#0f1525);border-right:1px solid var(--border-subtle,#333);overflow:hidden;transition:width .22s ease,min-width .22s ease;}
.insp-sidebar.sb-collapsed{width:0;min-width:0;}
.insp-container{position:relative;}
.insp-sb-toggle{position:absolute;left:280px;top:50%;transform:translateY(-50%);z-index:16;background:var(--bg-secondary,#0f1525);border:1px solid var(--border-subtle,#333);border-left:none;color:var(--text-muted);width:14px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:0 6px 6px 0;font-size:10px;transition:left .22s ease,color .15s;font-family:inherit;padding:0;line-height:1;}
.insp-sb-toggle:hover{color:var(--text-primary);}
.insp-container.sb-collapsed .insp-sb-toggle{left:0;}
.insp-sb-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-subtle,#333);flex-shrink:0;}
.insp-sb-title{font-size:13px;font-weight:600;color:var(--text-primary);}
.insp-add-btn{background:#8b5cf6;color:#fff;border:none;border-radius:4px;padding:4px 10px;font-size:11px;cursor:pointer;font-family:inherit;}
.insp-add-btn:hover{filter:brightness(1.15);}
.insp-video-list{flex:1;overflow-y:auto;padding:4px;}
.insp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;text-align:center;opacity:.7;}
.insp-video-card{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;background:var(--bg-tertiary,#1a1a2e);margin-bottom:3px;border:1px solid transparent;cursor:pointer;transition:border-color .15s;}
.insp-video-card:hover{border-color:var(--border-subtle,#444);}
.insp-video-card.primary{border-color:#8b5cf6;background:rgba(139,92,246,.08);}
.ivc-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.ivc-info{flex:1;min-width:0;}
.ivc-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ivc-stats{font-size:10px;color:var(--text-muted);margin-top:1px;}
.ivc-primary-badge{font-size:8px;background:#8b5cf6;color:#fff;padding:1px 5px;border-radius:3px;font-weight:600;}
.ivc-set-primary{font-size:13px;color:#8b5cf6;cursor:pointer;padding:0 4px;opacity:.5;transition:opacity .15s;flex-shrink:0;}
.ivc-set-primary:hover{opacity:1;}
.insp-video-card.primary .ivc-set-primary{opacity:1;}
.ivc-remove{font-size:14px;color:var(--text-muted);cursor:pointer;padding:2px 4px;opacity:.5;transition:opacity .15s;}
.ivc-remove:hover{opacity:1;color:#ef4444;}
.insp-main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;}
.insp-video-grid{flex:1;display:grid;gap:2px;padding:2px;overflow:hidden;background:var(--bg-primary);}
.insp-video-grid.cols-1{grid-template-columns:1fr;}
.insp-video-grid.cols-2{grid-template-columns:1fr 1fr;}
.insp-video-grid.cols-3{grid-template-columns:1fr 1fr 1fr;}
.insp-video-grid.cols-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;}
.insp-video-panel{position:relative;background:#000;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.insp-video-panel video{width:100%;height:100%;object-fit:contain;}
.insp-panel-label{position:absolute;top:6px;left:8px;background:rgba(0,0,0,.7);color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;display:flex;align-items:center;gap:6px;pointer-events:none;z-index:2;}
.insp-panel-chainage{position:absolute;bottom:6px;right:8px;background:rgba(0,0,0,.7);color:#8b5cf6;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none;z-index:2;}
.insp-panel-sync{position:absolute;top:6px;right:8px;background:rgba(139,92,246,.7);color:#fff;padding:1px 6px;border-radius:3px;font-size:9px;pointer-events:none;z-index:2;}
.insp-map-strip{height:180px;min-height:80px;border-top:1px solid var(--border-subtle,#333);position:relative;flex-shrink:0;}
.insp-map{width:100%;height:100%;}
.insp-map-resize{position:absolute;top:0;left:0;right:0;height:4px;cursor:ns-resize;z-index:5;}
.insp-playback{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary);border-top:1px solid var(--border-subtle,#333);flex-shrink:0;}
.insp-play-btn{background:#8b5cf6;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;}
.insp-play-btn:hover{filter:brightness(1.2);}
.insp-scrub{flex:1;height:4px;accent-color:#8b5cf6;cursor:pointer;}
.insp-time{font-size:11px;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;}
.insp-speed-select{background:var(--bg-tertiary);border:1px solid var(--border-subtle,#444);border-radius:4px;padding:2px 4px;color:var(--text-primary);font-size:10px;cursor:pointer;}
.insp-sync-toggle{background:transparent;border:1px solid #8b5cf6;color:#8b5cf6;padding:3px 8px;border-radius:4px;font-size:10px;cursor:pointer;font-family:inherit;transition:all .15s;}
.insp-sync-toggle.active{background:#8b5cf6;color:#fff;}
.insp-sync-toggle:hover{background:#8b5cf6;color:#fff;}
.insp-drop-overlay{position:absolute;inset:0;background:rgba(139,92,246,.08);border:2px dashed #8b5cf6;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none;}
.insp-drop-msg{font-size:16px;font-weight:600;color:#8b5cf6;background:rgba(10,14,23,.85);padding:12px 24px;border-radius:8px;}
.insp-sync-status{border-top:1px solid var(--border-subtle,#333);padding:8px 10px;flex-shrink:0;}
/* BUG-064: photo panel in inspection grid */
.insp-video-panel.is-photo{background:#111;}
.insp-video-panel.is-photo img{width:100%;height:100%;object-fit:contain;pointer-events:none;display:block;}
.insp-photo-badge{position:absolute;top:6px;right:8px;background:rgba(6,182,212,.7);color:#fff;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:600;pointer-events:none;z-index:2;}
/* BUG-062: From Library section */
.insp-lib-section{border-top:1px solid var(--border-subtle,#333);flex-shrink:0;max-height:160px;display:flex;flex-direction:column;}
.insp-lib-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 4px;}
.insp-lib-refresh{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:1px 4px;}
.insp-lib-refresh:hover{color:var(--text-primary);}
.insp-lib-list{overflow-y:auto;padding:2px 6px 6px;}
.insp-lib-item{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:5px;cursor:pointer;transition:background .12s;}
.insp-lib-item:hover{background:rgba(139,92,246,.12);}
.insp-lib-item-icon{font-size:12px;flex-shrink:0;}
.insp-lib-item-name{font-size:11px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
.insp-lib-item-badge{font-size:9px;padding:1px 5px;border-radius:3px;flex-shrink:0;font-weight:600;}
.insp-lib-item-badge.vid{background:rgba(139,92,246,.2);color:#a78bfa;}
.insp-lib-item-badge.photo{background:rgba(6,182,212,.2);color:#22d3ee;}
.insp-lib-item-badge.already{background:rgba(100,100,100,.2);color:var(--text-muted);}
.insp-lib-empty{font-size:11px;color:var(--text-muted);padding:8px 6px;text-align:center;}
/* BUG-059: photo pair nav */
.insp-photo-pair-nav{display:none;align-items:center;justify-content:center;gap:8px;padding:4px 8px;background:rgba(139,92,246,.08);border-bottom:1px solid rgba(139,92,246,.2);flex-shrink:0;}
.insp-photo-pair-nav.visible{display:flex;}
.insp-photo-pair-nav button{background:transparent;border:1px solid rgba(139,92,246,.4);color:#a78bfa;border-radius:4px;padding:2px 10px;cursor:pointer;font-size:13px;font-family:inherit;}
.insp-photo-pair-nav button:hover{background:rgba(139,92,246,.2);}
.insp-photo-pair-nav span{font-size:11px;color:#a78bfa;min-width:60px;text-align:center;}
/* BUG-057: Inspection layout bar — slim + auto-hide */
.insp-layout-bar{display:none;align-items:center;gap:3px;padding:2px 6px;background:rgba(15,21,37,.92);border-bottom:1px solid var(--border-subtle,#333);flex-shrink:0;position:absolute;top:0;left:0;right:0;z-index:10;transition:opacity .25s,visibility .25s;backdrop-filter:blur(4px);}
.insp-layout-bar.visible{display:flex;}
.insp-layout-bar.bar-hidden{opacity:0;visibility:hidden;pointer-events:none;}
.insp-layout-btn{background:transparent;border:1px solid var(--border-subtle,#444);color:var(--text-muted);padding:1px 7px;border-radius:4px;font-size:10px;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;}
.insp-layout-btn:hover{color:var(--text-primary);}
.insp-layout-btn.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff;}
.insp-export-btn{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:1px 9px;border-radius:4px;font-size:10px;cursor:pointer;font-family:inherit;transition:all .15s;margin-left:6px;}
.insp-export-btn:hover{background:var(--accent);color:#000;}
.insp-export-btn.active{background:var(--accent);color:#fff;}
/* Give the grid a top padding so it doesn't sit behind the absolute bar */
.insp-main{position:relative;}
.insp-video-grid{padding-top:28px;}
.insp-container.insp-map-side .insp-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,28vw);grid-template-rows:minmax(0,1fr) auto;min-width:0;}
.insp-container.insp-map-side .insp-video-grid{grid-column:1;grid-row:1;min-height:0;}
.insp-container.insp-map-side .insp-playback{grid-column:1/-1;grid-row:2;}
.insp-container.insp-map-side .insp-map-strip{grid-column:2;grid-row:1;height:auto;min-height:0;border-top:0;border-left:1px solid var(--border-subtle,#333);}
.insp-container.insp-map-side .insp-map-toggle-btn{left:-1px;top:50%;transform:translate(-100%,-50%) rotate(-90deg);transform-origin:100% 50%;border-radius:5px 5px 0 0;}
.insp-container.insp-map-hidden .insp-map-strip{height:0!important;min-height:0!important;border:0!important;overflow:hidden;}
.insp-video-grid.layout-3-T{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;}
.insp-video-grid.layout-3-T .insp-video-panel:nth-child(3){grid-column:span 2;}
.insp-video-grid.layout-3-row{grid-template-columns:1fr;}
.insp-map-strip.map-hidden{height:0!important;border-top:none!important;overflow:hidden;}
.insp-map-toggle-btn{position:absolute;left:50%;transform:translateX(-50%);top:-16px;background:var(--bg-secondary);border:1px solid var(--border-subtle,#333);border-bottom:none;color:var(--text-muted);font-size:10px;padding:1px 10px;border-radius:5px 5px 0 0;cursor:pointer;z-index:6;white-space:nowrap;}
.insp-map-toggle-btn:hover{color:var(--text-primary);}
/* Grayscale off-state for video cards */
.insp-video-card.vid-off{opacity:.4;filter:grayscale(1);}
/* BUG-019: grayscale toggle now fully hides the comparison pane */
.insp-video-panel.vid-off{display:none !important;}
.insp-sync-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
.insp-sync-info{font-size:11px;color:var(--text-secondary);}
.insp-sync-info .chainage{color:#8b5cf6;font-weight:600;font-variant-numeric:tabular-nums;}
.example-btn{background:transparent;border:1px solid var(--text-muted);color:var(--text-muted);padding:4px 12px;border-radius:4px;font-size:10px;cursor:pointer;font-family:inherit;margin-top:10px;transition:all .15s;}
.example-btn:hover{border-color:var(--accent-green);color:var(--accent-green);}

/* LAYER STORE (v26) */
#mode-library{height:calc(100vh - 48px);}
#mode-overview{height:calc(100vh - 48px);}
.library-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary);}
/* BUG-037/041: library header + prominent dual tab bar */
.library-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px 8px;border-bottom:1px solid var(--border);flex-shrink:0;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0));}
.library-title{font-size:15px;font-weight:800;color:var(--text-primary);margin:0;line-height:1.15;}
.library-subtitle{font-size:10px;color:var(--text-muted);margin-top:2px;}
.library-tabs{display:none;} /* replaced by library-tab-bar */
.library-tab-bar{display:flex;flex-shrink:0;border-bottom:1px solid var(--border);overflow-x:auto;background:var(--bg-secondary);}
.library-tab-bar::-webkit-scrollbar{height:0;}
.lib-tab{flex:0 0 auto;height:34px;font-size:11px;font-weight:800;border:none;border-radius:0;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .15s,color .15s,border-color .15s;border-bottom:2px solid transparent;margin-bottom:-1px;padding:0 13px;background:transparent;color:var(--text-secondary);white-space:nowrap;}
.lib-tab[data-libtab="store"]{background:rgba(245,158,11,.07);color:#c18a1f;}
.lib-tab[data-libtab="files"]{background:rgba(6,182,212,.07);color:#1a8f9f;}
.lib-tab[data-libtab="store"]:hover{background:rgba(245,158,11,.14);color:#f59e0b;}
.lib-tab[data-libtab="files"]:hover{background:rgba(6,182,212,.14);color:var(--accent);}
.lib-tab[data-libtab="store"].active{background:rgba(245,158,11,.16);color:#fbbf24;border-bottom-color:#f59e0b;}
.lib-tab[data-libtab="files"].active{background:rgba(6,182,212,.16);color:var(--accent);border-bottom-color:var(--accent);}
.lib-tab:not([data-libtab="store"]):not([data-libtab="files"]):hover{background:rgba(6,182,212,.08);color:var(--accent);}
.lib-tab:not([data-libtab="store"]):not([data-libtab="files"]).active{background:rgba(6,182,212,.13);color:var(--accent);border-bottom-color:var(--accent);}
.lib-tab-content{flex:1;overflow-y:auto;padding:0;}
.lib-tab-content:not(.active){display:none;}

/* Project Repository Manager */
.repo-summary-strip{display:grid;grid-template-columns:repeat(10,minmax(64px,1fr));gap:5px;min-width:min(820px,56vw);max-width:920px;}
.repo-summary-strip div{border:1px solid rgba(148,163,184,.22);background:var(--bg-primary);border-radius:4px;padding:5px 7px;display:flex;flex-direction:column;gap:1px;min-width:0;}
.repo-summary-strip b{font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1;}
.repo-summary-strip span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;}
.repo-summary-strip .warn b{color:#ef4444;}
.repo-summary-strip .good b{color:#10b981;}
.repo-summary-strip .accent b{color:var(--accent);}
.repo-manager-shell{height:100%;display:grid;grid-template-columns:minmax(480px,1fr) minmax(340px,36%);gap:0;overflow:hidden;background:var(--bg-primary);}
.repo-main-panel{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--border);}
.repo-toolbar{height:42px;display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--border);background:var(--bg-secondary);overflow-x:auto;flex-shrink:0;}
.repo-action{height:26px;border:1px solid var(--control-border);background:var(--surface-control);color:var(--text-secondary);border-radius:var(--control-radius);font:inherit;font-size:10px;font-weight:800;padding:0 9px;cursor:pointer;white-space:nowrap;}
.repo-action:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-control-hover);}
.repo-action.primary{background:rgba(6,182,212,.12);border-color:rgba(6,182,212,.42);color:var(--accent);}
.repo-action.danger{border-color:rgba(239,68,68,.38);color:#ef4444;}
.repo-action.danger.solid{background:rgba(239,68,68,.1);}
.repo-action.danger.armed,#btn-delete-missing.armed{background:#dc2626;border-color:#dc2626;color:#fff;box-shadow:0 0 0 2px rgba(239,68,68,.18);}
.repo-action.saved{border-color:rgba(16,185,129,.38);color:#10b981;background:rgba(16,185,129,.08);}
.repo-project-grid{padding:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(390px,1fr));gap:8px;overflow:auto;align-content:start;}
.repo-project-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:9px;border:1px solid rgba(148,163,184,.22);background:var(--bg-secondary);border-radius:6px;padding:8px;cursor:pointer;min-height:116px;transition:border-color .14s,background .14s,box-shadow .14s;}
.repo-project-card:hover,.repo-project-card.selected{border-color:rgba(6,182,212,.55);background:rgba(6,182,212,.05);}
.repo-project-card.selected{box-shadow:0 0 0 1px rgba(6,182,212,.18) inset;}
.rpc-health{display:grid;grid-template-columns:minmax(0,1fr) 68px;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.22);border-radius:4px;background:rgba(248,250,252,.78);padding:5px 6px;margin-top:6px;min-width:0;}
.rpc-health div{min-width:0;}
.rpc-health b{display:block;font-size:10px;font-weight:950;color:var(--text-primary);line-height:1.1;}
.rpc-health span{display:block;font-size:9px;font-weight:850;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;}
.rpc-health i{position:relative;display:block;height:6px;border-radius:999px;background:rgba(148,163,184,.22);overflow:hidden;}
.rpc-health em{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:#10b981;}
.rpc-health.warn em{background:#f59e0b;}
.rpc-health.bad em{background:#ef4444;}
.rpc-health.good{border-color:rgba(16,185,129,.26);background:rgba(16,185,129,.06);}
.rpc-health.warn{border-color:rgba(245,158,11,.32);background:rgba(245,158,11,.06);}
.rpc-health.bad{border-color:rgba(239,68,68,.30);background:rgba(239,68,68,.06);}
.rpc-thumb{height:100%;min-height:88px;border-radius:4px;overflow:hidden;background:linear-gradient(135deg,rgba(6,182,212,.18),rgba(15,23,42,.45));display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.08em;border:1px solid rgba(148,163,184,.16);}
.rpc-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.rpc-main{min-width:0;display:flex;flex-direction:column;gap:5px;}
.rpc-title-row{display:flex;align-items:center;gap:6px;min-width:0;}
.rpc-title-row h3{font-size:13px;font-weight:900;color:var(--text-primary);margin:0;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rpc-star{width:22px;height:22px;border:1px solid rgba(148,163,184,.24);border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px;line-height:20px;flex-shrink:0;}
.rpc-star.active,.rpc-star:hover{color:#f59e0b;border-color:#f59e0b;background:rgba(245,158,11,.12);}
.rpc-status{margin-left:auto;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;border:1px solid rgba(148,163,184,.24);border-radius:3px;padding:2px 5px;color:var(--text-muted);flex-shrink:0;}
.rpc-status.loaded{border-color:rgba(16,185,129,.42);color:#10b981;}
.rpc-status.indexed{border-color:rgba(6,182,212,.42);color:var(--accent);}
.rpc-status.missing{border-color:rgba(239,68,68,.45);color:#ef4444;}
.rpc-raster-summary{display:grid;grid-template-columns:auto auto minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;gap:2px 6px;border:1px solid rgba(20,184,166,.22);border-radius:5px;background:linear-gradient(180deg,rgba(240,253,250,.74),rgba(236,254,255,.52));padding:5px 6px;min-width:0;color:#0f766e;}
.rpc-raster-summary span{grid-row:1/3;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}
.rpc-raster-summary b{grid-row:1/3;min-width:19px;height:17px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#14b8a6;color:#fff;font-size:8px;font-weight:950;padding:0 5px;font-variant-numeric:tabular-nums;}
.rpc-raster-summary small,.rpc-raster-summary em{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.05;font-style:normal;}
.rpc-raster-summary small{font-size:8px;font-weight:900;color:#334155;}
.rpc-raster-summary em{font-size:7.5px;font-weight:850;color:#64748b;}
.repo-project-card.selected .rpc-raster-summary{border-color:rgba(20,184,166,.38);background:rgba(240,253,250,.9);}
.rpc-ortho-stack{display:grid;gap:4px;border:1px solid rgba(20,184,166,.22);border-radius:5px;background:rgba(240,253,250,.62);padding:5px;min-width:0;}
.rpc-ortho-stack.collapsed{background:rgba(240,253,250,.46);}
.rpc-ortho-stack.expanded{background:rgba(240,253,250,.78);border-color:rgba(20,184,166,.34);}
.rpc-ortho-head{min-height:17px;display:flex;align-items:center;justify-content:space-between;gap:6px;color:#0f766e;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;}
.rpc-ortho-head small{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:7px;font-weight:900;text-transform:none;letter-spacing:0;}
.rpc-ortho-head b{min-width:17px;height:15px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#14b8a6;color:#fff;font-size:7px;}
.rpc-ortho-collapse{height:17px;border:1px solid rgba(20,184,166,.28);border-radius:4px;background:rgba(255,255,255,.74);color:#0f766e;font:inherit;font-size:6px;font-weight:950;cursor:pointer;padding:0 4px;text-transform:uppercase;letter-spacing:0;}
.rpc-ortho-collapse:hover{background:#14b8a6;border-color:#14b8a6;color:#fff;}
.rpc-ortho-list{display:grid;gap:4px;max-height:116px;overflow:auto;min-width:0;padding-right:1px;}
.rpc-ortho-stack.expanded .rpc-ortho-list{max-height:min(210px,34vh);}
.rpc-ortho{height:29px;display:grid;grid-template-columns:13px 38px minmax(0,1fr) 42px 58px;grid-template-rows:1fr 1fr;align-items:center;gap:0 5px;border:1px solid rgba(20,184,166,.26);border-radius:4px;background:rgba(255,255,255,.86);font:inherit;text-align:left;color:var(--text-primary);padding:3px 5px;cursor:pointer;min-width:0;}
.rpc-ortho:hover,.rpc-ortho.loaded{border-color:#14b8a6;background:rgba(240,253,250,.98);}
.rpc-ortho.visible{box-shadow:0 0 0 1px rgba(20,184,166,.16) inset;}
.rpc-ortho.compare-a,.rpc-ortho.compare-b{border-color:rgba(124,58,237,.42);}
.rpc-ortho input{grid-row:1/3;width:12px;height:12px;margin:0;accent-color:#14b8a6;}
.rpc-ortho span{grid-row:1/3;align-self:stretch;display:flex;align-items:center;justify-content:center;border-radius:3px;background:rgba(20,184,166,.14);color:#0f766e;font-size:7px;font-weight:950;letter-spacing:.03em;}
.rpc-ortho.raster-elevation{border-color:rgba(99,102,241,.24);}
.rpc-ortho.raster-elevation:hover,.rpc-ortho.raster-elevation.loaded{border-color:rgba(99,102,241,.42);background:rgba(238,242,255,.92);}
.rpc-ortho.raster-elevation span{background:rgba(99,102,241,.12);color:#4338ca;}
.rpc-ortho b,.rpc-ortho em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.06;}
.rpc-ortho b{grid-column:3;grid-row:1;font-size:9px;font-weight:950;color:#0f172a;}
.rpc-ortho em{grid-column:3;grid-row:2;font-size:7px;font-weight:850;font-style:normal;color:#64748b;}
.rpc-ortho .repo-ortho-actions{grid-column:5;grid-row:1/3;display:grid;grid-template-columns:minmax(0,1fr) 15px 15px;gap:2px;align-items:center;min-width:0;}
.rpc-ortho .repo-ortho-actions button{grid-column:auto!important;grid-row:auto!important;height:20px;border:1px solid rgba(20,184,166,.28);border-radius:3px;background:rgba(20,184,166,.08);color:#0f766e;font:inherit;font-size:7px;font-weight:950;cursor:pointer;padding:0 3px;text-transform:uppercase;min-width:0;overflow:hidden;text-overflow:ellipsis;}
.rpc-ortho .repo-ortho-actions button:hover{background:#14b8a6;border-color:#14b8a6;color:#fff;}
.rpc-ortho .repo-ortho-actions .repo-ortho-compare{padding:0;background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.22);color:#6d28d9;}
.rpc-ortho .repo-ortho-actions .repo-ortho-compare.active{background:#7c3aed;border-color:#7c3aed;color:#fff;}
.repo-ortho-compare-control{min-height:26px;display:grid;grid-template-columns:auto 48px 36px minmax(78px,1fr) 36px;align-items:center;gap:5px;border:1px solid rgba(124,58,237,.22);border-radius:4px;background:rgba(248,245,255,.86);padding:4px 6px;min-width:0;}
.repo-ortho-compare-control.enabled{border-color:rgba(124,58,237,.42);background:rgba(245,243,255,.98);}
.repo-ortho-compare-control span{font-size:8px;font-weight:950;color:#6d28d9;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.repo-ortho-compare-control button{height:20px;border:1px solid rgba(124,58,237,.26);border-radius:4px;background:#fff;color:#6d28d9;font:inherit;font-size:8px;font-weight:950;text-transform:uppercase;cursor:pointer;padding:0 5px;min-width:0;overflow:hidden;text-overflow:ellipsis;}
.repo-ortho-compare-control button.active,.repo-ortho-compare-control button:hover{background:#7c3aed;border-color:#7c3aed;color:#fff;}
.repo-ortho-compare-control input{width:100%;min-width:0;accent-color:#7c3aed;}
.repo-ortho-compare-control input:disabled{opacity:.35;cursor:not-allowed;}
.repo-ortho-compare-control b{font-size:8px;font-weight:950;color:#312e81;text-align:right;font-variant-numeric:tabular-nums;}
.repo-ortho-compare-control.compact{grid-template-columns:auto 34px 30px minmax(54px,1fr) 30px;padding:3px 4px;gap:3px;}
.repo-ortho-compare-control.compact span,.repo-ortho-compare-control.compact button,.repo-ortho-compare-control.compact b{font-size:7px;}
.rpc-ortho-more{height:21px;border:1px dashed rgba(20,184,166,.32);border-radius:4px;background:rgba(20,184,166,.07);color:#0f766e;font:inherit;font-size:7px;font-weight:950;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;}
.rpc-ortho-more:hover{background:rgba(20,184,166,.14);border-style:solid;}
.rpc-source{font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rpc-stats{display:flex;flex-wrap:wrap;gap:4px;}
.rpc-stats span{font-size:9px;color:var(--text-secondary);border:1px solid rgba(148,163,184,.18);border-radius:3px;padding:2px 5px;background:rgba(148,163,184,.055);}
.rpc-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto;}
.rpc-actions button,.repo-row-actions button{height:23px;border:1px solid rgba(6,182,212,.32);background:rgba(6,182,212,.08);color:var(--accent);border-radius:3px;font:inherit;font-size:10px;font-weight:800;padding:0 7px;cursor:pointer;}
.rpc-actions button:hover,.repo-row-actions button:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.rpc-actions button.danger,.repo-row-actions button.danger{border-color:rgba(239,68,68,.34);background:rgba(239,68,68,.07);color:#dc2626;}
.rpc-actions button.danger:hover,.repo-row-actions button.danger:hover{background:#dc2626;border-color:#dc2626;color:#fff;}
.rpc-actions button.danger.armed,.repo-preview-actions button.danger.armed,.fg-delete.armed{background:#dc2626;border-color:#dc2626;color:#fff;box-shadow:0 0 0 2px rgba(239,68,68,.18);}
.repo-preview-panel{min-width:0;display:flex;flex-direction:column;background:var(--bg-secondary);overflow:hidden;}
.repo-preview-head{height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-bottom:1px solid var(--border);flex-shrink:0;}
.repo-kicker{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);}
.repo-preview-title{font-size:13px;font-weight:900;color:var(--text-primary);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.repo-map{height:42%;min-height:240px;border-bottom:1px solid var(--border);background:#0f172a;flex-shrink:0;}
.repo-map-legend{min-width:172px;max-width:236px;margin:10px;padding:8px 9px;border:1px solid rgba(226,232,240,.72);border-radius:6px;background:rgba(255,255,255,.94);box-shadow:0 10px 26px rgba(15,23,42,.22);color:#334155;font-size:10px;font-weight:850;backdrop-filter:blur(8px);}
.repo-map-legend .rml-title{font-size:11px;font-weight:950;color:#0f172a;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.repo-map-legend .rml-row{display:grid;grid-template-columns:15px minmax(0,1fr) auto;align-items:center;gap:5px;padding:3px 0;}
.repo-map-legend i{width:10px;height:10px;display:inline-block;border-radius:999px;box-shadow:0 0 0 2px rgba(255,255,255,.9);}
.repo-map-legend i.extent{border-radius:2px;border:2px dashed #f97316;background:rgba(249,115,22,.08);box-shadow:none;}
.repo-map-legend i.track{background:#06b6d4;}
.repo-map-legend i.point{background:#10b981;}
.repo-map-legend i.missing{background:#ef4444;}
.repo-map-legend span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.repo-map-legend b{font-variant-numeric:tabular-nums;color:#0f172a;font-weight:950;}
.repo-preview-detail{padding:8px 10px;border-bottom:1px solid var(--border);overflow:auto;max-height:190px;}
.repo-ortho-strip{display:grid;gap:5px;margin-bottom:7px;border:1px solid rgba(20,184,166,.24);background:linear-gradient(180deg,rgba(240,253,250,.92),rgba(236,254,255,.72));border-radius:5px;padding:6px;}
.repo-ortho-strip.collapsed{background:rgba(240,253,250,.62);}
.repo-ortho-head{height:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#0f766e;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;}
.repo-ortho-head small{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:8px;font-weight:900;text-transform:none;letter-spacing:0;}
.repo-ortho-head b{min-width:18px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#14b8a6;color:#fff;font-size:8px;}
.repo-ortho-collapse{height:18px;border:1px solid rgba(20,184,166,.28);border-radius:4px;background:rgba(255,255,255,.78);color:#0f766e;font:inherit;font-size:7px;font-weight:950;cursor:pointer;padding:0 5px;text-transform:uppercase;letter-spacing:0;}
.repo-ortho-collapse:hover{background:#14b8a6;border-color:#14b8a6;color:#fff;}
.repo-ortho-list{display:grid;gap:5px;max-height:182px;overflow:auto;min-width:0;padding-right:1px;}
.repo-ortho-row{height:34px;display:grid;grid-template-columns:14px 42px minmax(0,1fr) 48px 72px;grid-template-rows:1fr 1fr;gap:1px 6px;align-items:center;border:1px solid rgba(20,184,166,.25);border-radius:4px;background:#fff;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;padding:3px 6px;min-width:0;}
.repo-ortho-row:hover,.repo-ortho-row.loaded{border-color:#14b8a6;background:rgba(240,253,250,.95);}
.repo-ortho-row.visible{box-shadow:0 0 0 1px rgba(20,184,166,.18) inset;}
.repo-ortho-row.compare-a,.repo-ortho-row.compare-b{border-color:rgba(124,58,237,.42);}
.repo-ortho-row input{grid-row:1/3;width:13px;height:13px;margin:0;accent-color:#14b8a6;}
.repo-ortho-row span{grid-row:1/3;align-self:stretch;display:flex;align-items:center;justify-content:center;border-radius:3px;background:rgba(20,184,166,.13);color:#0f766e;font-size:8px;font-weight:950;}
.repo-ortho-row.raster-elevation span{background:rgba(99,102,241,.12);color:#4338ca;}
.repo-ortho-row.raster-elevation{border-color:rgba(99,102,241,.22);}
.repo-ortho-row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-size:10px;font-weight:950;}
.repo-ortho-row b{grid-column:3;grid-row:1;}
.repo-ortho-row em{grid-column:3;grid-row:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:8px;font-style:normal;font-weight:850;}
.repo-ortho-opacity{grid-column:4;grid-row:1/3;width:100%;min-width:0;accent-color:#14b8a6;cursor:pointer;}
.repo-ortho-opacity:disabled{opacity:.34;cursor:not-allowed;}
.repo-ortho-actions{grid-column:5;grid-row:1/3;display:grid;grid-template-columns:minmax(0,1fr) 18px 18px;gap:2px;align-items:center;min-width:0;}
.repo-ortho-actions button{grid-column:auto!important;grid-row:auto!important;height:22px;border:1px solid rgba(20,184,166,.28);border-radius:4px;background:rgba(20,184,166,.08);color:#0f766e;font:inherit;font-size:8px;font-weight:950;cursor:pointer;text-transform:uppercase;min-width:0;overflow:hidden;text-overflow:ellipsis;}
.repo-ortho-actions button:hover{background:#14b8a6;border-color:#14b8a6;color:#fff;}
.repo-ortho-actions .repo-ortho-compare{padding:0;background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.22);color:#6d28d9;}
.repo-ortho-actions .repo-ortho-compare.active{background:#7c3aed;border-color:#7c3aed;color:#fff;}
.repo-ortho-actions .repo-ortho-compare:disabled{opacity:.34;cursor:not-allowed;background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.24);color:#64748b;}
.repo-ortho-more{height:24px;border:1px dashed rgba(20,184,166,.34);border-radius:4px;background:rgba(20,184,166,.07);color:#0f766e;font:inherit;font-size:8px;font-weight:950;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:0;}
.repo-ortho-more:hover{background:rgba(20,184,166,.14);border-style:solid;}
.repo-preview-media-window{display:grid;gap:5px;margin-top:7px;border:1px solid rgba(8,145,178,.2);border-radius:5px;background:linear-gradient(180deg,#fff,#f8fafc);padding:6px;min-width:0;}
.repo-preview-media-window.loading{border-style:dashed;background:rgba(248,250,252,.78);}
.repo-media-head{height:18px;display:flex;align-items:center;justify-content:space-between;gap:7px;color:#0e7490;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;}
.repo-media-head small{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:8px;font-weight:900;text-transform:none;letter-spacing:0;}
.repo-media-head b{min-width:18px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#0891b2;color:#fff;font-size:8px;padding:0 4px;}
.repo-media-list{display:grid;gap:4px;max-height:174px;overflow:auto;min-width:0;padding-right:1px;}
.repo-media-row{height:30px;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;gap:1px 6px;border:1px solid rgba(148,163,184,.2);border-radius:4px;background:#fff;padding:3px 6px;min-width:0;}
.repo-media-row:hover{border-color:rgba(8,145,178,.34);background:#ecfeff;}
.repo-media-row span{grid-row:1/3;align-self:stretch;display:flex;align-items:center;justify-content:center;border-radius:3px;background:rgba(8,145,178,.12);color:#0e7490;font-size:7px;font-weight:950;letter-spacing:.02em;}
.repo-media-row.video span{background:rgba(124,58,237,.12);color:#6d28d9;}
.repo-media-row.image span{background:rgba(16,185,129,.12);color:#047857;}
.repo-media-row b,.repo-media-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.05;}
.repo-media-row b{font-size:10px;font-weight:950;color:#0f172a;}
.repo-media-row em{font-size:8px;font-style:normal;font-weight:850;color:#64748b;}
.repo-media-empty,.repo-media-more{border:1px dashed rgba(148,163,184,.28);border-radius:4px;background:rgba(248,250,252,.72);padding:7px 8px;color:#64748b;font-size:9px;font-weight:850;line-height:1.25;}
.repo-media-more{border-color:rgba(8,145,178,.24);background:rgba(236,254,255,.58);color:#0e7490;}
.repo-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.repo-detail-grid div{border:1px solid rgba(148,163,184,.18);border-radius:4px;background:var(--bg-primary);padding:6px;min-width:0;}
.repo-detail-grid span{display:block;font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;}
.repo-detail-grid b{display:block;font-size:10px;color:var(--text-secondary);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.repo-health-panel{margin-top:7px;border:1px solid rgba(148,163,184,.22);border-radius:5px;background:rgba(248,250,252,.82);padding:7px 8px;display:grid;gap:4px;}
.repo-health-panel div{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.repo-health-panel span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:900;}
.repo-health-panel b{font-size:11px;font-weight:950;color:var(--text-primary);}
.repo-health-panel p{margin:0;font-size:10px;font-weight:800;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.repo-health-panel.good{border-color:rgba(16,185,129,.28);background:rgba(16,185,129,.06);}
.repo-health-panel.warn{border-color:rgba(245,158,11,.34);background:rgba(245,158,11,.07);}
.repo-health-panel.bad{border-color:rgba(239,68,68,.34);background:rgba(239,68,68,.07);}
.repo-preview-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 8px;padding:6px;border:1px solid rgba(8,145,178,.18);border-radius:5px;background:rgba(236,254,255,.58);}
.repo-preview-actions button{height:28px;border:1px solid rgba(148,163,184,.32);border-radius:5px;background:rgba(248,250,252,.92);color:var(--text-secondary);font:inherit;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap;}
.repo-preview-actions button:first-child{background:#0891b2;border-color:#0891b2;color:#fff;}
.repo-preview-actions button:hover{border-color:#0891b2;color:#0891b2;background:rgba(6,182,212,.08);}
.repo-preview-actions button:first-child:hover{background:#0e7490;color:#fff;}
.repo-preview-actions button.danger{border-color:rgba(239,68,68,.34);background:rgba(239,68,68,.06);color:#dc2626;}
.repo-preview-actions button.danger:hover{background:#dc2626;border-color:#dc2626;color:#fff;}
.repo-watched-roots{padding:8px 10px;overflow:auto;min-height:0;}
.repo-root-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;padding:5px 0;border-bottom:1px solid rgba(148,163,184,.12);font-size:10px;}
.repo-root-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);}
.repo-root-row b{font-size:9px;color:var(--text-muted);font-weight:700;white-space:nowrap;}
.repo-root-row button{height:22px;border:1px solid rgba(148,163,184,.28);background:transparent;color:var(--text-secondary);border-radius:3px;font-size:9px;cursor:pointer;}
.repo-list-layout{height:100%;overflow:auto;background:var(--bg-primary);padding:10px;}
.repo-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;padding:0 2px;font-size:13px;font-weight:900;color:var(--text-primary);}
.repo-muted{font-size:10px;color:var(--text-muted);font-weight:500;}
.repo-list{display:flex;flex-direction:column;gap:6px;}
.repo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(148,163,184,.2);background:var(--bg-secondary);border-radius:5px;padding:9px 10px;}
.repo-row:hover{border-color:rgba(6,182,212,.45);}
.repo-row b{display:block;font-size:12px;color:var(--text-primary);margin-bottom:3px;}
.repo-row span{display:block;font-size:10px;color:var(--text-muted);}
.repo-row.missing{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.045);}
.repo-row-actions{display:flex;gap:5px;flex-shrink:0;}
.repo-empty{border:1px dashed rgba(148,163,184,.28);border-radius:6px;padding:18px;text-align:center;color:var(--text-muted);font-size:12px;background:rgba(148,163,184,.04);}
.repo-list-cap{text-align:left;display:flex;flex-direction:column;gap:4px;}
.repo-list-cap b{font-size:12px;color:var(--text-secondary);}
.repo-list-cap span{font-size:10px;color:var(--text-muted);}
.repo-project-cap{grid-column:1/-1;align-items:flex-start;}
.repo-project-cap button{height:26px;border:1px solid rgba(6,182,212,.34);border-radius:5px;background:rgba(6,182,212,.08);color:var(--accent);font:inherit;font-size:10px;font-weight:900;padding:0 9px;cursor:pointer;}
.repo-project-cap button:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.repo-history-list{max-height:none;height:auto;overflow:visible;}
.store-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;position:sticky;top:0;background:var(--bg-primary);z-index:2;border-bottom:1px solid var(--border-subtle,#333);}
.store-search{flex:1;background:var(--bg-tertiary);border:1px solid var(--border-subtle,#444);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:12px;font-family:inherit;outline:none;}
.store-search:focus{border-color:var(--mode-accent,#f59e0b);}
.store-count{font-size:11px;color:var(--text-muted);white-space:nowrap;}
.store-grid{display:flex;flex-direction:column;gap:2px;padding:8px 12px 16px;}
.store-group-header{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:12px 4px 4px;border-bottom:1px solid var(--border-subtle,#333);margin-bottom:2px;}
.store-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:var(--bg-secondary,#1a1a2e);border:1px solid transparent;transition:border-color .15s,background .15s;}
.store-card:hover{border-color:var(--border-subtle,#444);background:var(--bg-tertiary,#22223a);}
.store-card.selected{border-color:var(--mode-accent,#f59e0b);background:rgba(245,158,11,.06);}
.store-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.store-info{flex:1;min-width:0;}
.store-name{font-size:12px;font-weight:500;color:var(--text-primary);}
.store-desc{font-size:10px;color:var(--text-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.store-meta{font-size:9px;color:var(--text-muted);margin-top:2px;opacity:.7;}
.store-btn{font-size:10px;padding:3px 10px;border-radius:4px;cursor:pointer;font-family:inherit;border:1px solid;white-space:nowrap;transition:all .15s;}
.store-btn.add{color:var(--mode-accent,#f59e0b);border-color:var(--mode-accent,#f59e0b);background:transparent;}
.store-btn.add:hover{background:var(--mode-accent,#f59e0b);color:#000;}
.store-btn.remove{color:var(--text-muted);border-color:var(--border-subtle,#555);background:transparent;}
.store-btn.remove:hover{color:#ef4444;border-color:#ef4444;}
.store-empty{text-align:center;padding:30px 16px;color:var(--text-muted);font-size:12px;}
.store-add-btn{background:var(--accent);color:#fff;border:none;border-radius:5px;padding:5px 12px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;flex-shrink:0;}
.store-add-btn:hover{filter:brightness(1.1);}
.store-btn.delete{color:#ef4444;border-color:rgba(239,68,68,.4);margin-left:4px;}
.store-btn.delete:hover{background:#ef4444;color:#fff;border-color:#ef4444;}
/* BUG-042: prominent green Edit button */
.store-btn.store-edit-btn{color:#10b981;border-color:rgba(16,185,129,.5);background:rgba(16,185,129,.08);font-weight:600;font-size:11px;padding:4px 12px;margin-right:4px;}
.store-btn.store-edit-btn:hover{background:rgba(16,185,129,.22);color:#34d399;border-color:#10b981;}
.layer-manager-shell{height:100%;display:grid;grid-template-columns:300px minmax(0,1fr);background:var(--bg-primary);overflow:hidden;}
.layer-manager-side{border-right:1px solid rgba(148,163,184,.24);background:linear-gradient(180deg,rgba(6,182,212,.06),rgba(248,250,252,.02));padding:14px;overflow:auto;}
.lm-title-block h3{margin:2px 0 4px;font-size:18px;line-height:1.12;color:var(--text-primary);letter-spacing:0;font-weight:900;}
.lm-title-block p{margin:0;color:var(--text-muted);font-size:11px;line-height:1.45;}
.lm-eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:#0891b2;font-weight:900;}
.lm-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 0;}
.lm-summary-card{border:1px solid rgba(148,163,184,.22);background:rgba(255,255,255,.035);border-radius:6px;padding:8px;}
.lm-summary-card b{display:block;font-size:18px;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1;}
.lm-summary-card span{display:block;margin-top:4px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:800;}
.lm-section-head{margin:14px 0 7px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-secondary);font-weight:900;}
.lm-active-list{display:flex;flex-direction:column;gap:6px;}
.lm-active-row{display:grid;grid-template-columns:auto 10px minmax(0,1fr) 54px auto auto auto auto;align-items:center;gap:6px;border:1px solid rgba(148,163,184,.22);background:rgba(255,255,255,.035);border-radius:6px;padding:6px;}
.lm-active-row.enabled{border-color:rgba(6,182,212,.45);background:rgba(6,182,212,.07);}
.lm-active-row input[type="checkbox"]{width:14px;height:14px;accent-color:var(--accent);}
.lm-active-dot{width:10px;height:10px;border-radius:50%;}
.lm-active-info{min-width:0;}
.lm-active-info b{display:block;font-size:11px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lm-active-info span{display:block;font-size:9px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lm-active-row button,.lm-preset,.lm-cat{height:24px;border:1px solid rgba(148,163,184,.26);background:var(--surface-control,rgba(255,255,255,.04));color:var(--text-secondary);border-radius:4px;font-size:9px;font-family:inherit;font-weight:800;cursor:pointer;}
.lm-active-row button:hover,.lm-preset:hover,.lm-cat:hover{border-color:rgba(6,182,212,.45);color:#0891b2;background:rgba(6,182,212,.08);}
.lm-opacity{width:54px;accent-color:var(--accent);height:4px;}
.lm-empty{border:1px dashed rgba(148,163,184,.28);border-radius:6px;padding:14px;text-align:center;color:var(--text-muted);font-size:11px;background:rgba(148,163,184,.05);}
.lm-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.layer-manager-main{display:flex;flex-direction:column;min-width:0;overflow:hidden;}
.layer-manager-toolbar{position:static;flex-shrink:0;padding:10px 12px;background:var(--bg-primary);}
.lm-category-strip{display:flex;gap:5px;overflow-x:auto;padding:8px 12px;border-bottom:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.03);flex-shrink:0;}
.lm-cat{white-space:nowrap;padding:0 9px;display:flex;align-items:center;gap:6px;}
.lm-cat span{font-size:9px;color:var(--text-muted);font-weight:800;}
.lm-cat.active{border-color:rgba(6,182,212,.52);background:rgba(6,182,212,.12);color:#0891b2;}
.lm-store-frame{min-height:0;overflow:auto;}
.layer-manager-shell .store-grid{padding:10px 12px 18px;gap:5px;}
.layer-manager-shell .store-card{border-color:rgba(148,163,184,.16);background:rgba(255,255,255,.035);border-radius:6px;}
.layer-manager-shell .store-card.selected{border-color:rgba(6,182,212,.46);background:rgba(6,182,212,.07);}
.layer-manager-shell .store-group-header{position:sticky;top:0;z-index:1;background:var(--bg-primary);border-color:rgba(148,163,184,.18);color:var(--text-primary);}
/* CUSTOM LAYER MODAL */
.cl-overlay{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;}
.cl-modal{background:var(--bg-secondary);border:var(--pane-border);border-radius:10px;padding:22px 24px;width:480px;max-width:92vw;max-height:88vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.6);}
.cl-row{display:flex;gap:10px;margin-bottom:10px;}
.cl-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;}
.cl-field label{font-size:11px;color:var(--text-secondary);font-weight:500;}
.cl-field input,.cl-field select{background:var(--bg-tertiary);border:1px solid var(--border-subtle,#444);border-radius:5px;padding:6px 9px;color:var(--text-primary);font-size:12px;font-family:inherit;outline:none;width:100%;}
.cl-field input:focus,.cl-field select:focus{border-color:var(--accent);}
.cl-field input[type="color"]{padding:2px 4px;height:32px;cursor:pointer;}
.cl-hint{font-size:10px;color:var(--text-muted);margin-top:2px;line-height:1.4;}
.cl-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-subtle,#333);}
.cl-btn-cancel{background:transparent;border:1px solid var(--border-subtle,#555);color:var(--text-secondary);padding:6px 16px;border-radius:5px;cursor:pointer;font-size:12px;font-family:inherit;}
.cl-btn-cancel:hover{color:var(--text-primary);border-color:var(--text-secondary);}
.cl-btn-add{background:var(--accent);border:none;color:#fff;padding:6px 18px;border-radius:5px;cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;}
.cl-btn-add:hover{filter:brightness(1.1);}

/* LIBRARY FILES (v26) */
.files-toolbar{display:flex;align-items:center;gap:6px;padding:8px 14px;position:sticky;top:0;background:var(--bg-primary);z-index:2;border-bottom:1px solid var(--border-subtle,#333);flex-wrap:wrap;}
.files-add-btn{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-subtle,#444);border-radius:4px;padding:4px 10px;font-size:11px;cursor:pointer;font-family:inherit;white-space:nowrap;}
.files-add-btn:hover{border-color:var(--mode-accent,#f59e0b);color:var(--mode-accent,#f59e0b);}
.files-geo-btn{border-color:rgba(6,182,212,.34);color:#06b6d4;background:rgba(6,182,212,.08);}
.files-geo-btn:hover{border-color:#06b6d4;color:#22d3ee;background:rgba(6,182,212,.14);}
/* Full-width Add Files button — prominent, always visible above the grid */
.files-add-wide{display:block;width:100%;box-sizing:border-box;padding:0 14px 10px;}
.files-add-wide-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 0;background:rgba(245,158,11,0.1);border:1.5px dashed rgba(245,158,11,0.5);border-radius:7px;color:#f59e0b;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .18s;letter-spacing:.01em;}
.files-add-wide-btn:hover{background:rgba(245,158,11,0.18);border-color:#f59e0b;color:#fbbf24;}
.files-search{flex:1;min-width:120px;background:var(--bg-tertiary);border:1px solid var(--border-subtle,#444);border-radius:6px;padding:5px 10px;color:var(--text-primary);font-size:11px;font-family:inherit;outline:none;}
.files-search:focus{border-color:var(--mode-accent,#f59e0b);}
.files-filter-select{background:var(--bg-tertiary);border:1px solid var(--border-subtle,#444);border-radius:4px;padding:4px 6px;color:var(--text-primary);font-size:10px;font-family:inherit;cursor:pointer;}
.files-count{font-size:10px;color:var(--text-muted);white-space:nowrap;display:inline-flex;align-items:center;gap:5px;}
.files-count-more{border:1px solid rgba(6,182,212,.35);background:rgba(6,182,212,.08);color:#06b6d4;border-radius:4px;padding:2px 6px;font:inherit;font-weight:700;cursor:pointer;line-height:1.15;}
.files-count-more:hover{background:rgba(6,182,212,.16);border-color:#06b6d4;color:#22d3ee;}
/* Type quick-filter pills */
.lib-type-pills{display:flex;gap:3px;}
.lib-type-pill{padding:3px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s;}
.lib-type-pill:hover{border-color:rgba(255,255,255,.25);color:var(--text-primary);}
.lib-type-pill.active{background:rgba(6,182,212,.12);border-color:rgba(6,182,212,.45);color:#06b6d4;font-weight:600;}
/* Location search */
.lib-loc-wrap{position:relative;display:flex;align-items:center;}
.lib-loc-input{min-width:140px;background:var(--bg-tertiary);border:1px solid var(--border-subtle,#444);border-radius:6px;padding:5px 28px 5px 10px;color:var(--text-primary);font-size:11px;font-family:inherit;outline:none;}
.lib-loc-input:focus{border-color:#06b6d4;}
.lib-loc-clear{position:absolute;right:7px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0;line-height:1;display:none;}
.lib-loc-clear.visible{display:block;}
.lib-loc-dd{position:absolute;top:calc(100% + 4px);left:0;width:280px;background:#141a2a;border:1px solid rgba(255,255,255,.13);border-radius:7px;z-index:300;max-height:240px;overflow-y:auto;box-shadow:0 8px 24px rgba(0,0,0,.5);display:none;}
.lib-loc-dd.open{display:block;}
.lib-loc-item{padding:8px 12px;font-size:11px;cursor:pointer;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.04);display:flex;justify-content:space-between;align-items:center;}
.lib-loc-item:last-child{border-bottom:none;}
.lib-loc-item:hover{background:rgba(6,182,212,.1);color:#e2e8f0;}
.lib-loc-dist{font-size:10px;opacity:.45;margin-left:8px;white-space:nowrap;}
.lib-loc-src{font-size:9px;opacity:.35;margin-left:4px;}
/* Proximity banner */
.lib-prox-banner{padding:5px 14px;font-size:10px;color:#06b6d4;background:rgba(6,182,212,.07);border-bottom:1px solid rgba(6,182,212,.15);display:none;align-items:center;gap:8px;}
[data-theme="light"] .lib-loc-dd{background:#fff;border-color:#d0d5dd;}
[data-theme="light"] .lib-type-pill{color:#5a6278;border-color:#d0d5dd;}
[data-theme="light"] .lib-type-pill.active{background:rgba(6,182,212,.08);border-color:#06b6d4;color:#0891b2;}
.files-delete-all{background:transparent;border:1px solid #ef4444;color:#ef4444;border-radius:4px;padding:4px 10px;font-size:10px;cursor:pointer;font-family:inherit;white-space:nowrap;}
.files-delete-all:hover{background:#ef4444;color:#fff;}
.files-delete-all.armed{background:#dc2626;border-color:#991b1b;color:#fff;box-shadow:0 0 0 2px rgba(239,68,68,.18);}
.files-selection-bar{display:flex;align-items:center;gap:6px;padding:6px 16px;background:rgba(245,158,11,.08);border-bottom:1px solid var(--mode-accent,#f59e0b);flex-wrap:wrap;}
.files-sel-btn{background:var(--bg-tertiary);border:1px solid var(--border-subtle,#555);color:var(--text-primary);border-radius:4px;padding:4px 10px;font-size:10px;cursor:pointer;font-family:inherit;transition:all .15s;}
.files-sel-btn:hover{border-color:var(--mode-accent,#f59e0b);color:var(--mode-accent,#f59e0b);}
.files-sel-clear{color:var(--text-muted);border-color:var(--text-muted);}
.files-sel-clear:hover{color:#ef4444;border-color:#ef4444;}
#files-sel-count{font-size:11px;font-weight:600;color:var(--mode-accent,#f59e0b);margin-right:4px;}
.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;padding:12px 14px;}
.files-grid.list-view{grid-template-columns:1fr;gap:2px;padding:4px 0;}
.files-grid.list-view .file-card{flex-direction:row;border-radius:0;border-left:none;border-right:none;border-top:none;}
.files-grid.list-view .fc-preview{width:72px;height:50px;flex-shrink:0;border-radius:0;}
.files-grid.list-view .fc-body{padding:6px 10px;flex-direction:row;align-items:center;gap:8px;}
.files-grid.list-view .fc-name-row{flex:1;margin-bottom:0;align-items:center;}
.files-grid.list-view .fc-lower{display:none;}
.files-grid.list-view .fc-check{top:50%;transform:translateY(-50%);}
.lib-view-toggle{display:flex;gap:1px;background:var(--bg-tertiary);border-radius:4px;padding:2px;border:1px solid var(--border-subtle,#444);}
.lib-vt-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px 5px;border-radius:3px;display:flex;align-items:center;justify-content:center;}
.lib-vt-btn.active{background:var(--accent);color:#fff;}
.lib-vt-btn:not(.active):hover{color:var(--text-secondary);}
/* Library folder pills row */
.lib-folders-row{display:flex;align-items:center;gap:5px;padding:6px 14px;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.05);background:var(--bg-secondary);}
.lib-watched-row{display:flex;flex-direction:column;gap:0;border-bottom:1px solid rgba(255,255,255,.05);background:var(--bg-secondary);}
.lib-watched-header{display:flex;align-items:center;gap:6px;padding:5px 14px;font-size:10px;color:var(--text-muted);cursor:pointer;user-select:none;}
.lib-watched-header:hover{color:var(--text-secondary);}
.lib-watched-item{display:flex;align-items:center;gap:8px;padding:4px 14px 4px 20px;font-size:10px;color:var(--text-secondary);border-top:1px solid rgba(255,255,255,.04);}
.lib-watched-path{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);}
.lib-watched-meta{white-space:nowrap;color:var(--text-muted);}
.lib-watched-rescan{padding:1px 6px;font-size:9px;background:transparent;border:1px solid var(--border-subtle,#333);color:var(--text-muted);border-radius:3px;cursor:pointer;}
.lib-watched-rescan:hover{border-color:var(--accent);color:var(--accent);}
.lib-watched-remove{padding:1px 4px;font-size:10px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;opacity:.6;}
.lib-watched-remove:hover{opacity:1;color:#ef4444;}
.lib-scan-banner{position:sticky;top:0;z-index:30;padding:8px 10px;font-size:10px;color:var(--accent);background:rgba(236,254,255,.98);border-bottom:1px solid rgba(6,182,212,.24);display:none;max-height:clamp(210px,32vh,280px);overflow-y:auto;overflow-x:hidden;box-shadow:0 8px 22px rgba(15,23,42,.12);scrollbar-gutter:stable;}
.lib-scan-banner .scan-lane{display:grid;gap:4px;padding:5px 0;}
.lib-scan-banner .scan-lane+.scan-lane{border-top:1px solid rgba(148,163,184,.12);}
.lib-scan-banner .scan-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;font-weight:800;color:var(--text-secondary);line-height:1.15;}
.lib-scan-banner .scan-title span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lib-scan-banner .scan-title span:last-child{font-size:10px;color:var(--text-muted);font-weight:800;white-space:nowrap;}
.lib-scan-banner .scan-bar{height:7px;border-radius:999px;background:rgba(148,163,184,.22);overflow:hidden;}
.lib-scan-banner .scan-bar span{display:block;height:100%;background:linear-gradient(90deg,#06b6d4,#10b981);transition:width .18s ease;}
.lib-scan-banner .scan-lane.geometry .scan-bar span{background:linear-gradient(90deg,#0f172a,#06b6d4);}
.lib-scan-banner .scan-lane.thumb .scan-bar span{background:linear-gradient(90deg,#f59e0b,#10b981);}
.lib-scan-banner .scan-lane.hardload .scan-bar span{background:linear-gradient(90deg,#8b5cf6,#06b6d4);}
.lib-scan-banner .scan-lane.complete .scan-title span:last-child{color:#10b981;}
.lib-scan-banner .scan-detail{font-size:9.5px;color:var(--text-muted);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lib-map-filter-banner{padding:5px 14px;font-size:10px;color:#d4a906;background:rgba(212,169,6,.08);border-bottom:1px solid rgba(212,169,6,.2);display:none;align-items:center;gap:8px;}
.lib-map-filter-clear{background:transparent;border:1px solid rgba(212,169,6,.4);color:#d4a906;border-radius:3px;padding:1px 6px;font-size:9px;cursor:pointer;}
.lib-map-filter-clear:hover{background:rgba(212,169,6,.15);}
/* Library map context menu */
.lib-map-ctx-menu{position:fixed;z-index:9999;background:#141a2a;border:1px solid rgba(255,255,255,.13);border-radius:6px;padding:4px 0;min-width:180px;box-shadow:0 6px 24px rgba(0,0,0,.5);display:none;}
.lib-map-ctx-menu.visible{display:block;}
.lib-ctx-item{padding:7px 14px;font-size:11px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap;}
.lib-ctx-item:hover{background:rgba(6,182,212,.1);color:#e2e8f0;}
.lib-ctx-item svg{flex-shrink:0;opacity:.7;}
.lib-folder-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap;}
.lib-folder-pill:hover{border-color:rgba(255,255,255,.25);color:var(--text-primary);}
.lib-folder-pill.active{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.45);color:#f59e0b;font-weight:600;}
.lib-folder-pill .lf-count{opacity:.5;font-size:10px;margin-left:2px;}
.lib-folder-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.lib-add-folder{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;border:1px dashed rgba(255,255,255,.18);background:none;color:var(--text-muted);font-size:11px;cursor:pointer;font-family:inherit;transition:all .15s;}
.lib-add-folder:hover{border-color:rgba(255,255,255,.35);color:var(--text-secondary);}
.lib-create-folder-btn{background:rgba(245,158,11,.1)!important;border:1px solid rgba(245,158,11,.5)!important;color:#f59e0b!important;border-radius:20px;padding:4px 12px;font-size:11px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;transition:all .15s;}
.lib-create-folder-btn:hover{background:rgba(245,158,11,.2)!important;border-color:#f59e0b!important;}
.lib-smart-pill.active{background:rgba(6,182,212,.12)!important;border-color:rgba(6,182,212,.45)!important;color:#06b6d4!important;}
.file-card.dragging{opacity:.35;transform:scale(.97);}
.lib-folder-pill.drag-over{background:rgba(245,158,11,.25)!important;border-color:#f59e0b!important;outline:2px dashed rgba(245,158,11,.6);}
.lib-pill-sep{width:1px;height:16px;background:rgba(255,255,255,.1);margin:0 3px;align-self:center;flex-shrink:0;}
/* Photo lightbox */
#photo-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.93);display:none;align-items:stretch;}
#photo-lightbox.visible{display:flex;}
.plb-img-wrap{flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-width:0;overflow:hidden;}
.plb-img{max-width:100%;max-height:100vh;object-fit:contain;user-select:none;display:block;}
.plb-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.12);border:none;color:#e2e8f0;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;}
.plb-close:hover{background:rgba(255,255,255,.22);}
.plb-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);border:none;color:#e2e8f0;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;}
.plb-nav:hover{background:rgba(255,255,255,.2);}
.plb-prev{left:14px;}.plb-next{right:14px;}
.plb-meta{width:270px;flex-shrink:0;height:100%;overflow-y:auto;background:#111827;border-left:1px solid rgba(255,255,255,.08);padding:20px 16px;display:flex;flex-direction:column;gap:14px;}
.plb-meta-name{font-size:13px;font-weight:600;color:#e2e8f0;word-break:break-all;line-height:1.4;}
.plb-meta-row{display:flex;flex-direction:column;gap:3px;}
.plb-meta-label{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);}
.plb-meta-val{font-size:11px;color:var(--text-secondary);}
.plb-counter{font-size:10px;color:var(--text-muted);}
.plb-actions{display:flex;flex-direction:column;gap:7px;margin-top:4px;}
.plb-btn{padding:7px 12px;border-radius:5px;border:1px solid rgba(6,182,212,.35);background:transparent;color:#06b6d4;font-size:11px;cursor:pointer;font-family:inherit;text-align:left;transition:background .15s;}
.plb-btn:hover{background:rgba(6,182,212,.1);}
/* Library 2/3 + 1/3 split layout */
.lib-files-split{display:flex;flex:1;overflow:hidden;min-height:0;}
.lib-files-left{flex:2;overflow-y:auto;min-width:0;display:flex;flex-direction:column;position:relative;}
.lib-files-right{flex:1;min-width:200px;max-width:55%;border-left:none;position:relative;transition:opacity .35s ease;}
.lib-files-divider{width:5px;flex-shrink:0;cursor:col-resize;position:relative;z-index:10;background:transparent;transition:background .15s;display:flex;align-items:center;justify-content:center;}
.lib-files-divider::after{content:'';width:2px;height:36px;background:var(--border-subtle,#333);border-radius:2px;transition:background .15s,height .15s;}
.lib-files-divider:hover::after,.lib-files-divider.active::after{background:var(--accent);height:56px;}
.lib-files-split.lib-map-hidden .lib-files-divider{display:none;}
.lib-map-toggle-btn{position:absolute;left:-16px;top:50%;transform:translateY(-50%);z-index:20;width:16px;height:52px;background:var(--bg-card,#141a2a);border:1px solid var(--border-subtle,#333);border-radius:5px 0 0 5px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--text-secondary,#8b93a6);user-select:none;padding:0;transition:background .2s,color .2s;}
.lib-map-toggle-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.lib-files-split.lib-map-hidden .lib-files-right{width:0!important;min-width:0!important;max-width:0!important;overflow:hidden!important;border-left:none!important;opacity:0;}
.lib-files-split.lib-map-hidden .lib-files-left{flex:1;}
#lib-map{width:100%;height:100%;}
.lib-map-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:400;}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(6,182,212,.18)!important;}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:rgba(6,182,212,.7)!important;color:#fff!important;font-size:11px!important;font-weight:600!important;}
.marker-cluster-small:hover div,.marker-cluster-medium:hover div,.marker-cluster-large:hover div{background:#06b6d4!important;}
.lib-map-empty span{font-size:32px;opacity:.4;margin-bottom:6px;}
.lib-map-empty div{font-size:11px;color:var(--text-muted);}
/* Card size slider */
.lib-card-slider{width:56px;height:16px;accent-color:var(--mode-accent,#f59e0b);cursor:pointer;vertical-align:middle;}
.lib-card-labels{font-size:9px;color:var(--text-muted);display:flex;gap:2px;align-items:center;}
/* Geographic cluster button */
.lib-cluster-btn{background:transparent;border:1px solid var(--border-subtle,#555);color:var(--text-secondary);border-radius:4px;padding:4px 8px;font-size:10px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s;}
.lib-cluster-btn:hover{border-color:var(--mode-accent,#f59e0b);color:var(--mode-accent,#f59e0b);}
.lib-cluster-btn.active{background:rgba(245,158,11,.1);border-color:var(--mode-accent,#f59e0b);color:var(--mode-accent,#f59e0b);}
/* Save to memory button */
.lib-save-btn{background:transparent;border:1px solid var(--border-subtle,#555);color:var(--text-secondary);border-radius:4px;padding:4px 8px;font-size:10px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s;}
.lib-save-btn:hover{border-color:#10b981;color:#10b981;}
.lib-save-btn.has-saved{border-color:#10b981;color:#10b981;}
/* Inspection pair suggest */
.insp-pair-panel{display:none;padding:8px;border-top:1px solid var(--border-subtle,#333);background:var(--bg-secondary);}
.insp-pair-panel.open{display:block;}
.insp-pair-title{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;}
.insp-pair-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;cursor:pointer;font-size:11px;color:var(--text-primary);transition:background .15s;}
.insp-pair-row:hover{background:rgba(255,255,255,.05);}
.insp-pair-dist{font-size:9px;color:var(--text-muted);margin-left:auto;}
.insp-saved-pairs{margin-top:8px;border-top:1px solid rgba(255,255,255,.04);padding-top:6px;}
.insp-saved-pair{display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:4px;cursor:pointer;font-size:11px;color:var(--text-secondary);transition:all .15s;}
.insp-saved-pair:hover{background:rgba(139,92,246,.08);color:var(--text-primary);}
.insp-saved-pair .isp-name{flex:1;}
.insp-saved-pair .isp-del{opacity:.3;cursor:pointer;font-size:10px;}
.insp-saved-pair .isp-del:hover{opacity:1;color:#ef4444;}
.insp-suggest-btn{width:100%;padding:5px;background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.3);border-radius:4px;color:#8b5cf6;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;margin-bottom:4px;}
.insp-suggest-btn:hover{background:rgba(139,92,246,.15);border-color:rgba(139,92,246,.5);}
.insp-save-pair-btn{width:100%;padding:4px;background:transparent;border:1px dashed rgba(139,92,246,.25);border-radius:4px;color:var(--text-muted);font-size:10px;cursor:pointer;font-family:inherit;transition:all .15s;margin-top:4px;}
.insp-save-pair-btn:hover{border-color:rgba(139,92,246,.45);color:#8b5cf6;}
/* Library file context menu */
.lib-ctx-menu{position:fixed;z-index:9999;background:var(--bg-secondary,#1a1a2e);border:1px solid var(--border,#333);border-radius:6px;padding:4px;min-width:160px;box-shadow:0 8px 24px rgba(0,0,0,.55);display:none;}
.lib-ctx-header{padding:4px 10px 2px;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;}
.lib-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text-primary);font-size:12px;cursor:pointer;border-radius:4px;text-align:left;font-family:inherit;white-space:nowrap;}
.lib-ctx-item:hover{background:rgba(255,255,255,.06);}
.lib-ctx-item.lib-ctx-check::before{content:'✓';margin-right:-2px;color:var(--mode-accent,#f59e0b);font-size:10px;}
.lib-ctx-sep{height:1px;background:rgba(255,255,255,.06);margin:3px 0;}
.lib-ctx-delete{color:#ef4444!important;}
/* Folder bar button in toolbar */
.files-folder-btn{padding:4px 9px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.3);border-radius:4px;color:#f59e0b;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;}
.files-folder-btn:hover{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.5);color:#fbbf24;}
/* Region group headers in files grid */
.files-region-header{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:10px 4px 4px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border-top:1px solid rgba(255,255,255,.04);margin-top:4px;}
.files-region-header:first-child{border-top:none;margin-top:0;}
.frh-dot{width:7px;height:7px;border-radius:50%;background:var(--mode-accent,#f59e0b);opacity:.6;flex-shrink:0;}
.frh-count{font-size:9px;opacity:.4;font-weight:400;}
.files-empty{text-align:center;padding:60px 16px;}
.file-card{background:var(--bg-tertiary);border:1px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .15s;position:relative;display:flex;flex-direction:column;height:170px;}
.file-card:hover{border-color:var(--border-subtle,#444);}
.file-card.selected{border-color:var(--mode-accent,#f59e0b);}
.file-card.indexed-media{filter:saturate(.72);opacity:.82;}
.file-card.loaded-media{border-color:rgba(6,182,212,.28);}
.file-card.missing-media{border-color:rgba(239,68,68,.55);}
.file-card .fc-check{position:absolute;top:8px;left:8px;z-index:4;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.5);background:rgba(0,0,0,.5);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;color:transparent;transition:all .15s;}
.file-card.selected .fc-check{background:var(--mode-accent,#f59e0b);border-color:var(--mode-accent,#f59e0b);color:#000;}
/* Thumbnail fills entire card (#54) */
.fc-preview{position:absolute;inset:0;width:100%;height:100%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:1;}
.fc-preview img{width:100%;height:100%;object-fit:cover;}
.fc-icon-lg{font-size:40px;opacity:.35;}
/* Info overlay at bottom — solid background for legibility (#56) */
.fc-body{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:5px 8px 6px;background:rgba(8,12,22,.82);display:flex;flex-direction:column;gap:2px;}
.fc-name-row{display:flex;align-items:center;gap:5px;margin-bottom:0;}
.file-card .fc-name{font-size:10px;font-weight:600;color:#e8eaf0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
.fc-lower{display:flex;align-items:center;justify-content:space-between;gap:4px;}
.fc-info{flex:1;min-width:0;}
.fc-region{font-size:9px;color:rgba(180,190,210,.75);font-weight:500;}
.fc-meta{font-size:9px;color:rgba(140,155,180,.7);display:flex;gap:4px;flex-wrap:wrap;}
.fc-meta span{white-space:nowrap;}
/* NZ map more prominent (#55) */
.fc-nzmap{flex-shrink:0;opacity:.9;}
.file-card .fc-tag{display:inline-block;font-size:8px;padding:1px 5px;border-radius:3px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;}
.fc-tag.video{background:rgba(6,182,212,.15);color:#06b6d4;}
.fc-tag.track{background:rgba(16,185,129,.15);color:#10b981;}
.fc-tag.image{background:rgba(139,92,246,.15);color:#8b5cf6;}
.fc-tag.ortho{background:rgba(20,184,166,.15);color:#14b8a6;}
.files-drop-overlay{position:absolute;inset:0;background:rgba(245,158,11,.06);border:2px dashed var(--mode-accent,#f59e0b);display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none;}
.files-drop-msg{font-size:16px;font-weight:600;color:var(--mode-accent,#f59e0b);background:rgba(10,14,23,.85);padding:12px 24px;border-radius:8px;}
#libtab-files{position:relative;}

/* INFRASTRUCTURE LAYERS (v21) */
.infra-key-section{padding:4px 8px;}
.infra-key-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);cursor:pointer;padding:4px 0;}
.infra-key-toggle:hover{color:var(--text-primary);}
#key-status{font-size:10px;padding:1px 6px;border-radius:3px;background:var(--bg-tertiary);}
#key-status.set{color:var(--accent-green);background:rgba(16,185,129,.12);}
#key-inputs{padding:6px 0;display:flex;flex-direction:column;gap:6px;}
#key-inputs label{display:flex;flex-direction:column;gap:2px;font-size:10px;color:var(--text-muted);}
#key-inputs input{background:var(--bg-tertiary);border:var(--pane-border);border-radius:4px;padding:4px 6px;color:var(--text-primary);font-size:11px;font-family:inherit;}
#key-inputs button{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:4px 10px;font-size:11px;cursor:pointer;align-self:flex-start;}
#key-inputs button:hover{filter:brightness(1.15);}
.key-help{font-size:10px;color:var(--text-muted);margin-top:2px;}
.infra-group{padding:2px 0;}
.infra-layer-toggle{display:flex;align-items:center;gap:6px;padding:3px 8px;cursor:pointer;font-size:12px;}
.infra-layer-toggle:hover{background:var(--bg-tertiary);border-radius:4px;}
.infra-layer-toggle input[type="checkbox"]{accent-color:var(--accent);width:13px;height:13px;cursor:pointer;}
.infra-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.infra-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.infra-count{font-size:10px;color:var(--text-muted);margin-left:auto;}
.infra-opacity{width:44px;height:3px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;opacity:.6;transition:opacity .15s;}
.infra-opacity:hover{opacity:1;}
.infra-loading{animation:infra-spin 1s linear infinite;font-size:10px;margin-left:2px;}
.infra-error{color:var(--accent-hot);font-size:10px;cursor:help;}
@keyframes infra-spin{to{transform:rotate(360deg);}}
.infra-search{padding:6px 8px;position:relative;}
.infra-search input{width:100%;background:var(--bg-tertiary);border:var(--pane-border);border-radius:6px;padding:5px 8px;color:var(--text-primary);font-size:11px;font-family:inherit;}
.infra-search input::placeholder{color:var(--text-muted);}
.infra-popup{font-size:12px;max-width:280px;line-height:1.4;}
.infra-popup strong{color:var(--accent);display:block;margin-bottom:2px;}
.infra-popup .popup-id{font-weight:700;color:var(--text-primary);font-size:13px;}
.infra-popup .popup-field{color:var(--text-secondary);font-size:11px;display:block;}
.popup-copy-btn{margin-top:4px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);font-size:10px;padding:2px 8px;border-radius:4px;cursor:pointer;font-family:inherit;}
.popup-copy-btn:hover{color:var(--accent);border-color:var(--accent);}
.infra-warn{padding:6px 8px;font-size:10px;color:var(--accent-amber);background:rgba(245,158,11,.08);border-radius:4px;margin:4px 8px;display:none;}

/* SEARCH RESULTS (v25) */
.search-results{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;max-height:280px;overflow-y:auto;z-index:100;box-shadow:0 4px 16px rgba(0,0,0,.4);display:none;}
.search-results.active{display:block;}
.search-result{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;font-size:11px;border-bottom:1px solid var(--border);transition:background .1s;}
.search-result:last-child{border-bottom:none;}
.search-result:hover{background:var(--accent-glow);}
.search-result .sr-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.search-result .sr-id{color:var(--text-primary);font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.search-result .sr-source{color:var(--text-muted);font-size:10px;white-space:nowrap;}
.search-no-results{padding:10px;text-align:center;font-size:11px;color:var(--text-muted);}
.search-loading{padding:10px;text-align:center;font-size:11px;color:var(--text-muted);}
[data-theme="light"] .search-results{background:var(--bg-primary);box-shadow:0 -4px 16px rgba(0,0,0,.12);}

/* GROUP COLLAPSE + ENABLE ALL (v25) */
.infra-group-header{display:flex;align-items:center;padding:6px 8px 2px;cursor:pointer;user-select:none;}
.infra-group-header:hover{background:var(--bg-tertiary);border-radius:4px;}
.infra-group-arrow{font-size:8px;color:var(--text-muted);margin-right:4px;transition:transform .15s;width:10px;}
.infra-group-header.collapsed .infra-group-arrow{transform:rotate(-90deg);}
.infra-group-label{font-size:9px;text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;font-weight:600;flex:1;}
.infra-group-actions{display:flex;gap:2px;margin-left:auto;}
.infra-group-btn{background:none;border:none;color:var(--text-muted);font-size:9px;cursor:pointer;padding:1px 4px;border-radius:3px;font-family:inherit;}
.infra-group-btn:hover{color:var(--accent);background:var(--accent-glow);}
.infra-group-layers{overflow:hidden;transition:max-height .2s ease;}
.infra-group-layers.collapsed{max-height:0!important;}

/* PULSE HIGHLIGHT RING (v25) */
@keyframes pulse-ring{0%{transform:scale(1);opacity:1;}100%{transform:scale(3);opacity:0;}}
.pulse-marker{border-radius:50%;animation:pulse-ring 1.5s ease-out infinite;}

/* HOVER HIGHLIGHT (v25) */
.layer-hover-ring{border:2px solid #fff;border-radius:50%;background:rgba(255,255,255,.15);pointer-events:none;box-shadow:0 0 6px rgba(255,255,255,.4);}

/* IMPORT OVERLAY CARD (v23 UX) */
/* Import card removed — replaced by vid-empty-hint + global drop overlay */
.import-card{display:none!important;}

/* LAYER CONTEXT MENU */
.layer-ctx-menu{position:fixed;z-index:9999;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:4px 0;min-width:160px;box-shadow:0 4px 16px rgba(0,0,0,.4);font-size:12px;}
.layer-ctx-menu div{padding:6px 14px;cursor:pointer;color:var(--text-primary);transition:background .1s;}
.layer-ctx-menu div:hover{background:var(--accent-glow);color:var(--accent);}

/* LAYER LABELS */
.layer-label{background:rgba(10,14,23,.7);color:#fff;font-size:10px;padding:1px 4px;border-radius:3px;white-space:nowrap;font-weight:600;border:1px solid rgba(255,255,255,.15);pointer-events:none;}
[data-theme="light"] .layer-label{background:rgba(255,255,255,.85);color:#1a1f2e;border-color:rgba(0,0,0,.1);}

/* VIEWER */
#viewer{display:none;width:auto;height:calc(100vh - 48px);min-height:calc(100vh - 48px);max-height:calc(100vh - 48px);flex-direction:column;}
.viewer-wrap{display:flex;width:100%;height:100%;position:relative;flex:1;min-width:0;min-height:0;}
.main-area{flex:1;display:flex;position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--bg-primary);padding:0;gap:0;}
.pane{border-radius:var(--pane-radius);overflow:hidden;border:var(--pane-border);position:relative;min-width:0;min-height:0;}
.main-area>.pane{border:0;border-radius:0;}
.video-pane{background:#000;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex:0 0 68%;}
#video-player{width:100%;height:100%;object-fit:cover;background:#000;cursor:pointer;border-radius:0;transform-origin:0 0;}
#image-viewer{transform-origin:0 0;}
.pz-fill-btn{position:absolute;top:6px;right:6px;z-index:5;background:rgba(10,14,23,.75);border:1px solid var(--border);color:var(--text-secondary);padding:3px 8px;border-radius:4px;font-size:10px;cursor:pointer;font-family:inherit;opacity:0;transition:opacity .2s;backdrop-filter:blur(4px);}
.video-pane:hover .pz-fill-btn{opacity:1;}
.pz-fill-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
[data-theme="light"] .pz-fill-btn{background:rgba(255,255,255,.75);border-color:#d0d5dd;color:#5a6278;}
[data-theme="light"] .pz-fill-btn:hover{background:var(--accent);color:#fff;}
.media-focus-btn{position:absolute;top:6px;right:68px;z-index:15;background:rgba(10,14,23,.78);border:1px solid rgba(6,182,212,.42);color:#67e8f9;padding:3px 10px;border-radius:4px;font-size:10px;font-weight:800;cursor:pointer;font-family:inherit;opacity:0;transition:opacity .2s,background .15s,color .15s;backdrop-filter:blur(4px);}
.video-pane:hover .media-focus-btn,body.media-focus .media-focus-btn{opacity:1;}
.media-focus-btn:hover,.media-focus-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.telemetry-video-overlay{position:absolute;left:12px;top:12px;z-index:14;display:none;grid-template-columns:auto auto;gap:4px 10px;max-width:min(420px,calc(100% - 24px));padding:8px 10px;border:1px solid rgba(6,182,212,.35);border-radius:6px;background:rgba(10,14,23,.78);color:#e2e8f0;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.25;backdrop-filter:blur(6px);box-shadow:0 8px 22px rgba(0,0,0,.28);}
.telemetry-video-overlay.active{display:grid;}
.telemetry-video-overlay span{white-space:pre-line;overflow:hidden;text-overflow:ellipsis;}
.telemetry-video-overlay span:first-child{color:#67e8f9;}

/* Video controls */
.video-controls-bar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:4px;padding:5px 9px;background:linear-gradient(transparent,rgba(0,0,0,.85));z-index:10;border-radius:0 0 var(--pane-radius) var(--pane-radius);transition:opacity .3s ease;pointer-events:auto;}
/* Auto-hide controls on inactivity */
.video-pane.controls-hidden .video-controls-bar,
.video-pane.controls-hidden .video-scrub-bar,
.video-pane.controls-hidden .nav-prev,
.video-pane.controls-hidden .nav-next{opacity:0;pointer-events:none;}
/* Scrub bar */
.video-scrub-bar{position:absolute;bottom:36px;left:12px;right:12px;z-index:11;display:flex;align-items:center;gap:8px;transition:opacity .3s ease;}
.video-scrub-bar input[type=range]{flex:1;accent-color:var(--accent);height:6px;cursor:pointer;}
/* Nav buttons */
.nav-prev,.nav-next{position:absolute;top:50%;transform:translateY(-50%);z-index:12;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.15);color:#fff;width:38px;height:54px;border-radius:8px;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease,background .15s;pointer-events:auto;}
.nav-prev{left:10px;}.nav-next{right:10px;}
.nav-prev:hover,.nav-next:hover{background:rgba(6,182,212,.7);border-color:var(--accent);}
/* Compare auto-hide */
.cmp-pane.controls-hidden .cmp-controls,
.cmp-pane.controls-hidden .cmp-meta,
.cmp-pane.controls-hidden .nav-prev,
.cmp-pane.controls-hidden .nav-next{opacity:0;pointer-events:none;}
.cmp-controls,.cmp-meta{transition:opacity .3s ease;}
/* Inspection panel auto-hide */
.insp-video-panel.controls-hidden .nav-prev,
.insp-video-panel.controls-hidden .nav-next{opacity:0;pointer-events:none;}
.play-btn{width:22px;height:22px;background:rgba(15,23,42,.46);border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#fff;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:.95;}.play-btn:hover{opacity:1;background:rgba(8,145,178,.78);border-color:rgba(103,232,249,.42);}.play-btn svg{width:12px;height:12px;}
.video-time{font-size:12px;color:rgba(255,255,255,.65);font-variant-numeric:tabular-nums;min-width:70px;}
.speed-btn{height:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);color:#fff;padding:0 5px;border-radius:4px;cursor:pointer;font-size:10px;font-weight:800;font-family:inherit;}
.speed-btn.active{background:var(--accent);border-color:var(--accent);}
.video-jump-controls{display:flex;align-items:center;gap:2px;margin-right:2px;}
.jump-btn{height:20px;background:rgba(15,23,42,.62);border:1px solid rgba(255,255,255,.12);color:#e2e8f0;padding:0 5px;border-radius:4px;cursor:pointer;font-size:9px;font-weight:850;font-family:inherit;line-height:1;}
.jump-btn:hover{background:rgba(6,182,212,.22);border-color:rgba(6,182,212,.45);color:#fff;}
#btn-kml-overlay,#btn-measure{display:none!important;}
.tb-features-export{background:rgba(16,185,129,.14)!important;border-color:rgba(16,185,129,.42)!important;color:#047857!important;font-weight:700;}
.vc-spacer{flex:1;}
/* Hotkey badges */
.hk-btn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;padding:3px 8px;border-radius:4px;cursor:pointer;font-size:10px;font-family:inherit;display:flex;align-items:center;gap:4px;}
.hk-btn:hover{background:var(--accent);border-color:var(--accent);}
.hk-btn .hk-key{background:rgba(255,255,255,.15);padding:1px 5px;border-radius:2px;font-size:9px;font-weight:700;letter-spacing:.5px;}

/* Unified export buttons on video pane — matches compare view cmp-exit style */
.vid-export-btn{position:absolute;top:8px;right:8px;background:rgba(10,14,23,.85);border:1px solid var(--border);color:var(--text-secondary);padding:4px 10px;border-radius:4px;font-size:10px;cursor:pointer;z-index:13;font-family:inherit;transition:all .15s;}.vid-export-btn:hover{filter:brightness(1.15);}

/* Map pane label + scale bar (main app) */
.map-pane-label{position:absolute;top:8px;left:50%;transform:translateX(-50%);background:rgba(10,14,23,.8);color:var(--accent);font-size:10px;font-weight:700;padding:2px 12px;border-radius:4px;z-index:16;letter-spacing:1px;text-transform:uppercase;border:1px solid rgba(6,182,212,.3);pointer-events:none;opacity:1;transition:opacity .6s ease;animation:label-fade 3s ease forwards;}.map-pane:hover .map-pane-label{opacity:.7;animation:none;}
@keyframes label-fade{0%,60%{opacity:1}100%{opacity:0}}
/* Overview Map stats overlay */
.ov-stats{position:absolute;top:12px;right:12px;z-index:500;background:rgba(10,14,23,.88);backdrop-filter:blur(8px);border:1px solid rgba(59,130,246,.25);border-radius:8px;padding:12px 16px;min-width:180px;pointer-events:auto;}
.ov-stats-title{font-size:11px;font-weight:700;color:#3b82f6;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06);}
.ov-stats-body{display:flex;flex-direction:column;gap:5px;}
.ov-stat{display:flex;justify-content:space-between;align-items:center;font-size:11px;}
.ov-stat-label{color:var(--text-secondary);}
.ov-stat-val{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums;}
/* Overview layer switcher */
.ov-layer-ctrl{display:flex;gap:1px;background:rgba(10,14,23,.75);backdrop-filter:blur(6px);border-radius:6px;padding:3px;border:1px solid rgba(255,255,255,.1);margin-top:56px;}
.ov-lc-btn{padding:4px 10px;font-size:10px;font-weight:600;background:transparent;border:none;color:rgba(255,255,255,.6);cursor:pointer;border-radius:4px;font-family:inherit;transition:all .15s;white-space:nowrap;}
.ov-lc-btn:hover{color:rgba(255,255,255,.9);}
.ov-lc-btn.active{background:rgba(59,130,246,.3);color:#3b82f6;}
.overview-control-room{height:100%;width:100%;flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden;}
.overview-commandbar{height:58px;display:grid;grid-template-columns:210px minmax(180px,1fr) repeat(3,132px) auto auto auto;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid rgba(148,163,184,.24);background:linear-gradient(180deg,rgba(248,250,252,.96),rgba(241,245,249,.92));z-index:3;}
.ov-title-block h2{margin:0;font-size:17px;line-height:1.05;color:var(--text-primary);font-weight:950;letter-spacing:0;}
.ov-command-field input,.ov-select-wrap select{height:32px;width:100%;border:1px solid rgba(148,163,184,.36);background:rgba(255,255,255,.92);color:var(--text-primary);border-radius:5px;padding:0 9px;font-size:11px;font-family:inherit;outline:none;}
.ov-command-field input:focus,.ov-select-wrap select:focus{border-color:rgba(6,182,212,.66);box-shadow:0 0 0 2px rgba(6,182,212,.1);}
.ov-select-wrap{display:flex;flex-direction:column;gap:2px;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:900;}
.ov-command-btn{height:32px;border:1px solid rgba(148,163,184,.32);background:var(--surface-control,#fff);color:var(--text-secondary);border-radius:5px;padding:0 10px;font-size:10px;font-weight:900;font-family:inherit;white-space:nowrap;cursor:pointer;}
.ov-command-btn:hover{border-color:rgba(6,182,212,.5);background:rgba(6,182,212,.08);color:#0891b2;}
.ov-command-btn.active{border-color:rgba(8,145,178,.62);background:#0891b2;color:#fff;box-shadow:0 8px 18px rgba(8,145,178,.18);}
.overview-stage{min-height:0;flex:1;display:grid;grid-template-columns:278px minmax(0,1fr) 390px;gap:0;overflow:hidden;}
.ov-panel{min-height:0;overflow:auto;background:rgba(248,250,252,.94);border-color:rgba(148,163,184,.24);padding:10px;z-index:2;}
.ov-panel-left{border-right:1px solid rgba(148,163,184,.24);}
.ov-panel-right{border-left:1px solid rgba(148,163,184,.24);}
body.ov-layer-manager-collapsed .overview-stage{grid-template-columns:278px minmax(0,1fr) 0;}
body.ov-layer-manager-collapsed .ov-panel-right{display:none;}
.ov-panel-title{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-secondary);font-weight:950;margin:4px 0 7px;}
.ov-list{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.ov-row{width:100%;display:block;text-align:left;border:1px solid rgba(148,163,184,.22);background:rgba(255,255,255,.72);border-radius:5px;padding:7px 8px;color:var(--text-secondary);font-family:inherit;cursor:pointer;}
.ov-row:hover{border-color:rgba(6,182,212,.45);background:rgba(6,182,212,.07);}
.ov-row.active{border-color:rgba(6,182,212,.52);background:rgba(6,182,212,.1);color:#0f766e;}
.ov-row b{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ov-row span{display:block;margin-top:2px;font-size:9px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ov-row.layer b i{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.ov-list-empty{border:1px dashed rgba(148,163,184,.28);background:rgba(148,163,184,.06);color:var(--text-muted);border-radius:5px;padding:12px;text-align:center;font-size:11px;}
.ov-map-stage{position:relative;min-width:0;min-height:0;background:#0f172a;overflow:hidden;}
.ov-map-stage #overview-map-full{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;}
.ov-map-stage .ov-preview{z-index:520;}
#mode-overview.ov-terrain-mode .ov-map-stage{background:#06111f;}
#mode-overview.ov-terrain-mode .ov-map-stage #overview-map-full{filter:saturate(1.14) contrast(1.08) brightness(.9);}
#mode-overview.ov-terrain-mode .ov-map-stage::after{content:"";position:absolute;inset:0;z-index:405;pointer-events:none;background:linear-gradient(120deg,rgba(6,182,212,.12),transparent 34%,rgba(15,23,42,.22)),repeating-linear-gradient(28deg,rgba(103,232,249,.12) 0,rgba(103,232,249,.12) 1px,transparent 1px,transparent 54px),repeating-linear-gradient(118deg,rgba(255,255,255,.07) 0,rgba(255,255,255,.07) 1px,transparent 1px,transparent 86px);mix-blend-mode:screen;opacity:.72;}
.ov-terrain-status{position:absolute;left:14px;bottom:14px;z-index:430;display:grid;gap:2px;min-width:220px;max-width:310px;padding:9px 11px;border:1px solid rgba(103,232,249,.34);border-radius:6px;background:rgba(15,23,42,.84);box-shadow:0 12px 28px rgba(15,23,42,.28);color:#e2e8f0;pointer-events:none;}
.ov-terrain-status[hidden]{display:none!important;}
.ov-terrain-status b{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#67e8f9;}
.ov-terrain-status span{font-size:9px;font-weight:850;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ov-stats{position:static!important;min-width:0!important;background:rgba(255,255,255,.76)!important;border:1px solid rgba(148,163,184,.24)!important;box-shadow:none!important;backdrop-filter:none!important;margin:0 0 14px;padding:10px;}
.ov-stats-title{color:var(--text-primary)!important;border-bottom-color:rgba(148,163,184,.18)!important;}
.ov-layer-manager-panel{display:flex;flex-direction:column;gap:10px;padding:10px;background:rgba(248,250,252,.98);}
.ov-layer-dock{border:1px solid rgba(148,163,184,.24);background:rgba(255,255,255,.82);border-radius:7px;padding:10px;box-shadow:0 10px 28px rgba(15,23,42,.08);}
.ov-layer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px;}
.ov-layer-head .ov-panel-title{margin:0;}
.ov-layer-head p{margin:3px 0 0;color:var(--text-muted);font-size:10px;line-height:1.35;}
.ov-layer-mini-btn{height:26px;border:1px solid rgba(8,145,178,.24);background:rgba(6,182,212,.08);color:#0891b2;border-radius:5px;padding:0 8px;font-size:9px;font-weight:900;font-family:inherit;cursor:pointer;white-space:nowrap;}
.ov-layer-mini-btn:hover{background:#0891b2;color:#fff;}
.ov-layer-search{width:100%;height:30px;border:1px solid rgba(148,163,184,.34);border-radius:5px;background:#fff;color:var(--text-primary);font-family:inherit;font-size:11px;padding:0 9px;margin-bottom:8px;outline:none;}
.ov-layer-search:focus{border-color:rgba(6,182,212,.58);box-shadow:0 0 0 2px rgba(6,182,212,.1);}
.ov-layer-cats{display:flex;gap:5px;overflow-x:auto;padding-bottom:7px;margin-bottom:4px;}
.ov-layer-cat{height:26px;border:1px solid rgba(148,163,184,.28);background:rgba(248,250,252,.92);color:var(--text-secondary);border-radius:5px;padding:0 8px;font-size:9px;font-weight:900;font-family:inherit;cursor:pointer;white-space:nowrap;}
.ov-layer-cat.active{border-color:rgba(6,182,212,.55);background:rgba(6,182,212,.12);color:#0891b2;}
.ov-layer-active-list,.ov-layer-catalog{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.ov-layer-api-card{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(139,92,246,.24);background:rgba(139,92,246,.07);border-radius:6px;padding:8px;margin-bottom:2px;color:var(--text-secondary);}
.ov-layer-api-card.configured{border-color:rgba(16,185,129,.28);background:rgba(16,185,129,.07);}
.ov-layer-api-card b{display:block;font-size:11px;color:var(--text-primary);margin-bottom:2px;}
.ov-layer-api-card span{display:block;font-size:9px;color:var(--text-muted);line-height:1.35;}
.ov-layer-api-card button,.ov-layer-import-drop button{height:24px;border:1px solid rgba(8,145,178,.32);border-radius:4px;background:rgba(6,182,212,.08);color:#0891b2;font-family:inherit;font-size:9px;font-weight:900;cursor:pointer;white-space:nowrap;padding:0 8px;}
.ov-layer-api-card button:hover,.ov-layer-import-drop button:hover{background:#0891b2;color:#fff;border-color:#0891b2;}
.ov-layer-import-drop{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;border:1px dashed rgba(8,145,178,.38);background:rgba(6,182,212,.045);border-radius:6px;padding:8px;margin-bottom:2px;color:var(--text-secondary);}
.ov-layer-import-drop.drag{border-color:#10b981;background:rgba(16,185,129,.09);}
.ov-layer-import-drop b{font-size:11px;color:#0891b2;}
.ov-layer-import-drop span{font-size:9px;color:var(--text-muted);grid-column:1;line-height:1.35;}
.ov-layer-import-drop button{grid-column:2;grid-row:1/3;align-self:center;}
.ov-layer-stack-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 1px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);}
.ov-layer-stack-head b{font-size:9px;color:#0891b2;}
.ov-layer-row{display:grid;grid-template-columns:18px minmax(132px,1fr);align-items:start;gap:6px 7px;border:1px solid rgba(148,163,184,.22);background:rgba(255,255,255,.86);border-radius:6px;padding:7px;color:var(--text-secondary);}
.ov-layer-row.enabled{border-color:rgba(6,182,212,.42);box-shadow:inset 3px 0 0 rgba(6,182,212,.74);}
.ov-layer-row.locked{border-color:rgba(100,116,139,.38);background:rgba(241,245,249,.82);}
.ov-layer-row.locked .ov-layer-name{opacity:.72;}
.ov-layer-row input[type=checkbox]{width:14px;height:14px;accent-color:#0891b2;}
.ov-layer-name{min-width:0;}
.ov-layer-name b{display:flex;align-items:center;gap:6px;color:var(--text-primary);font-size:11px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ov-layer-name i{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0;background:#06b6d4;}
.ov-layer-name span{display:block;margin-top:2px;font-size:9px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ov-layer-actions{grid-column:2;display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-start;min-width:0;}
.ov-layer-actions input[type=range]{width:54px;height:3px;accent-color:#0891b2;}
.ov-layer-action{height:24px;min-width:28px;border:1px solid rgba(148,163,184,.25);background:rgba(248,250,252,.95);color:var(--text-secondary);border-radius:4px;font-size:9px;font-weight:900;font-family:inherit;cursor:pointer;padding:0 6px;}
.ov-layer-action:hover{border-color:rgba(6,182,212,.5);background:rgba(6,182,212,.1);color:#0891b2;}
.ov-layer-action.icon{min-width:34px;padding:0 5px;}
.ov-layer-action.active{border-color:rgba(100,116,139,.42);background:rgba(100,116,139,.12);color:#475569;}
.ov-layer-action:disabled,.ov-layer-actions input:disabled{opacity:.42;cursor:not-allowed;}
.ov-layer-action.danger:hover{border-color:rgba(239,68,68,.45);background:rgba(239,68,68,.08);color:#dc2626;}
.ov-layer-ctrl{margin-top:8px;background:rgba(15,23,42,.72);border-radius:5px;}
.ov-empty{position:absolute;inset:0;z-index:410;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:linear-gradient(180deg,rgba(15,23,42,.12),rgba(15,23,42,.28));}
.ov-empty-mark{border:1px solid rgba(255,255,255,.18);background:rgba(15,23,42,.72);color:#67e8f9;border-radius:6px;padding:6px 10px;font-size:10px;font-weight:950;letter-spacing:.14em;}
.ov-empty-title{margin-top:9px;font-size:14px;color:#e2e8f0;font-weight:900;}
.ov-empty-copy{margin-top:3px;font-size:11px;color:rgba(226,232,240,.74);}
.overview-extent-label,.overview-cluster-label{background:rgba(15,23,42,.82);border:1px solid rgba(255,255,255,.16);color:#e2e8f0;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:900;white-space:nowrap;box-shadow:0 6px 18px rgba(15,23,42,.25);}
.overview-extent-label span{display:block;color:#67e8f9;font-size:8px;text-transform:uppercase;letter-spacing:.08em;margin-top:1px;}
.overview-cluster-label{width:28px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:999px;color:#fff;background:rgba(8,145,178,.88);}
.start-end-label.overview-label{background:rgba(15,23,42,.78);border:1px solid rgba(255,255,255,.14);border-radius:4px;padding:2px 5px;color:#e2e8f0;font-size:9px;font-weight:800;}
.ov-project-popup{--ov-popup-shift-x:0;--ov-popup-shift-y:0;}
.ov-project-popup .leaflet-popup-content-wrapper{padding:0;border-radius:8px;border:1px solid rgba(8,145,178,.24);box-shadow:0 18px 44px rgba(15,23,42,.24);background:#fff;overflow:hidden;}
.ov-project-popup .leaflet-popup-content{margin:0;width:292px!important;}
.ov-project-popup .leaflet-popup-tip{background:#fff;border:1px solid rgba(8,145,178,.18);}
.ov-project-popup-card{display:grid;grid-template-columns:92px minmax(0,1fr);min-width:272px;max-width:312px;background:#fff;color:#0f172a;}
.ov-project-card-thumb{min-height:178px;background:#0f172a;overflow:hidden;}
.ov-project-card-thumb img{width:100%;height:100%;display:block;object-fit:cover;}
.ov-project-card-empty{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(8,145,178,.22),rgba(15,23,42,.92));color:#67e8f9;font-size:13px;font-weight:950;letter-spacing:.16em;}
.ov-project-card-body{min-width:0;padding:10px;display:flex;flex-direction:column;gap:5px;}
.ov-project-card-kicker{font-size:8px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:#0891b2;}
.ov-project-card-body h3{font-size:14px;line-height:1.08;margin:0;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ov-project-card-body p{margin:0;color:#64748b;font-size:10px;line-height:1.25;}
.ov-project-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:2px;}
.ov-project-card-stats span{min-width:0;border:1px solid rgba(148,163,184,.22);border-radius:4px;background:#f8fafc;color:#64748b;font-size:9px;line-height:1.15;padding:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ov-project-card-stats b{color:#0f172a;font-weight:900;}
.ov-project-card-stats .warn{border-color:rgba(239,68,68,.28);background:rgba(239,68,68,.07);color:#dc2626;}
.ov-project-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:4px;}
.ov-project-card-actions button{height:26px;border:1px solid rgba(8,145,178,.28);border-radius:5px;background:rgba(8,145,178,.08);color:#0891b2;font-size:9px;font-family:inherit;font-weight:900;cursor:pointer;}
.ov-project-card-actions button:first-child{grid-column:1/-1;background:#0891b2;border-color:#0891b2;color:#fff;}
.ov-project-card-actions button:hover{filter:brightness(1.05);}
@media(max-width:1180px){
    .overview-commandbar{grid-template-columns:170px minmax(160px,1fr) repeat(3,112px);height:auto;align-items:end;}
    .overview-stage{grid-template-columns:230px minmax(0,1fr);}
    .ov-panel-right{display:none;}
}
.locator-label{position:absolute;top:4px;left:50%;transform:translateX(-50%);background:rgba(10,14,23,.85);color:var(--accent);font-size:8px;font-weight:700;padding:1px 8px;border-radius:3px;z-index:16;letter-spacing:.5px;text-transform:uppercase;border:1px solid rgba(6,182,212,.3);pointer-events:none;}
.main-scale-bar{position:absolute;bottom:8px;left:8px;z-index:16;display:flex;align-items:flex-end;gap:4px;pointer-events:none;background:rgba(10,14,23,.82);border:1px solid rgba(255,255,255,.12);border-radius:5px;padding:4px 7px;}
.main-scale-inner{height:8px;background:rgba(6,182,212,.4);border:1.5px solid rgba(6,182,212,.9);border-top:none;min-width:30px;border-radius:0 0 2px 2px;}
.main-scale-text{font-size:10px;color:#e8eaf0;font-weight:600;padding-bottom:1px;}
.map-cursor-coords{position:absolute;bottom:32px;right:8px;z-index:16;font-size:10px;font-weight:500;color:rgba(255,255,255,.7);background:rgba(10,14,23,.6);padding:2px 8px;border-radius:3px;pointer-events:none;font-variant-numeric:tabular-nums;letter-spacing:.02em;opacity:0;transition:opacity .3s;}.map-pane:hover .map-cursor-coords{opacity:1;}
.map-pane{background:var(--bg-tertiary);flex:1 1 0;min-width:420px;}
.map-feature-btn{position:absolute;right:12px;top:52px;z-index:460;height:30px;border:1px solid rgba(8,145,178,.38);border-radius:5px;background:rgba(255,255,255,.94);color:#0891b2;font-size:11px;font-weight:900;font-family:inherit;padding:0 10px;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.14);}
.map-feature-btn:hover,.map-feature-btn.active{background:#0891b2;color:#fff;border-color:#0891b2;}
#btn-tag{display:none!important;}
.leaflet-control-attribution{display:none!important;}
.leaflet-tile-pane{opacity:var(--map-opacity,.45);}
.map-controls{position:absolute;bottom:8px;left:142px;right:154px;z-index:15;display:flex;gap:4px;align-items:center;flex-wrap:wrap;max-width:none;overflow:visible;}
.map-ctrl-btn{background:rgba(10,14,23,.85);border:1px solid var(--border);color:var(--text-secondary);padding:3px 7px;border-radius:4px;cursor:pointer;font-size:10px;font-family:inherit;transition:all .12s;white-space:nowrap;}.map-ctrl-btn:hover,.map-ctrl-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.map-path-mode-group{display:inline-flex;align-items:center;gap:2px;min-width:0;padding:2px;border:1px solid rgba(148,163,184,.28);border-radius:5px;background:rgba(15,23,42,.72);backdrop-filter:blur(7px);}
.map-path-mode-group span{padding:0 5px;color:#cbd5e1;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;}
.map-path-mode-group button{height:19px;border:1px solid transparent;border-radius:4px;background:transparent;color:#e2e8f0;font:inherit;font-size:9px;font-weight:900;padding:0 6px;cursor:pointer;white-space:nowrap;}
.map-path-mode-group button:hover,.map-path-mode-group button.active{background:#0891b2;border-color:#0891b2;color:#fff;}
.map-date-filter-reset{border-color:rgba(16,185,129,.36);color:#bbf7d0;background:rgba(20,83,45,.56);}
.map-date-filter-reset:hover{background:#10b981;border-color:#10b981;color:#fff;}
.map-thumb-toggle.active{background:#0891b2;border-color:#0891b2;color:#fff;}
.map-geometry-thumb-icon{width:auto!important;height:auto!important;}
.map-geometry-thumb{width:104px;display:grid;grid-template-rows:48px 16px 16px;gap:2px;padding:4px;border:1px solid rgba(255,255,255,.82);border-top:3px solid var(--thumb-accent,#0891b2);border-radius:7px;background:rgba(15,23,42,.84);box-shadow:0 10px 24px rgba(15,23,42,.32);color:#e2e8f0;font-family:inherit;text-align:left;cursor:pointer;overflow:hidden;backdrop-filter:blur(5px);}
.map-geometry-thumb:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.38),0 0 0 2px rgba(8,145,178,.24);}
.map-geometry-thumb img{width:100%;height:48px;object-fit:cover;border-radius:4px;background:#0f172a;}
.map-thumb-fallback{height:48px;display:flex;align-items:center;justify-content:center;border-radius:4px;background:#1e293b;color:#94a3b8;font-size:9px;font-weight:900;}
.map-geometry-thumb b,.map-geometry-thumb span{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1;}
.map-geometry-thumb b{color:#67e8f9;font-size:9px;font-weight:950;font-variant-numeric:tabular-nums;}
.map-geometry-thumb span{font-size:9px;font-weight:850;color:#f8fafc;}
.map-ctrl-slider{width:60px;accent-color:var(--accent);height:3px;}
.map-ctrl-label{font-size:9px;color:rgba(255,255,255,.5);}
#info-pos{cursor:pointer;transition:color .15s;white-space:pre-line;line-height:1.4;}#info-pos:hover{color:var(--accent);}
.export-btns{display:flex;gap:4px;padding:4px 12px 8px;}
.export-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);padding:3px 8px;border-radius:4px;cursor:pointer;font-size:11px;font-family:inherit;flex:1;text-align:center;transition:all .12s;}.export-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.export-hub-note{border:1px dashed rgba(8,145,178,.26);border-radius:6px;background:rgba(224,247,254,.45);color:#64748b;font-size:10px;font-weight:850;line-height:1.25;padding:6px 8px;}
.feature-export-note{margin:5px 0;}
#main-map{width:100%;height:100%;border-radius:calc(var(--pane-radius) - 1px);}
.pane.pip{position:absolute;z-index:15;border:2px solid rgba(255,255,255,.12);box-shadow:0 4px 24px rgba(0,0,0,.5);}.pane.pip:hover{border-color:var(--accent);}
.pane-divider{width:2px;flex-shrink:0;cursor:col-resize;display:flex;align-items:center;justify-content:center;z-index:20;border-radius:0;transition:background .15s;background:rgba(255,255,255,.92);display:none;}
.pane-divider:hover,.pane-divider.active{background:var(--accent);}
.pane-divider::after{content:'';display:none;}
.pane-divider.horizontal{width:auto;height:2px;cursor:row-resize;}

/* OVERVIEW */
#overview-overlay{position:absolute;inset:4px;z-index:60;background:var(--bg-primary);display:none;border-radius:var(--pane-radius);overflow:hidden;border:var(--pane-border);}
#overview-overlay.active{display:block;animation:overIn .3s ease;}
#overview-overlay.slide-out{animation:overOut .4s ease forwards;}
@keyframes overIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@keyframes overOut{to{opacity:0;transform:scale(.98)}}
#overview-map{width:100%;height:100%;}
.overview-bar{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:var(--bg-secondary);border:var(--pane-border);border-radius:8px;padding:6px 16px;font-size:13px;color:var(--text-secondary);z-index:61;display:flex;align-items:center;gap:12px;}
.overview-bar b{color:var(--accent);}
.overview-close{background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-secondary);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;}.overview-close:hover{background:var(--accent);color:#fff;}
/* Overview preview popup */
.ov-preview{position:absolute;z-index:9999;background:#1a1e2e;border:1px solid var(--accent);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.7);display:none;flex-direction:column;overflow:hidden;min-width:180px;}
.ov-preview.active{display:flex;}
.ov-preview-header{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg-tertiary);border-bottom:1px solid rgba(255,255,255,.06);font-size:10px;color:var(--text-secondary);}
.ov-preview-header .ov-pr-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--text-primary);}
.ov-preview-header .ov-pr-date{font-size:9px;color:var(--text-muted);font-variant-numeric:tabular-nums;}
.ov-preview-header .ov-pr-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0 2px;line-height:1;}.ov-preview-header .ov-pr-close:hover{color:#f43f5e;}
.ov-preview-body{position:relative;background:#000;aspect-ratio:16/9;}
.ov-preview-body video,.ov-preview-body img{width:100%;height:100%;object-fit:contain;display:block;}
.ov-preview-controls{display:flex;align-items:center;gap:4px;padding:3px 6px;background:var(--bg-tertiary);border-top:1px solid rgba(255,255,255,.06);}
.ov-preview-controls input[type=range]{flex:1;height:3px;accent-color:var(--accent);}
.ov-preview-controls button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:1px 4px;}.ov-preview-controls button:hover{color:var(--accent);}
.ov-preview-controls .ov-pr-time{font-size:9px;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:40px;}
.ov-preview-nav{display:flex;gap:3px;padding:3px 6px;border-top:1px solid rgba(255,255,255,.06);}
.ov-preview-nav button{flex:1;background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);border-radius:4px;padding:3px 0;font-size:9px;cursor:pointer;font-family:inherit;}.ov-preview-nav button:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.ov-preview-nav .ov-pr-open{background:rgba(6,182,212,.15);border-color:var(--accent);color:var(--accent);font-weight:600;}
.ov-leader-line{stroke:var(--accent);stroke-width:1;stroke-dasharray:4 3;opacity:.6;}

/* CLIP EXPORT MODAL */
/* SCREENSHOT PREVIEW MODAL */
#ss-preview{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:10001;display:none;}
#ss-preview.active{display:flex;}
.ss-workspace{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;}
.ss-main{display:flex;align-items:stretch;width:85vw;height:85vh;gap:0;position:relative;min-width:700px;min-height:450px;}
#ss-preview{background:rgba(15,23,42,.72);backdrop-filter:blur(8px);}
#ss-preview .ss-workspace{padding:16px;box-sizing:border-box;}
#ss-preview .ss-main{width:min(96vw,1840px);height:min(92vh,1060px);min-width:min(900px,calc(100vw - 32px));min-height:min(560px,calc(100vh - 32px));border:1px solid rgba(148,163,184,.28);border-radius:8px;box-shadow:0 24px 80px rgba(15,23,42,.42);background:#f8fafc;overflow:hidden;}
#ss-preview.preview-max .ss-main{width:98vw;height:95vh;min-width:0;min-height:0;}
#ss-preview.preview-max .ss-rpanel{display:none;}
#ss-preview.preview-max .ss-live-area{border-radius:8px;}
#ss-preview.preview-max .ss-live-frame{border-radius:6px;}
/* Right panel — hard against preview area */
.ss-rpanel{width:340px;flex-shrink:0;background:var(--bg-secondary);border:var(--pane-border);border-left:none;border-radius:0 var(--pane-radius) var(--pane-radius) 0;display:flex;flex-direction:column;padding:10px;overflow-y:auto;gap:0;}
.ss-rp-header{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:8px;padding-bottom:6px;border-bottom:var(--pane-border);}
#ss-close-x:hover{background:var(--accent-hot);color:#fff;border-color:var(--accent-hot);}
.ss-rp-section{margin-bottom:6px;}
.ss-rp-label{font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;}
.ss-rp-2col{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.ss-rp-2col .ss-rp-section{margin-bottom:0;}
.ss-rp-inline{display:flex;align-items:center;gap:6px;}
.ss-rp-inline .ss-rp-label{margin-bottom:0;white-space:nowrap;min-width:40px;}
.ss-rp-inline .ss-rp-sel{flex:1;}
.ss-rp-sel{width:100%;background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-primary);padding:4px 6px;border-radius:4px;font-size:11px;font-family:inherit;}
.ss-rp-num{width:60px;background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-primary);padding:3px 4px;border-radius:4px;font-size:11px;font-family:inherit;text-align:center;}
.ss-rp-check{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:5px;cursor:pointer;}.ss-rp-check input{accent-color:var(--accent);}
.ss-rp-row{display:flex;gap:3px;}
.ss-mode-btn{flex:1;background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-secondary);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:10px;font-family:inherit;font-weight:600;transition:all .12s;text-align:center;}
.ss-mode-btn:hover{background:var(--accent-glow);}
.ss-mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.ss-rp-section:has(#ss-theme-dark),.ss-rp-section:has(#ve-theme-dark){display:none!important;}
.ve-sync-points{margin-top:5px;border:1px solid rgba(6,182,212,.18);border-radius:5px;padding:5px;background:rgba(6,182,212,.055);}
.ve-sync-point-row{display:grid;grid-template-columns:1fr 1fr auto;gap:4px;}
.ve-sync-point-btn{border:1px solid rgba(6,182,212,.28);background:rgba(6,182,212,.08);color:var(--accent);border-radius:4px;padding:4px 6px;font-size:9px;font-weight:800;font-family:inherit;cursor:pointer;white-space:nowrap;}
.ve-sync-point-btn:hover{background:rgba(6,182,212,.16);border-color:var(--accent);}
.ve-sync-point-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.ve-sync-nudge-row{display:grid;grid-template-columns:repeat(2,34px) 1fr repeat(3,34px);gap:3px;margin-top:5px;align-items:center;}
.ve-sync-nudge{border:1px solid rgba(148,163,184,.28);background:rgba(148,163,184,.08);color:var(--text-secondary);border-radius:4px;padding:3px 4px;font-size:9px;font-weight:800;font-family:inherit;cursor:pointer;white-space:nowrap;}
.ve-sync-nudge:hover{background:rgba(6,182,212,.16);border-color:var(--accent);color:var(--accent);}
#ve-sync-offset-input{min-width:0;width:100%;background:var(--bg-tertiary);border:1px solid rgba(6,182,212,.22);color:var(--text-primary);border-radius:4px;padding:3px 4px;font-size:10px;font-family:inherit;text-align:center;font-variant-numeric:tabular-nums;}
.ve-sync-offset{margin-top:4px;font-size:9px;color:var(--text-muted);font-variant-numeric:tabular-nums;line-height:1.25;}
.ss-map-frame-controls{border:1px solid rgba(6,182,212,.18);border-radius:6px;padding:6px;background:rgba(6,182,212,.045);}
.ss-map-frame-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;}
.ss-map-frame-row .ss-mode-btn{padding:4px 5px;font-size:9px;}
.ss-map-position-row{grid-template-columns:1fr 1fr;margin-bottom:5px;}
.ss-map-frame-readout{margin-top:5px;padding:3px 5px;border-radius:4px;background:rgba(16,22,36,.32);font-size:9px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ss-map-frame-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px;margin-top:5px;}
.ss-map-frame-grid button{border:1px solid rgba(6,182,212,.22);background:rgba(6,182,212,.08);color:var(--accent);border-radius:4px;padding:3px 4px;font-size:9px;font-weight:800;font-family:inherit;cursor:pointer;}
.ss-map-frame-grid button:hover{background:rgba(6,182,212,.16);border-color:var(--accent);}
  .ss-map-frame-controls.map-off .ss-map-position-row,
  .ss-map-frame-controls.map-off .ss-map-fit-row,
  .ss-map-frame-controls.map-off .ss-map-frame-grid,
  .ss-map-frame-controls.map-off .ss-map-frame-slider{display:none;}
.ss-map-frame-controls.map-off .ss-map-frame-readout{background:rgba(15,23,42,.08);color:var(--text-secondary);}
.ss-map-frame-controls [disabled]{cursor:not-allowed!important;}
.ss-map-frame-slider{display:grid;grid-template-columns:46px 1fr 32px;align-items:center;gap:5px;margin-top:5px;font-size:9px;color:var(--text-muted);}
.ss-map-frame-slider input[type=range]{width:100%;height:3px;accent-color:var(--accent);}
.ss-map-frame-slider b{font-size:9px;color:var(--text-primary);font-weight:800;text-align:right;font-variant-numeric:tabular-nums;}
.ss-media-crop-controls{border:1px solid rgba(16,185,129,.2);border-radius:6px;padding:6px;background:rgba(16,185,129,.045);}
.ss-crop-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:5px;}
.ss-crop-tabs .ss-mode-btn{padding:4px 5px;font-size:9px;}
.ss-crop-tabs .ss-mode-btn:disabled{opacity:.42;cursor:not-allowed;background:var(--bg-tertiary);color:var(--text-muted);}
.ss-crop-readout{padding:3px 5px;border-radius:4px;background:rgba(16,22,36,.32);font-size:9px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ss-crop-slider{display:grid;grid-template-columns:46px 1fr 40px;align-items:center;gap:5px;margin-top:5px;font-size:9px;color:var(--text-muted);}
.ss-crop-slider input[type=range]{width:100%;height:3px;accent-color:var(--accent-green);}
.ss-crop-slider b{font-size:9px;color:var(--text-primary);font-weight:800;text-align:right;font-variant-numeric:tabular-nums;}
.ss-crop-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:6px;}
.ss-crop-actions .ss-mode-btn{font-size:9px;padding:4px 5px;}
.ss-scene-edit-controls{border:1px solid rgba(6,182,212,.2);border-radius:6px;padding:6px;background:rgba(6,182,212,.045);}
.ss-scene-transport-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin-top:4px;}
.ss-scene-transport-row .ss-mode-btn{padding:4px 5px;font-size:9px;}
.ss-scene-slider{display:grid;grid-template-columns:48px 1fr 38px;align-items:center;gap:5px;margin-top:5px;font-size:9px;color:var(--text-muted);}
.ss-scene-slider input[type=range]{width:100%;height:3px;accent-color:var(--accent);}
.ss-scene-slider b{font-size:9px;color:var(--text-primary);font-weight:800;text-align:right;font-variant-numeric:tabular-nums;}
.ss-scene-sizing-label{margin-top:7px;}
#ss-scene-compare-transport{margin-top:4px;}
.ss-mode-alt{width:100%;margin-top:5px;background:var(--accent-green);border:1px solid var(--accent-green);color:#fff;padding:5px;border-radius:4px;cursor:pointer;font-size:10px;font-family:inherit;font-weight:600;transition:all .12s;text-align:center;}.ss-mode-alt:hover{filter:brightness(1.1);}
.ss-rp-actions{display:flex;flex-direction:column;gap:5px;}
.ss-rp-btn{padding:7px 14px;border-radius:5px;cursor:pointer;font-size:12px;font-family:inherit;border:var(--pane-border);font-weight:600;width:100%;text-align:center;}
.ss-rp-btn.save{background:#f97316;color:#fff;border-color:#f97316;padding:14px;font-size:14px;font-weight:700;border-radius:6px;}
.ss-rp-btn.save:hover{filter:brightness(1.1);}
.ss-rp-btn.cancel{background:var(--bg-tertiary);color:var(--text-secondary);}
.ss-rp-btn.cancel:hover{background:var(--accent-glow);}
#ss-preview .ss-rpanel{position:relative;width:318px;min-height:0;max-height:100%;background:#f8fafc;border:0;border-left:1px solid rgba(148,163,184,.28);border-radius:0;display:flex;flex-direction:column;padding:0 0 78px;overflow-y:auto;}
#ss-preview .ss-rp-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto 26px;gap:6px;align-items:center;background:#fff;border-bottom:1px solid rgba(148,163,184,.26);margin:0;padding:10px;color:var(--text-primary);}
#ss-preview .ss-rp-header span{display:block;font-size:14px;font-weight:950;line-height:1;letter-spacing:0;}
#ss-preview .ss-rp-header small{display:block;margin-top:3px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#0891b2;font-weight:900;}
#ss-preview .ss-rp-head-btn,#ss-preview .ss-rp-head-close{height:26px;border:1px solid rgba(148,163,184,.32);background:#f8fafc;color:var(--text-secondary);border-radius:4px;font-size:9px;font-weight:900;font-family:inherit;cursor:pointer;}
#ss-preview .ss-rp-head-btn{padding:0 8px;white-space:nowrap;}
#ss-preview .ss-rp-head-close{width:26px;font-size:15px;line-height:1;}
#ss-preview .ss-rp-head-btn:hover{border-color:rgba(6,182,212,.5);color:#0891b2;background:rgba(6,182,212,.08);}
#ss-preview .ss-rp-head-close:hover{background:#ef4444;border-color:#ef4444;color:#fff;}
#ss-preview .ss-rp-section{margin:0;padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.16);background:rgba(255,255,255,.72);}
#ss-preview .ss-rp-label{font-size:9px;color:var(--text-muted);letter-spacing:.09em;font-weight:950;margin-bottom:5px;}
#ss-preview .ss-rp-sel,#ss-preview .ss-rp-input,#ss-preview .ss-rp-textarea,#ss-preview .ss-rp-num{background:#fff;border:1px solid rgba(148,163,184,.34);color:var(--text-primary);border-radius:5px;}
#ss-preview .ss-mode-btn{height:28px;background:#fff;border:1px solid rgba(148,163,184,.32);color:var(--text-secondary);border-radius:4px;font-size:10px;font-weight:900;}
#ss-preview .ss-mode-btn:hover{border-color:rgba(6,182,212,.45);background:rgba(6,182,212,.08);color:#0891b2;}
#ss-preview .ss-mode-btn.active{background:#0891b2;border-color:#0891b2;color:#fff;}
#ss-preview .ss-rp-check{color:var(--text-secondary);font-size:11px;}
#ss-preview .ss-rp-actions{position:absolute;left:0;right:0;bottom:0;background:#fff;border-top:1px solid rgba(148,163,184,.24);padding:10px;margin:0;z-index:30;}
#ss-preview .ss-rp-btn.save{background:#0891b2;border-color:#0891b2;border-radius:5px;padding:11px 12px;font-size:12px;}
#ss-preview .ss-rp-btn.cancel{background:#f8fafc;border-color:rgba(148,163,184,.3);border-radius:5px;}
/* Live preview area */
.ss-live-area{flex:1;display:flex;align-items:stretch;justify-content:center;padding:0;position:relative;overflow:hidden;border-radius:var(--pane-radius) 0 0 var(--pane-radius);min-width:0;}
.ss-live-frame{position:relative;background:#0a0e17;border-radius:var(--pane-radius) 0 0 var(--pane-radius);overflow:hidden;display:flex;flex-direction:column;width:100%;height:100%;}
#ss-preview .ss-live-area{align-items:center;justify-content:center;padding:34px 12px 12px;background:linear-gradient(180deg,#e2e8f0,#f8fafc);border-radius:8px 0 0 8px;}
#ss-preview .ss-live-frame{border-radius:6px;box-shadow:0 18px 50px rgba(15,23,42,.32);outline:1px solid rgba(15,23,42,.22);background:#020617;}
.ss-frame-ribbon{position:absolute;top:10px;left:12px;right:12px;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none;}
.ss-frame-ribbon span,.ss-frame-ribbon b{display:inline-flex;align-items:center;height:22px;border:1px solid rgba(148,163,184,.28);background:rgba(255,255,255,.88);border-radius:4px;padding:0 8px;font-size:9px;font-weight:950;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;box-shadow:0 4px 14px rgba(15,23,42,.1);}
.ss-frame-ribbon b{color:#0891b2;text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums;}
.ss-scene-preview-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;display:none;border-radius:inherit;background:#020617;}
.ss-live-frame.scene-preview-on .ss-scene-preview-canvas{display:block;z-index:40;}
.ss-live-frame.scene-preview-on.ss-annotation-editing .ss-scene-preview-canvas{display:none;}
.ss-live-frame.scene-preview-on.scene-preview-ready:not(.ss-annotation-editing) #ss-content-row{opacity:0;}
.ss-live-frame.scene-preview-on.scene-preview-ready:not(.ss-annotation-editing) #ss-content-row .leaflet-control-container,
.ss-live-frame.scene-preview-on.scene-preview-ready:not(.ss-annotation-editing) #ss-content-row .leaflet-pane,
.ss-live-frame.scene-preview-on.scene-preview-ready:not(.ss-annotation-editing) #ss-content-row .ss-map-label,
.ss-live-frame.scene-preview-on.scene-preview-ready:not(.ss-annotation-editing) #ss-content-row .ss-scale-bar{visibility:hidden!important;}
.ss-content-row{display:flex;flex:1;min-height:0;flex-direction:row;/* default row for side-by-side */}
.ss-content-row.layout-col{flex-direction:column;}
.ss-content-row.ss-export-map-off{display:flex!important;flex-direction:row!important;}
.ss-content-row.ss-export-map-off>.ss-map-col,
.ss-content-row.ss-export-map-off>.ss-map-col>.ss-map-pane,
.ss-content-row.ss-export-map-off>.ss-map-col>.ss-loc-pane,
.ss-content-row.ss-export-map-off>.ss-bottom-divider,
.ss-content-row.ss-export-map-off>.ss-map-loc-divider,
.ss-content-row.ss-export-map-off>.ss-divider:not(.ss-cmp-divider){display:none!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;flex:0 0 0!important;border:0!important;padding:0!important;margin:0!important;overflow:hidden!important;}
.ss-content-row.ss-export-map-off>.ss-vid-pane,
.ss-content-row.ss-export-map-off>.ss-cmp-pane{flex:1 1 0!important;min-width:0!important;min-height:0!important;}
.ss-content-row.ss-export-map-off.layout-col{flex-direction:column!important;}
.ss-content-row.ss-export-map-off.layout-col>.ss-cmp-divider{display:flex!important;}
/* Video pane */
.ss-vid-pane{position:relative;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;}
.ss-vid-pane video{width:100%;height:100%;object-fit:cover;transform-origin:0 0;}
.ss-vid-pane.uncropped video{object-fit:contain;background:#000;}
.ss-vid-pane.pz-active{cursor:grab;}
.ss-vid-pane.pz-active:active{cursor:grabbing;}
.ss-vid-pane.ss-pz-active-pane{box-shadow:inset 0 0 0 2px rgba(16,185,129,.9),0 0 0 1px rgba(16,185,129,.24);}
.ss-vid-pane #ss-photo-seq-img{transform-origin:0 0;}
.ss-vid-pane.deleted{display:none!important;}
.ss-vid-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:4px;padding:4px 8px;background:linear-gradient(transparent,rgba(0,0,0,.85));z-index:3;opacity:0;transition:opacity .2s;}
.ss-vid-pane:hover .ss-vid-controls{opacity:1;}
.ss-vid-controls input[type=range]{flex:1;accent-color:var(--accent);height:4px;}
.ss-vplay{background:none;border:none;color:#fff;cursor:pointer;padding:2px;display:flex;}.ss-vplay svg{width:14px;height:14px;}
.ss-vtime{font-size:10px;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums;min-width:40px;}
.ss-vid-nav{position:absolute;top:50%;left:0;right:0;display:flex;justify-content:space-between;padding:0 4px;transform:translateY(-50%);z-index:4;pointer-events:none;opacity:0;transition:opacity .2s;}
.ss-vid-pane:hover .ss-vid-nav{opacity:1;}
.ss-vnav{pointer-events:auto;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.15);color:#fff;width:28px;height:40px;border-radius:6px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;}
.ss-vnav:hover{background:rgba(6,182,212,.7);border-color:var(--accent);}
.ss-vid-meta{position:absolute;top:6px;right:6px;background:rgba(10,14,23,.8);border-radius:4px;padding:3px 8px;font-size:9px;color:#e8eaf0;z-index:3;max-width:250px;line-height:1.5;font-variant-numeric:tabular-nums;}
/* Map pane */
.ss-map-pane{position:relative;overflow:hidden;min-width:0;min-height:0;background:var(--bg-tertiary);}
.ss-map-pane.deleted{display:none!important;}
.ss-map-pane .leaflet-container{background:var(--bg-tertiary)!important;}
/* Map label */
.ss-map-label{position:absolute;top:6px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.92);color:var(--accent);font-size:9px;font-weight:700;padding:4px 14px;border-radius:5px;z-index:8;letter-spacing:1px;text-transform:uppercase;border:1px solid rgba(6,182,212,.3);white-space:nowrap;backdrop-filter:blur(6px);box-shadow:0 2px 8px rgba(0,0,0,.15);}
/* Flight name label on video/photo panes */
.ss-flight-label{position:absolute;top:6px;left:50%;transform:translateX(-50%);background:rgba(10,14,23,.88);color:#e8eaf0;font-size:9px;font-weight:600;padding:3px 12px;border-radius:5px;z-index:15;white-space:nowrap;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(4px);max-width:90%;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.5);}
/* Scale bar */
.ss-scale-bar{position:absolute;bottom:96px;left:8px;z-index:15;display:flex;align-items:flex-end;gap:4px;background:rgba(10,14,23,.82);border:1px solid rgba(255,255,255,.12);border-radius:5px;padding:3px 6px;}
.ss-scale-inner{height:6px;background:rgba(6,182,212,.4);border:1px solid rgba(6,182,212,.9);border-top:none;min-width:30px;border-radius:0 0 2px 2px;}
.ss-scale-text{font-size:9px;color:#e8eaf0;font-weight:600;padding-bottom:0;}
/* Divider */
.ss-divider{width:4px;flex-shrink:0;background:var(--bg-secondary);cursor:col-resize;z-index:5;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.ss-divider:hover,.ss-divider.active{background:var(--accent);}
.ss-divider::after{content:'';width:2px;height:24px;background:var(--border);border-radius:1px;}
.ss-divider:hover::after{background:#fff;}
.ss-content-row.layout-col .ss-divider{width:auto;height:4px;cursor:row-resize;}
.ss-content-row.layout-col .ss-divider::after{width:24px;height:2px;}
/* Map column — map + locator stacked */
.ss-map-col{display:flex;flex-direction:column;flex:1;min-width:120px;min-height:0;}
.ss-map-col .ss-map-pane{flex:1;min-height:0;}
/* Locator — below map pane, same width, cube-ish */
.ss-loc-pane{width:100%;height:0;border-radius:0 0 6px 6px;border-top:1px solid rgba(6,182,212,.4);overflow:hidden;z-index:6;flex-shrink:0;position:relative;}
.ss-loc-pane.deleted{display:none!important;}
#ss-preview.ss-no-export-locator #ss-loc-pane,
#ss-preview.ss-no-export-locator #ss-map-loc-divider,
#ss-preview.ss-no-export-locator .ss-locator-sizing-row,
#ss-preview.ss-no-export-locator #ss-pane-locator,
#ss-preview.ss-no-export-locator #ss-pane-locator-val{display:none!important;}
#ss-preview.ss-no-export-locator #ss-loc-pane{width:0!important;height:0!important;min-width:0!important;min-height:0!important;flex:0 0 0!important;border:0!important;padding:0!important;}
#ss-preview.ss-no-export-locator .ss-map-col .ss-map-pane{flex:1 1 100%!important;width:100%!important;height:100%!important;}
#ss-preview.ss-no-export-locator .ss-scale-bar{bottom:8px;}
.ss-loc-label{position:absolute;top:4px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.92);color:rgba(6,182,212,.9);font-size:8px;font-weight:700;padding:3px 12px;border-radius:4px;z-index:7;letter-spacing:1px;text-transform:uppercase;border:1px solid rgba(6,182,212,.25);white-space:nowrap;backdrop-filter:blur(6px);box-shadow:0 2px 8px rgba(0,0,0,.15);}
/* Map-locator divider */
.ss-map-loc-divider{width:100%;height:4px;flex-shrink:0;background:var(--bg-secondary);cursor:row-resize;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.ss-map-loc-divider:hover,.ss-map-loc-divider.active{background:var(--accent);}
.ss-map-loc-divider::after{content:'';width:24px;height:2px;background:var(--border);border-radius:1px;}
.ss-map-loc-divider:hover::after{background:#fff;}
.ss-loc-del{top:3px;right:3px;}
/* Pane delete buttons */
.ss-pane-del{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:4px;background:var(--accent-hot);color:#fff;border:none;cursor:pointer;font-size:12px;display:none;align-items:center;justify-content:center;z-index:8;}
.ss-vid-pane:hover .ss-pane-del,.ss-map-pane:hover .ss-pane-del,.ss-loc-pane:hover .ss-pane-del{display:flex;}
/* Info bar */
.ss-info-bar{display:none!important;/* removed — branding now in watermark strip */}
.ss-brand-strip{position:absolute;bottom:6px;left:10px;z-index:9;display:flex;align-items:center;gap:6px;pointer-events:none;}
.ss-brand-strip img{height:28px;filter:drop-shadow(0 1px 4px rgba(0,0,0,.7));}
.ss-brand-strip span{font-size:10px;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:.5px;text-shadow:0 1px 3px rgba(0,0,0,.7);}
.ss-brand-strip .ss-brand-credit{font-size:9px;color:rgba(255,255,255,.5);font-weight:400;margin-left:4px;}
/* Title/Description header section */
.ss-header-section{flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:10px 16px 4px;display:flex;flex-direction:column;gap:4px;position:relative;}
.ss-header-title{text-align:center;font-size:1.2em;font-weight:700;color:var(--text-primary);outline:none;min-height:1.4em;border:1px dashed transparent;border-radius:4px;padding:2px 6px;}
.ss-header-title:hover,.ss-header-title:focus{border-color:var(--accent);background:rgba(6,182,212,.05);}
.ss-header-title:empty::before{content:attr(data-placeholder);color:var(--text-muted);font-weight:400;}
.ss-header-desc-row{display:flex;gap:8px;}
.ss-header-desc{flex:1;font-size:0.85em;color:var(--text-secondary);outline:none;min-height:1.2em;line-height:1.4;border:1px dashed transparent;border-radius:4px;padding:4px 6px;}
.ss-header-desc:hover,.ss-header-desc:focus{border-color:rgba(6,182,212,.4);background:rgba(6,182,212,.03);}
.ss-header-desc:empty::before{content:attr(data-placeholder);color:var(--text-muted);}
.ss-header-resize{height:4px;cursor:row-resize;background:transparent;transition:background .15s;}
.ss-header-resize:hover{background:var(--accent);}
/* Export settings inputs */
.ss-rp-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--text-primary);font-size:11px;outline:none;}
.ss-rp-input:focus{border-color:var(--accent);}
.ss-rp-textarea{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--text-primary);font-size:10px;outline:none;resize:vertical;font-family:inherit;margin-top:3px;}
.ss-rp-textarea:focus{border-color:var(--accent);}
/* Bottom divider between videos and map bar */
.ss-bottom-divider{width:100%;height:4px;flex-shrink:0;background:var(--bg-secondary);cursor:row-resize;display:flex;align-items:center;justify-content:center;transition:background .15s;grid-column:1/-1;}
.ss-bottom-divider:hover,.ss-bottom-divider.active{background:var(--accent);}
.ss-bottom-divider::after{content:'';width:24px;height:2px;background:var(--border);border-radius:1px;}
.ss-bottom-divider:hover::after{background:#fff;}
#ss-preview .ss-divider,
#ss-preview .ss-bottom-divider,
#ss-preview .ss-map-loc-divider{background:#fff!important;}
#ss-preview .ss-divider:hover,
#ss-preview .ss-divider.active,
#ss-preview .ss-bottom-divider:hover,
#ss-preview .ss-bottom-divider.active,
#ss-preview .ss-map-loc-divider:hover,
#ss-preview .ss-map-loc-divider.active{background:#fff!important;border-color:#fff!important;box-shadow:none!important;}
#ss-preview .ss-divider::after,
#ss-preview .ss-bottom-divider::after,
#ss-preview .ss-map-loc-divider::after{background:#fff!important;opacity:1;}
#ss-preview .ss-cmp-divider,
#ss-preview .ss-cmp-divider:hover,
#ss-preview .ss-cmp-divider.active{background:#fff!important;border:0!important;box-shadow:none!important;}
#ss-preview .ss-cmp-divider::after{display:none!important;}
#ss-preview .ss-cmp-divider{width:4px!important;min-width:4px!important;}
#ss-preview .ss-content-row.layout-col .ss-cmp-divider{width:auto!important;min-width:0!important;height:4px!important;min-height:4px!important;}
/* Sightlock Watermark — mandatory */
/* Map position: bottom mode — grid layout: videos in top area, map strip across full bottom */
.ss-content-row.mappos-bottom{display:grid!important;grid-template-columns:1fr;grid-template-rows:1fr auto auto;gap:0;}
.ss-content-row.mappos-bottom>.ss-bottom-divider{display:flex!important;grid-row:2;grid-column:1/-1;}
.ss-content-row.mappos-bottom>.ss-vid-pane{grid-row:1;grid-column:1;}
.ss-content-row.mappos-bottom>.ss-cmp-pane{grid-row:1;grid-column:1;}
.ss-content-row.mappos-bottom>.ss-divider:not(.ss-cmp-divider){display:none!important;}
.ss-content-row.mappos-bottom>.ss-map-col{grid-row:3;grid-column:1;flex-direction:row!important;height:auto;min-height:100px;min-width:100%!important;}
.ss-content-row.mappos-bottom>.ss-map-col .ss-map-pane{flex:3;min-width:0;min-height:0;}
.ss-content-row.mappos-bottom>.ss-map-col .ss-loc-pane{height:100%!important;width:auto!important;flex:1;min-width:80px;border-radius:0 0 6px 0;}
.ss-content-row.mappos-bottom>.ss-map-col .ss-map-loc-divider{width:4px!important;height:auto!important;cursor:col-resize!important;}
/* When compare is on in bottom mode, split the top row for two videos */
.ss-content-row.mappos-bottom.mappos-vids-row{grid-template-columns:1fr auto 1fr;}
.ss-content-row.mappos-bottom.mappos-vids-row>.ss-vid-pane{grid-row:1;grid-column:1;}
.ss-content-row.mappos-bottom.mappos-vids-row>.ss-cmp-divider{grid-row:1;grid-column:2;display:flex!important;}
.ss-content-row.mappos-bottom.mappos-vids-row>.ss-cmp-pane{grid-row:1;grid-column:3;}
.ss-content-row.mappos-bottom.mappos-vids-row>.ss-divider:not(.ss-cmp-divider){display:none!important;}
.ss-content-row.mappos-bottom.mappos-vids-row>.ss-bottom-divider{grid-row:2;grid-column:1/-1;}
.ss-content-row.mappos-bottom.mappos-vids-row>.ss-map-col{grid-row:3;grid-column:1/-1;}
/* Split H + Map on Side: videos stack vertically, map column on right */
#ss-preview .ss-content-row.layout-col:not(.mappos-bottom){
    display:grid!important;
    grid-template-columns:minmax(0,var(--ss-side-media-share,60%)) 4px minmax(120px,1fr);
    grid-template-rows:1fr 4px 1fr;
}
#ss-preview .ss-content-row.layout-col:not(.mappos-bottom)>.ss-vid-pane{grid-row:1;grid-column:1;}
#ss-preview .ss-content-row.layout-col:not(.mappos-bottom)>.ss-cmp-divider{
    grid-row:2;
    grid-column:1;
    display:flex!important;
    width:auto!important;
    min-width:0!important;
    height:4px!important;
    min-height:4px!important;
}
#ss-preview .ss-content-row.layout-col:not(.mappos-bottom)>.ss-cmp-pane{grid-row:3;grid-column:1;}
#ss-preview .ss-content-row.layout-col:not(.mappos-bottom)>.ss-divider:not(.ss-cmp-divider){
    grid-row:1/4;
    grid-column:2;
    display:flex!important;
    width:4px!important;
    min-width:4px!important;
    height:auto!important;
    cursor:col-resize;
}
#ss-preview .ss-content-row.layout-col:not(.mappos-bottom)>.ss-map-col{
    grid-row:1/4;
    grid-column:3;
    min-width:120px;
    min-height:0;
}
/* Annotation overlay */
.ss-anno-canvas{position:absolute;inset:0;z-index:10;cursor:crosshair;pointer-events:none;}
.ss-anno-canvas.active{pointer-events:auto;}
.ss-anno-toolbar{position:absolute;top:50%;right:6px;transform:translateY(-50%);z-index:11;display:none;flex-direction:column;gap:3px;background:rgba(16,22,36,.92);border:1px solid rgba(6,182,212,.3);border-radius:8px;padding:5px;backdrop-filter:blur(6px);}
.ss-anno-toolbar.active{display:flex;}
.ss-anno-btn{min-width:30px;height:28px;border-radius:5px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .12s;padding:0 6px;gap:1px;white-space:nowrap;}
.ss-anno-btn:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent);}
.ss-anno-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.ss-anno-btn.danger:hover{background:rgba(244,63,94,.2);border-color:var(--accent-hot);color:var(--accent-hot);}
/* Annotation color picker */
.ss-anno-colors{display:flex;gap:2px;padding:2px 0;flex-wrap:wrap;}
.ss-anno-color{width:16px;height:16px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color .12s;}
.ss-anno-color.active{border-color:#fff;}
/* Annotation size slider */
.ss-anno-size-row{display:flex;align-items:center;gap:4px;padding:2px 0;}
.ss-anno-size-row label{font-size:8px;color:var(--text-secondary);white-space:nowrap;}
.ss-anno-size-slider{flex:1;accent-color:var(--accent);height:3px;min-width:0;}
/* Annotation undo/redo row */
.ss-anno-ud-row{display:flex;gap:3px;}
.ss-anno-ud-row .ss-anno-btn{flex:1;font-size:11px;}
/* Inline text input for annotation */
#ss-anno-text-input-wrap{position:absolute;z-index:20;display:none;}
#ss-anno-text-input-wrap input{background:rgba(16,22,36,.95);border:1px solid var(--accent);border-radius:5px;color:var(--text-primary);font-size:15px;padding:4px 8px;outline:none;min-width:120px;max-width:260px;font-family:'Segoe UI',sans-serif;}
/* Admin panel modal */
#admin-modal{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
#admin-modal.active{display:flex;}
#admin-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;width:min(96vw,1100px);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6);}
.admin-hdr{display:flex;align-items:center;padding:14px 18px 10px;border-bottom:1px solid var(--border);gap:10px;flex-shrink:0;}
.admin-hdr-title{font-size:15px;font-weight:800;color:var(--accent);flex:1;}
.admin-hdr-close{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);width:28px;height:28px;border-radius:7px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;}
.admin-toolbar{display:flex;gap:8px;padding:10px 18px 8px;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;}
.admin-btn{padding:6px 14px;border-radius:7px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:11px;font-family:inherit;transition:all .12s;white-space:nowrap;}
.admin-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.admin-btn.danger:hover{background:#f43f5e;border-color:#f43f5e;}
.admin-btn.success{background:var(--accent-green);color:#fff;border-color:var(--accent-green);}
.admin-search{flex:1;min-width:140px;padding:6px 10px;border-radius:7px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:11px;font-family:inherit;}
.admin-table-wrap{flex:1;overflow:auto;}
table.admin-table{width:100%;border-collapse:collapse;font-size:11px;}
table.admin-table th{position:sticky;top:0;background:var(--bg-tertiary);padding:8px 10px;text-align:left;color:var(--accent);font-weight:700;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;}
table.admin-table td{padding:7px 10px;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;}
table.admin-table tr:hover td{background:rgba(6,182,212,.06);}
.admin-key{font-family:monospace;font-size:10px;background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;color:var(--accent);}
.admin-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:9px;font-weight:700;}
.admin-badge.active,.admin-badge.ok{background:rgba(16,185,129,.2);color:#10b981;}
.admin-badge.inactive,.admin-badge.expired{background:rgba(244,63,94,.2);color:#f43f5e;}
.admin-badge.warn{background:rgba(245,158,11,.2);color:#f59e0b;}
.admin-machines-bar{display:inline-flex;align-items:center;gap:5px;width:60px;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;}
.admin-machines-bar div{height:100%;border-radius:3px;transition:width .3s;}
.admin-machines-bg{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;}
.admin-machines-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s;}
/* Admin edit modal */
#admin-edit-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;}
#admin-edit-modal.active{display:flex;}
#admin-edit-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px 28px;width:min(96vw,520px);box-shadow:0 20px 60px rgba(0,0,0,.6);}
.admin-edit-title{font-size:14px;font-weight:800;color:var(--accent);margin-bottom:16px;}
.admin-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.admin-edit-field{display:flex;flex-direction:column;gap:3px;}
.admin-edit-field.full{grid-column:1/-1;}
.admin-edit-field label{font-size:10px;color:var(--text-secondary);font-weight:600;letter-spacing:.04em;}
.admin-edit-field input,.admin-edit-field select{padding:7px 10px;border-radius:7px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:11px;font-family:inherit;width:100%;box-sizing:border-box;}
.admin-edit-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end;}
/* GPS annotation badge on canvas */
.gps-lock-indicator{position:absolute;top:6px;left:50%;transform:translateX(-50%);background:rgba(6,182,212,.9);color:#fff;font-size:9px;font-weight:700;padding:3px 10px;border-radius:10px;pointer-events:none;letter-spacing:.05em;opacity:0;transition:opacity .2s;}
.gps-lock-indicator.visible{opacity:1;}
/* Admin button in left panel */
.lp-admin-btn{width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;background:none;border:1px solid rgba(6,182,212,.3);border-radius:8px;color:var(--accent);cursor:pointer;font-size:9px;font-family:inherit;margin:4px 8px;width:calc(100% - 16px);transition:all .12s;}
.lp-admin-btn:hover{background:rgba(6,182,212,.15);}
/* Ortho layer panel in right panel */
.ortho-section{padding:6px 0 2px;}
.ortho-load-btn{width:100%;padding:7px;background:var(--bg-tertiary);border:1px dashed var(--accent);border-radius:6px;color:var(--accent);cursor:pointer;font-size:10px;font-family:inherit;transition:all .12s;}
.ortho-load-btn:hover{background:var(--accent-glow);}
.ortho-active-row{display:flex;align-items:center;gap:4px;margin-top:4px;display:none;}
.ortho-active-row.visible{display:flex;}
.ortho-name{font-size:9px;color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ortho-remove-btn{background:none;border:none;color:var(--accent-hot);cursor:pointer;font-size:13px;padding:0 2px;line-height:1;}
.ortho-opacity-row{display:flex;align-items:center;gap:6px;margin-top:3px;display:none;}
.ortho-opacity-row.visible{display:flex;}
.ortho-opacity-row label{font-size:9px;color:var(--text-secondary);white-space:nowrap;}
.ortho-opacity-row input{flex:1;accent-color:var(--accent);height:3px;}
.ortho-builder-panel{margin-top:8px;padding:8px;border:1px solid rgba(20,184,166,.22);border-radius:6px;background:rgba(20,184,166,.045);display:grid;gap:6px;}
.ortho-builder-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.ortho-builder-head b{font-size:10px;font-weight:950;color:#0f766e;text-transform:uppercase;letter-spacing:.05em;}
.ortho-builder-head span{font-size:8px;font-weight:850;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;}
.ortho-builder-analyse{height:26px;border:1px solid rgba(8,145,178,.34);border-radius:5px;background:rgba(8,145,178,.08);color:var(--accent);font:inherit;font-size:9px;font-weight:900;cursor:pointer;}
.ortho-builder-analyse:hover{background:rgba(8,145,178,.16);}
.ortho-builder-status{font-size:9px;font-weight:800;color:var(--text-muted);line-height:1.25;}
.ortho-builder-metrics{display:grid;grid-template-columns:1fr 1fr;gap:4px;}
.ortho-builder-metrics span,.ortho-builder-projects span{min-width:0;border:1px solid rgba(148,163,184,.18);border-radius:4px;background:rgba(255,255,255,.55);padding:4px 5px;color:var(--text-muted);font-size:8px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ortho-builder-metrics b,.ortho-builder-projects b{color:var(--text-primary);font-weight:950;}
.ortho-builder-projects{display:grid;gap:3px;}
.ortho-builder-quality{display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;gap:5px;font-size:9px;color:var(--text-muted);font-weight:850;}
.ortho-builder-quality input{width:100%;height:3px;accent-color:#14b8a6;}
.ortho-builder-quality b{font-size:9px;color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums;}
.ortho-builder-quality-scale{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;margin-top:-2px;color:var(--text-muted);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;}
.ortho-builder-quality-scale div{position:relative;height:16px;border-top:1px solid rgba(20,184,166,.32);}
.ortho-builder-quality-scale span{position:absolute;top:-4px;transform:translateX(-50%);width:1px;height:14px;}
.ortho-builder-quality-scale span i{display:block;width:1px;height:6px;background:#14b8a6;}
.ortho-builder-quality-scale span b{position:absolute;top:7px;left:50%;transform:translateX(-50%);max-width:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f766e;font-size:6px;font-weight:950;}
.ortho-builder-quality-scale em{font-style:normal;white-space:nowrap;}
.ortho-builder-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;}
.ortho-builder-actions select,.ortho-builder-actions button{min-width:0;height:26px;border:1px solid rgba(148,163,184,.24);border-radius:5px;background:var(--bg-tertiary);color:var(--text-secondary);font:inherit;font-size:8px;font-weight:900;padding:0 6px;}
.ortho-builder-actions button{background:rgba(148,163,184,.12);cursor:not-allowed;}
.ortho-builder-actions button:not(:disabled){background:rgba(20,184,166,.12);border-color:rgba(20,184,166,.34);color:#0f766e;cursor:pointer;}
.ortho-builder-actions button:not(:disabled):hover{background:rgba(20,184,166,.2);}
/* Batch export progress */
.ss-batch-progress{display:none;padding:8px;background:var(--bg-tertiary);border-radius:6px;margin-top:6px;}
.ss-batch-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-top:4px;}
.ss-batch-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .2s;}
.ss-batch-text{font-size:10px;color:var(--text-secondary);margin-top:3px;}

/* Repository/media UX additions */
.sl-map-history{display:grid;grid-template-columns:26px 26px;gap:2px;background:rgba(15,23,42,.86);border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:3px;box-shadow:0 4px 14px rgba(0,0,0,.25);}
.sl-map-history button{width:26px;height:24px;border:0;border-radius:3px;background:rgba(255,255,255,.92);color:#0f172a;font-size:18px;line-height:20px;cursor:pointer;font-weight:800;}
.sl-map-history button:disabled{opacity:.35;cursor:not-allowed;}
.sl-map-history .sl-map-lasso-btn,.sl-map-history .sl-map-measure-btn{grid-column:1/-1;width:54px;height:24px;font-size:9px;line-height:12px;text-transform:uppercase;letter-spacing:.02em;background:rgba(224,247,254,.96);color:#0e7490;border:1px solid rgba(6,182,212,.42);}
.sl-map-history .sl-map-lasso-btn.active{background:#0891b2;color:#fff;box-shadow:0 0 0 2px rgba(6,182,212,.22);}
.sl-map-history .sl-map-measure-btn{background:rgba(254,226,226,.96);color:#b91c1c;border-color:rgba(239,68,68,.44);}
.sl-map-history .sl-map-measure-btn.active{background:#ef4444;color:#fff;box-shadow:0 0 0 2px rgba(239,68,68,.22);}
.leaflet-container.sl-map-lasso-armed{cursor:crosshair!important;}
.leaflet-container.sl-map-lasso-drawing{cursor:crosshair!important;}
.leaflet-container.sl-map-measure-armed{cursor:crosshair!important;}
.sl-map-selection-popover{position:fixed;z-index:9000;border:1px solid rgba(8,145,178,.42);border-radius:8px;background:rgba(248,250,252,.98);box-shadow:0 16px 42px rgba(15,23,42,.28);padding:10px;display:grid;gap:7px;color:#0f172a;}
.sl-map-selection-popover.working{opacity:.82;}
.sms-title{font-size:12px;font-weight:950;color:#0f172a;}
.sms-meta{font-size:10px;font-weight:800;color:#64748b;}
.sms-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.sms-actions button{height:28px;border:1px solid rgba(148,163,184,.32);border-radius:6px;background:#fff;color:#334155;font-size:10px;font-weight:950;padding:0 10px;cursor:pointer;}
.sms-actions button[data-map-selection-act="load"]{background:#0891b2;border-color:#0891b2;color:#fff;}
.sms-actions button[data-map-selection-act="unload"]{background:#f8fafc;color:#0f766e;border-color:rgba(15,118,110,.28);}
.sms-actions button:hover:not(:disabled){filter:brightness(.98);box-shadow:0 0 0 2px rgba(8,145,178,.12);}
.sms-actions button:disabled{opacity:.55;cursor:wait;}
.media-date-mode{max-width:92px;}
.media-date-slider{position:relative;height:28px;margin:3px 10px 5px 10px;}
.media-date-slider input[type=range]{position:absolute;left:0;right:0;width:100%;top:1px;pointer-events:none;accent-color:var(--accent);height:4px;background:transparent;}
.media-date-slider input[type=range]::-webkit-slider-thumb{pointer-events:auto;}
.media-date-slider .mds-label{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:9px;color:var(--text-muted);}
.media-place-dd{position:absolute;left:8px;right:8px;top:100%;z-index:60;background:var(--bg-secondary);border:1px solid rgba(6,182,212,.25);box-shadow:0 8px 24px rgba(0,0,0,.35);display:none;max-height:210px;overflow:auto;border-radius:6px;}
.media-place-dd.visible{display:block;}
.media-place-hit{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;font-size:11px;color:var(--text-secondary);cursor:pointer;}
.media-place-hit span{font-size:9px;color:var(--text-muted);text-transform:uppercase;}
.media-place-hit.active,.media-place-hit:hover{background:rgba(6,182,212,.12);color:var(--text-primary);}
.lib-repo-manager{border-bottom:1px solid rgba(255,255,255,.07);background:rgba(15,23,42,.35);padding:7px 12px;display:flex;flex-direction:column;gap:6px;}
.lrm-head{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--text-secondary);}
.lrm-head span{flex:1;color:var(--accent);}
.lrm-head button{font-size:9px;border:1px solid rgba(148,163,184,.35);background:rgba(255,255,255,.04);color:var(--text-secondary);border-radius:4px;padding:2px 6px;cursor:pointer;}
.lrm-head button:hover{border-color:var(--accent);color:var(--accent);}
.lrm-check{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-secondary);}
.lrm-note,.lib-batch-empty{font-size:9px;color:var(--text-muted);}
.lib-import-batches{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow:auto;}
.lib-batch-row{border:1px solid rgba(148,163,184,.16);border-radius:5px;padding:5px 7px;background:rgba(255,255,255,.035);}
.lib-batch-row.running{border-color:rgba(6,182,212,.35);}
.lib-batch-row.failed{border-color:rgba(239,68,68,.38);background:rgba(239,68,68,.055);}
.lib-batch-main{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--text-secondary);}
.lib-batch-src,.lib-batch-stats{font-size:9px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lib-batch-action{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;border:1px solid rgba(8,145,178,.26);border-radius:5px;background:rgba(8,145,178,.07);padding:5px 6px;}
.lib-batch-action button{height:24px;border:1px solid rgba(8,145,178,.35);border-radius:4px;background:rgba(8,145,178,.11);color:var(--accent);font:inherit;font-size:9px;font-weight:900;cursor:pointer;}
.lib-batch-action button:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.lib-batch-action span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:9px;font-weight:800;}
.system-monitor-card{margin-top:12px;padding:10px 12px;border:1px solid rgba(6,182,212,.2);border-radius:8px;background:rgba(6,182,212,.06);}
.smc-title{font-size:11px;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;}
.smc-lines{font-size:11px;color:var(--text-secondary);line-height:1.55;}
.veh-actions{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:10px;pointer-events:auto;}
.veh-actions button{font-size:10px;border:1px solid rgba(255,255,255,.22);background:rgba(15,23,42,.82);color:#e2e8f0;border-radius:4px;padding:4px 8px;cursor:pointer;}
.veh-actions button:hover{border-color:var(--accent);color:var(--accent);}
.defect-map-toggle{display:flex;align-items:center;gap:6px;margin:5px 10px 7px;font-size:10px;color:var(--text-secondary);}
.feature-capture-panel{position:absolute;right:12px;top:88px;z-index:470;display:none;width:min(390px,calc(100% - 24px));max-height:min(430px,calc(100% - 112px));overflow:auto;background:rgba(248,250,252,.96);border:1px solid rgba(6,182,212,.32);border-radius:6px;box-shadow:0 12px 34px rgba(15,23,42,.24);padding:8px;gap:6px;grid-template-columns:1fr 1fr;backdrop-filter:blur(8px);}
.feature-capture-panel:before{content:'';position:absolute;right:28px;top:-7px;width:12px;height:12px;background:inherit;border-left:1px solid rgba(6,182,212,.32);border-top:1px solid rgba(6,182,212,.32);transform:rotate(45deg);}
[data-theme="dark"] .feature-capture-panel{background:rgba(16,22,36,.96);}
.feature-capture-panel.active{display:grid;}
.feature-capture-head{grid-column:1/-1;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);}
.feature-field{background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font:inherit;font-size:11px;padding:6px 7px;min-width:0;}
.feature-field:focus{outline:none;border-color:var(--accent);}
.feature-desc{resize:vertical;min-height:31px;max-height:84px;}
.feature-templates{grid-column:1/-1;display:flex;gap:4px;overflow-x:auto;padding-bottom:1px;}
.feature-templates button{border:1px solid rgba(148,163,184,.28);background:rgba(148,163,184,.08);color:var(--text-secondary);border-radius:4px;padding:3px 6px;font-size:9px;font-weight:800;font-family:inherit;cursor:pointer;white-space:nowrap;}
.feature-templates button:hover,.feature-templates button.active{background:rgba(249,115,22,.16);border-color:#f97316;color:#f97316;}
.feature-templates button.category-match:not(.active){border-color:rgba(6,182,212,.28);background:rgba(6,182,212,.08);color:#0891b2;}
.feature-severity-row{grid-column:1/-1;display:grid;grid-template-columns:auto repeat(3,minmax(72px,1fr));align-items:center;gap:5px;border:1px solid rgba(148,163,184,.22);border-radius:5px;background:rgba(255,255,255,.58);padding:4px 5px;}
.feature-severity-row span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;}
.feature-severity-pill{height:24px;border:1px solid rgba(148,163,184,.28);border-radius:4px;background:rgba(248,250,252,.78);color:var(--text-secondary);font-family:inherit;font-size:9px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;}
.feature-severity-pill i{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.6);}
.feature-severity-pill.sev-green i{background:#10b981;}
.feature-severity-pill.sev-amber i{background:#f59e0b;}
.feature-severity-pill.sev-red i{background:#ef4444;}
.feature-severity-pill:hover,.feature-severity-pill.active{background:#fff;border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px rgba(6,182,212,.1);}
.feature-severity-pill.active.sev-green{border-color:#10b981;color:#047857;background:rgba(16,185,129,.08);}
.feature-severity-pill.active.sev-amber{border-color:#f59e0b;color:#b45309;background:rgba(245,158,11,.10);}
.feature-severity-pill.active.sev-red{border-color:#ef4444;color:#b91c1c;background:rgba(239,68,68,.09);}
.feature-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:5px;}
.feature-actions button{border:1px solid rgba(6,182,212,.34);background:rgba(6,182,212,.1);color:var(--accent);border-radius:4px;padding:5px 7px;font-size:10px;font-weight:800;font-family:inherit;cursor:pointer;}
.feature-actions button:hover:not(:disabled){background:var(--accent);color:#fff;}
.feature-actions button.active{background:#f97316;border-color:#f97316;color:#fff;}
.feature-actions button:disabled{opacity:.4;cursor:not-allowed;}
.feature-line-status{grid-column:1/-1;font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums;}
.feature-capture-panel.map-pick{border-color:rgba(249,115,22,.55);box-shadow:0 14px 38px rgba(249,115,22,.2);}
body.feature-map-pick #main-map{cursor:crosshair;}
.feature-draft-label{background:#f97316;color:#fff;border:1px solid #fff;border-radius:999px;font-size:9px;font-weight:800;line-height:14px;min-width:14px;height:14px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.28);}
.feature-map-label{background:rgba(15,23,42,.86);color:#fff;border:1px solid rgba(255,255,255,.24);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800;white-space:nowrap;box-shadow:0 1px 5px rgba(0,0,0,.28);}
.feature-point-marker,.feature-line-node{background:transparent!important;border:0!important;display:flex!important;align-items:center;justify-content:center;}
.feature-point-marker span{display:block;width:15px;height:15px;transform:rotate(45deg);border:2px solid #fff;border-radius:2px;box-shadow:0 2px 8px rgba(0,0,0,.38),0 0 0 1px rgba(15,23,42,.55);}
.feature-line-node span{display:block;width:9px;height:9px;transform:rotate(45deg);border:1.5px solid #fff;border-radius:2px;box-shadow:0 1px 5px rgba(0,0,0,.35),0 0 0 1px rgba(15,23,42,.45);}
.feature-edit-handle{width:20px;height:20px;border-radius:999px;background:#f97316;color:#fff;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35);display:flex!important;align-items:center;justify-content:center;font-size:10px;font-weight:900;cursor:grab;}
.feature-edit-handle:active{cursor:grabbing;}
body.feature-shp-drag:after{content:'Drop shapefile set to import features';position:fixed;left:50%;top:78px;transform:translateX(-50%);z-index:10050;background:rgba(15,23,42,.92);color:#fff;border:1px solid rgba(16,185,129,.5);border-radius:6px;padding:9px 14px;font-size:12px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.28);}
.sl-path-arrow-wrap{pointer-events:none;background:transparent!important;border:0!important;display:flex!important;align-items:center;justify-content:center;position:relative!important;width:28px!important;height:28px!important;overflow:visible!important;}
.sl-path-arrow-svg{width:28px;height:28px;display:block;overflow:visible;transform-origin:50% 50%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));}
.sl-path-arrow-casing,.sl-path-arrow-core{fill:none;stroke-linecap:round;stroke-linejoin:round;}
.sl-path-arrow-casing{stroke:rgba(255,255,255,.9);stroke-width:5;}
.sl-path-arrow-core{stroke:#0f172a;stroke-width:2.2;}
.sl-camera-arrow{position:absolute;left:22px;top:2px;width:16px;height:14px;display:flex;align-items:center;justify-content:center;color:#f97316;background:transparent;border:0;border-radius:0;font-size:13px;line-height:1;text-shadow:0 1px 0 #fff,0 -1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff;}
.sl-chainage-label{background:rgba(15,23,42,.78);color:#e2e8f0;border:1px solid rgba(255,255,255,.16);border-radius:4px;padding:1px 5px;font-size:9px;white-space:nowrap;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.22);}
.compare-select-panel{position:absolute;left:88px;top:12px;transform:none;z-index:660;display:flex;align-items:center;gap:6px;background:rgba(15,23,42,.86);border:1px solid rgba(148,163,184,.26);border-radius:6px;padding:5px 6px;box-shadow:0 6px 18px rgba(0,0,0,.22);backdrop-filter:blur(8px);max-width:calc(100% - 370px);}
.compare-select-panel button{border:1px solid rgba(6,182,212,.38);background:rgba(6,182,212,.12);color:#67e8f9;border-radius:4px;font-size:10px;font-weight:800;padding:4px 7px;cursor:pointer;font-family:inherit;white-space:nowrap;}
.compare-select-panel button:hover:not(:disabled){background:rgba(6,182,212,.22);}
.compare-select-panel button:disabled{opacity:.38;cursor:not-allowed;}
.compare-select-panel.selecting{border-color:rgba(124,58,237,.58);background:rgba(49,46,129,.86);}
.compare-select-panel.collapsed{max-width:none;padding:4px;}
.compare-select-panel.collapsed .compare-select-count,.compare-select-panel.collapsed #compare-select-ok,.compare-select-panel.collapsed #compare-select-cancel{display:none;}
.compare-select-count{font-size:10px;color:#cbd5e1;min-width:96px;text-align:center;}
.sl-path-preview{background:rgba(15,23,42,.94)!important;border:1px solid rgba(148,163,184,.35)!important;border-radius:6px!important;color:#e2e8f0!important;box-shadow:0 8px 22px rgba(0,0,0,.3)!important;padding:7px 8px!important;}
.sl-path-preview-title{font-size:11px;font-weight:900;margin-bottom:5px;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;}
.sl-path-preview-grid{display:grid;grid-template-columns:auto auto;column-gap:10px;row-gap:2px;font-size:10px;}
.sl-path-preview-grid span{color:#94a3b8;}
.sl-path-preview-grid b{font-weight:800;color:#e2e8f0;text-align:right;}
/* Add pane button */
.ss-add-btn{position:absolute;bottom:50px;left:8px;width:28px;height:28px;border-radius:6px;background:var(--bg-tertiary);border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;z-index:8;transition:all .15s;}.ss-add-btn:hover{border-color:var(--accent);color:var(--accent);}
/* Add picker */
.ss-add-picker{position:absolute;bottom:84px;left:8px;background:var(--bg-secondary);border:var(--pane-border);border-radius:8px;padding:10px;z-index:9;min-width:200px;max-height:300px;overflow-y:auto;box-shadow:0 8px 24px rgba(0,0,0,.5);}
.ss-add-title{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.ss-add-item{padding:5px 8px;border-radius:4px;font-size:11px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .12s;}
.ss-add-item:hover{background:var(--accent-glow);color:var(--accent);}
.ss-add-item .ss-ai-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.ss-add-close{width:100%;margin-top:6px;background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-muted);padding:4px;border-radius:4px;cursor:pointer;font-size:10px;font-family:inherit;}

/* SIDEBAR */
.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg-secondary);border-left:var(--pane-border);display:flex;flex-direction:column;overflow:hidden;transition:width .25s ease;border-radius:var(--pane-radius) 0 0 var(--pane-radius);margin:4px 0 4px 0;}
.sidebar.collapsed{width:0;min-width:0;border-left:none;margin:0;}
.sidebar-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);width:22px;height:52px;background:var(--accent);border:none;border-radius:8px 0 0 8px;cursor:pointer;z-index:70;display:flex;align-items:center;justify-content:center;color:#fff;transition:right .25s ease,background .15s;box-shadow:-2px 0 8px rgba(6,182,212,.3);}
.sidebar-toggle:hover{background:var(--accent-hot);}
.sidebar-toggle svg{width:13px;height:13px;transition:transform .25s;}
.sidebar.collapsed~.sidebar-toggle{right:0;}
.sidebar:not(.collapsed)~.sidebar-toggle{right:var(--sidebar-w);}
.sidebar.collapsed~.sidebar-toggle svg{transform:rotate(180deg);}
/* Sidebar drag handle — vertical bar on left edge of sidebar */
.sidebar-drag{position:absolute;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:71;display:flex;align-items:center;justify-content:center;}
.sidebar-drag::after{content:'';width:3px;height:40px;background:var(--border);border-radius:2px;transition:background .15s,height .15s;}
.sidebar-drag:hover::after,.sidebar-drag.active::after{background:var(--accent);height:60px;}
.sidebar.collapsed .sidebar-drag{display:none;}

/* Bottom utility drawer */
.utility-drawer{--utility-drawer-height:clamp(140px,18vh,190px);--utility-drawer-collapsed-height:38px;position:relative;height:var(--utility-drawer-height);flex:0 0 var(--utility-drawer-height);min-height:var(--utility-drawer-height);margin:0 4px 4px 4px;background:var(--bg-secondary);border:var(--pane-border);border-radius:var(--pane-radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -3px 14px rgba(15,23,42,.08);transition:opacity .18s;}
.utility-drawer.collapsed{height:var(--utility-drawer-collapsed-height)!important;flex:0 0 var(--utility-drawer-collapsed-height)!important;min-height:var(--utility-drawer-collapsed-height)!important;}
.utility-drawer-resize{position:absolute;left:0;right:0;top:-4px;height:9px;z-index:5;cursor:row-resize;display:flex;align-items:center;justify-content:center;}
.utility-drawer-resize::after{content:"";width:96px;height:3px;border-radius:999px;background:rgba(8,145,178,.32);box-shadow:0 0 0 1px rgba(255,255,255,.75);}
.utility-drawer-resize:hover::after,.utility-drawer-resize.active::after{background:#0891b2;width:148px;}
.utility-drawer.collapsed .utility-drawer-resize{display:none;}
.utility-drawer-head{height:28px;min-height:28px;display:flex;align-items:center;gap:4px;padding:0 5px;border-bottom:var(--pane-border);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0));}
.utility-drawer.collapsed .utility-drawer-head{height:38px;min-height:38px;border-bottom:0;background:linear-gradient(180deg,rgba(8,145,178,.11),rgba(15,23,42,.02));}
.utility-tabs{display:flex;align-items:center;gap:3px;min-width:0;overflow-x:auto;overflow-y:hidden;flex:1;padding-bottom:1px;scrollbar-width:thin;}
.ud-tab{height:22px;border:1px solid transparent;background:transparent;color:var(--text-muted);border-radius:4px;padding:0 7px;font-size:8.5px;font-weight:850;letter-spacing:.025em;text-transform:uppercase;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .14s,border-color .14s,color .14s,box-shadow .14s;}
.ud-tab:hover{color:var(--text-primary);background:rgba(6,182,212,.08);border-color:rgba(6,182,212,.18);}
.ud-tab.active{background:rgba(6,182,212,.15);border-color:rgba(6,182,212,.42);color:var(--accent);box-shadow:inset 0 -2px 0 rgba(8,145,178,.22);}
.utility-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.ud-action,.ud-collapse{height:22px;border:1px solid rgba(6,182,212,.36);background:rgba(6,182,212,.1);color:var(--accent);border-radius:4px;padding:0 7px;font-size:8.5px;font-weight:900;font-family:inherit;cursor:pointer;white-space:nowrap;}
.ud-action:hover,.ud-collapse:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.ud-collapse{min-width:112px;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1;text-transform:uppercase;letter-spacing:.02em;flex:0 0 auto;box-shadow:inset 0 -2px 0 rgba(8,145,178,.22),0 0 0 1px rgba(8,145,178,.08);}
.ud-collapse b{font-size:14px;line-height:1;font-weight:900;}
.ud-tab:focus-visible,.ud-collapse:focus-visible{outline:2px solid rgba(8,145,178,.72);outline-offset:1px;}
.utility-drawer.collapsed .utility-tabs{padding-bottom:0;}
.utility-drawer.collapsed .ud-tab.active{background:rgba(8,145,178,.2);border-color:rgba(8,145,178,.54);box-shadow:inset 0 -2px 0 rgba(8,145,178,.38);}
.utility-drawer.collapsed .ud-collapse{background:rgba(8,145,178,.14);border-color:rgba(8,145,178,.42);}
.utility-drawer.collapsed .ud-tab{height:22px;padding:0 7px;}
.utility-drawer.collapsed .ud-collapse{height:22px;box-shadow:inset 0 -2px 0 rgba(8,145,178,.24);}
.utility-drawer-body{flex:1;min-height:0;overflow:hidden;background:rgba(255,255,255,.015);}
.utility-drawer.collapsed .utility-drawer-body{display:none;}
.utility-panel{display:none;height:100%;min-height:0;overflow:auto;padding:0;}
.utility-panel.active{display:block;}
.utility-panel .sb-section-title{position:relative;top:auto;z-index:1;background:rgba(148,163,184,.08);border-top:0;padding:5px 9px 4px;font-size:9.5px;}
.utility-panel .sb-section-content{max-height:none;}
.utility-panel .sb-section-content.collapsed{max-height:0!important;}
.telemetry-grid{height:auto;padding:8px 10px 7px;display:grid;grid-template-columns:repeat(6,minmax(82px,1fr));align-items:start;gap:6px 9px;}
.telemetry-grid .info-cell{min-width:0;}
.telemetry-grid .info-cell .value{font-size:13px;line-height:1.1;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;}
.telemetry-grid .info-cell .label{font-size:9px;}
.telemetry-overlay-toggle{grid-column:span 2;display:flex;align-items:center;gap:6px;min-height:30px;font-size:10px;font-weight:700;color:var(--text-secondary);border:1px solid rgba(148,163,184,.18);background:rgba(148,163,184,.06);border-radius:4px;padding:4px 7px;}
.telemetry-overlay-toggle input{accent-color:var(--accent);}
.utility-drawer .alt-sparkline{height:38px;padding:2px 10px 5px;border-top:var(--pane-border);border-bottom:0;}
.utility-info-layout{height:100%;display:grid;grid-template-columns:minmax(210px,300px) minmax(180px,1fr) minmax(170px,220px);gap:8px;padding:8px;box-sizing:border-box;}
.utility-telemetry-layout{height:100%;display:grid;grid-template-columns:minmax(156px,220px) minmax(460px,1fr) minmax(190px,270px) 112px;gap:6px;padding:6px;box-sizing:border-box;overflow:hidden;}
.utility-telemetry-main{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 36px;gap:5px;}
.utility-telemetry-layout .telemetry-grid{height:auto;min-height:0;padding:0;grid-template-columns:repeat(7,minmax(68px,1fr));gap:5px 8px;overflow:hidden;}
.utility-telemetry-layout .telemetry-grid .info-cell .value{font-size:12px;line-height:1.08;}
.utility-telemetry-layout .telemetry-grid .info-cell .label{font-size:8px;}
.utility-telemetry-layout .telemetry-overlay-toggle{grid-column:span 2;min-height:24px;padding:2px 6px;}
.utility-telemetry-layout .alt-sparkline{height:auto;padding:0;border:0;}
.utility-telemetry-layout .telemetry-profile-strip{height:100%;padding:0;border:1px solid rgba(203,213,225,.8);}
.utility-telemetry-layout .utility-info-meta{overflow:hidden;padding:7px;}
.utility-telemetry-layout .utility-info-meta .flight-meta,.utility-telemetry-layout .utility-info-meta .flight-summary{font-size:10px;line-height:1.22;}
.utility-telemetry-layout .export-btns{display:flex;flex-direction:column;gap:5px;justify-content:center;min-width:0;}
.utility-telemetry-layout .export-btn{width:100%;height:24px;font-size:9.5px;}
.utility-locator{display:flex;flex-direction:column;min-height:0;border:var(--pane-border);border-radius:6px;overflow:hidden;background:var(--bg-primary);}
.utility-locator #locator-map{height:auto;min-height:54px;flex:1 1 auto;border-bottom:var(--pane-border);}
.utility-info-meta{min-height:0;overflow:auto;border:var(--pane-border);border-radius:6px;background:var(--bg-primary);padding:8px;}
.utility-info-meta .flight-meta,.utility-info-meta .flight-summary{font-size:11px;}
.utility-info-layout .export-btns{display:flex;flex-direction:column;gap:5px;align-self:stretch;justify-content:center;}
.utility-info-layout .export-btn{width:100%;}
.utility-panel .weather-card{margin:8px;background:var(--bg-primary);}
.utility-panel .weather-card .wc-grid{grid-template-columns:repeat(4,minmax(100px,1fr));gap:5px 14px;}
.utility-jobs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;height:100%;box-sizing:border-box;overflow:auto;}
.utility-job-card{border:1px solid rgba(148,163,184,.22);border-radius:6px;background:var(--bg-primary);padding:10px;display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;}
.uj-label{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);}
.uj-value{font-size:11px;line-height:1.35;color:var(--text-secondary);}
.utility-job-card .uj-value small{display:block;color:var(--text-muted);font-size:10px;font-weight:800;margin-top:2px;line-height:1.25;}
.utility-job-card.sl-job-card{border-color:rgba(8,145,178,.24);background:linear-gradient(180deg,#fff,#f8fafc);}
.utility-job-card.sl-job-card.queued .uj-label{color:#7c3aed;}
.utility-job-card.sl-job-card.running .uj-label{color:#0891b2;}
.utility-job-card.sl-job-card.ready .uj-label,.utility-job-card.sl-job-card.complete .uj-label{color:#047857;}
.utility-job-card.sl-job-card.failed .uj-label{color:#dc2626;}
.utility-job-card.sl-job-card.paused .uj-label{color:#d97706;}
.utility-job-card.sl-job-card.cancelled .uj-label{color:#64748b;}
.utility-job-card.sl-job-card.recoverable{border-color:rgba(217,119,6,.32);background:linear-gradient(180deg,#fff,#fffbeb);}
.sl-job-progress{display:block;height:4px;margin-top:2px;border-radius:999px;overflow:hidden;background:rgba(148,163,184,.22);}
.sl-job-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0891b2,#10b981);transition:width .18s ease;}
.sl-job-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:2px;}
.sl-job-actions button{height:22px;padding:0 8px;border:1px solid rgba(8,145,178,.24);border-radius:4px;background:#fff;color:#0891b2;font-size:9px;font-weight:900;text-transform:uppercase;line-height:1;cursor:pointer;}
.sl-job-actions button:hover{background:rgba(6,182,212,.1);border-color:rgba(8,145,178,.46);}
.utility-job-card.sl-job-card.failed .sl-job-progress i{background:#dc2626;}
.utility-job-card.sl-job-card.paused .sl-job-progress i{background:#d97706;}
.utility-job-card.sl-job-card.cancelled .sl-job-progress i{background:#64748b;}
.utility-job-card.sl-job-empty{border-style:dashed;background:#fbfdff;}
.flight-pair-reel{height:100%;min-height:0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:5px;padding:4px 5px;box-sizing:border-box;background:linear-gradient(180deg,#fff,#f8fafc);}
.flight-pair-controls{min-width:0;height:100%;display:flex;flex-direction:column;gap:3px;padding:4px;border:1px solid rgba(148,163,184,.18);border-radius:6px;background:rgba(248,250,252,.72);box-sizing:border-box;overflow:auto;}
.flight-pair-controls strong{display:none;}
.flight-pair-controls span{display:flex;align-items:center;min-height:19px;border:1px solid rgba(8,145,178,.16);border-radius:4px;background:#ecfeff;color:#0f766e;padding:0 4px;font-size:7px;font-weight:950;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.flight-pair-controls select{width:100%;height:20px;min-width:0;border:1px solid rgba(148,163,184,.3);border-radius:4px;background:#fff;color:#334155;font:inherit;font-size:7px;font-weight:850;padding:0 3px;}
.flight-pair-controls button{height:19px;border:1px solid rgba(8,145,178,.22);border-radius:4px;background:#ecfeff;color:#0891b2;font:inherit;font-size:7px;font-weight:950;padding:0 5px;cursor:pointer;}
.flight-pair-controls button:hover{background:#0891b2;color:#fff;border-color:#0891b2;}
.flight-pair-list{height:100%;min-height:0;display:flex;gap:7px;overflow:auto;padding:0 2px 2px;align-items:stretch;scroll-snap-type:x proximity;}
.flight-pair-empty{display:flex;align-items:center;justify-content:center;min-width:360px;height:100%;border:1px dashed rgba(148,163,184,.34);border-radius:7px;background:#f8fafc;color:#64748b;font-size:11px;font-weight:850;padding:0 12px;}
.flight-pair-card{position:relative;width:clamp(410px,39vw,610px);min-width:clamp(410px,39vw,610px);max-width:610px;height:100%;min-height:0;border:1px solid rgba(148,163,184,.28);border-radius:6px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.06);padding:4px;display:grid;grid-template-rows:minmax(52px,1fr) 28px 32px;gap:3px;cursor:pointer;align-self:stretch;box-sizing:border-box;align-content:stretch;scroll-snap-align:start;overflow:hidden;}
.flight-pair-card:hover,.flight-pair-card.prompted{border-color:#0891b2;box-shadow:0 0 0 1px rgba(8,145,178,.16),0 8px 18px rgba(8,145,178,.12);}
.flight-pair-thumbs{position:relative;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.flight-pair-thumb{position:relative;min-height:0;border-radius:5px;overflow:hidden;background:#e2e8f0;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:9px;font-weight:900;}
.flight-pair-thumb img{width:100%;height:100%;object-fit:cover;image-rendering:auto;transform:translateZ(0);}
.flight-pair-thumb b{position:absolute;left:5px;top:5px;width:18px;height:18px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:950;background:#0891b2;box-shadow:0 4px 12px rgba(15,23,42,.18);}
.flight-pair-thumb.b b{background:#7c3aed;}
.flight-pair-chip-row{position:absolute;left:6px;right:6px;bottom:6px;z-index:3;display:flex;align-items:center;gap:4px;min-width:0;pointer-events:none;}
.flight-pair-chip-row span{min-width:0;height:18px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.4);border-radius:4px;background:rgba(15,23,42,.72);box-shadow:0 5px 14px rgba(15,23,42,.18);color:#f8fafc;padding:0 6px;font-size:7.5pt;font-weight:950;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.flight-pair-geometry{min-width:0;height:28px;display:grid;grid-template-columns:minmax(92px,1fr) auto;align-items:center;gap:5px;padding:0 5px;border:1px solid rgba(148,163,184,.2);border-radius:4px;background:transparent;box-sizing:border-box;overflow:hidden;}
.flight-pair-geometry svg{width:100%;height:26px;display:block;overflow:visible;}
.flight-pair-geometry-path{fill:none;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.flight-pair-geometry-a{stroke:#0891b2;}
.flight-pair-geometry-b{stroke:#7c3aed;stroke-dasharray:6 5;}
.flight-pair-geometry-caption{min-width:0;display:flex;align-items:center;gap:4px;color:#334155;font-size:7.5pt;font-weight:950;line-height:1;white-space:nowrap;overflow:hidden;}
.flight-pair-geometry-caption span,.flight-pair-geometry-caption em{height:18px;display:inline-flex;align-items:center;gap:3px;border:1px solid rgba(148,163,184,.22);border-radius:4px;background:#f8fafc;padding:0 5px;font-style:normal;white-space:nowrap;}
.flight-pair-geometry-caption b{width:14px;height:14px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:7px;font-weight:950;background:#0891b2;}
.flight-pair-geometry-caption .b b{background:#7c3aed;}
.flight-pair-geometry-caption em{color:#0f766e;background:#ecfeff;border-color:rgba(8,145,178,.18);}
.flight-pair-dates{display:grid;grid-template-columns:1fr 1fr;gap:4px;}
.flight-pair-dates span{min-width:0;height:32px;border:1px solid rgba(148,163,184,.28);border-radius:4px;background:#f8fafc;color:#334155;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;column-gap:5px;padding:2px 6px;font-size:8pt;font-weight:950;overflow:hidden;}
.flight-pair-dates b{width:16px;height:16px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:8px;font-weight:950;background:#0891b2;flex:0 0 auto;}
.flight-pair-dates .b b{background:#7c3aed;}
.flight-pair-dates i,.flight-pair-dates em{min-width:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:normal;line-height:1;}
.flight-pair-dates i{font-size:8pt;color:#0f172a;}
.flight-pair-dates em{font-size:7.5pt;color:#64748b;font-weight:850;}
.flight-pair-dates b{grid-row:1/3;}
.flight-pair-detail{display:none;gap:4px;min-width:0;align-content:start;}
.flight-pair-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-size:8pt;font-weight:950;color:#0f172a;}
.flight-pair-title span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.flight-pair-title b{border:1px solid rgba(8,145,178,.24);border-radius:999px;background:rgba(224,247,254,.8);color:#0f766e;padding:2px 6px;font-size:9px;font-weight:950;white-space:nowrap;}
.flight-pair-meta{display:grid;grid-template-columns:1fr 1fr auto;gap:5px;color:#64748b;font-size:8pt;font-weight:850;}
.flight-pair-meta span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.flight-pair-badges{display:none;}
.flight-pair-badge{border:1px solid rgba(16,185,129,.26);border-radius:4px;background:rgba(16,185,129,.08);color:#047857;padding:2px 5px;font-size:9px;font-weight:900;white-space:nowrap;}
.flight-pair-why{display:none;}
.flight-pair-action{height:27px;border:1px solid rgba(8,145,178,.34);border-radius:5px;background:#f8fafc;color:#0891b2;font:inherit;font-size:10px;font-weight:950;cursor:pointer;}
.flight-pair-action:hover{background:#0891b2;color:#fff;border-color:#0891b2;}
.flight-pair-prompt{position:absolute;left:7px;right:7px;top:7px;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:5px;padding:6px;border:1px solid rgba(8,145,178,.34);border-radius:6px;background:rgba(248,250,252,.96);box-shadow:0 8px 20px rgba(15,23,42,.18);backdrop-filter:blur(5px);}
.flight-pair-prompt span{min-width:0;color:#0f172a;font-size:9px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.flight-pair-prompt button{height:24px;border:1px solid rgba(8,145,178,.28);border-radius:5px;background:#fff;color:#0891b2;font:inherit;font-size:9px;font-weight:950;padding:0 9px;cursor:pointer;}
.flight-pair-prompt button[data-pair-open]{background:#0891b2;color:#fff;border-color:#0891b2;}
.utility-panel .defect-list,.utility-panel .feature-manager-list{overflow:auto;}
#utility-panel-features.active{display:flex;flex-direction:column;min-height:0;}
#utility-panel-features>.sb-section-title{flex:0 0 auto;}
#utility-panel-features>.sb-section-content{flex:0 0 auto;min-height:0;}
#utility-panel-features>.sb-section-content:not(.collapsed){flex:1 1 0;display:flex;flex-direction:column;overflow:auto;}
#utility-panel-features #defects-section:not(.collapsed) .defect-list,
#utility-panel-features #feature-manager-section:not(.collapsed) .feature-manager-list{max-height:none;flex:1 1 auto;min-height:72px;scrollbar-gutter:stable;}
#utility-panel-features #feature-manager-section:not(.collapsed) .feature-manager-tools,
#utility-panel-features #feature-manager-section:not(.collapsed) .feature-manager-drop,
#utility-panel-features #defects-section:not(.collapsed) .defect-filter,
#utility-panel-features #defects-section:not(.collapsed) .defect-kb-hint,
#utility-panel-features #defects-section:not(.collapsed) .defect-search,
#utility-panel-features #defects-section:not(.collapsed) .feature-export-note{flex:0 0 auto;}
#utility-panel-features #feature-manager-section:not(.collapsed) .feature-manager-tools{grid-template-columns:minmax(180px,1fr) minmax(116px,150px) auto minmax(130px,170px);align-items:center;gap:5px 6px;padding:5px 8px 4px;}
#utility-panel-features #feature-manager-section:not(.collapsed) .feature-manager-check,
#utility-panel-features #feature-manager-section:not(.collapsed) .feature-manager-actions{grid-column:auto;}
#utility-panel-features #feature-manager-section:not(.collapsed) .feature-manager-actions{display:flex;align-items:center;gap:4px;margin-bottom:0;}
#utility-panel-features #feature-manager-section:not(.collapsed) #feature-manager-import,
#utility-panel-features #feature-manager-section:not(.collapsed) #feature-manager-clear{min-height:22px;flex:1 1 0;padding:0 6px;white-space:nowrap;}
#utility-panel-features #feature-manager-section:not(.collapsed) .feature-manager-drop{display:none;}
@media(max-width:980px){
    #utility-panel-features #feature-manager-section:not(.collapsed) .feature-manager-tools{grid-template-columns:minmax(160px,1fr) minmax(104px,132px);}
    #utility-panel-features #feature-manager-section:not(.collapsed) .feature-manager-check{grid-column:1/2;}
    #utility-panel-features #feature-manager-section:not(.collapsed) .feature-manager-actions{grid-column:2/3;display:grid;}
}
.utility-panel .defect-actions,.utility-panel .feature-manager-actions{margin-bottom:6px;}
.asset-registry-summary{margin:6px 0;border:1px solid rgba(8,145,178,.18);border-radius:6px;background:linear-gradient(180deg,#fff,#f8fafc);overflow:hidden;}
.asset-summary-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-bottom:1px solid rgba(226,232,240,.9);}
.asset-summary-head strong{font-size:10px;color:#0f172a;}
.asset-summary-head span{font-size:9px;font-weight:900;color:#0891b2;}
.asset-summary-kinds{display:flex;gap:5px;flex-wrap:wrap;padding:6px 8px;border-bottom:1px solid rgba(226,232,240,.72);}
.asset-summary-kinds span{display:inline-flex;gap:4px;align-items:center;border:1px solid rgba(8,145,178,.18);border-radius:999px;background:#ecfeff;color:#0f766e;padding:2px 6px;font-size:9px;font-weight:850;}
.asset-summary-kinds b{font-weight:950;color:#0891b2;}
.asset-summary-list{display:grid;gap:1px;}
.asset-summary-row{display:grid;grid-template-columns:64px minmax(120px,1fr) minmax(120px,1.4fr);gap:7px;align-items:center;padding:5px 8px;border-top:1px solid rgba(241,245,249,.85);font-size:9px;color:#475569;}
.asset-summary-row:first-child{border-top:0;}
.asset-summary-row span{font-weight:950;text-transform:uppercase;color:#64748b;}
.asset-summary-row b{min-width:0;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.asset-summary-row em{min-width:0;font-style:normal;font-weight:750;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.asset-summary-empty{padding:8px;color:#64748b;font-size:10px;font-weight:800;}

/* Media focus mode: maximise video/compare/inspection surface area */
body[data-workspace-layout="compact"] .main-area{padding:2px;}
body[data-workspace-layout="compact"] .pane.pip{border-radius:var(--control-radius);box-shadow:0 10px 32px rgba(0,0,0,.28);border:1px solid rgba(6,182,212,.38);}
body[data-workspace-layout="wide-map"] #map-pane{min-width:max(420px,32%);}
body[data-workspace-layout="immersive"] .topbar{border-bottom-color:rgba(6,182,212,.35);}
body.media-focus #left-panel,body.media-focus #sidebar,body.media-focus #sidebar-toggle,body.media-focus #utility-drawer{display:none!important;}
body.media-focus .nav-rail-reveal{display:none!important;}
body.media-focus #viewer,body.media-focus #mode-inspection{margin-left:0!important;}
body.media-focus .main-area{padding:0;}
body.media-focus .pane{border-radius:0;}
body.media-focus #compare-overlay{inset:0;border-radius:0;border:0;}
body.media-focus .cmp-bar{top:8px;}
body.media-focus .cmp-candidate-strip{top:48px;}
body.media-focus #mode-inspection{height:calc(100vh - 48px);}
body.media-focus #mode-inspection .insp-sidebar,body.media-focus #mode-inspection .insp-sb-toggle,body.media-focus #mode-inspection .insp-map-strip{display:none!important;}
body.media-focus #mode-inspection .insp-video-grid{padding:0;gap:1px;}
body.media-focus #mode-inspection .insp-video-panel{border-radius:0;}
body.media-focus #mode-inspection .insp-layout-bar{display:flex!important;opacity:1;visibility:visible;}

@media (max-width: 1120px){
    .telemetry-grid{grid-template-columns:repeat(3,minmax(82px,1fr));}
    .telemetry-overlay-toggle{grid-column:span 3;}
    .utility-telemetry-layout{grid-template-columns:minmax(150px,210px) minmax(360px,1fr) 112px;}
    .utility-telemetry-layout .utility-info-meta{display:none;}
    .utility-telemetry-layout .telemetry-grid{grid-template-columns:repeat(4,minmax(68px,1fr));}
    .utility-telemetry-layout .telemetry-overlay-toggle{grid-column:span 2;}
    .utility-info-layout{grid-template-columns:minmax(180px,240px) minmax(160px,1fr);}
    .utility-info-layout .export-btns{grid-column:1/-1;flex-direction:row;justify-content:flex-start;}
    .utility-panel .weather-card .wc-grid{grid-template-columns:repeat(2,minmax(100px,1fr));}
}

/* CRS Toggle */
.crs-toggle{height:var(--control-height);display:flex;background:rgba(255,255,255,.03);border:1px solid var(--control-border);border-radius:var(--control-radius);overflow:hidden;flex-shrink:0;}
.crs-btn{background:transparent;border:none;border-right:1px solid rgba(148,163,184,.18);color:var(--text-muted);padding:0 8px;cursor:pointer;font-size:10px;font-weight:800;font-family:inherit;letter-spacing:.5px;transition:background .12s,color .12s;line-height:var(--control-height);}
.crs-btn:last-child{border-right:0;}
.crs-btn:hover{color:var(--text-primary);background:var(--surface-control-hover);}
.crs-btn.active{background:var(--accent);color:#fff;}

/* KML Immersive pane */
.kml-pane{background:var(--bg-primary);position:relative;display:none;}
.kml-pane canvas{width:100%;height:100%;border-radius:calc(var(--pane-radius) - 1px);}
.kml-pane .kml-label{position:absolute;bottom:8px;left:12px;font-size:10px;color:var(--text-muted);background:rgba(10,14,23,.75);padding:3px 8px;border-radius:4px;}

/* Compare Studio */
body.compare-studio-active #sidebar,
body.compare-studio-active #sidebar-toggle,
body.compare-studio-active #utility-drawer{display:none!important;}
body.compare-studio-active #left-panel{display:flex!important;transform:translateX(0)!important;pointer-events:auto!important;}
body.compare-studio-active .nav-rail-reveal{display:none!important;}
body.compare-studio-active #viewer{margin-left:var(--left-rail-width)!important;}
body.nav-rail-hidden.compare-studio-active #viewer{margin-left:var(--left-rail-width)!important;}
#compare-overlay{position:absolute;inset:4px;z-index:720;background:#eef3f7;display:none;flex-direction:column;border-radius:8px;overflow:hidden;border:1px solid rgba(148,163,184,.28);box-shadow:0 18px 44px rgba(15,23,42,.18);}
#compare-overlay.active{display:flex;}
.cmp-studio-head{min-height:58px;flex:0 0 auto;display:grid;grid-template-columns:minmax(170px,250px) minmax(230px,.75fr) minmax(360px,1.25fr);grid-template-areas:"title workflow actions" "selectors selectors actions";align-items:center;gap:3px 6px;padding:4px 8px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(148,163,184,.26);}
.cmp-studio-title{grid-area:title;display:flex;align-items:center;gap:5px;min-width:0;}
.cmp-studio-title span{font-size:13px;font-weight:900;color:#0f172a;letter-spacing:.01em;white-space:nowrap;}
.cmp-studio-title small{display:none;}
.cmp-project-select{height:24px;min-width:150px;max-width:210px;border:1px solid rgba(148,163,184,.35);border-radius:5px;background:#f8fafc;color:#334155;font:inherit;font-size:9px;font-weight:900;padding:0 6px;}
.cmp-workflow-nav{grid-area:workflow;display:flex;align-items:center;gap:4px;min-width:0;}
.cmp-workflow-nav button{height:24px;border:1px solid rgba(148,163,184,.28);border-radius:5px;background:#f8fafc;color:#475569;font:inherit;font-size:9px;font-weight:950;padding:0 7px;white-space:nowrap;cursor:pointer;}
.cmp-workflow-nav button:hover,.cmp-workflow-nav button.active{background:#e0f7fe;border-color:rgba(8,145,178,.42);color:#0891b2;box-shadow:inset 0 -2px 0 rgba(8,145,178,.22);}
#compare-overlay.cmp-geometry-picking .cmp-studio-head{grid-template-columns:minmax(170px,250px) minmax(520px,1fr);grid-template-areas:"title actions" "selectors selectors";min-height:52px;}
#compare-overlay.cmp-geometry-picking .cmp-workflow-nav{display:none!important;}
#compare-overlay.cmp-geometry-picking .cmp-studio-actions{gap:3px;}
#compare-overlay.cmp-geometry-picking .cmp-studio-title span::after{content:" · Pick A/B";font-size:10px;font-weight:950;color:#047857;letter-spacing:0;margin-left:4px;}
#compare-overlay.cmp-workbench-collapsed:not(.cmp-geometry-picking) .cmp-studio-head{grid-template-columns:minmax(170px,260px) minmax(540px,1fr);grid-template-areas:"title actions" "selectors selectors";min-height:52px;}
#compare-overlay.cmp-workbench-collapsed:not(.cmp-geometry-picking) .cmp-workflow-nav{display:none!important;}
#compare-overlay.cmp-workbench-collapsed:not(.cmp-geometry-picking) .cmp-studio-actions{justify-content:flex-end;gap:3px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not(.cmp-geometry-picking) .cmp-studio-head{grid-template-columns:minmax(190px,280px) minmax(360px,1fr) auto;grid-template-areas:"title selectors actions";min-height:36px;padding:3px 8px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not(.cmp-geometry-picking) .cmp-workflow-nav{display:none!important;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not(.cmp-geometry-picking) .cmp-studio-actions{justify-content:flex-end;gap:3px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not(.cmp-geometry-picking) .cmp-studio-selectors{padding-bottom:0;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not(.cmp-geometry-picking) .cmp-studio-selectors select{height:22px;}
#compare-overlay:not(.cmp-flicker-active) #cmp-flicker-swap,
#compare-overlay:not(.cmp-flicker-active) #cmp-flicker-auto,
#compare-overlay:not(.cmp-flicker-active) #cmp-flicker-reveal,
#compare-overlay:not(.cmp-flicker-active) .cmp-flicker-keep-label,
#compare-overlay:not(.cmp-flicker-active) #cmp-flicker-status{display:none!important;}
#compare-overlay[data-cmp-workflow="review"] .cmp-workbench-tabs{border-bottom-color:rgba(249,115,22,.32);}
#compare-overlay[data-cmp-workflow="review"] #cmp-tab-features{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.34);color:#c2410c;}
#compare-overlay[data-cmp-workflow="timeline"] .cmp-transport{box-shadow:inset 0 0 0 1px rgba(124,58,237,.22),0 -8px 24px rgba(124,58,237,.06);}
#compare-overlay[data-cmp-workflow="timeline"] .cmp-ruler{box-shadow:0 0 0 1px rgba(124,58,237,.24);}
#compare-overlay[data-cmp-workflow="export"] .cmp-workbench-tabs{border-bottom-color:rgba(16,185,129,.34);}
#compare-overlay[data-cmp-workflow="export"] #cmp-tab-export{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.34);color:#047857;}
#compare-overlay[data-cmp-workflow="quick"] #cmp-wipe,
#compare-overlay[data-cmp-workflow="quick"] #cmp-add-c,
#compare-overlay[data-cmp-workflow="quick"] #cmp-add-d,
#compare-overlay[data-cmp-workflow="quick"] #cmp-annotate-btn,
#compare-overlay[data-cmp-workflow="quick"] #cmp-save-pair,
#compare-overlay[data-cmp-workflow="review"] #cmp-wipe,
#compare-overlay[data-cmp-workflow="review"] #cmp-add-c,
#compare-overlay[data-cmp-workflow="review"] #cmp-add-d,
#compare-overlay[data-cmp-workflow="timeline"] #cmp-annotate-btn,
#compare-overlay[data-cmp-workflow="timeline"] #cmp-save-pair,
#compare-overlay[data-cmp-workflow="export"] #cmp-wipe,
#compare-overlay[data-cmp-workflow="export"] #cmp-flicker,
#compare-overlay[data-cmp-workflow="export"] #cmp-flicker-swap,
#compare-overlay[data-cmp-workflow="export"] #cmp-flicker-auto,
#compare-overlay[data-cmp-workflow="export"] #cmp-flicker-reveal,
#compare-overlay[data-cmp-workflow="export"] .cmp-flicker-keep-label,
#compare-overlay[data-cmp-workflow="export"] #cmp-flicker-status,
#compare-overlay[data-cmp-workflow="export"] #cmp-add-c,
#compare-overlay[data-cmp-workflow="export"] #cmp-add-d,
#compare-overlay[data-cmp-workflow="export"] #cmp-annotate-btn,
#compare-overlay[data-cmp-workflow="export"] #cmp-save-pair{display:none!important;}
.cmp-studio-selectors,.cmp-studio-actions{display:flex;align-items:center;gap:4px;min-width:0;}
.cmp-studio-selectors{grid-area:selectors;position:relative;z-index:1;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;row-gap:4px;align-content:center;padding-bottom:1px;}
.cmp-studio-actions{grid-area:actions;position:relative;z-index:3;justify-content:flex-end;overflow-x:auto;overflow-y:visible;background:rgba(255,255,255,.94);scrollbar-width:none;}
.cmp-studio-actions::-webkit-scrollbar,.cmp-studio-selectors::-webkit-scrollbar{height:0;}
.cmp-studio-selectors select{height:24px;width:clamp(104px,9vw,164px);min-width:104px;max-width:164px;background:#fff;border:1px solid rgba(148,163,184,.35);border-radius:5px;color:#1e293b;font:inherit;font-size:10px;font-weight:700;padding:0 6px;}
.cmp-selector-date{height:20px;min-width:66px;max-width:82px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:#f8fafc;color:#475569;font-size:8px;font-weight:950;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-selector-date.a{background:#ecfeff;border-color:rgba(8,145,178,.32);color:#0e7490;}
.cmp-selector-date.b{background:#f5f3ff;border-color:rgba(124,58,237,.32);color:#6d28d9;}
.cmp-selector-date:empty{display:none;}
.cmp-cycle-chip{height:20px;min-width:82px;max-width:112px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:#f8fafc;color:#475569;font-size:8px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-cycle-chip.b{background:#faf5ff;border-color:rgba(124,58,237,.28);color:#5b21b6;}
.cmp-cycle-chip.b.broader{background:#fff7ed;border-color:rgba(249,115,22,.34);color:#c2410c;}
.cmp-cycle-chip:empty{display:none;}
.cmp-side-chip{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;color:#fff;font-size:11px;font-weight:900;box-shadow:0 1px 3px rgba(15,23,42,.18);}
.cmp-side-chip.a{background:#0891b2;}
.cmp-side-chip.b{background:#7c3aed;}
.cmp-side-chip.c{background:#f97316;}
.cmp-side-chip.d{background:#10b981;}
.cmp-extra-selector{display:none;align-items:center;gap:5px;}
.cmp-extra-selector.active{display:inline-flex;}
.cmp-extra-selector select{width:clamp(98px,8vw,148px);min-width:98px;max-width:148px;}
.cmp-nav-btn{background:#f8fafc;border:1px solid rgba(148,163,184,.35);color:#475569;width:23px;height:23px;border-radius:5px;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0;font-family:inherit;}
.cmp-nav-btn:hover{background:#0891b2;color:#fff;border-color:#0891b2;}
.cmp-orient-btn,.cmp-exit{height:24px;background:#fff;border:1px solid rgba(148,163,184,.35);color:#475569;padding:0 8px;border-radius:4px;cursor:pointer;font-size:9px;font-family:inherit;font-weight:900;white-space:nowrap;}
.cmp-orient-btn:hover,.cmp-orient-btn.active{background:#0891b2;color:#fff;border-color:#0891b2;}
.cmp-tools-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:78px;}
.cmp-tools-toggle b{font-size:11px;line-height:1;transform:translateY(-1px);}
.cmp-ab-layout-group{display:inline-flex;align-items:center;height:24px;border:1px solid rgba(8,145,178,.34);border-radius:4px;background:#f0f9ff;overflow:hidden;flex:0 0 auto;}
.cmp-ab-layout-group::before{content:"A/B layout";display:inline-flex;align-items:center;height:100%;padding:0 6px;background:rgba(236,254,255,.9);border-right:1px solid rgba(8,145,178,.22);color:#0f766e;font-size:7px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.cmp-ab-layout-group .cmp-orient-btn{height:22px;border:0;border-left:1px solid rgba(8,145,178,.2);border-radius:0;background:#fff;color:#0e7490;padding:0 8px;}
.cmp-ab-layout-group .cmp-orient-btn:first-of-type{border-left:0;}
.cmp-ab-layout-group .cmp-orient-btn:hover,.cmp-ab-layout-group .cmp-orient-btn.active{background:#0891b2;color:#fff;}
#cmp-map-side,#cmp-map-bottom{border-color:rgba(8,145,178,.34);background:#f0f9ff;color:#0e7490;}
#cmp-map-side{display:inline-flex;align-items:center;gap:5px;padding-left:5px;border-radius:4px 0 0 4px;}
#cmp-map-side::before{content:"Map layout";display:inline-flex;align-items:center;height:16px;padding:0 5px;border-radius:3px;background:rgba(255,255,255,.86);border:1px solid rgba(8,145,178,.22);color:#0f766e;font-size:7px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;}
#cmp-map-bottom{margin-left:-4px;border-left-color:rgba(8,145,178,.2);border-radius:0 4px 4px 0;}
#cmp-map-side:hover,#cmp-map-bottom:hover,#cmp-map-side.active,#cmp-map-bottom.active{background:#0891b2;border-color:#0891b2;color:#fff;}
#cmp-map-side:hover::before,#cmp-map-side.active::before{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.32);color:#ecfeff;}
#compare-overlay #cmp-map-side,#compare-overlay #cmp-map-bottom{display:none!important;}
#cmp-map-toggle{border-color:rgba(8,145,178,.34);background:#f8fafc;color:#0e7490;}
#cmp-map-toggle.active{background:#0891b2;border-color:#0891b2;color:#fff;}
.cmp-pick-header{border-color:rgba(16,185,129,.4);color:#047857;background:#ecfdf5;}
.cmp-pick-header:hover,.cmp-pick-header.active{background:#047857;color:#fff;border-color:#047857;}
.cmp-exit{background:#0891b2;color:#fff;border-color:#0891b2;padding:0 10px;}
.cmp-exit:hover{background:#0f766e;border-color:#0f766e;}
.cmp-export-menu{position:relative;display:inline-flex;align-items:center;}
.cmp-export-menu-panel{position:absolute;right:0;top:32px;z-index:50;display:none;min-width:230px;padding:5px;border:1px solid rgba(148,163,184,.32);border-radius:6px;background:#fff;box-shadow:0 14px 28px rgba(15,23,42,.18);}
.cmp-export-menu.open .cmp-export-menu-panel{display:grid;gap:4px;}
.cmp-export-menu-summary{display:grid;gap:2px;padding:7px 8px;border:1px solid rgba(8,145,178,.22);border-radius:5px;background:linear-gradient(180deg,#e0f7fe,#f8fafc);color:#334155;}
.cmp-export-menu-summary strong{font-size:11px;font-weight:950;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-export-menu-summary span{font-size:9px;font-weight:850;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-export-menu-panel button{height:28px;border:0;border-radius:4px;background:transparent;color:#334155;text-align:left;font:inherit;font-size:10px;font-weight:900;padding:0 9px;cursor:pointer;}
.cmp-export-menu-panel button:hover{background:#e0f7fe;color:#0891b2;}
.cmp-export-menu-panel button:disabled{opacity:.48;cursor:not-allowed;background:#f8fafc;color:#94a3b8;}
.cmp-vs{font-size:10px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.08em;}
.cmp-studio-main{flex:1;min-height:0;display:flex;gap:4px;padding:4px 4px 0 4px;background:#eef3f7;}
.cmp-videos{display:flex;flex:1;min-height:0;position:relative;border:1px solid rgba(148,163,184,.28);border-radius:7px;overflow:hidden;background:#020617;}
.cmp-videos.cmp-grid-2x2{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,1fr);gap:2px;background:#f8fafc;}
.cmp-videos.vertical{flex-direction:column;}
.cmp-videos.cmp-wipe-mode{display:block;--cmp-wipe:50%;}
.cmp-map-edge-toggle{position:absolute;right:8px;top:50%;z-index:14;transform:translateY(-50%);height:28px;min-width:64px;padding:0 10px;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:rgba(15,23,42,.64);color:#fff;font:inherit;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.02em;box-shadow:0 8px 18px rgba(15,23,42,.24);cursor:pointer;opacity:.68;transition:opacity .14s ease,background .14s ease,border-color .14s ease,transform .14s ease;backdrop-filter:blur(8px);}
.cmp-videos:hover .cmp-map-edge-toggle,.cmp-map-edge-toggle:focus-visible{opacity:1;background:#0891b2;border-color:#67e8f9;outline:none;transform:translateY(-50%) scale(1.02);}
#compare-overlay.cmp-map-dock-side .cmp-map-edge-toggle{right:0;width:28px;min-width:28px;height:62px;padding:0;border-right:0;border-radius:8px 0 0 8px;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;letter-spacing:.05em;}
#compare-overlay.cmp-map-dock-hidden .cmp-map-edge-toggle{opacity:.82;background:rgba(8,145,178,.94);border-color:rgba(103,232,249,.78);}
#compare-overlay.cmp-map-dock-bottom .cmp-map-edge-toggle{top:auto;right:10px;bottom:10px;transform:none;}
#compare-overlay.cmp-map-dock-bottom .cmp-videos:hover .cmp-map-edge-toggle,#compare-overlay.cmp-map-dock-bottom .cmp-map-edge-toggle:focus-visible{transform:scale(1.02);}
#compare-overlay.cmp-geometry-picking .cmp-map-edge-toggle{display:none!important;}
#compare-overlay.cmp-geometry-picking #cmp-map-toggle,
#compare-overlay.cmp-geometry-picking #cmp-hud-toggle,
#compare-overlay.cmp-geometry-picking .cmp-map-collapse{display:none!important;}
.cmp-pane{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden;min-width:0;min-height:0;background:#000;}
.cmp-pane video,.cmp-pane>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;transform-origin:center center;will-change:transform;}
.cmp-pane.cmp-pane-underfit video,.cmp-pane.cmp-pane-underfit>img{object-fit:contain;}
.cmp-pane.cmp-pane-loading video,.cmp-pane.cmp-pane-loading>img{opacity:.66;filter:saturate(.8) brightness(.78);}
.cmp-pane-loading-bar{position:absolute;left:50%;top:50%;z-index:30;width:min(280px,72%);height:32px;transform:translate(-50%,-50%);display:grid;grid-template-rows:auto 4px;gap:7px;padding:8px 10px;border:1px solid rgba(103,232,249,.52);border-radius:7px;background:rgba(15,23,42,.82);box-shadow:0 16px 38px rgba(15,23,42,.34);backdrop-filter:blur(8px);pointer-events:none;}
.cmp-pane-loading-bar[hidden]{display:none!important;}
.cmp-pane-loading-bar span{min-width:0;color:#ecfeff;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;}
.cmp-pane-loading-bar i{position:relative;display:block;height:4px;border-radius:999px;background:rgba(226,232,240,.2);overflow:hidden;}
.cmp-pane-loading-bar i::before{content:"";position:absolute;inset:0 auto 0 0;width:42%;border-radius:999px;background:linear-gradient(90deg,#0891b2,#67e8f9);animation:cmp-loading-sweep 1.1s ease-in-out infinite;}
.cmp-pair-loading-strip{position:absolute;left:50%;top:12px;z-index:31;width:min(420px,calc(100% - 48px));display:grid;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:10px;padding:7px 10px;border-radius:999px;border:1px solid rgba(103,232,249,.44);background:rgba(15,23,42,.76);color:#ecfeff;box-shadow:0 12px 28px rgba(15,23,42,.24);backdrop-filter:blur(8px);transform:translateX(-50%);pointer-events:none;}
.cmp-pair-loading-strip[hidden]{display:none!important;}
.cmp-pair-loading-strip span{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.cmp-pair-loading-strip i{position:relative;height:4px;border-radius:999px;background:rgba(226,232,240,.24);overflow:hidden;}
.cmp-pair-loading-strip i::before{content:"";position:absolute;inset:0 auto 0 0;width:45%;border-radius:999px;background:linear-gradient(90deg,#0891b2,#7c3aed);animation:cmp-loading-sweep 1s ease-in-out infinite;}
@keyframes cmp-loading-sweep{0%{transform:translateX(-120%);}50%{transform:translateX(70%);}100%{transform:translateX(250%);}}
.cmp-pane{cursor:grab;}
.cmp-pane.dragging{cursor:grabbing;}
.cmp-pane.cmp-align-selected::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;border:2px solid rgba(103,232,249,.94);box-shadow:inset 0 0 0 1px rgba(15,23,42,.35),0 0 0 1px rgba(8,145,178,.18);}
.cmp-pane.left{border-right:2px solid rgba(248,250,252,.96);}
.cmp-pane.right{border-left:0;}
.cmp-pane.extra{display:none;}
.cmp-pane.extra.active{display:flex;}
.cmp-pane.extra.c{border-top:2px solid rgba(248,250,252,.96);}
.cmp-pane.extra.d{border-top:2px solid rgba(248,250,252,.96);}
.cmp-videos.cmp-grid-2x2 .cmp-pane{border:0!important;}
.cmp-videos.cmp-grid-2x2 .cmp-pane.left{box-shadow:inset 0 3px 0 #0891b2;}
.cmp-videos.cmp-grid-2x2 .cmp-pane.right{box-shadow:inset 0 3px 0 #7c3aed;}
.cmp-videos.cmp-grid-2x2 .cmp-pane.c{box-shadow:inset 0 3px 0 #f97316;}
.cmp-videos.cmp-grid-2x2 .cmp-pane.d{box-shadow:inset 0 3px 0 #10b981;}
.cmp-videos.cmp-grid-2x2.cmp-pane-focus-a,
.cmp-videos.cmp-grid-2x2.cmp-pane-focus-b,
.cmp-videos.cmp-grid-2x2.cmp-pane-focus-c,
.cmp-videos.cmp-grid-2x2.cmp-pane-focus-d{display:flex!important;}
.cmp-videos.cmp-pane-focus-a .cmp-pane.left,
.cmp-videos.cmp-pane-focus-b .cmp-pane.right,
.cmp-videos.cmp-pane-focus-c .cmp-pane.c,
.cmp-videos.cmp-pane-focus-d .cmp-pane.d{display:flex!important;flex:1 1 auto!important;border-left:0;border-right:0;border-top:0;border-bottom:0;box-shadow:none;}
.cmp-videos.cmp-pane-focus-a .cmp-pane.right,
.cmp-videos.cmp-pane-focus-a .cmp-pane.extra,
.cmp-videos.cmp-pane-focus-b .cmp-pane.left,
.cmp-videos.cmp-pane-focus-b .cmp-pane.extra,
.cmp-videos.cmp-pane-focus-c .cmp-pane.left,
.cmp-videos.cmp-pane-focus-c .cmp-pane.right,
.cmp-videos.cmp-pane-focus-c .cmp-pane.d,
.cmp-videos.cmp-pane-focus-d .cmp-pane.left,
.cmp-videos.cmp-pane-focus-d .cmp-pane.right,
.cmp-videos.cmp-pane-focus-d .cmp-pane.c,
.cmp-videos.cmp-pane-focus-a .cmp-center-divider,
.cmp-videos.cmp-pane-focus-b .cmp-center-divider,
.cmp-videos.cmp-pane-focus-c .cmp-center-divider,
.cmp-videos.cmp-pane-focus-d .cmp-center-divider{display:none!important;}
.cmp-videos.vertical .cmp-pane.left{border-right:none;border-bottom:2px solid rgba(248,250,252,.96);}
.cmp-videos.vertical .cmp-pane.right{border-left:none;border-top:0;}
.cmp-videos.cmp-wipe-mode .cmp-pane.left,
.cmp-videos.cmp-wipe-mode .cmp-pane.right{position:absolute;inset:0;width:100%;height:100%;display:flex!important;flex:none!important;border:0!important;}
.cmp-videos.cmp-wipe-mode .cmp-pane.left{z-index:1;box-shadow:inset 0 3px 0 #0891b2;}
.cmp-videos.cmp-wipe-mode .cmp-pane.right{z-index:2;clip-path:inset(0 0 0 var(--cmp-wipe));box-shadow:inset 0 3px 0 #7c3aed;}
.cmp-videos.cmp-wipe-mode .cmp-pane.extra{display:none!important;}
.cmp-videos.cmp-grid-2x2 .cmp-center-divider{display:none!important;}
.cmp-videos.cmp-flicker-mode{display:block;--cmp-flicker-a:1;--cmp-flicker-b:0;}
.cmp-videos.cmp-flicker-mode .cmp-pane.left,
.cmp-videos.cmp-flicker-mode .cmp-pane.right{position:absolute;inset:0;width:100%;height:100%;display:flex!important;flex:none!important;border:0!important;transition:none;}
.cmp-videos.cmp-flicker-mode .cmp-pane.left{z-index:2;opacity:var(--cmp-flicker-a);}
.cmp-videos.cmp-flicker-mode .cmp-pane.right{z-index:3;opacity:var(--cmp-flicker-b);}
.cmp-videos.cmp-flicker-mode.cmp-flicker-show-a{--cmp-flicker-a:1;--cmp-flicker-b:0;}
.cmp-videos.cmp-flicker-mode.cmp-flicker-show-b{--cmp-flicker-a:0;--cmp-flicker-b:1;}
.cmp-videos.cmp-flicker-mode.cmp-flicker-show-a .cmp-pane.right,
.cmp-videos.cmp-flicker-mode.cmp-flicker-show-b .cmp-pane.left{pointer-events:none;}
.cmp-videos.cmp-flicker-mode.cmp-flicker-reveal .cmp-pane.left,
.cmp-videos.cmp-flicker-mode.cmp-flicker-reveal .cmp-pane.right{opacity:1;pointer-events:none;}
.cmp-videos.cmp-flicker-mode.cmp-flicker-reveal.cmp-flicker-show-a .cmp-pane.left{z-index:2;clip-path:none;}
.cmp-videos.cmp-flicker-mode.cmp-flicker-reveal.cmp-flicker-show-a .cmp-pane.right{z-index:3;clip-path:inset(0 0 0 var(--cmp-reveal));}
.cmp-videos.cmp-flicker-mode.cmp-flicker-reveal.cmp-flicker-show-b .cmp-pane.right{z-index:2;clip-path:none;}
.cmp-videos.cmp-flicker-mode.cmp-flicker-reveal.cmp-flicker-show-b .cmp-pane.left{z-index:3;clip-path:inset(0 calc(100% - var(--cmp-reveal)) 0 0);}
.cmp-videos.cmp-flicker-mode .cmp-pane.extra{display:none!important;}
.cmp-videos.cmp-flicker-mode .cmp-center-divider{position:absolute;display:none!important;top:0;bottom:0;left:var(--cmp-reveal,50%);width:24px;height:auto;transform:translateX(-50%);z-index:9;background:rgba(248,250,252,.82);box-shadow:0 0 0 1px rgba(15,23,42,.16),0 8px 22px rgba(15,23,42,.22);}
.cmp-videos.cmp-flicker-mode.cmp-flicker-reveal .cmp-center-divider{display:flex!important;opacity:1;}
.cmp-flicker-swap[disabled],
.cmp-flicker-auto[disabled],
.cmp-flicker-reveal-btn[disabled],
.cmp-flicker-keep-label:has(input:disabled){opacity:.55;cursor:not-allowed;}
.cmp-flicker-swap{max-width:150px;overflow:hidden;text-overflow:ellipsis;}
.cmp-flicker-auto{height:24px;border:1px solid rgba(148,163,184,.45);border-radius:5px;background:#fff;color:#334155;font-size:9px;font-weight:800;padding:0 4px;}
.cmp-flicker-keep-label{height:24px;display:inline-flex;align-items:center;gap:3px;color:#475569;font-size:9px;font-weight:900;white-space:nowrap;}
.cmp-flicker-keep-label input{accent-color:#0891b2;margin:0;}
.cmp-flicker-status{align-self:center;min-width:50px;color:#64748b;font-size:9px;font-weight:800;text-transform:uppercase;}
.cmp-center-divider{width:12px;flex-shrink:0;background:rgba(248,250,252,.88);cursor:col-resize;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;z-index:2;border-left:1px solid rgba(148,163,184,.25);border-right:1px solid rgba(148,163,184,.25);}
.cmp-videos.vertical .cmp-center-divider{width:auto;height:12px;flex-direction:row;cursor:row-resize;}
.cmp-videos.cmp-wipe-mode .cmp-center-divider{position:absolute;display:flex!important;top:0;bottom:0;left:var(--cmp-wipe);width:24px;height:auto;transform:translateX(-50%);z-index:9;background:rgba(248,250,252,.82);box-shadow:0 0 0 1px rgba(15,23,42,.16),0 8px 22px rgba(15,23,42,.22);}
.cmp-drag-hint{width:2px;height:28px;background:linear-gradient(#0891b2,#7c3aed);border-radius:999px;}
.cmp-videos.vertical .cmp-drag-hint{width:28px;height:2px;}
.cmp-videos.cmp-wipe-mode .cmp-drag-hint{width:2px;height:30px;}
.cmp-divider-handle{width:26px;height:26px;border-radius:999px;background:#fff;border:1px solid rgba(148,163,184,.4);display:flex;align-items:center;justify-content:center;color:#475569;font-size:15px;font-weight:900;box-shadow:0 4px 12px rgba(15,23,42,.18);}
.cmp-telemetry-card{position:absolute;left:10px;top:10px;z-index:5;width:min(186px,calc(100% - 20px));padding:5px 7px;border-radius:5px;background:rgba(15,23,42,.58);color:#e2e8f0;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(7px);box-shadow:0 6px 14px rgba(0,0,0,.17);opacity:.94;}
.cmp-telemetry-card.b{border-color:rgba(167,139,250,.32);}
.cmp-pane:hover .cmp-telemetry-card,.cmp-pane:focus-within .cmp-telemetry-card{background:rgba(15,23,42,.7);opacity:1;}
.ct-head{display:flex;align-items:center;gap:5px;margin-bottom:0;border-bottom:0;padding-bottom:0;min-width:0;}
.ct-head strong{font-size:10px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.ct-grid{display:none;grid-template-columns:1fr 1fr;gap:2px 6px;margin-top:4px;padding-top:4px;border-top:1px solid rgba(255,255,255,.1);font-size:8px;font-weight:800;font-variant-numeric:tabular-nums;}
.cmp-pane:hover .ct-grid,.cmp-pane:focus-within .ct-grid{display:grid;}
.ct-grid span{display:flex;gap:4px;min-width:0;}
.ct-grid b{font-size:8px;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;}
.date-badge{position:static;background:transparent;border:0;border-radius:0;padding:0;font-size:9px;font-weight:900;color:#e2e8f0;letter-spacing:.02em;}
.date-badge:empty{display:none;}
#main-date-badge{position:absolute;left:50%;top:8px;transform:translateX(-50%);z-index:14;max-width:calc(100% - 96px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 8px;border-radius:4px;background:rgba(15,23,42,.74);box-shadow:0 6px 18px rgba(15,23,42,.18);pointer-events:none;}
.cmp-pane-transport{position:absolute;left:50%;right:auto;bottom:6px;z-index:7;width:min(620px,calc(100% - 18px));transform:translateX(-50%);display:grid;grid-template-columns:14px 20px minmax(98px,1fr) minmax(44px,auto) 22px;align-items:center;gap:3px;padding:2px 4px;border:1px solid rgba(255,255,255,.26);border-radius:5px;background:rgba(15,23,42,.42);backdrop-filter:blur(7px);box-shadow:0 4px 12px rgba(15,23,42,.14);opacity:.88;transition:opacity .14s ease,background .14s ease;}
.cmp-pane:hover .cmp-pane-transport,.cmp-pane:focus-within .cmp-pane-transport{opacity:1;background:rgba(15,23,42,.56);}
.cmp-pane-transport.b{border-color:rgba(196,181,253,.42);}
.cmp-pane-transport.c{border-color:rgba(253,186,116,.42);}
.cmp-pane-transport.d{border-color:rgba(110,231,183,.42);}
.cmp-pane-play{width:20px;height:20px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(255,255,255,.88);color:#0f172a;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 2px 6px rgba(15,23,42,.14);}
.cmp-pane-play:hover{background:#0891b2;border-color:#0891b2;color:#fff;}
.cmp-pane-play:disabled{opacity:.48;cursor:not-allowed;background:rgba(226,232,240,.9);color:#64748b;}
.cmp-pane-play svg{width:9px;height:9px;}
.cmp-pane-more{width:22px;height:20px;border:1px solid rgba(255,255,255,.26);border-radius:4px;background:rgba(15,23,42,.56);color:#e2e8f0;font:inherit;font-size:9px;font-weight:950;line-height:1;cursor:pointer;padding:0;}
.cmp-pane-more:hover,.cmp-pane-more[aria-expanded="true"]{border-color:rgba(6,182,212,.58);background:rgba(8,145,178,.82);color:#fff;}
.cmp-pane-more:disabled{opacity:.45;cursor:not-allowed;}
.cmp-pane-transport-chip{width:14px;height:14px;border-radius:4px;font-size:8px;box-shadow:0 0 0 1px rgba(255,255,255,.38),0 2px 6px rgba(15,23,42,.14);}
.cmp-pane-transport-chip[role=button]{cursor:pointer;outline:none;}
.cmp-pane-transport-chip[role=button]:hover,.cmp-pane-transport-chip[role=button]:focus-visible{box-shadow:0 0 0 2px rgba(255,255,255,.72),0 0 0 4px rgba(8,145,178,.38),0 2px 8px rgba(15,23,42,.2);}
.cmp-pane-sync-chip{display:none;position:absolute;right:5px;top:-20px;max-width:min(140px,calc(100% - 10px));height:17px;align-items:center;padding:0 7px;border-radius:999px;background:rgba(8,145,178,.92);border:1px solid rgba(103,232,249,.7);color:#ecfeff;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 6px 15px rgba(15,23,42,.22);}
.cmp-pane-sync-chip.active{display:inline-flex;}
.cmp-pane-transport.b .cmp-pane-sync-chip{background:rgba(124,58,237,.92);border-color:rgba(196,181,253,.72);}
.cmp-pane-transport.c .cmp-pane-sync-chip{background:rgba(249,115,22,.92);border-color:rgba(253,186,116,.72);}
.cmp-pane-transport.d .cmp-pane-sync-chip{background:rgba(16,185,129,.92);border-color:rgba(110,231,183,.72);}
.cmp-pane-sync-chip.reverse{background:rgba(217,119,6,.94);border-color:rgba(253,186,116,.78);color:#fff7ed;}
.cmp-pane-sync-chip.master{background:rgba(15,23,42,.9);border-color:rgba(255,255,255,.6);color:#f8fafc;}
.cmp-pane-seek{width:100%;height:10px;accent-color:#0891b2;min-width:0;}
.cmp-pane-seek.b{accent-color:#7c3aed;}
.cmp-pane-seek.c{accent-color:#f97316;}
.cmp-pane-seek.d{accent-color:#10b981;}
.cmp-pane-seek:disabled{opacity:.42;}
.cmp-pane-time{min-width:46px;max-width:92px;color:#e2e8f0;font-size:8px;font-weight:900;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-pane-quick-controls{grid-column:1/-1;display:none;align-items:center;justify-content:center;gap:3px;min-width:0;padding-top:1px;}
.cmp-pane:hover .cmp-pane-quick-controls,.cmp-pane:focus-within .cmp-pane-quick-controls,.cmp-pane-transport:hover .cmp-pane-quick-controls,.cmp-pane-transport.expanded .cmp-pane-quick-controls{display:flex;}
.cmp-pane-jump,.cmp-pane-rate{height:18px;border:1px solid rgba(255,255,255,.26);border-radius:4px;background:rgba(15,23,42,.62);color:#e2e8f0;font:inherit;font-size:7px;font-weight:900;padding:0 4px;line-height:1;box-shadow:none;}
.cmp-pane-jump{min-width:28px;cursor:pointer;}
.cmp-pane-rate{min-width:50px;cursor:pointer;}
.cmp-pane-jump:hover,.cmp-pane-rate:hover{border-color:rgba(6,182,212,.55);background:rgba(8,145,178,.8);color:#fff;}
.cmp-pane-jump:disabled,.cmp-pane-rate:disabled{opacity:.45;cursor:not-allowed;}
.cmp-pane-tools{position:absolute;right:8px;bottom:36px;top:auto;z-index:8;display:flex;align-items:center;gap:4px;max-width:min(72%,calc(100% - 20px));flex-wrap:wrap;justify-content:flex-end;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease,visibility .14s ease;}
.cmp-pane:hover .cmp-pane-tools,.cmp-pane:focus-within .cmp-pane-tools,.cmp-pane.cmp-pane-zoomed .cmp-pane-tools,.cmp-pane.dragging .cmp-pane-tools{opacity:1;visibility:visible;pointer-events:auto;transform:none;}
#compare-overlay:not(.cmp-geometry-picking):not(.cmp-hud-hidden) .cmp-pane-tools{opacity:.82;visibility:visible;pointer-events:auto;transform:none;}
#compare-overlay:not(.cmp-geometry-picking):not(.cmp-hud-hidden) .cmp-pane:hover .cmp-pane-tools,#compare-overlay:not(.cmp-geometry-picking):not(.cmp-hud-hidden) .cmp-pane:focus-within .cmp-pane-tools,#compare-overlay:not(.cmp-geometry-picking):not(.cmp-hud-hidden) .cmp-pane.cmp-pane-zoomed .cmp-pane-tools,#compare-overlay:not(.cmp-geometry-picking):not(.cmp-hud-hidden) .cmp-pane.dragging .cmp-pane-tools{opacity:1;}
.cmp-pane-tools.right-tools{right:8px;}
.cmp-pane-capturing .cmp-pane-tools{display:none!important;}
.cmp-pane-align{height:28px;display:flex;align-items:center;gap:2px;padding:2px;border:1px solid rgba(255,255,255,.38);border-radius:6px;background:rgba(15,23,42,.5);backdrop-filter:blur(7px);box-shadow:0 4px 10px rgba(15,23,42,.16);}
.cmp-align-selected .cmp-pane-align{border-color:rgba(103,232,249,.92);box-shadow:0 0 0 2px rgba(8,145,178,.24),0 4px 12px rgba(15,23,42,.18);}
.cmp-pane-align .cmp-pane-tool{width:23px;height:23px;box-shadow:none;font-size:14px;}
.cmp-zoom-readout{min-width:36px;height:23px;display:flex;align-items:center;justify-content:center;border-radius:4px;background:rgba(255,255,255,.9);color:#0f172a;font-size:9px;font-weight:950;font-variant-numeric:tabular-nums;}
.cmp-pane-tool{width:28px;height:28px;border-radius:5px;border:1px solid rgba(255,255,255,.46);background:rgba(255,255,255,.86);color:#334155;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 4px 10px rgba(15,23,42,.16);}
.cmp-pane-tool.fit{width:34px;font-size:9px;text-transform:uppercase;letter-spacing:.03em;}
.cmp-pane-tool:hover{background:#0891b2;border-color:#0891b2;color:#fff;}
.cmp-pane-tool.active{background:#0891b2;border-color:#0891b2;color:#fff;}
.cmp-live-pick-chip{position:absolute;left:12px;top:52px;z-index:8;max-width:calc(100% - 24px);padding:6px 9px;border-radius:6px;background:rgba(236,253,245,.94);border:1px solid rgba(16,185,129,.5);color:#047857;font-size:10px;font-weight:950;text-transform:uppercase;box-shadow:0 8px 20px rgba(15,23,42,.18);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;}
.cmp-pane-pick-loaded{box-shadow:inset 0 0 0 3px rgba(16,185,129,.88),0 0 0 2px rgba(16,185,129,.22);}
#cmp-right-panel{display:none;width:min(var(--cmp-map-side-w,400px),30vw);min-width:280px;flex-shrink:0;border:1px solid rgba(148,163,184,.28);border-radius:7px;overflow:hidden;position:relative;background:#fff;}
#compare-overlay.cmp-map-dock-side #cmp-right-panel{display:flex;flex-direction:column;}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel{width:var(--cmp-map-side-w,min(400px,30vw));}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel::before{content:"";position:absolute;left:0;top:38px;bottom:0;width:10px;z-index:430;border-radius:0 999px 999px 0;background:linear-gradient(180deg,rgba(8,145,178,.08),rgba(8,145,178,.32),rgba(8,145,178,.08));box-shadow:inset 1px 0 rgba(255,255,255,.72),inset -1px 0 rgba(8,145,178,.26);cursor:ew-resize;}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel::after{content:"Resize map";position:absolute;left:14px;top:50%;z-index:431;transform:translateY(-50%) rotate(-90deg);height:16px;padding:0 6px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:7px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;opacity:0;pointer-events:none;transition:opacity .12s ease;}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel:hover::after,
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel.resizing::after{opacity:1;}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel.resizing{box-shadow:0 0 0 2px rgba(8,145,178,.18),0 10px 24px rgba(15,23,42,.16);}
body.cmp-resizing-map-side,body.cmp-resizing-map-side *{cursor:ew-resize!important;user-select:none!important;}
#compare-overlay.cmp-map-dock-side .cmp-videos{flex:1;min-width:0;}
#compare-overlay.cmp-map-dock-bottom .cmp-studio-main{flex-direction:column;}
#compare-overlay.cmp-map-dock-bottom #cmp-right-panel{display:flex;flex-direction:column;width:100%;min-width:0;height:160px;flex:0 0 160px;}
#compare-overlay.cmp-map-dock-hidden #cmp-right-panel{display:none!important;}
#compare-overlay.cmp-map-dock-hidden #cmp-map-side,
#compare-overlay.cmp-map-dock-hidden #cmp-map-bottom{display:none!important;}
#compare-overlay:not(.cmp-map-dock-hidden):not(.cmp-geometry-picking) #cmp-map-toggle{display:none!important;}
#compare-overlay.cmp-geometry-picking #cmp-right-panel{border-color:rgba(4,120,87,.7);box-shadow:0 0 0 2px rgba(16,185,129,.18),0 12px 28px rgba(15,23,42,.12);}
#compare-overlay.cmp-geometry-picking.cmp-map-dock-side #cmp-right-panel{width:min(980px,64vw);min-width:min(620px,50vw);}
#compare-overlay.cmp-geometry-picking.cmp-map-dock-bottom #cmp-right-panel{height:360px;flex-basis:360px;}
#compare-overlay.cmp-geometry-picking .cmp-map-head{background:#ecfdf5;color:#047857;border-bottom-color:rgba(16,185,129,.28);}
#compare-overlay.cmp-geometry-picking #cmp-pick-geometries-head{min-width:66px;background:#047857;border-color:#047857;color:#fff;}
#compare-overlay.cmp-geometry-picking #cmp-map-side,
#compare-overlay.cmp-geometry-picking #cmp-map-bottom,
#compare-overlay.cmp-geometry-picking #cmp-map-toggle,
#compare-overlay.cmp-geometry-picking #cmp-hud-toggle{padding:0 7px;}
#compare-overlay.cmp-geometry-picking .cmp-transport{display:none;}
#compare-overlay.cmp-geometry-picking .cmp-telemetry-card,
#compare-overlay.cmp-geometry-picking .cmp-map-summary,
#compare-overlay.cmp-geometry-picking .cmp-pane-tools{display:none!important;}
#compare-overlay.cmp-geometry-picking .cmp-live-pick-chip{top:10px;background:rgba(15,23,42,.74);border-color:rgba(255,255,255,.28);color:#e2e8f0;text-transform:none;}
#compare-overlay.cmp-geometry-picking .cmp-ab-layout-group,
#compare-overlay.cmp-geometry-picking #cmp-wipe,
#compare-overlay.cmp-geometry-picking #cmp-flicker,
#compare-overlay.cmp-geometry-picking #cmp-flicker-swap,
#compare-overlay.cmp-geometry-picking #cmp-flicker-auto,
#compare-overlay.cmp-geometry-picking #cmp-flicker-reveal,
#compare-overlay.cmp-geometry-picking .cmp-flicker-keep-label,
#compare-overlay.cmp-geometry-picking #cmp-flicker-status,
#compare-overlay.cmp-geometry-picking #cmp-add-c,
#compare-overlay.cmp-geometry-picking #cmp-add-d,
#compare-overlay.cmp-geometry-picking #cmp-annotate-btn,
#compare-overlay.cmp-geometry-picking .cmp-export-menu,
#compare-overlay.cmp-geometry-picking #cmp-save-pair,
#compare-overlay.cmp-geometry-picking #cmp-workbench-toggle{display:none!important;}
.cmp-map-head{height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 0 10px;border-bottom:1px solid rgba(148,163,184,.24);background:#f8fafc;color:#334155;font-size:12px;}
.cmp-map-head strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-map-head-actions{display:flex;align-items:center;gap:6px;min-width:0;flex:0 0 auto;}
.cmp-map-layout-mini{display:inline-grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;border:1px solid rgba(8,145,178,.25);border-radius:5px;overflow:hidden;background:#ecfeff;}
.cmp-map-layout-mini::before{content:"Layout";display:inline-flex;align-items:center;height:22px;padding:0 6px;border-right:1px solid rgba(8,145,178,.18);background:#f8fafc;color:#0f766e;font-size:7px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;}
.cmp-map-layout-mini button{height:22px;min-width:48px;border:0;border-left:1px solid rgba(8,145,178,.16);background:#fff;color:#0e7490;font:inherit;font-size:8px;font-weight:950;padding:0 7px;cursor:pointer;}
.cmp-map-layout-mini button:hover,.cmp-map-layout-mini button.active{background:#0891b2;color:#fff;}
.cmp-map-collapse{height:24px;border:1px solid rgba(148,163,184,.35);border-radius:5px;background:#fff;color:#475569;cursor:pointer;font:inherit;font-size:9px;font-weight:950;padding:0 7px;white-space:nowrap;}
.cmp-map-collapse:hover{background:#0891b2;border-color:#0891b2;color:#fff;}
#compare-overlay.cmp-map-dock-side .cmp-map-head{gap:4px;padding:0 5px 0 6px;}
#compare-overlay.cmp-map-dock-side .cmp-map-head strong{flex:0 0 auto;width:28px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(8,145,178,.2);border-radius:4px;background:#ecfeff;color:#0e7490;font-size:0;}
#compare-overlay.cmp-map-dock-side .cmp-map-head strong::before{content:"Map";font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;}
#compare-overlay.cmp-map-dock-side .cmp-map-head-actions{gap:3px;flex:1;justify-content:flex-end;overflow:hidden;}
#compare-overlay.cmp-map-dock-side .cmp-map-layout-mini{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
#compare-overlay.cmp-map-dock-side .cmp-map-layout-mini::before{display:none;}
#compare-overlay.cmp-map-dock-side .cmp-map-layout-mini button{min-width:42px;padding:0 5px;}
#compare-overlay.cmp-map-dock-side .cmp-map-collapse{width:52px;padding:0 5px;overflow:hidden;text-overflow:ellipsis;}
#cmp-right-panel-inner{flex:1;min-height:0;width:100%;}
#cmp-map{width:100%;height:100%;}
.cmp-map-area,.cmp-map-divider{display:none;}
#compare-overlay{--cmp-map-summary-control-clearance:124px;}
.cmp-map-summary{position:absolute;left:auto;right:12px;top:58px;z-index:420;background:rgba(255,255,255,.9);border:1px solid rgba(148,163,184,.32);border-radius:7px;box-shadow:0 6px 16px rgba(15,23,42,.12);padding:6px 8px;font-size:10px;color:#334155;min-width:min(174px,calc(100% - var(--cmp-map-summary-control-clearance)));max-width:min(254px,calc(100% - var(--cmp-map-summary-control-clearance)));max-height:36px;overflow:hidden;cursor:default;transition:max-height .14s ease,min-width .14s ease,background .14s ease,box-shadow .14s ease;}
.cmp-map-summary:empty{display:none;}
.cmp-map-summary:hover,.cmp-map-summary:focus,.cmp-map-summary:focus-within{min-width:min(218px,calc(100% - var(--cmp-map-summary-control-clearance)));max-width:min(286px,calc(100% - var(--cmp-map-summary-control-clearance)));max-height:calc(100% - 88px);overflow:auto;background:rgba(255,255,255,.96);box-shadow:0 10px 24px rgba(15,23,42,.18);outline:none;}
#compare-overlay.cmp-hud-hidden .cmp-telemetry-card,
#compare-overlay.cmp-hud-hidden .cmp-map-summary{display:none!important;}
#compare-overlay.cmp-hud-hidden .cmp-pane-tools{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease;}
#compare-overlay.cmp-hud-hidden .cmp-pane:hover .cmp-pane-tools,
#compare-overlay.cmp-hud-hidden .cmp-pane:focus-within .cmp-pane-tools,
#compare-overlay.cmp-hud-hidden .cmp-pane.dragging .cmp-pane-tools{opacity:1;visibility:visible;pointer-events:auto;}
#compare-overlay.cmp-hud-hidden:not(.cmp-geometry-picking) #cmp-right-panel .leaflet-control-zoom{display:none!important;opacity:0;pointer-events:none;transition:opacity .14s ease;}
#compare-overlay.cmp-hud-hidden:not(.cmp-geometry-picking) #cmp-right-panel:hover .leaflet-control-zoom,
#compare-overlay.cmp-hud-hidden:not(.cmp-geometry-picking) #cmp-right-panel:focus-within .leaflet-control-zoom,
#compare-overlay.cmp-hud-hidden:not(.cmp-geometry-picking) #cmp-right-panel.cmp-map-chrome-peek .leaflet-control-zoom,
#compare-overlay.cmp-hud-hidden.cmp-map-chrome-peek:not(.cmp-geometry-picking) #cmp-right-panel .leaflet-control-zoom,
#compare-overlay.cmp-hud-hidden.cmp-map-chrome-peek:not(.cmp-geometry-picking) .leaflet-control-zoom{opacity:.92;pointer-events:auto;}
#compare-overlay.cmp-hud-hidden:not(.cmp-geometry-picking) .cmp-map-scale{opacity:.28;transition:opacity .14s ease;}
#compare-overlay.cmp-hud-hidden:not(.cmp-geometry-picking) #cmp-right-panel:hover .cmp-map-scale,
#compare-overlay.cmp-hud-hidden:not(.cmp-geometry-picking) #cmp-right-panel:focus-within .cmp-map-scale,
#compare-overlay.cmp-hud-hidden:not(.cmp-geometry-picking) #cmp-right-panel.cmp-map-chrome-peek .cmp-map-scale,
#compare-overlay.cmp-hud-hidden.cmp-map-chrome-peek:not(.cmp-geometry-picking) .cmp-map-scale{opacity:.78;}
.cmp-map-summary .legend-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:0;color:#0f172a;text-transform:uppercase;letter-spacing:.04em;}
.cmp-map-summary:hover .legend-head,.cmp-map-summary:focus .legend-head,.cmp-map-summary:focus-within .legend-head{margin-bottom:6px;}
.cmp-map-summary:not(:hover):not(:focus):not(:focus-within) .legend-side,
.cmp-map-summary:not(:hover):not(:focus):not(:focus-within) .legend-section-title,
.cmp-map-summary:not(:hover):not(:focus):not(:focus-within) .legend-distance-list,
.cmp-map-summary:not(:hover):not(:focus):not(:focus-within) .legend-match-list,
.cmp-map-summary:not(:hover):not(:focus):not(:focus-within) .legend-current-list,
.cmp-map-summary:not(:hover):not(:focus):not(:focus-within) .legend-marker-row,
.cmp-map-summary:not(:hover):not(:focus):not(:focus-within) .legend-foot,
.cmp-map-summary:not(:hover):not(:focus):not(:focus-within) hr{display:none;}
.cmp-map-summary .legend-head strong{font-size:10px;}
.cmp-map-summary .legend-head span{font-size:9px;color:#64748b;font-weight:900;}
.cmp-map-summary .legend-side{display:grid;gap:1px;margin:4px 0;}
.cmp-map-summary .legend-side-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:900;}
.cmp-map-summary .legend-side-row span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-map-summary .legend-side-row em{font-style:normal;font-variant-numeric:tabular-nums;color:#0f172a;}
.cmp-map-summary .legend-side-sub{margin-left:19px;font-size:9px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-map-summary .legend-dot{width:9px;height:9px;border-radius:999px;display:inline-block;margin-right:5px;box-shadow:0 0 0 2px rgba(255,255,255,.8);}
.cmp-map-summary .legend-dot.a{background:#0891b2;}
.cmp-map-summary .legend-dot.b{background:#7c3aed;}
.cmp-map-summary .legend-dot.c{background:#f97316;}
.cmp-map-summary .legend-dot.d{background:#10b981;}
.cmp-map-summary .legend-dot.start{background:#10b981;}
.cmp-map-summary .legend-dot.end{background:#ef4444;}
.cmp-map-summary .legend-dot.current{background:#3b82f6;}
.cmp-map-summary .legend-section-title{margin:7px 0 4px;color:#64748b;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;}
.cmp-map-summary .legend-distance-list,.cmp-map-summary .legend-current-list{display:grid;gap:3px;}
.cmp-map-summary .legend-distance-row,.cmp-map-summary .legend-current-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-weight:900;}
.cmp-map-summary .legend-distance-row span,.cmp-map-summary .legend-current-row span{white-space:nowrap;color:#475569;}
.cmp-map-summary .legend-distance-row em,.cmp-map-summary .legend-current-row em{font-style:normal;color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;min-width:0;}
.cmp-map-summary .legend-current-row em{max-width:190px;color:#334155;font-size:9px;}
.cmp-map-summary .legend-match-list{display:grid;gap:4px;}
.cmp-map-summary .legend-match-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:5px;align-items:start;border:1px solid rgba(148,163,184,.22);border-radius:5px;background:rgba(248,250,252,.86);padding:4px 5px;}
.cmp-map-summary .legend-match-row strong{display:flex;align-items:center;gap:2px;color:#0f172a;font-size:9px;white-space:nowrap;}
.cmp-map-summary .legend-match-row strong .legend-dot{margin-right:0;width:7px;height:7px;}
.cmp-map-summary .legend-match-row span{display:flex;align-items:center;gap:3px 7px;flex-wrap:wrap;min-width:0;}
.cmp-map-summary .legend-match-row b{margin-right:3px;font-size:7px;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;}
.cmp-map-summary .legend-match-row em{font-style:normal;color:#0f172a;font-size:8px;font-weight:900;white-space:nowrap;}
.cmp-map-summary .legend-metrics{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:6px 0;}
.cmp-map-summary .legend-metrics span{border:1px solid rgba(148,163,184,.22);border-radius:5px;background:rgba(248,250,252,.86);padding:4px 5px;display:grid;gap:1px;min-width:0;}
.cmp-map-summary .legend-metrics b{font-size:8px;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;}
.cmp-map-summary .legend-metrics em{font-style:normal;color:#0f172a;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-map-summary .legend-marker-row,.cmp-map-summary .legend-foot{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:5px;}
.cmp-map-summary .legend-marker-row span{white-space:nowrap;}
.cmp-map-summary .legend-foot{color:#64748b;font-weight:800;}
.cmp-map-summary b{font-variant-numeric:tabular-nums;}
.cmp-map-summary hr{border:0;border-top:1px solid rgba(148,163,184,.35);margin:6px 0;}
.cmp-map-seek-icon{pointer-events:none!important;}
.cmp-map-seek-target{position:relative;width:86px;height:58px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;filter:drop-shadow(0 8px 18px rgba(15,23,42,.24));}
.cmp-map-seek-ring{position:absolute;left:50%;top:50%;width:30px;height:30px;border:2px solid rgba(255,255,255,.96);border-radius:999px;background:rgba(8,145,178,.28);box-shadow:0 0 0 3px rgba(8,145,178,.55),0 0 0 8px rgba(8,145,178,.14);transform:translate(-50%,-50%);}
.cmp-map-seek-target strong{position:relative;z-index:2;margin-top:-34px;padding:2px 7px;border-radius:999px;background:rgba(15,23,42,.86);color:#fff;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.02em;}
.cmp-map-seek-target em{position:relative;z-index:2;display:flex;gap:4px;max-width:86px;overflow:hidden;padding:2px 5px;border-radius:6px;background:rgba(255,255,255,.94);border:1px solid rgba(148,163,184,.28);font-style:normal;font-size:8px;font-weight:900;color:#334155;white-space:nowrap;}
.cmp-map-seek-target em span{display:inline-flex;align-items:center;gap:2px;}
.cmp-map-scale{position:absolute;left:12px;bottom:12px;z-index:420;display:flex;align-items:flex-end;gap:6px;min-width:174px;max-width:260px;padding:5px 7px;border:1px solid rgba(148,163,184,.36);border-radius:6px;background:rgba(15,23,42,.82);box-shadow:0 8px 18px rgba(15,23,42,.24);color:#e2e8f0;pointer-events:none;}
.cmp-map-scale-inner{height:8px;min-width:28px;border:1.5px solid #67e8f9;border-top:0;border-radius:0 0 2px 2px;background:rgba(6,182,212,.35);}
.cmp-map-scale-text{font-size:10px;font-weight:900;line-height:1;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;}
.cmp-map-status{margin-left:auto;padding-left:6px;border-left:1px solid rgba(226,232,240,.22);font-size:9px;font-weight:850;color:#cbd5e1;white-space:nowrap;}
#cmp-sidebar-map,#cmp-sidebar-map.active{display:none!important;}
.cmp-transport{flex:0 0 58px;display:grid;grid-template-columns:30px 58px 58px auto auto auto auto auto minmax(174px,194px) minmax(380px,1fr);align-items:center;align-content:center;gap:3px 5px;padding:4px 7px;background:#fff;border-top:1px solid rgba(148,163,184,.24);}
#compare-overlay.cmp-map-dock-hidden .cmp-transport{grid-template-columns:30px 58px 58px auto auto auto auto auto minmax(174px,194px) minmax(520px,1fr);}
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) .cmp-transport{flex-basis:36px;grid-template-columns:28px 54px 54px minmax(130px,160px) minmax(58px,72px) minmax(48px,58px) minmax(260px,1fr);gap:2px 6px;padding:3px 7px;}
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]).cmp-map-dock-hidden .cmp-transport{grid-template-columns:28px 54px 54px minmax(130px,160px) minmax(58px,72px) minmax(76px,90px) minmax(430px,1fr);}
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) #cmp-mark-a,
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) #cmp-mark-b,
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) #cmp-offset-panel{display:none!important;}
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) .cmp-timeline-mode,
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) .cmp-ruler{display:none!important;}
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) .cmp-play-both{width:28px;height:28px;}
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) .cmp-time-pill,
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) .cmp-sync-segment,
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) .cmp-sync-tools-btn{height:22px;font-size:9px;}
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) .cmp-sync-segment button{font-size:8px;padding:0 6px;}
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) .cmp-timeline-stack{gap:0;align-self:center;}
#compare-overlay.cmp-workbench-collapsed:not([data-cmp-workflow="timeline"]) .cmp-timeline-readout{height:18px;font-size:8px;}
.cmp-play-both,.cmp-play{width:28px;height:28px;border:0;border-radius:999px;background:#0891b2;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px rgba(8,145,178,.18);}
.cmp-play{width:24px;height:24px;background:#f8fafc;color:#334155;border:1px solid rgba(148,163,184,.35);box-shadow:none;}
.cmp-transport .cmp-play{display:none;}
.cmp-play-both svg,.cmp-play svg{width:11px;height:11px;}
.cmp-center-play{position:absolute;left:50%;top:50%;z-index:28;transform:translate(-50%,-50%);width:58px;height:36px;border:1px solid rgba(255,255,255,.78);border-radius:999px;background:rgba(8,145,178,.92);color:#fff;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;box-shadow:0 10px 26px rgba(15,23,42,.3),0 0 0 1px rgba(8,145,178,.22);backdrop-filter:blur(8px);font:inherit;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.02em;opacity:.88;transition:opacity .14s ease,transform .14s ease,background .14s ease;}
.cmp-center-play:hover,.cmp-center-play:focus-visible{opacity:1;background:#0891b2;transform:translate(-50%,-50%) scale(1.04);outline:none;}
.cmp-center-play.playing{background:rgba(15,23,42,.82);}
.cmp-center-play svg{width:11px;height:11px;flex:0 0 auto;}
#compare-overlay.cmp-geometry-picking .cmp-center-play{display:none!important;}
.cmp-time-pill{height:24px;min-width:58px;border:1px solid rgba(148,163,184,.35);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;font-variant-numeric:tabular-nums;background:#f8fafc;}
.cmp-time-pill.a{color:#0891b2;}
.cmp-time-pill.b{color:#7c3aed;}
.cmp-time-pill.c{color:#f97316;}
.cmp-time-pill.d{color:#10b981;}
.cmp-offset-control{height:22px;display:flex;align-items:center;gap:4px;border:1px solid rgba(148,163,184,.35);border-radius:5px;background:#f8fafc;padding:0 5px;font-size:9px;font-weight:900;color:#475569;}
.cmp-offset-control input{width:48px;height:20px;border:0;background:transparent;color:#0f172a;font:inherit;font-size:9px;outline:none;}
.cmp-offset-panel{display:grid;gap:2px;min-width:0;}
.cmp-offset-panel .cmp-offset-control{width:100%;box-sizing:border-box;justify-content:space-between;}
.cmp-offset-nudges{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;}
.cmp-offset-nudges button{height:18px;border:1px solid rgba(148,163,184,.32);border-radius:4px;background:#f8fafc;color:#475569;font:inherit;font-size:8px;font-weight:950;cursor:pointer;padding:0 2px;white-space:nowrap;}
.cmp-offset-nudges button:hover{border-color:#0891b2;background:rgba(6,182,212,.08);color:#0891b2;}
.cmp-offset-nudges button[data-cmp-offset-reset]{background:#fff;color:#0f172a;}
.cmp-offset-nudges button[data-cmp-offset-from-playheads]{grid-column:span 2;color:#7c3aed;border-color:rgba(124,58,237,.28);background:rgba(124,58,237,.06);}
.cmp-offset-nudges button[data-cmp-offset-from-playheads]:hover{background:#7c3aed;border-color:#7c3aed;color:#fff;}
.cmp-sync-segment{height:24px;display:flex;align-items:center;border:1px solid rgba(148,163,184,.35);border-radius:5px;overflow:hidden;background:#f8fafc;min-width:0;}
.cmp-sync-segment button{height:100%;border:0;border-right:1px solid rgba(148,163,184,.25);background:transparent;color:#475569;font:inherit;font-size:9px;font-weight:950;padding:0 7px;cursor:pointer;}
.cmp-sync-segment button:last-child{border-right:0;}
.cmp-sync-segment button.active{background:#0891b2;color:#fff;}
.cmp-sync-segment[data-sync-detail]::after{content:attr(data-sync-detail);display:flex;align-items:center;justify-content:center;align-self:stretch;min-width:0;max-width:92px;flex:1 1 70px;padding:0 6px;border-left:1px solid rgba(148,163,184,.24);background:rgba(224,247,254,.78);color:#0e7490;font-size:7px;font-weight:950;line-height:1;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-sync-segment.rate-matched{border-color:rgba(20,184,166,.38);box-shadow:inset 0 0 0 1px rgba(20,184,166,.08);}
.cmp-sync-segment.rate-matched::after{background:rgba(204,251,241,.82);color:#0f766e;}
.cmp-sync-segment.sync-reverse::after{background:rgba(255,247,237,.92);color:#b45309;}
.cmp-sync-segment.sync-unavailable::after{background:rgba(255,241,242,.94);color:#be123c;}
.cmp-sync-segment.sync-independent::after{background:#f1f5f9;color:#64748b;}
.cmp-timeline-mode{height:24px;display:flex;align-items:center;border:1px solid rgba(148,163,184,.35);border-radius:5px;overflow:hidden;background:#f8fafc;}
.cmp-timeline-mode button{height:100%;border:0;border-right:1px solid rgba(148,163,184,.25);background:transparent;color:#475569;font:inherit;font-size:8px;font-weight:950;padding:0 6px;cursor:pointer;white-space:nowrap;}
.cmp-timeline-mode button:last-child{border-right:0;}
.cmp-timeline-mode button.active{background:#0f766e;color:#fff;}
.cmp-sync-tools-btn{height:24px;border:1px solid rgba(124,58,237,.28);border-radius:5px;background:rgba(124,58,237,.06);color:#6d28d9;font:inherit;font-size:9px;font-weight:950;padding:0 8px;white-space:nowrap;cursor:pointer;}
.cmp-sync-tools-btn:hover,.cmp-sync-tools-btn:focus-visible{border-color:#7c3aed;background:#7c3aed;color:#fff;outline:none;}
#compare-overlay[data-cmp-workflow="timeline"] #cmp-sync-tools{display:none!important;}
.cmp-timeline-stack{display:flex;flex-direction:column;gap:2px;min-width:0;}
.cmp-ruler{position:relative;height:22px;border:1px solid rgba(148,163,184,.32);border-radius:6px;background:linear-gradient(180deg,#f8fafc,#fff);overflow:hidden;}
.cmp-ruler:before{content:"";position:absolute;left:10px;right:10px;top:12px;height:2px;border-radius:999px;background:rgba(15,23,42,.18);}
.cmp-ruler-offset{position:absolute;top:8px;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(8,145,178,.22),rgba(124,58,237,.24));border:1px solid rgba(8,145,178,.18);display:none;z-index:2;}
.cmp-ruler-offset.active{display:block;}
.cmp-sync-bands{position:absolute;inset:4px 10px 4px 10px;z-index:1;pointer-events:none;display:none;}
.cmp-sync-bands.active{display:block;}
.cmp-sync-lane{position:absolute;left:0;right:0;border-radius:999px;background:rgba(148,163,184,.08);}
.cmp-sync-band{position:absolute;top:0;height:100%;min-width:3px;border-radius:999px;border:1px solid rgba(255,255,255,.68);box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:clip;color:#0f172a;font-size:7px;font-weight:950;line-height:1;display:flex;align-items:center;padding:0 3px;text-transform:uppercase;letter-spacing:0;}
.cmp-sync-band.pre{background:repeating-linear-gradient(45deg,rgba(8,145,178,.18) 0,rgba(8,145,178,.18) 4px,rgba(255,255,255,.32) 4px,rgba(255,255,255,.32) 8px);}
.cmp-sync-band.sync{background:rgba(20,184,166,.28);border-color:rgba(20,184,166,.34);}
.cmp-sync-band.tail{background:rgba(100,116,139,.14);border-color:rgba(100,116,139,.18);color:#475569;}
.cmp-sync-band.a.pre{background:repeating-linear-gradient(45deg,rgba(8,145,178,.2) 0,rgba(8,145,178,.2) 4px,rgba(255,255,255,.38) 4px,rgba(255,255,255,.38) 8px);}
.cmp-sync-band.a.sync{background:rgba(8,145,178,.28);border-color:rgba(8,145,178,.34);}
.cmp-sync-band.b.pre{background:repeating-linear-gradient(45deg,rgba(124,58,237,.2) 0,rgba(124,58,237,.2) 4px,rgba(255,255,255,.38) 4px,rgba(255,255,255,.38) 8px);}
.cmp-sync-band.b.sync{background:rgba(124,58,237,.25);border-color:rgba(124,58,237,.32);}
.cmp-sync-band.c.pre{background:repeating-linear-gradient(45deg,rgba(249,115,22,.2) 0,rgba(249,115,22,.2) 4px,rgba(255,255,255,.38) 4px,rgba(255,255,255,.38) 8px);}
.cmp-sync-band.c.sync{background:rgba(249,115,22,.24);border-color:rgba(249,115,22,.32);}
.cmp-sync-band.d.pre{background:repeating-linear-gradient(45deg,rgba(16,185,129,.2) 0,rgba(16,185,129,.2) 4px,rgba(255,255,255,.38) 4px,rgba(255,255,255,.38) 8px);}
.cmp-sync-band.d.sync{background:rgba(16,185,129,.24);border-color:rgba(16,185,129,.32);}
.cmp-ruler-ticks{position:absolute;inset:0 10px;z-index:3;pointer-events:none;}
.cmp-ruler-tick{position:absolute;top:0;bottom:0;width:1px;background:rgba(148,163,184,.48);}
.cmp-ruler-tick.minor{top:12px;background:rgba(148,163,184,.32);}
.cmp-ruler-tick span{position:absolute;top:2px;left:4px;font-size:8px;font-weight:900;color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap;}
.cmp-observation-markers{position:absolute;inset:0 10px;z-index:7;pointer-events:none;}
.cmp-observation-marker{position:absolute;top:15px;width:16px;height:11px;border:1px solid rgba(255,255,255,.92);border-radius:999px;transform:translateX(-50%);box-shadow:0 2px 7px rgba(15,23,42,.22);font-size:7px;font-weight:950;line-height:1;color:#fff;cursor:pointer;pointer-events:auto;padding:0;}
.cmp-observation-marker.a{background:#0891b2;}
.cmp-observation-marker.b{top:4px;background:#7c3aed;}
.cmp-observation-marker.c{background:#f97316;}
.cmp-observation-marker.d{top:4px;background:#10b981;}
.cmp-observation-marker.active{outline:2px solid rgba(249,115,22,.78);outline-offset:1px;}
.cmp-sync-marker{position:absolute;top:4px;z-index:4;width:20px;height:18px;margin-left:-10px;border:1px solid rgba(255,255,255,.78);border-radius:5px;color:#fff;font:inherit;font-size:9px;font-weight:950;box-shadow:0 3px 8px rgba(15,23,42,.2);cursor:ew-resize;display:none;align-items:center;justify-content:center;}
.cmp-sync-marker.active{display:flex;}
.cmp-sync-marker.a{background:#0891b2;}
.cmp-sync-marker.b{background:#7c3aed;}
.cmp-sync-marker.c{background:#f97316;}
.cmp-sync-marker.d{background:#10b981;}
.cmp-sync-marker.unset{opacity:.62;filter:saturate(.78);}
.cmp-sync-marker.dragging{transform:scale(1.08);box-shadow:0 0 0 3px rgba(8,145,178,.16),0 8px 16px rgba(15,23,42,.25);}
.cmp-playhead{position:absolute;top:4px;bottom:4px;z-index:3;width:2px;border-radius:999px;background:#0891b2;box-shadow:0 0 0 1px rgba(255,255,255,.8);display:none;}
.cmp-playhead.active{display:block;}
.cmp-playhead.a{background:#0891b2;}
.cmp-playhead.b{background:#7c3aed;}
.cmp-playhead.c{background:#f97316;}
.cmp-playhead.d{background:#10b981;}
.cmp-timeline-readout{height:14px;display:flex;align-items:center;gap:4px;font-size:8px;font-weight:900;color:#64748b;white-space:nowrap;overflow-x:auto;overflow-y:hidden;text-overflow:ellipsis;scrollbar-width:none;}
.cmp-timeline-readout::-webkit-scrollbar{display:none;}
.cmp-timeline-readout span{display:inline-flex;align-items:center;gap:3px;min-width:0;max-width:176px;overflow:hidden;text-overflow:ellipsis;}
.cmp-timeline-readout b{color:#0f172a;font-variant-numeric:tabular-nums;}
.cmp-timeline-readout .auto,.cmp-timeline-readout .phase{height:12px;padding:0 5px;border:1px solid rgba(8,145,178,.24);border-radius:999px;background:rgba(224,247,254,.68);color:#0e7490;text-transform:uppercase;font-size:7px;letter-spacing:.02em;flex:0 0 auto;}
.cmp-timeline-readout .auto.weak{border-color:rgba(244,63,94,.32);background:rgba(255,241,242,.95);color:#be123c;}
.cmp-timeline-readout .rate{height:12px;padding:0 5px;border:1px solid rgba(124,58,237,.24);border-radius:999px;background:rgba(245,243,255,.92);color:#6d28d9;text-transform:uppercase;font-size:7px;letter-spacing:.02em;flex:0 0 auto;}
.cmp-timeline-readout .rate.reverse{border-color:rgba(217,119,6,.34);background:rgba(255,247,237,.95);color:#b45309;}
.cmp-timeline-readout .correction{height:12px;padding:0 5px;border:1px solid rgba(14,165,233,.32);border-radius:999px;background:rgba(240,249,255,.96);color:#0369a1;text-transform:uppercase;font-size:7px;letter-spacing:.02em;flex:0 0 auto;}
.cmp-timeline-readout .gap{height:12px;padding:0 5px;border:1px solid rgba(16,185,129,.28);border-radius:999px;background:rgba(240,253,244,.95);color:#047857;text-transform:uppercase;font-size:7px;letter-spacing:.02em;flex:0 0 auto;}
.cmp-timeline-readout .gap.approximate{border-color:rgba(245,158,11,.38);background:rgba(255,251,235,.95);color:#b45309;}
.cmp-timeline-readout .gap.loose{border-color:rgba(244,63,94,.32);background:rgba(255,241,242,.95);color:#be123c;}
.cmp-timeline-readout .phase.locked{border-color:rgba(16,185,129,.3);background:rgba(16,185,129,.1);color:#047857;}
.cmp-timeline-readout .phase.lead-in{border-color:rgba(249,115,22,.32);background:rgba(255,247,237,.9);color:#c2410c;}
.cmp-timeline-readout .phase.tail{border-color:rgba(100,116,139,.28);background:#f1f5f9;color:#475569;}
.cmp-timeline-readout .phase.unavailable{border-color:rgba(239,68,68,.28);background:#fff5f5;color:#dc2626;}
.cmp-timeline-readout .mark.a b{color:#0891b2;}
.cmp-timeline-readout .mark.b b{color:#7c3aed;}
.cmp-timeline-readout .mark.c b{color:#f97316;}
.cmp-timeline-readout .mark.d b{color:#10b981;}
.cmp-shortcut-hint{display:none;}
.cmp-shortcut-hint kbd{height:13px;min-width:14px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.36);border-bottom-color:rgba(100,116,139,.5);border-radius:3px;background:#f8fafc;color:#334155;font:inherit;font-size:8px;font-weight:950;box-shadow:0 1px 0 rgba(15,23,42,.08);}
.cmp-track-line{display:none;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:3px;min-height:8px;}
.cmp-track-line .cmp-side-chip{width:12px;height:12px;font-size:8px;border-radius:3px;}
.cmp-seek{width:100%;height:10px;accent-color:#0891b2;-webkit-appearance:none;appearance:none;background:transparent;margin:0;}
.cmp-seek::-webkit-slider-runnable-track{height:3px;border-radius:999px;background:rgba(148,163,184,.32);}
.cmp-seek::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:999px;background:#0891b2;border:1px solid #fff;box-shadow:0 1px 4px rgba(15,23,42,.22);margin-top:-3.5px;}
.cmp-seek.b::-webkit-slider-thumb{background:#7c3aed;}
.cmp-seek.c::-webkit-slider-thumb{background:#f97316;}
.cmp-seek.d::-webkit-slider-thumb{background:#10b981;}
.cmp-seek.b{accent-color:#7c3aed;}
.cmp-seek.c{accent-color:#f97316;}
.cmp-seek.d{accent-color:#10b981;}
.cmp-extra-track{display:none;}
.cmp-extra-track.active{display:grid;}
.cmp-pairs-tray{flex:0 0 176px;min-height:0;background:#fff;border-top:1px solid rgba(148,163,184,.28);padding:6px 8px 8px;display:flex;flex-direction:column;gap:6px;}
#compare-overlay.cmp-workbench-collapsed .cmp-pairs-tray{display:none!important;}
#compare-overlay.cmp-geometry-picking .cmp-pairs-tray{flex-basis:84px;padding:3px 6px 4px;gap:2px;}
#compare-overlay.cmp-geometry-picking .cmp-workbench-tabs,
#compare-overlay.cmp-geometry-picking .cmp-pairs-head,
#compare-overlay.cmp-geometry-picking .cmp-saved-pairs,
#compare-overlay.cmp-geometry-picking #cmp-pair-list{display:none!important;}
#compare-overlay.cmp-geometry-picking .cmp-workbench-panel.active{gap:0;}
.cmp-tray-reveal{display:none;align-self:center;height:22px;min-width:58px;align-items:center;justify-content:center;border:1px solid rgba(8,145,178,.25);border-radius:999px;background:#fff;color:#0891b2;font:inherit;font-size:9px;font-weight:950;letter-spacing:.02em;cursor:pointer;text-transform:uppercase;box-shadow:0 2px 8px rgba(15,23,42,.08);}
.cmp-tray-reveal:hover{background:#e0f7fe;border-color:rgba(8,145,178,.45);color:#0e7490;}
#compare-overlay.cmp-workbench-collapsed .cmp-tray-reveal{display:flex;width:72px;min-width:0;max-width:72px;justify-self:center;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#compare-overlay.cmp-workbench-collapsed #cmp-workbench-toggle{display:none!important;}
.cmp-workbench-tabs{height:30px;display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(148,163,184,.22);padding-bottom:6px;flex:0 0 auto;}
.cmp-workbench-tabs button{height:26px;border:1px solid rgba(148,163,184,.35);border-radius:5px;background:#f8fafc;color:#475569;font:inherit;font-size:10px;font-weight:950;padding:0 10px;cursor:pointer;white-space:nowrap;}
.cmp-workbench-tabs button.active{background:#e0f7fe;color:#0891b2;border-color:rgba(6,182,212,.38);box-shadow:0 0 0 1px rgba(6,182,212,.1);}
.cmp-workbench-tabs span{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;min-width:18px;height:18px;border-radius:999px;background:rgba(8,145,178,.12);color:#0891b2;font-size:9px;}
.cmp-workbench-tabs .cmp-workbench-tab-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#e0f7fe;color:#0891b2;border-color:rgba(6,182,212,.38);text-transform:uppercase;letter-spacing:.02em;}
.cmp-workbench-tabs .cmp-workbench-tab-toggle span{display:inline;min-width:0;height:auto;margin-left:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;}
.cmp-workbench-tabs .cmp-workbench-tab-toggle b{font-size:11px;line-height:1;}
.cmp-workbench-panel{display:none;min-height:0;flex:1;overflow:hidden;}
.cmp-workbench-panel.active{display:flex;flex-direction:column;gap:8px;}
.cmp-pairs-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.cmp-pairs-title{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap;}
.cmp-pairs-head strong{font-size:12px;color:#0f172a;}
.cmp-pairs-head span{font-size:10px;color:#64748b;font-weight:700;}
.cmp-pairs-head .cmp-extent-summary{display:inline-flex;align-items:center;height:22px;padding:0 7px;border:1px solid rgba(8,145,178,.22);border-radius:999px;background:rgba(8,145,178,.08);color:#0f766e;font-size:9px;font-weight:900;vertical-align:middle;}
.cmp-pair-index-status{--cmp-pair-index-progress:0%;position:relative;display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:6px;height:22px;min-width:184px;max-width:300px;padding:0 8px;border:1px solid rgba(8,145,178,.25);border-radius:999px;background:linear-gradient(90deg,rgba(8,145,178,.13) var(--cmp-pair-index-progress),#f8fafc var(--cmp-pair-index-progress));color:#0f766e;overflow:hidden;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);}
.cmp-pair-index-status[hidden]{display:none!important;}
.cmp-pair-index-status b{position:relative;z-index:1;font-size:9px;font-weight:950;color:#0f766e;text-transform:uppercase;letter-spacing:.03em;}
.cmp-pair-index-status i{position:relative;z-index:1;font-style:normal;font-size:8px;font-weight:850;color:#64748b;overflow:hidden;text-overflow:ellipsis;}
.cmp-pair-index-status.active{border-color:rgba(6,182,212,.42);background:linear-gradient(90deg,rgba(6,182,212,.24) var(--cmp-pair-index-progress),#ecfeff var(--cmp-pair-index-progress));}
.cmp-pairs-expand{height:24px;border:1px solid rgba(8,145,178,.34);border-radius:5px;background:#fff;color:#0891b2;font:inherit;font-size:9px;font-weight:950;padding:0 9px;cursor:pointer;white-space:nowrap;}
.cmp-pairs-expand:hover,.cmp-pairs-expand.active{background:#0891b2;border-color:#0891b2;color:#fff;}
#compare-overlay.cmp-workbench-expanded .cmp-pairs-tray{position:absolute;left:12px;right:12px;bottom:12px;height:var(--cmp-workbench-bottom-h,min(66vh,640px));z-index:720;border:1px solid rgba(8,145,178,.28);border-radius:9px;box-shadow:0 26px 72px rgba(15,23,42,.3);padding:9px 10px;background:rgba(255,255,255,.98);resize:vertical;overflow:hidden;}
#compare-overlay.cmp-workbench-expanded .cmp-pairs-head{align-items:flex-start;}
#compare-overlay.cmp-workbench-expanded .cmp-workbench-tabs{height:32px;}
#compare-overlay.cmp-workbench-expanded .cmp-workbench-panel.active{gap:10px;}
#compare-overlay.cmp-workbench-expanded .cmp-pair-filters{max-width:58vw;flex-wrap:wrap;justify-content:flex-end;overflow:visible;}
#compare-overlay.cmp-workbench-expanded .cmp-saved-pairs{flex:0 0 64px;}
#compare-overlay.cmp-workbench-expanded .cmp-pair-list{flex:1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(218px,250px);grid-template-rows:repeat(2,minmax(0,1fr));align-content:start;overflow:auto;padding:2px 2px 8px;}
#compare-overlay.cmp-workbench-expanded .cmp-pair-card{width:auto;min-width:0;align-content:start;}
#compare-overlay.cmp-workbench-expanded .cmp-pair-thumb{height:78px;}
#compare-overlay.cmp-workbench-expanded .cmp-pair-card.expanded{grid-row:span 2;}
#compare-overlay.cmp-workbench-expanded .cmp-pair-card.expanded .cmp-pair-thumb{height:86px;}
#compare-overlay.cmp-workbench-expanded .cmp-pair-empty{min-height:160px;border:1px dashed rgba(148,163,184,.38);border-radius:7px;background:#f8fafc;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-workbench-tabs{position:absolute;left:10px;top:9px;width:128px;height:auto;display:grid;grid-template-columns:1fr;gap:5px;z-index:2;overflow:visible;border:0;padding:0;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-workbench-tabs button{height:27px;min-width:0;width:100%;justify-content:center;padding:0 6px;font-size:8px;line-height:1.05;white-space:normal;text-align:center;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-workbench-tabs span{height:15px;min-width:15px;font-size:7px;margin-left:4px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs{display:grid;grid-template-columns:128px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:9px;min-height:0;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-head{grid-column:1;grid-row:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:164px 5px 5px;border:1px solid rgba(148,163,184,.22);border-radius:7px;background:#f8fafc;box-sizing:border-box;overflow:auto;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-title{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-title strong{display:none;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-title #cmp-pair-count{display:none;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-title #cmp-extent-summary{display:none;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-title #cmp-pair-index-status{width:100%;min-width:0;height:auto;min-height:28px;grid-template-columns:1fr;padding:4px 6px;border-radius:6px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-title .cmp-pairs-expand{width:100%;height:23px;padding:0 6px;font-size:8px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-layout-group{display:grid;grid-template-columns:1fr;gap:4px;border:0;background:transparent;overflow:visible;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-layout-group::before{content:"Layout";display:flex;height:18px;align-items:center;justify-content:center;border:1px solid rgba(8,145,178,.18);border-radius:4px;background:#ecfeff;color:#0f766e;font-size:7px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-layout-group .cmp-pairs-layout{border:1px solid rgba(8,145,178,.28);border-radius:5px;background:#fff;width:100%;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-layout-group .cmp-pairs-layout + .cmp-pairs-layout{border-left:1px solid rgba(8,145,178,.28);}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-layout-group .cmp-pairs-layout.active{background:#0891b2;border-color:#0891b2;color:#fff;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-filters{max-width:none;height:auto;display:flex;flex-direction:column;align-items:stretch;gap:5px;overflow:visible;padding:0;border:0;border-radius:0;background:transparent;box-sizing:border-box;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-filters label,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-filters select,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-filters .cmp-pair-search,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pick-map{width:100%;min-width:0;height:23px;font-size:8px;padding:0 6px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-candidate-strip,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-saved-pairs{display:none;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-list{grid-column:2;grid-row:1;display:flex;flex-direction:row;gap:14px;overflow:auto;padding:0 2px 8px;align-items:stretch;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card{position:relative;flex:0 0 auto;height:100%;width:auto;min-width:min(920px,calc(100vw - 200px));max-width:1160px;aspect-ratio:10.2/5;align-self:stretch;align-content:stretch;grid-template-rows:minmax(0,1fr) 42px;overflow:hidden;padding:8px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded{min-width:min(960px,calc(100vw - 200px));max-width:1200px;aspect-ratio:10.2/5;grid-template-rows:minmax(0,1fr) 42px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-thumbs{height:100%;min-height:0;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-thumb{height:auto;aspect-ratio:5/4;min-height:0;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-geometry{height:66px;background:transparent;border-color:rgba(8,145,178,.18);grid-template-rows:minmax(0,1fr) 20px;padding:4px 6px 5px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-geo-line{stroke-width:4.8;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-geo-title{font-size:8px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-geo-metrics{gap:6px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-geo-chip{height:17px;padding:0 6px;font-size:9px;border-radius:5px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-geo-chip i{width:13px;height:13px;font-size:8px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-geo-match{height:18px;padding:0 7px;font-size:9px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-date-row{position:static;left:auto;right:auto;bottom:auto;z-index:4;pointer-events:none;align-self:end;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-date{height:28px;border-color:rgba(255,255,255,.34);background:rgba(15,23,42,.72);box-shadow:0 6px 18px rgba(15,23,42,.16);color:#e2e8f0;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-date i{font-size:8pt;color:#fff;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-date em{font-size:7.5pt;color:#cbd5e1;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-detail{position:absolute;left:10px;right:10px;bottom:58px;z-index:5;display:grid;gap:5px;max-height:none;overflow:hidden;padding:6px;border:1px solid rgba(148,163,184,.32);border-radius:7px;background:rgba(255,255,255,.95);box-shadow:0 14px 34px rgba(15,23,42,.18);}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-title-row,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-meta,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-badges,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-confidence,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-why,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-review{display:none;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-review{display:flex;}
#compare-overlay.cmp-workbench-expanded.cmp-pair-filters-collapsed #cmp-workbench-pairs .cmp-pair-filters,
#compare-overlay.cmp-workbench-expanded.cmp-pair-filters-collapsed #cmp-workbench-pairs .cmp-saved-pairs{display:none;}
#compare-overlay.cmp-workbench-expanded.cmp-pair-filters-collapsed #cmp-workbench-pairs .cmp-pairs-head{gap:5px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side{--cmp-side-panel-w:clamp(330px,24vw,430px);}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-studio-main{padding-right:calc(var(--cmp-side-panel-w) + 10px);}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-transport{margin-right:calc(var(--cmp-side-panel-w) + 10px);}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-transport{flex-basis:32px;grid-template-columns:28px minmax(118px,154px) minmax(0,1fr);gap:2px 6px;padding:3px 7px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) #cmp-mark-a,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) #cmp-mark-b,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) #cmp-offset-panel{display:none!important;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-timeline-mode,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) #cmp-sync-tools,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-time-pill,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-ruler{display:none!important;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-play-both{width:28px;height:28px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-time-pill,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-sync-segment,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-sync-tools-btn{height:22px;font-size:9px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-sync-segment button{font-size:8px;padding:0 6px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-timeline-readout{height:13px;font-size:7px;gap:3px;overflow:hidden;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-timeline-readout span{max-width:112px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-timeline-readout .mark,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-timeline-readout .offset,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-timeline-readout .lead:not(.phase),
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-timeline-readout .overlap{display:none!important;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-timeline-stack{gap:0;align-self:center;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side:not([data-cmp-workflow="timeline"]) .cmp-timeline-readout{height:18px;font-size:8px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-side #cmp-right-panel{width:clamp(250px,var(--cmp-map-side-w,19vw),420px);min-width:240px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-studio-actions{overflow:hidden;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-wipe,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-flicker,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-flicker-swap,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-flicker-auto,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-flicker-reveal,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-flicker-keep-label,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-flicker-status,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-ab-layout-group,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-add-c,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-add-d,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-pick-geometries-head,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-orient-side,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-orient,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-map-side,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-map-bottom,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-annotate-btn,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-save-pair,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-toggle{display:none!important;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-transport{flex-basis:36px;grid-template-columns:30px minmax(118px,148px) minmax(320px,1fr);gap:2px 6px;padding:3px 6px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-timeline-mode,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden #cmp-sync-tools,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden #cmp-mark-a,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden #cmp-mark-b{display:none!important;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-play-both{width:28px;height:28px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-time-pill,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-sync-segment{height:22px;min-width:0;font-size:9px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-sync-segment button{font-size:8px;padding:0 6px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-offset-control{height:19px;font-size:8px;padding:0 5px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-offset-control input{height:17px;font-size:8px;width:42px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-offset-panel{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:3px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-offset-nudges{gap:2px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-offset-nudges button{height:15px;font-size:7px;border-radius:3px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-ruler{height:18px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-ruler:before{top:9px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-sync-marker{top:2px;height:15px;font-size:8px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-playhead{top:3px;bottom:3px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-timeline-readout{height:11px;font-size:7px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-tray{left:auto;right:8px;top:60px;bottom:48px;width:var(--cmp-side-panel-w);min-width:320px;max-width:min(480px,36vw);height:auto;resize:horizontal;display:grid;grid-template-columns:66px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:5px;padding:6px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-tray::before{content:"";position:absolute;left:-8px;top:54px;bottom:54px;width:10px;border-radius:999px;background:linear-gradient(180deg,rgba(8,145,178,.08),rgba(8,145,178,.3),rgba(8,145,178,.08));box-shadow:inset -1px 0 rgba(8,145,178,.35),0 0 0 1px rgba(255,255,255,.8);cursor:ew-resize;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-tray::after{content:"Resize";position:absolute;left:-34px;top:50%;transform:translateY(-50%) rotate(-90deg);height:16px;padding:0 6px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:7px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;opacity:0;pointer-events:none;transition:opacity .12s ease;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-tray:hover::after,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-tray.resizing::after{opacity:1;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-tray.resizing{user-select:none;box-shadow:0 30px 78px rgba(15,23,42,.34),0 0 0 2px rgba(8,145,178,.16);}
body.cmp-resizing-side-panel,body.cmp-resizing-side-panel *{cursor:ew-resize!important;user-select:none!important;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-workbench-tabs{grid-column:1;grid-row:1;height:auto;display:grid;grid-template-columns:1fr;align-content:start;gap:4px;border:1px solid rgba(148,163,184,.22);border-radius:6px;background:#f8fafc;padding:4px;overflow:auto;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-workbench-tabs button{width:100%;height:25px;min-width:0;padding:0 4px;font-size:7px;line-height:1.02;white-space:normal;text-align:center;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-workbench-tabs span{height:15px;min-width:15px;font-size:7px;margin-left:3px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-workbench-panel.active{grid-column:2;grid-row:1;min-width:0;min-height:0;gap:0;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-workbench-tabs .cmp-pairs-head{display:flex;flex-direction:column;gap:5px;margin-top:2px;padding-top:6px;border-top:1px solid rgba(148,163,184,.24);}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-title{display:grid;grid-template-columns:1fr;gap:5px;align-items:stretch;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-title strong,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-title #cmp-extent-summary{display:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-title #cmp-pair-count{display:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-title .cmp-pairs-expand{width:100%;height:24px;padding:0 5px;font-size:8px;}
.cmp-pairs-layout-group{display:inline-flex;align-items:center;gap:0;border:1px solid rgba(8,145,178,.28);border-radius:6px;background:#ecfeff;overflow:hidden;white-space:nowrap;}
.cmp-pairs-layout-group::before{content:"A/B layout";height:24px;display:none;align-items:center;padding:0 8px;background:#f8fafc;border-right:1px solid rgba(8,145,178,.22);color:#0f766e;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;}
.cmp-pairs-layout-group .cmp-pairs-layout{border:0;border-radius:0;background:transparent;box-shadow:none;min-width:72px;}
.cmp-pairs-layout-group .cmp-pairs-layout + .cmp-pairs-layout{border-left:1px solid rgba(8,145,178,.22);}
.cmp-pairs-layout-group .cmp-pairs-layout.active{background:#0891b2;border-color:#0891b2;color:#fff;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-layout-group{flex:1 0 100%;display:grid;grid-template-columns:1fr;gap:4px;width:100%;margin-top:1px;border:0;background:transparent;overflow:visible;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-title .cmp-pairs-layout-group{grid-column:1/-1;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-layout-group::before{content:"Layout";display:flex;height:18px;justify-content:center;border:1px solid rgba(8,145,178,.18);border-radius:4px;background:#ecfeff;padding:0;color:#0f766e;font-size:7px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-layout-group .cmp-pairs-layout{min-width:0;width:100%;height:22px;border:1px solid rgba(8,145,178,.28);border-radius:5px;background:#fff;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-layout-group .cmp-pairs-layout + .cmp-pairs-layout{border-left:1px solid rgba(8,145,178,.28);}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-layout-group .cmp-pairs-layout.active{background:#0891b2;border-color:#0891b2;color:#fff;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-videos.vertical{min-width:340px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-videos.vertical .cmp-pane{min-height:220px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-side .cmp-videos.vertical .cmp-pane{min-height:210px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-hidden .cmp-videos.vertical .cmp-pane{min-height:260px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked{--cmp-side-panel-w:clamp(330px,24vw,430px);}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-studio-main{gap:3px;padding-right:calc(var(--cmp-side-panel-w) + 10px);}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked.cmp-map-dock-side #cmp-right-panel{width:clamp(230px,var(--cmp-map-side-w,18vw),380px);min-width:220px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pairs-tray{top:62px;bottom:50px;max-width:min(720px,50vw);}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-videos.vertical{min-width:320px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-videos.vertical .cmp-pane{min-height:min(220px,calc((100vh - 228px)/2));}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked.cmp-map-dock-side .cmp-videos.vertical .cmp-pane{min-height:min(210px,calc((100vh - 230px)/2));}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked.cmp-map-dock-hidden .cmp-videos.vertical .cmp-pane{min-height:min(260px,calc((100vh - 190px)/2));}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-videos.vertical .cmp-center-divider{height:8px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-transport{left:50%;right:auto;bottom:5px;width:min(560px,calc(100% - 12px));transform:translateX(-50%);grid-template-columns:12px 18px minmax(94px,1fr) minmax(40px,auto) 20px;gap:2px;padding:1px 3px;border-radius:4px;background:rgba(15,23,42,.42);}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-play{width:18px;height:18px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-play svg{width:8px;height:8px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-more{width:20px;height:18px;font-size:8px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-transport-chip{width:12px;height:12px;border-radius:3px;font-size:7px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-seek{height:9px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-time{min-width:42px;max-width:86px;font-size:7px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-quick-controls{gap:2px;padding-top:0;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-jump,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-rate{height:16px;font-size:7px;min-width:24px;padding:0 3px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-rate{min-width:44px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-sync-chip{top:-18px;height:15px;font-size:7px;padding:0 6px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-tools{right:8px;bottom:31px;gap:3px;max-width:min(82%,calc(100% - 18px));}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-tools.right-tools{right:8px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-align{height:27px;gap:2px;padding:1px;border-radius:6px;background:rgba(15,23,42,.46);}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-align .cmp-pane-tool{width:23px;height:23px;font-size:13px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-zoom-readout{min-width:34px;height:23px;font-size:8px;border-radius:4px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-tool{width:27px;height:27px;border-radius:5px;font-size:15px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-ab-stacked .cmp-pane-tool.fit{width:31px;font-size:8px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-filters{max-width:none;display:flex;flex-direction:column;gap:5px;overflow:visible;padding-top:1px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-filters select,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-filters .cmp-pair-search,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-filters label,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pick-map{width:100%;min-width:0;height:20px;font-size:7px;padding:0 5px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-filters label{justify-content:center;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-list{display:flex;flex-direction:column;gap:10px;overflow:auto;grid-auto-flow:row;grid-template-rows:none;grid-auto-columns:auto;padding:0 4px 12px;scroll-snap-type:y proximity;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-card{position:relative;width:100%;min-width:0;padding:6px;overflow:hidden;scroll-snap-align:start;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-card.collapsed{display:grid;grid-template-rows:minmax(136px,auto);gap:6px;min-height:158px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-card.expanded{min-height:268px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-thumbs{min-height:0;gap:6px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-thumb{height:auto;aspect-ratio:5/4;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-card-head{min-height:20px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-card.collapsed .cmp-pair-card-head{display:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-card-meta{display:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-card.collapsed .cmp-pair-date-row{position:absolute;left:10px;right:10px;bottom:10px;z-index:4;pointer-events:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-card.collapsed .cmp-pair-date{height:27px;border-color:rgba(255,255,255,.34);background:rgba(15,23,42,.72);box-shadow:0 6px 18px rgba(15,23,42,.16);color:#e2e8f0;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-card.collapsed .cmp-pair-date i{font-size:8pt;color:#fff;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-card.collapsed .cmp-pair-date em{font-size:7.5pt;color:#cbd5e1;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-saved-pairs{flex:0 0 auto;max-height:96px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-saved-pairs.empty{display:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-pair-filters-collapsed .cmp-pair-filters,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-pair-filters-collapsed .cmp-saved-pairs{display:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-pair-filters-collapsed .cmp-pairs-head{gap:5px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-pair-filters-collapsed .cmp-pair-list{padding-top:4px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-tray{min-width:320px;max-width:min(480px,36vw);grid-template-columns:66px minmax(0,1fr);}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-workbench-panel.active{gap:7px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pairs-head{display:flex;flex-direction:column;gap:4px;min-height:0;padding:0 1px 5px;border-bottom:1px solid rgba(148,163,184,.22);background:#fff;overflow:visible;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pairs-title{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:3px;min-width:0;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pairs-title strong{display:block;min-width:0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pairs-title #cmp-pair-count{display:block;grid-column:1/-1;color:#64748b;font-size:8px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pairs-title #cmp-extent-summary{display:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pairs-title #cmp-pair-index-status{grid-column:1/-1;width:100%;min-width:0;max-width:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pairs-title .cmp-pairs-expand{height:20px;min-width:44px;padding:0 5px;font-size:7px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pairs-layout-group{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%;margin-top:0;border:0;background:transparent;overflow:visible;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pairs-layout-group::before{content:"Layout";grid-column:1/-1;display:flex;height:16px;align-items:center;justify-content:center;border:1px solid rgba(8,145,178,.18);border-radius:4px;background:#ecfeff;color:#0f766e;font-size:7px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pairs-layout-group .cmp-pairs-layout{width:100%;height:22px;min-width:0;border:1px solid rgba(8,145,178,.28);border-radius:5px;background:#fff;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-filters{display:grid;grid-template-columns:minmax(116px,1fr) minmax(92px,.8fr);gap:3px;max-width:none;padding:0;overflow:visible;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-filters .cmp-pair-search{grid-column:1/-1;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-filters select,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-filters .cmp-pair-search,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-filters label,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pick-map{width:100%;min-width:0;height:20px;padding:0 5px;font-size:7px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-filters label{justify-content:flex-start;overflow:hidden;text-overflow:ellipsis;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-list{flex:1;gap:8px;min-height:0;padding:0 4px 12px;overflow:auto;scroll-snap-type:y proximity;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card{width:100%;min-width:0;padding:6px;gap:5px;scroll-snap-align:start;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed{display:grid;grid-template-rows:auto auto auto;min-height:0;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.expanded{min-height:0;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-thumbs{gap:6px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-thumb{height:auto;aspect-ratio:16/10;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card-head,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card-meta{display:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-essential{display:grid;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed .cmp-pair-date-row{position:static;left:auto;right:auto;bottom:auto;z-index:auto;pointer-events:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed .cmp-pair-date{height:29px;border-color:rgba(148,163,184,.28);background:#f8fafc;box-shadow:none;color:#334155;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed .cmp-pair-date i{font-size:8pt;color:#0f172a;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed .cmp-pair-date em{font-size:7.5pt;color:#64748b;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-detail{display:grid;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-pair-filters-collapsed #cmp-workbench-pairs .cmp-pair-filters{display:none;}
.cmp-pair-filters{display:flex;align-items:center;gap:7px;overflow-x:auto;min-width:0;}
.cmp-pair-filters label,.cmp-pair-filters select,.cmp-pair-search,.cmp-pick-map{height:28px;border:1px solid rgba(148,163,184,.35);border-radius:5px;background:#f8fafc;color:#334155;font:inherit;font-size:10px;font-weight:800;padding:0 8px;white-space:nowrap;}
.cmp-pair-filters label{display:flex;align-items:center;gap:5px;}
.cmp-pair-filters label.disabled{opacity:.55;cursor:not-allowed;}
.cmp-pair-filters label.disabled input{cursor:not-allowed;}
.cmp-pair-filters select:disabled{opacity:.55;cursor:not-allowed;}
.cmp-pair-search{min-width:clamp(170px,18vw,270px);background:#fff;color:#0f172a;}
.cmp-pair-search::placeholder{color:#94a3b8;font-weight:800;}
.cmp-pick-map{background:#0891b2;color:#fff;border-color:#0891b2;cursor:pointer;}
.cmp-pick-map.active{background:#0f172a;border-color:#0f172a;color:#fff;}
.cmp-geometry-pick-panel{min-height:44px;border:1px solid rgba(8,145,178,.28);border-radius:7px;background:linear-gradient(180deg,#f8feff,#eefbff);display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 8px;box-shadow:0 3px 12px rgba(8,145,178,.08);}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-panel{min-height:0;grid-template-columns:minmax(210px,286px) minmax(0,1fr) auto;grid-template-rows:22px 18px;gap:1px 5px;padding:2px 5px;}
.cmp-geometry-pick-panel[hidden]{display:none!important;}
.cmp-geometry-pick-title{min-width:0;display:grid;gap:2px;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-title{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 7px;}
.cmp-geometry-pick-title strong{font-size:11px;color:#0f172a;font-weight:950;}
.cmp-geometry-pick-title span{font-size:10px;color:#0f766e;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-title strong{font-size:9px;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-title span{font-size:8px;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-title>strong,
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-title>span{display:none;}
.cmp-geometry-pick-scope{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:3px;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-scope{grid-column:1/-1;margin-top:0;gap:3px;}
.cmp-geometry-pick-scope[hidden]{display:none!important;}
.cmp-geometry-pick-scope button{height:24px;border:1px solid rgba(148,163,184,.32);border-radius:5px;background:#fff;color:#475569;font:inherit;font-size:9px;font-weight:950;cursor:pointer;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 6px;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-scope button{height:22px;padding:0 5px;}
.cmp-geometry-pick-scope button span{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.cmp-geometry-pick-scope button em{min-width:18px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(15,23,42,.07);color:#334155;font-style:normal;font-size:8px;font-weight:950;font-variant-numeric:tabular-nums;padding:0 5px;}
.cmp-geometry-pick-scope button.has-hidden em{background:rgba(249,115,22,.14);color:#c2410c;}
.cmp-geometry-pick-scope button:hover{border-color:#0891b2;color:#0891b2;background:rgba(6,182,212,.06);}
.cmp-geometry-pick-scope button.active{background:#0891b2;border-color:#0891b2;color:#fff;box-shadow:0 0 0 1px rgba(8,145,178,.12);}
.cmp-geometry-pick-scope button.active em{background:rgba(255,255,255,.22);color:#fff;}
.cmp-geometry-pick-badges{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:6px;}
.cmp-geometry-badge{height:30px;min-width:0;border:1px solid rgba(148,163,184,.35);border-radius:6px;background:#fff;color:#475569;font:inherit;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:5px;padding:0 7px;cursor:pointer;text-align:left;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-badge{height:22px;padding:0 5px;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-badges{grid-template-columns:repeat(4,minmax(82px,1fr));gap:4px;}
.cmp-geometry-badge b{width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:950;}
.cmp-geometry-badge span{font-size:10px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-geometry-badge.a b{background:#0891b2;}
.cmp-geometry-badge.b b{background:#7c3aed;}
.cmp-geometry-badge.c b{background:#f97316;}
.cmp-geometry-badge.d b{background:#10b981;}
.cmp-geometry-badge.active{border-color:#0891b2;box-shadow:0 0 0 2px rgba(8,145,178,.12);}
.cmp-geometry-badge.selected{background:#f0fdfa;border-color:rgba(16,185,129,.38);color:#0f766e;}
.cmp-geometry-pick-dates{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;padding-top:1px;}
.cmp-geometry-pick-dates[hidden]{display:none!important;}
.cmp-geometry-date-label{font-size:9px;font-weight:950;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}
.cmp-geometry-date-chip{height:22px;display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(148,163,184,.32);border-radius:999px;background:#fff;color:#334155;font:inherit;font-size:9px;font-weight:900;padding:0 8px;white-space:nowrap;cursor:pointer;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-date-chip{height:18px;padding:0 5px;}
.cmp-geometry-date-chip i{width:8px;height:8px;border-radius:999px;background:var(--cmp-date-color,#0891b2);box-shadow:0 0 0 2px rgba(255,255,255,.92),0 0 0 3px rgba(148,163,184,.2);}
.cmp-geometry-date-chip b{font-weight:950;color:#0f172a;font-variant-numeric:tabular-nums;}
.cmp-geometry-date-chip span{min-width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(15,23,42,.07);color:#475569;font-size:8px;}
.cmp-geometry-date-chip.all{background:#f8fafc;}
.cmp-geometry-date-chip.active{border-color:rgba(8,145,178,.32);background:rgba(224,247,254,.68);color:#0e7490;}
.cmp-geometry-date-chip.muted{opacity:.48;background:#f8fafc;text-decoration:line-through;}
.cmp-geometry-date-chip:hover{border-color:#0891b2;opacity:1;text-decoration:none;}
.cmp-geometry-pick-actions{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:6px;align-self:center;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-actions{gap:4px;}
.cmp-pick-confirm,.cmp-pick-cancel,.cmp-pick-fit{height:28px;border-radius:5px;border:1px solid rgba(148,163,184,.35);font:inherit;font-size:10px;font-weight:950;padding:0 10px;white-space:nowrap;cursor:pointer;}
#compare-overlay.cmp-geometry-picking .cmp-pick-confirm,
#compare-overlay.cmp-geometry-picking .cmp-pick-cancel,
#compare-overlay.cmp-geometry-picking .cmp-pick-fit{height:22px;padding:0 7px;font-size:8px;}
.cmp-pick-confirm{background:#0891b2;border-color:#0891b2;color:#fff;}
.cmp-pick-confirm:disabled{background:#e2e8f0;border-color:#cbd5e1;color:#94a3b8;cursor:not-allowed;}
.cmp-pick-cancel{background:#fff;color:#475569;}
.cmp-pick-fit{background:#ecfeff;border-color:rgba(8,145,178,.28);color:#0e7490;}
.cmp-pick-fit:hover{border-color:#0891b2;color:#075985;background:#cffafe;}
.cmp-pick-cancel:hover{border-color:#ef4444;color:#dc2626;background:#fff5f5;}
.cmp-geometry-pick-path{cursor:pointer;filter:drop-shadow(0 1px 2px rgba(15,23,42,.22));pointer-events:bounding-box;}
.cmp-geometry-pick-visible{filter:drop-shadow(0 1px 2px rgba(15,23,42,.22));pointer-events:none;}
.cmp-geometry-pick-hit{filter:none!important;pointer-events:bounding-box;}
.cmp-geometry-pick-path:not(.cmp-geometry-pick-hit):hover{stroke-width:5px;}
.cmp-geometry-pick-label{width:auto!important;height:auto!important;pointer-events:none!important;}
.cmp-geometry-pick-label b,.cmp-geometry-pick-label span{display:inline-flex;align-items:center;height:20px;box-shadow:0 4px 12px rgba(15,23,42,.2);}
.cmp-geometry-pick-label b{justify-content:center;width:22px;border-radius:6px 0 0 6px;background:#0891b2;color:#fff;font-size:10px;font-weight:950;}
.cmp-geometry-pick-label.b b{background:#7c3aed;}
.cmp-geometry-pick-label.c b{background:#f97316;}
.cmp-geometry-pick-label.d b{background:#10b981;}
.cmp-geometry-pick-label span{padding:0 7px;border-radius:0 6px 6px 0;background:rgba(15,23,42,.82);color:#e2e8f0;font-size:9px;font-weight:900;white-space:nowrap;}
.cmp-candidate-strip{display:none;}
.cmp-saved-pairs{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:stretch;gap:8px;min-height:42px;border:1px solid rgba(148,163,184,.22);border-radius:7px;background:rgba(248,250,252,.72);padding:7px;}
.cmp-saved-head{display:flex;flex-direction:column;justify-content:center;gap:2px;color:#0f172a;}
.cmp-saved-head strong{font-size:11px;font-weight:950;}
.cmp-saved-head span{font-size:9px;color:#64748b;font-weight:800;}
.cmp-saved-list{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;min-width:0;}
.cmp-saved-empty{display:flex;align-items:center;height:100%;color:#64748b;font-size:10px;font-weight:800;}
.cmp-saved-card{min-width:336px;max-width:380px;border:1px solid rgba(148,163,184,.28);border-radius:6px;background:#fff;display:grid;grid-template-columns:58px minmax(0,1fr) 86px auto;gap:6px;align-items:center;padding:6px 7px;cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.04);}
.cmp-saved-card:hover,.cmp-saved-card.active{border-color:#0891b2;box-shadow:0 0 0 1px rgba(8,145,178,.14);}
.cmp-saved-card.accepted{border-color:rgba(16,185,129,.38);}
.cmp-saved-card.rejected{border-color:rgba(239,68,68,.36);background:#fffafa;}
.cmp-saved-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:3px;}
.cmp-saved-thumb{height:38px;border-radius:4px;background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:950;overflow:hidden;}
.cmp-saved-thumb img{width:100%;height:100%;object-fit:cover;}
.cmp-saved-main{min-width:0;}
.cmp-saved-main b{display:block;font-size:10px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-saved-main span{display:block;margin-top:2px;font-size:9px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-saved-status{display:inline-flex!important;width:max-content;margin-top:4px;border:1px solid rgba(148,163,184,.28);border-radius:999px;background:#f8fafc;color:#64748b;padding:1px 6px;font-style:normal;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;}
.cmp-saved-status.accepted{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.1);color:#047857;}
.cmp-saved-status.rejected{border-color:rgba(239,68,68,.32);background:rgba(239,68,68,.08);color:#dc2626;}
.cmp-saved-note{min-width:0;display:grid;gap:1px;}
.cmp-saved-note b{font-size:10px;color:#0891b2;font-variant-numeric:tabular-nums;}
.cmp-saved-note span{font-size:9px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-saved-actions{display:flex;align-items:center;gap:4px;}
.cmp-saved-actions button{height:24px;border:1px solid rgba(148,163,184,.32);border-radius:4px;background:#f8fafc;color:#475569;font-size:9px;font-weight:900;font-family:inherit;cursor:pointer;padding:0 6px;}
.cmp-saved-actions button:hover{border-color:#0891b2;color:#0891b2;background:rgba(6,182,212,.08);}
.cmp-saved-actions button[data-cmp-saved-delete]:hover{border-color:#ef4444;color:#dc2626;background:rgba(239,68,68,.08);}
.cmp-pair-list{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;min-height:0;padding-bottom:2px;}
.cmp-pair-card{width:228px;min-width:228px;border:1px solid rgba(148,163,184,.32);border-radius:7px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.06);padding:6px;display:grid;gap:5px;cursor:pointer;}
.cmp-pair-card.expanded{width:318px;min-width:318px;padding:7px;gap:6px;}
.cmp-pair-card:hover,.cmp-pair-card.active{border-color:#0891b2;box-shadow:0 0 0 1px rgba(8,145,178,.18),0 8px 18px rgba(8,145,178,.12);}
.cmp-pair-card.expanded{border-color:#0891b2;background:linear-gradient(180deg,#ecfeff 0,#fff 22%,#fff 100%);box-shadow:inset 0 4px 0 rgba(8,145,178,.82),0 0 0 1px rgba(8,145,178,.2),0 14px 28px rgba(8,145,178,.16);}
.cmp-pair-card.current{border-color:rgba(8,145,178,.5);box-shadow:inset 0 3px 0 rgba(8,145,178,.72),0 2px 8px rgba(15,23,42,.05);}
.cmp-pair-card.accepted{border-color:rgba(16,185,129,.45);box-shadow:inset 0 3px 0 rgba(16,185,129,.7),0 2px 8px rgba(15,23,42,.05);}
.cmp-pair-card.rejected{border-color:rgba(239,68,68,.28);background:linear-gradient(180deg,#fffafa,#fff);opacity:.72;}
.cmp-pair-card.rejected:hover{opacity:1;border-color:#ef4444;box-shadow:0 0 0 1px rgba(239,68,68,.14);}
.cmp-pair-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.cmp-pair-thumb{position:relative;height:58px;border-radius:5px;overflow:hidden;background:#e2e8f0;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:10px;font-weight:900;}
.cmp-pair-card.collapsed .cmp-pair-thumb{height:52px;}
.cmp-pair-thumb img{width:100%;height:100%;object-fit:cover;image-rendering:auto;transform:translateZ(0);}
.cmp-pair-thumb .cmp-side-chip{position:absolute;left:5px;top:5px;}
.cmp-pair-geometry{grid-column:1/-1;position:relative;height:42px;border:1px solid rgba(148,163,184,.22);border-radius:5px;background:transparent;overflow:hidden;color:#475569;display:grid;grid-template-rows:minmax(0,1fr) 16px;gap:1px;padding:2px 4px 3px;box-sizing:border-box;}
.cmp-pair-geometry svg{position:relative;inset:auto;width:100%;height:100%;min-height:0;display:block;grid-row:1;}
.cmp-pair-geo-axis{stroke:rgba(148,163,184,.18);stroke-width:1;vector-effect:non-scaling-stroke;}
.cmp-pair-geo-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(15,23,42,.16));}
.cmp-pair-geo-line.a{stroke:#0891b2;}
.cmp-pair-geo-line.b{stroke:#7c3aed;}
.cmp-pair-geo-point{stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(15,23,42,.2));}
.cmp-pair-geo-point.a{fill:#0891b2;}
.cmp-pair-geo-point.b{fill:#7c3aed;}
.cmp-pair-geo-point.start{opacity:.72;}
.cmp-pair-geo-point.end{opacity:1;stroke-width:1.6;}
.cmp-pair-geo-title{position:absolute;left:7px;top:4px;z-index:2;color:#475569;font-style:normal;font-size:7px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 1px 0 rgba(255,255,255,.9);}
.cmp-pair-geo-direction{position:absolute;right:6px;top:4px;z-index:2;height:13px;max-width:86px;display:inline-flex;align-items:center;border:1px solid rgba(148,163,184,.26);border-radius:999px;background:rgba(255,255,255,.88);color:#475569;padding:0 5px;font-size:7px;font-weight:950;font-style:normal;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 4px rgba(15,23,42,.08);}
.cmp-pair-geo-direction.reverse{border-color:rgba(245,158,11,.36);background:rgba(255,251,235,.94);color:#92400e;}
.cmp-pair-geo-direction.same{border-color:rgba(8,145,178,.22);background:rgba(224,247,254,.88);color:#0f766e;}
.cmp-pair-geo-metrics{position:relative;left:auto;right:auto;bottom:auto;z-index:2;display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;grid-row:2;}
.cmp-pair-geo-chip{height:14px;display:inline-flex;align-items:center;gap:3px;padding:0 4px;border-radius:4px;color:#fff;font-size:7px;font-weight:950;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 1px 4px rgba(15,23,42,.12);}
.cmp-pair-geo-chip i{width:10px;height:10px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.22);font-style:normal;font-size:7px;font-weight:950;}
.cmp-pair-geo-chip.a{background:#0891b2;}
.cmp-pair-geo-chip.b{background:#7c3aed;}
.cmp-pair-geo-match{margin-left:auto;min-width:0;max-width:52%;height:15px;display:inline-flex;align-items:center;border:1px solid rgba(8,145,178,.24);border-radius:999px;background:rgba(255,255,255,.88);color:#0f172a;padding:0 5px;font-size:7px;font-weight:950;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 5px rgba(15,23,42,.08);}
.cmp-pair-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;}
.cmp-pair-card-head b{min-width:0;color:#0f172a;font-size:8pt;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-pair-card-head span{height:18px;display:inline-flex;align-items:center;border:1px solid rgba(8,145,178,.22);border-radius:999px;background:rgba(224,247,254,.72);color:#0f766e;padding:0 6px;font-size:7pt;font-weight:950;white-space:nowrap;text-transform:uppercase;}
.cmp-pair-card-head span b{font-size:8pt;color:#0f766e;font-variant-numeric:tabular-nums;}
.cmp-pair-card-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;color:#64748b;font-size:7.5pt;font-weight:850;min-width:0;}
.cmp-pair-card-meta span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-pair-essential{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:2px 6px;min-width:0;align-items:center;}
.cmp-pair-essential div{min-width:0;display:grid;gap:1px;}
.cmp-pair-essential strong,.cmp-pair-essential span,.cmp-pair-essential em,.cmp-pair-essential i{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:normal;}
.cmp-pair-essential strong{color:#0f172a;font-size:9px;font-weight:950;}
.cmp-pair-essential span{color:#64748b;font-size:8px;font-weight:800;}
.cmp-pair-essential em{height:18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(8,145,178,.22);border-radius:999px;background:rgba(224,247,254,.7);color:#0f766e;padding:0 6px;font-size:8px;font-weight:950;text-transform:uppercase;}
.cmp-pair-essential i{grid-column:1/-1;color:#64748b;font-size:8px;font-weight:850;}
.cmp-pair-detail{display:grid;gap:6px;}
.cmp-pair-card.collapsed .cmp-pair-detail{display:none;}
.cmp-pair-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;}
.cmp-pair-title{font-size:11px;font-weight:900;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-pair-score{border:1px solid rgba(8,145,178,.24);border-radius:999px;background:rgba(224,247,254,.7);color:#0f766e;padding:2px 6px;font-size:8px;font-weight:900;text-transform:uppercase;white-space:nowrap;}
.cmp-pair-score b{font-size:10px;font-variant-numeric:tabular-nums;}
.cmp-pair-score.current{background:rgba(8,145,178,.1);color:#0e7490;}
.cmp-pair-date-row{display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.cmp-pair-date{min-width:0;height:31px;border:1px solid rgba(148,163,184,.28);border-radius:5px;background:#f8fafc;color:#334155;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;column-gap:5px;padding:2px 7px;font-size:9px;font-weight:950;font-variant-numeric:tabular-nums;overflow:hidden;}
.cmp-pair-date b{width:16px;height:16px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:8px;font-weight:950;flex:0 0 auto;}
.cmp-pair-date.a b{background:#0891b2;}
.cmp-pair-date.b b{background:#7c3aed;}
.cmp-pair-date b{grid-row:1/3;}
.cmp-pair-date i,.cmp-pair-date em{min-width:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:normal;line-height:1;}
.cmp-pair-date i{font-size:8pt;color:#0f172a;}
.cmp-pair-date em{font-size:7.5pt;color:#64748b;font-weight:850;}
.cmp-pair-meta{display:grid;grid-template-columns:1fr 1fr auto;gap:5px;font-size:9px;color:#475569;}
.cmp-pair-meta span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-pair-badges{display:flex;gap:5px;flex-wrap:wrap;}
.cmp-pair-badge{border:1px solid rgba(16,185,129,.28);background:rgba(16,185,129,.09);color:#047857;border-radius:4px;padding:2px 5px;font-size:9px;font-weight:900;}
.cmp-pair-badge.current{border-color:rgba(8,145,178,.34);background:rgba(224,247,254,.74);color:#0e7490;}
.cmp-pair-badge.muted{border-color:rgba(148,163,184,.3);background:#f8fafc;color:#64748b;}
.cmp-pair-confidence{height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden;}
.cmp-pair-confidence i{display:block;height:100%;width:var(--cmp-confidence,0%);border-radius:inherit;background:linear-gradient(90deg,#0891b2,#7c3aed);}
.cmp-pair-why{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;align-items:start;font-size:9px;color:#64748b;line-height:1.25;}
.cmp-pair-why b{color:#0f172a;text-transform:uppercase;letter-spacing:.04em;}
.cmp-pair-why span{min-width:0;}
.cmp-pair-open-prompt{min-height:22px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(8,145,178,.34);border-radius:5px;background:linear-gradient(180deg,#cffafe,#ecfeff);color:#075985;font-size:9px;font-weight:950;text-align:center;padding:3px 7px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);}
.cmp-pair-review{display:flex;align-items:center;gap:5px;min-width:0;}
.cmp-review-status{flex:1;min-width:0;border:1px solid rgba(148,163,184,.3);border-radius:999px;background:#f8fafc;color:#64748b;padding:3px 7px;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-review-status.accepted{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.1);color:#047857;}
.cmp-review-status.rejected{border-color:rgba(239,68,68,.32);background:rgba(239,68,68,.08);color:#dc2626;}
.cmp-review-btn{height:22px;border:1px solid rgba(148,163,184,.32);border-radius:4px;background:#fff;color:#475569;font:inherit;font-size:8px;font-weight:950;cursor:pointer;padding:0 6px;white-space:nowrap;}
.cmp-review-btn.accept:hover,.cmp-review-btn.accept.active{border-color:#10b981;background:#10b981;color:#fff;}
.cmp-review-btn.reject:hover,.cmp-review-btn.reject.active{border-color:#ef4444;background:#ef4444;color:#fff;}
.cmp-review-btn.clear:hover{border-color:#64748b;background:#64748b;color:#fff;}
.cmp-pair-action{height:28px;border:1px solid rgba(8,145,178,.35);border-radius:5px;background:#f8fafc;color:#0891b2;font-size:10px;font-weight:900;cursor:pointer;}
.cmp-pair-action:hover{background:#0891b2;color:#fff;}
.cmp-pair-action.current{background:#0891b2;border-color:#0891b2;color:#fff;}
.cmp-pair-empty{height:100%;display:flex;align-items:center;color:#64748b;font-size:12px;font-weight:800;padding:0 12px;}
.cmp-pair-list[data-thumb-size="compact"]{gap:8px;}
.cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card{width:196px;min-width:196px;padding:5px;gap:4px;}
.cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card.expanded{width:288px;min-width:288px;}
.cmp-pair-list[data-thumb-size="compact"] .cmp-pair-thumb{height:46px;}
.cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card.collapsed .cmp-pair-thumb{height:42px;}
.cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card-head span{display:none;}
.cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card-meta{font-size:7pt;}
.cmp-pair-list[data-thumb-size="large"]{gap:12px;}
.cmp-pair-list[data-thumb-size="large"] .cmp-pair-card{width:296px;min-width:296px;padding:7px;gap:6px;}
.cmp-pair-list[data-thumb-size="large"] .cmp-pair-card.expanded{width:392px;min-width:392px;}
.cmp-pair-list[data-thumb-size="large"] .cmp-pair-thumb{height:88px;}
.cmp-pair-list[data-thumb-size="large"] .cmp-pair-card.collapsed .cmp-pair-thumb{height:82px;}
.cmp-pair-list[data-thumb-size="large"] .cmp-pair-date{height:34px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card.expanded{min-width:min(620px,calc(100vw - 168px));max-width:760px;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-list[data-thumb-size="large"] .cmp-pair-card,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-list[data-thumb-size="large"] .cmp-pair-card.expanded{min-width:min(1040px,calc(100vw - 168px));max-width:1280px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-list[data-thumb-size="compact"]{gap:7px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card{padding:5px;gap:4px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card.collapsed{grid-template-rows:minmax(112px,auto);min-height:132px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card.expanded{min-height:232px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card-head span{display:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-list[data-thumb-size="large"]{gap:12px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-list[data-thumb-size="large"] .cmp-pair-card{padding:8px;gap:7px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-list[data-thumb-size="large"] .cmp-pair-card.collapsed{grid-template-rows:minmax(168px,auto);min-height:196px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-list[data-thumb-size="large"] .cmp-pair-card.expanded{min-height:316px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-list[data-thumb-size="large"] .cmp-pair-thumbs{gap:7px;}
#compare-overlay.cmp-workbench-expanded .cmp-pair-thumb,
#compare-overlay.cmp-workbench-expanded .cmp-pair-card.collapsed .cmp-pair-thumb,
#compare-overlay.cmp-workbench-expanded .cmp-pair-card.expanded .cmp-pair-thumb,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pair-thumb{height:auto;aspect-ratio:5/4;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.expanded{width:100%;min-width:0;min-height:0;flex:0 0 auto;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed{display:grid;grid-template-rows:auto auto auto;gap:5px;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card-head,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card-meta{display:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-essential{display:grid;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed .cmp-pair-date-row{position:static;left:auto;right:auto;bottom:auto;z-index:auto;pointer-events:none;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed .cmp-pair-date{height:29px;border-color:rgba(148,163,184,.28);background:#f8fafc;box-shadow:none;color:#334155;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed .cmp-pair-date i{color:#0f172a;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed .cmp-pair-date em{color:#64748b;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-thumb,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.collapsed .cmp-pair-thumb,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-thumb{height:auto;aspect-ratio:16/10;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-list[data-thumb-size="compact"] .cmp-pair-thumb{aspect-ratio:16/9;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-list[data-thumb-size="large"] .cmp-pair-thumb{aspect-ratio:4/3;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card,
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side #cmp-workbench-pairs .cmp-pair-list[data-thumb-size="large"] .cmp-pair-card{min-height:0;}
.cmp-feature-tools{display:grid;grid-template-columns:minmax(190px,1fr) 112px 120px minmax(150px,1fr) minmax(170px,1.2fr) auto auto auto auto;align-items:center;gap:7px;flex:0 0 auto;}
.cmp-feature-title{min-width:0;display:flex;flex-direction:column;gap:2px;}
.cmp-feature-title strong{font-size:12px;color:#0f172a;}
.cmp-feature-title span{font-size:10px;color:#64748b;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-feature-tools select,.cmp-feature-tools input{height:28px;border:1px solid rgba(148,163,184,.34);border-radius:5px;background:#f8fafc;color:#334155;font:inherit;font-size:10px;font-weight:800;padding:0 8px;min-width:0;}
.cmp-feature-tools input{background:#fff;}
.cmp-feature-action{height:28px;border:1px solid rgba(8,145,178,.35);border-radius:5px;background:#e0f7fe;color:#0891b2;font:inherit;font-size:10px;font-weight:950;padding:0 10px;cursor:pointer;white-space:nowrap;}
.cmp-feature-action:hover,.cmp-feature-action.active{background:#0891b2;color:#fff;border-color:#0891b2;}
.cmp-feature-action.secondary{background:#f8fafc;color:#475569;border-color:rgba(148,163,184,.35);}
.cmp-feature-action.secondary:hover{background:#334155;color:#fff;border-color:#334155;}
.cmp-feature-action:disabled{opacity:.45;cursor:not-allowed;background:#f1f5f9!important;color:#94a3b8!important;border-color:rgba(148,163,184,.22)!important;}
.cmp-feature-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid rgba(148,163,184,.22);border-radius:7px;background:#fff;}
.cmp-feature-table{width:100%;border-collapse:collapse;font-size:10px;color:#334155;}
.cmp-feature-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#64748b;text-transform:uppercase;letter-spacing:.04em;text-align:left;font-size:9px;padding:6px 8px;border-bottom:1px solid rgba(148,163,184,.22);}
.cmp-feature-table td{padding:6px 8px;border-bottom:1px solid rgba(226,232,240,.9);font-weight:750;vertical-align:top;}
.cmp-feature-table tbody tr:hover{background:rgba(6,182,212,.06);}
.cmp-feature-table tbody tr.active{background:rgba(249,115,22,.11);box-shadow:inset 3px 0 #f97316;}
.cmp-feature-side-pill{display:inline-flex;align-items:center;justify-content:center;width:20px;height:18px;border-radius:4px;color:#fff;font-size:9px;font-weight:950;}
.cmp-feature-side-pill.a{background:#0891b2;}
.cmp-feature-side-pill.b{background:#7c3aed;}
.cmp-feature-type{font-size:9px;text-transform:uppercase;color:#64748b;font-weight:950;}
.cmp-feature-name{display:block;color:#0f172a;font-size:10px;font-weight:950;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-feature-desc{display:block;color:#64748b;font-size:9px;font-weight:750;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}
.cmp-feature-empty{height:82px;text-align:center;color:#64748b;font-weight:850;}
.cmp-feature-draft-dot{background:#f97316;border:2px solid #fff;border-radius:999px;width:12px;height:12px;box-shadow:0 0 0 2px rgba(249,115,22,.28);}
.cmp-export-panel{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(250px,.8fr) minmax(280px,1fr) auto;align-items:stretch;gap:12px;min-height:0;flex:1;}
.cmp-export-layouts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;}
.cmp-export-layouts button{border:1px solid rgba(148,163,184,.32);border-radius:6px;background:#f8fafc;color:#475569;font:inherit;font-size:10px;font-weight:950;cursor:pointer;padding:8px;min-height:54px;}
.cmp-export-layouts [data-cmp-export-orientation]{grid-column:span 3;min-height:32px;background:#ecfeff;color:#0f766e;}
.cmp-export-layouts [data-cmp-export-layout]{grid-column:span 2;}
.cmp-export-layouts button.active{background:linear-gradient(180deg,#e0f7fe,#f8fafc);border-color:rgba(8,145,178,.45);color:#0891b2;box-shadow:inset 0 -3px 0 rgba(8,145,178,.22);}
.cmp-export-options{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:7px;align-content:center;border:1px solid rgba(148,163,184,.22);border-radius:7px;background:#f8fafc;padding:10px;}
.cmp-export-options label{display:flex;align-items:center;gap:7px;color:#334155;font-size:10px;font-weight:850;}
.cmp-export-options label.disabled{opacity:.54;cursor:not-allowed;}
.cmp-export-info{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;}
.cmp-export-status,.cmp-export-history{border:1px solid rgba(148,163,184,.22);border-radius:7px;background:#fff;padding:9px;min-width:0;}
.cmp-export-status strong{display:block;font-size:11px;color:#0f172a;font-weight:950;margin-bottom:4px;}
.cmp-export-status span{display:block;font-size:10px;color:#64748b;font-weight:800;line-height:1.35;}
.cmp-export-history{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;align-items:stretch;}
.cmp-export-history>span{display:flex;align-items:center;color:#64748b;font-size:10px;font-weight:800;white-space:nowrap;}
.cmp-export-history-card{min-width:190px;border:1px solid rgba(148,163,184,.24);border-radius:6px;background:#f8fafc;padding:7px;display:grid;gap:4px;cursor:pointer;}
.cmp-export-history-card.active{border-color:rgba(8,145,178,.48);background:linear-gradient(180deg,#e0f7fe,#fff);box-shadow:inset 0 3px 0 rgba(8,145,178,.55);}
.cmp-export-history-card b{font-size:10px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-export-history-card span{font-size:9px;color:#64748b;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cmp-export-history-card em{font-style:normal;font-size:9px;color:#0891b2;font-weight:950;}
.cmp-export-history-card button{height:22px;border:1px solid rgba(8,145,178,.28);border-radius:4px;background:#fff;color:#0891b2;font:inherit;font-size:9px;font-weight:950;cursor:pointer;}
.cmp-export-history-card button:hover,.cmp-export-history-card.active button{background:#0891b2;color:#fff;border-color:#0891b2;}
.cmp-export-actions{display:flex;flex-direction:column;gap:7px;min-width:160px;}
.cmp-export-actions button{height:32px;border:1px solid rgba(148,163,184,.32);border-radius:5px;background:#f8fafc;color:#334155;font:inherit;font-size:10px;font-weight:950;cursor:pointer;padding:0 12px;}
.cmp-export-actions button:hover{border-color:#0891b2;background:#0891b2;color:#fff;}
.cmp-export-actions-note{width:178px;border:1px dashed rgba(8,145,178,.28);border-radius:7px;background:rgba(224,247,254,.45);color:#64748b;font-size:10px;font-weight:850;line-height:1.35;padding:10px;box-sizing:border-box;display:flex;align-items:center;}
#compare-overlay.cmp-export-no-telemetry .cmp-telemetry-card{display:none!important;}
#compare-overlay.cmp-export-no-timeline .cmp-ruler,
#compare-overlay.cmp-export-no-timeline .cmp-timeline-readout,
#compare-overlay.cmp-export-no-timeline .cmp-track-line{display:none!important;}
#compare-overlay.cmp-export-no-labels .cmp-telemetry-card .ct-head strong,
#compare-overlay.cmp-export-no-labels .cmp-telemetry-card .date-badge{display:none!important;}
.utility-job-card.compare-export-job{background:linear-gradient(180deg,#fff,#f8fafc);border-color:rgba(8,145,178,.24);}
.utility-job-card.compare-export-job .uj-value small{display:block;color:#64748b;font-size:10px;font-weight:800;margin-top:2px;}

/* Compare Studio density pass: preserve media/map space while keeping header tools readable at audit widths. */
#compare-overlay:not(.cmp-geometry-picking) .cmp-studio-head{min-height:44px;grid-template-columns:minmax(150px,226px) minmax(156px,auto) minmax(0,1fr);grid-template-areas:"title workflow actions" "selectors selectors actions";gap:2px 6px;padding:2px 6px 3px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-studio-title{gap:4px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-studio-title span{font-size:12px;min-width:0;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-project-select{height:20px;min-width:124px;max-width:168px;font-size:8px;padding:0 4px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-workflow-nav{gap:3px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-workflow-nav button{height:20px;padding:0 6px;font-size:8px;border-radius:4px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-studio-selectors{gap:3px;padding-bottom:0;overflow-x:auto;overflow-y:hidden;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-studio-selectors select{height:20px;width:clamp(92px,8vw,142px);min-width:92px;max-width:142px;font-size:8px;padding:0 5px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-selector-date{height:17px;min-width:58px;max-width:74px;padding:0 5px;font-size:7px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-cycle-chip{height:17px;min-width:66px;max-width:90px;padding:0 5px;font-size:7px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-side-chip{width:17px;height:17px;border-radius:4px;font-size:9px;flex:0 0 auto;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-vs{font-size:9px;letter-spacing:.04em;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-nav-btn{width:20px;height:20px;border-radius:4px;font-size:13px;flex:0 0 auto;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-studio-actions{align-content:center;justify-content:flex-end;gap:3px;overflow:visible;background:transparent;flex-wrap:wrap;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-orient-btn,
#compare-overlay:not(.cmp-geometry-picking) .cmp-exit,
#compare-overlay:not(.cmp-geometry-picking) .cmp-flicker-auto{height:20px;border-radius:4px;font-size:8px;padding:0 6px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-exit{padding:0 9px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-tools-toggle{min-width:48px;gap:3px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-tools-toggle span{font-size:0;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-tools-toggle span::after{content:"Tools";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-ab-layout-group{height:20px;border-radius:4px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-ab-layout-group::before{content:"View";padding:0 5px;font-size:7px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-ab-layout-group .cmp-orient-btn{height:18px;padding:0 6px;font-size:0;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-orient-side::after{content:"Side";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-orient::after{content:"Stack";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-wipe{font-size:0;min-width:36px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-wipe::after{content:"Wipe";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-flicker{font-size:0;min-width:42px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-flicker::after{content:"Flicker";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-pick-geometries-head{font-size:0;min-width:44px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-pick-geometries-head::after{content:"Pick";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-map-toggle{font-size:0;min-width:38px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-map-toggle::after{content:"Map";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-hud-toggle{font-size:0;min-width:48px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-hud-toggle::after{content:"Overlays";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-save-pair{font-size:0;min-width:36px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-save-pair::after{content:"Save";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-annotate-btn{font-size:0;min-width:38px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-annotate-btn::after{content:"Notes";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-export-menu-btn{font-size:0;min-width:42px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-export-menu-btn::after{content:"Export";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) #cmp-flicker-swap{max-width:62px;min-width:48px;text-overflow:ellipsis;white-space:nowrap;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-flicker-status{height:18px;max-width:88px;min-width:0;display:inline-flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:7px;line-height:1;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-flicker-keep-label{height:20px;font-size:8px;gap:2px;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-studio-actions{gap:2px;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) #cmp-add-c,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) #cmp-add-d{min-width:28px;padding:0 5px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-transport{flex-basis:40px;grid-template-columns:26px 50px 50px minmax(100px,132px) minmax(104px,138px) 42px 42px minmax(128px,158px) minmax(300px,1fr);gap:2px 4px;padding:2px 6px;}
#compare-overlay:not(.cmp-geometry-picking).cmp-map-dock-hidden .cmp-transport{grid-template-columns:26px 50px 50px minmax(100px,132px) minmax(104px,138px) 42px 42px minmax(128px,158px) minmax(420px,1fr);}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-transport{grid-template-columns:26px 50px 50px minmax(100px,132px) minmax(104px,138px) 68px 42px 42px minmax(112px,146px) minmax(240px,1fr);}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking).cmp-map-dock-hidden .cmp-transport{grid-template-columns:26px 50px 50px minmax(100px,132px) minmax(104px,138px) 68px 42px 42px minmax(112px,146px) minmax(340px,1fr);}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-transport{flex-basis:66px;grid-auto-rows:minmax(20px,auto) 30px;align-content:start;row-gap:3px;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-stack{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(360px,1.45fr) minmax(360px,1fr);align-items:center;gap:6px;min-height:29px;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-track-line{display:none!important;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-play-both{width:25px;height:25px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-time-pill,
#compare-overlay:not(.cmp-geometry-picking) .cmp-sync-segment,
#compare-overlay:not(.cmp-geometry-picking) .cmp-timeline-mode,
#compare-overlay:not(.cmp-geometry-picking) .cmp-sync-tools-btn{height:20px;font-size:8px;border-radius:4px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-sync-segment button,
#compare-overlay:not(.cmp-geometry-picking) .cmp-timeline-mode button{font-size:8px;padding:0 5px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-sync-segment[data-sync-detail]::after{max-width:70px;flex-basis:52px;padding:0 4px;font-size:7px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-sync-tools-btn{font-size:0;min-width:42px;padding:0 6px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-sync-tools-btn::after{content:"Sync";font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-offset-panel{gap:1px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-offset-control{height:20px;padding:0 5px;font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-offset-control input{width:40px;height:18px;font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-offset-nudges{gap:2px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-offset-nudges button{height:15px;border-radius:3px;font-size:7px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-ruler{height:16px;border-radius:5px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-ruler:before{top:8px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-sync-marker{top:1px;height:14px;width:18px;margin-left:-9px;border-radius:4px;font-size:8px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-playhead{top:3px;bottom:3px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-timeline-readout{height:10px;gap:3px;font-size:7px;overflow:hidden;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-timeline-readout span{max-width:132px;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-ruler{height:26px;border-radius:6px;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-ruler:before{top:14px;left:12px;right:12px;background:rgba(15,23,42,.14);}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-ruler-ticks{inset:0 12px;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-ruler-tick{background:rgba(148,163,184,.36);}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-ruler-tick.minor{top:15px;background:rgba(148,163,184,.2);}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-ruler-tick span{top:3px;font-size:7px;color:#475569;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-sync-bands{inset:7px 12px 5px;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-sync-band{font-size:0;padding:0 2px;border-color:rgba(255,255,255,.5);}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-sync-marker{top:4px;height:18px;width:20px;margin-left:-10px;border-radius:5px;font-size:9px;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-playhead{top:5px;bottom:5px;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout{height:26px;align-content:center;align-items:center;gap:3px 5px;flex-wrap:wrap;white-space:normal;overflow:hidden;line-height:1.05;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout span{max-width:154px;line-height:1.05;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout .mark,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout .offset,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout .lead,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout .overlap{font-size:7px;color:#64748b;}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout .auto,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout .phase,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout .rate,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout .correction,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout .gap{height:11px;padding:0 5px;font-size:6px;border-radius:4px;}
#compare-overlay:not(.cmp-geometry-picking) .cmp-timeline-readout .auto,
#compare-overlay:not(.cmp-geometry-picking) .cmp-timeline-readout .phase,
#compare-overlay:not(.cmp-geometry-picking) .cmp-timeline-readout .rate,
#compare-overlay:not(.cmp-geometry-picking) .cmp-timeline-readout .correction,
#compare-overlay:not(.cmp-geometry-picking) .cmp-timeline-readout .gap{height:10px;padding:0 4px;font-size:6px;}
@media (max-width: 1360px){
    .cmp-feature-tools{grid-template-columns:minmax(170px,1fr) 100px 108px minmax(130px,1fr) minmax(140px,1fr) auto auto auto auto;}
    #cmp-right-panel{width:320px;min-width:280px;}
    #compare-overlay.cmp-geometry-picking.cmp-map-dock-side #cmp-right-panel{width:min(820px,62vw);min-width:min(560px,48vw);}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-studio-head{grid-template-columns:minmax(136px,202px) minmax(0,1fr);grid-template-areas:"title actions" "selectors actions";min-height:42px;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-workflow-nav{display:none;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-studio-actions{overflow:visible;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-project-select{min-width:104px;max-width:142px;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-studio-selectors{gap:2px;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-studio-selectors select{width:clamp(82px,7vw,118px);min-width:82px;max-width:118px;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-selector-date{min-width:50px;max-width:64px;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-cycle-chip{min-width:50px;max-width:70px;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-studio-actions{gap:2px;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-orient-btn,
    #compare-overlay:not(.cmp-geometry-picking) .cmp-exit,
    #compare-overlay:not(.cmp-geometry-picking) .cmp-flicker-auto{padding:0 5px;}
    #compare-overlay:not(.cmp-geometry-picking) #cmp-hud-toggle{min-width:42px;}
    #compare-overlay:not(.cmp-geometry-picking) #cmp-hud-toggle::after{content:"HUD";}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-tools-toggle{min-width:42px;}
    #compare-overlay:not(.cmp-geometry-picking) #cmp-export-menu-btn{min-width:38px;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-transport{grid-template-columns:25px 48px 48px minmax(86px,116px) minmax(90px,124px) 38px 38px minmax(118px,148px) minmax(230px,1fr);gap:2px 3px;padding:2px 5px;}
    #compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-transport{grid-template-columns:25px 48px 48px minmax(86px,116px) minmax(90px,124px) 64px 38px 38px minmax(104px,132px) minmax(220px,1fr);}
    #compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking).cmp-map-dock-hidden .cmp-transport{grid-template-columns:25px 48px 48px minmax(86px,116px) minmax(90px,124px) 64px 38px 38px minmax(104px,132px) minmax(300px,1fr);}
    #compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-stack{grid-template-columns:minmax(300px,1.25fr) minmax(300px,1fr);}
    #compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) .cmp-timeline-readout span{max-width:128px;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-timeline-mode button{padding:0 4px;}
    #compare-overlay:not(.cmp-geometry-picking) .cmp-sync-segment[data-sync-detail]::after{display:none;}
}
@media (max-width: 1120px){
    .cmp-studio-head{height:auto;min-height:76px;grid-template-columns:1fr;grid-template-areas:"title" "workflow" "selectors" "actions";align-items:start;padding:5px 8px;}
    .cmp-studio-actions{justify-content:flex-start;overflow-x:auto;}
    .cmp-workflow-nav{overflow-x:auto;}
    .cmp-transport{grid-template-columns:auto auto auto auto auto;grid-auto-rows:auto;}
    .cmp-timeline-stack{grid-column:1/-1;}
    .cmp-feature-tools{grid-template-columns:1fr 1fr 1fr;}
    .cmp-feature-title{grid-column:1/-1;}
    .cmp-export-panel{grid-template-columns:1fr;}
}

/* Compare real-media audit follow-up: keep footage primary and prevent pick controls clipping. */
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel{
    width:var(--cmp-map-side-w,clamp(300px,22vw,420px));
    min-width:280px;
}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) .cmp-map-head{height:34px;}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) .cmp-map-layout-mini button{min-width:38px;padding:0 4px;}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) .cmp-map-collapse{width:48px;padding:0 4px;}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking){--cmp-map-summary-control-clearance:124px;}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) .cmp-map-summary{left:auto;right:10px;top:56px;min-width:min(134px,calc(100% - var(--cmp-map-summary-control-clearance)));max-width:min(218px,calc(100% - var(--cmp-map-summary-control-clearance)));pointer-events:none;}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel:hover .cmp-map-summary,
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel:focus-within .cmp-map-summary,
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) .cmp-map-summary:focus,
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) .cmp-map-summary:focus-within{pointer-events:auto;}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) .cmp-map-summary:hover,
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) .cmp-map-summary:focus,
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) .cmp-map-summary:focus-within{min-width:min(174px,calc(100% - var(--cmp-map-summary-control-clearance)));max-width:min(242px,calc(100% - var(--cmp-map-summary-control-clearance)));}
#compare-overlay:not(.cmp-geometry-picking) .cmp-export-menu-panel{z-index:900;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side.cmp-map-dock-side #cmp-right-panel{
    width:var(--cmp-map-side-w,clamp(260px,20vw,360px));
    min-width:240px;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-pairs-tray{
    height:min(52vh,420px);
    left:8px;
    right:8px;
    bottom:8px;
    padding:8px;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs{
    grid-template-columns:116px minmax(0,1fr);
    gap:8px;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-workbench-tabs{
    width:116px;
    left:8px;
    top:8px;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pairs-head{
    padding:164px 4px 4px;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-list{
    gap:10px;
    padding-bottom:4px;
    align-items:flex-start;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded{
    height:min(240px,100%);
    min-width:min(620px,calc(100vw - 168px));
    max-width:760px;
    aspect-ratio:unset;
    align-self:flex-start;
    grid-template-rows:minmax(0,1fr) 36px;
    padding:6px;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-detail{
    left:8px;
    right:8px;
    bottom:50px;
    padding:5px;
}
#compare-overlay.cmp-geometry-picking .cmp-pairs-tray{
    flex-basis:122px;
    padding:4px 6px 5px;
    gap:4px;
}
#compare-overlay.cmp-geometry-picking .cmp-workbench-panel.active{gap:4px;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-panel{
    min-height:56px;
    grid-template-columns:minmax(190px,260px) minmax(360px,1fr) minmax(190px,auto);
    grid-template-rows:28px 22px;
    gap:2px 8px;
    padding:2px 7px;
    align-items:center;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-title{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:4px;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-scope{
    grid-column:auto;
    grid-template-columns:1fr 1fr;
    gap:4px;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-scope button{
    height:24px;
    min-width:0;
    padding:0 6px;
    font-size:9px;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-badges{
    grid-template-columns:repeat(4,minmax(88px,1fr));
    gap:5px;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-badge{
    height:24px;
    padding:0 6px;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-badge span{font-size:9px;}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-actions{
    grid-column:3;
    grid-row:1;
    gap:5px;
    min-width:max-content;
}
#compare-overlay.cmp-geometry-picking .cmp-pick-confirm,
#compare-overlay.cmp-geometry-picking .cmp-pick-cancel,
#compare-overlay.cmp-geometry-picking .cmp-pick-fit{
    height:24px;
    padding:0 9px;
    font-size:9px;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-dates{
    grid-column:1/-1;
    grid-row:2;
    min-height:24px;
    padding-top:0;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-date-chip{
    height:20px;
    padding:0 7px;
    font-size:9px;
}

/* Compare bottom workbench: keep suggested pairs visible before secondary tools. */
#compare-overlay #cmp-workbench-pairs .cmp-saved-pairs.empty{display:none!important;}
#compare-overlay.cmp-pair-filters-collapsed #cmp-workbench-pairs .cmp-pair-filters,
#compare-overlay.cmp-pair-filters-collapsed #cmp-workbench-pairs .cmp-saved-pairs{display:none!important;}
#compare-overlay:not(.cmp-workbench-side) #cmp-pairs-side{display:none!important;}
#compare-overlay #cmp-workbench-sync,
#compare-overlay #cmp-workbench-view{overflow:hidden;}
#compare-overlay #cmp-workbench-sync .cmp-transport{
    flex:1 1 auto;
    height:100%;
    min-height:0;
    border:0;
    border-radius:7px;
    background:#f8fafc;
    display:grid;
    grid-template-columns:34px 62px 62px minmax(148px,190px) minmax(156px,198px) 78px 60px 60px minmax(172px,212px) minmax(300px,1fr);
    grid-template-rows:28px minmax(70px,1fr);
    align-items:center;
    align-content:start;
    gap:5px;
    padding:7px;
}
#compare-overlay #cmp-workbench-sync .cmp-timeline-stack{
    grid-column:1/-1;
    grid-row:2;
    display:grid;
    grid-template-columns:minmax(460px,1.35fr) minmax(280px,.8fr);
    grid-template-rows:34px repeat(2,16px);
    align-items:center;
    gap:6px;
    min-height:68px;
    padding:6px;
    border:1px solid rgba(148,163,184,.2);
    border-radius:7px;
    background:#fff;
}
#compare-overlay #cmp-workbench-sync .cmp-ruler{
    grid-column:1;
    grid-row:1;
    height:32px;
}
#compare-overlay #cmp-workbench-sync .cmp-timeline-readout{
    grid-column:2;
    grid-row:1 / span 3;
    height:auto;
    white-space:normal;
    flex-wrap:wrap;
    align-content:center;
    line-height:1.15;
}
#compare-overlay #cmp-workbench-sync .cmp-track-line:not(.cmp-extra-track),
#compare-overlay #cmp-workbench-sync .cmp-extra-track.active{display:grid;}
#compare-overlay #cmp-workbench-sync .cmp-track-line{
    grid-column:1;
    min-height:14px;
}
#compare-overlay #cmp-workbench-sync .cmp-shortcut-hint{display:none!important;}
#compare-overlay #cmp-workbench-view .cmp-view-tools{
    display:grid;
    grid-template-columns:1.05fr 1fr .9fr;
    gap:8px;
    min-height:0;
    height:100%;
}
#compare-overlay #cmp-workbench-view .cmp-view-tool-group{
    min-width:0;
    min-height:0;
    display:flex;
    align-content:flex-start;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    padding:8px;
    border:1px solid rgba(148,163,184,.24);
    border-radius:7px;
    background:#f8fafc;
}
#compare-overlay #cmp-workbench-view .cmp-view-tool-group strong{
    width:100%;
    color:#0f172a;
    font-size:10px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.04em;
}
#compare-overlay #cmp-workbench-view .cmp-orient-btn,
#compare-overlay #cmp-workbench-view .cmp-ab-layout-group,
#compare-overlay #cmp-workbench-view #cmp-map-side,
#compare-overlay #cmp-workbench-view #cmp-map-bottom{
    display:inline-flex!important;
}
#compare-overlay #cmp-workbench-view .cmp-ab-layout-group{height:24px;}
#compare-overlay #cmp-workbench-export .cmp-export-panel{
    grid-template-columns:minmax(230px,.9fr) minmax(220px,.85fr) minmax(240px,1fr) minmax(118px,auto) minmax(150px,.55fr);
    gap:8px;
}
#compare-overlay #cmp-workbench-export .cmp-export-pane-menu{
    align-self:stretch;
    justify-content:flex-start;
}
#compare-overlay #cmp-workbench-export .cmp-export-pane-menu #cmp-export-menu-btn{
    width:100%;
    height:32px;
    justify-content:center;
}
#compare-overlay #cmp-workbench-export .cmp-export-pane-menu .cmp-export-menu-panel{
    left:0;
    right:auto;
    top:36px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) .cmp-pairs-tray{
    position:relative;
    flex-basis:var(--cmp-workbench-drawer-h,clamp(226px,25vh,296px));
    padding:4px 7px 6px;
    gap:4px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) .cmp-workbench-tabs{
    height:27px;
    gap:5px;
    padding-bottom:4px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) .cmp-workbench-tabs button{
    height:23px;
    padding:0 8px;
    font-size:9px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) .cmp-workbench-tabs span{
    min-width:16px;
    height:16px;
    margin-left:4px;
    font-size:8px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-sync .cmp-transport{
    grid-template-columns:30px 52px 52px minmax(124px,154px) minmax(126px,158px) 62px 50px 50px minmax(142px,174px) minmax(230px,1fr);
    grid-template-rows:22px minmax(64px,1fr);
    gap:4px;
    padding:5px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-sync .cmp-timeline-stack{
    grid-template-columns:minmax(380px,1.35fr) minmax(220px,.75fr);
    grid-template-rows:28px repeat(2,14px);
    min-height:62px;
    padding:5px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-view .cmp-view-tools{
    grid-template-columns:1fr 1fr 1fr;
    gap:6px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-view .cmp-view-tool-group{
    padding:6px;
    gap:5px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-view .cmp-view-tool-group strong{
    font-size:8px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) .cmp-workbench-panel.active{
    gap:4px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs{
    overflow:hidden;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs .cmp-pairs-head{
    display:grid;
    grid-template-columns:minmax(360px,auto) minmax(0,1fr);
    align-items:center;
    gap:6px;
    flex:0 0 auto;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs .cmp-pairs-title{
    flex-wrap:nowrap;
    gap:5px;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:1px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs .cmp-pairs-title strong{
    font-size:11px;
    white-space:nowrap;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-count{
    max-width:230px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-extent-summary{
    height:20px;
    padding:0 6px;
    font-size:8px;
    white-space:nowrap;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs .cmp-pairs-expand{
    height:21px;
    min-width:auto;
    padding:0 7px;
    font-size:8px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs .cmp-pairs-layout-group{
    display:inline-flex;
    height:22px;
    min-width:104px;
    flex:0 0 auto;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs .cmp-pairs-layout-group .cmp-pairs-layout{
    height:22px;
    min-width:50px;
    padding:0 8px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs .cmp-pair-filters{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(118px,1fr);
    grid-template-columns:minmax(230px,1.35fr);
    gap:4px;
    max-width:100%;
    overflow-x:auto;
    padding-bottom:2px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs .cmp-pair-filters label,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs .cmp-pair-filters select,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs .cmp-pair-search,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-workbench-pairs .cmp-pick-map{
    height:22px;
    min-width:0;
    padding:0 6px;
    font-size:8px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list{
    flex:1 1 auto;
    min-height:126px;
    gap:8px;
    align-items:stretch;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 2px 6px;
    scroll-snap-type:x proximity;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-card{
    width:258px;
    min-width:258px;
    padding:5px;
    gap:4px;
    align-content:start;
    scroll-snap-align:start;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-card.expanded{
    width:286px;
    min-width:286px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-card.expanded .cmp-pair-detail{
    display:none!important;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-card-head,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-essential,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-date-row{
    display:none;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-thumb,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-card.collapsed .cmp-pair-thumb,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-card.expanded .cmp-pair-thumb{
    height:64px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list[data-thumb-size="compact"] .cmp-pair-thumb,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card.collapsed .cmp-pair-thumb,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list[data-thumb-size="compact"] .cmp-pair-card.expanded .cmp-pair-thumb{
    height:56px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list[data-thumb-size="large"] .cmp-pair-thumb,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list[data-thumb-size="large"] .cmp-pair-card.collapsed .cmp-pair-thumb,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list[data-thumb-size="large"] .cmp-pair-card.expanded .cmp-pair-thumb{
    height:68px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-card-head b{
    font-size:7.5pt;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-card-meta,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-essential i{
    display:none;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-date{
    height:28px;
    padding:2px 6px;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-date i{
    font-size:7.5pt;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking) #cmp-pair-list .cmp-pair-date em{
    font-size:7pt;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-thumb,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.collapsed .cmp-pair-thumb,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded .cmp-pair-thumb{
    aspect-ratio:16/9;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-sync,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-view,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-features,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-export{
    padding-left:136px;
    box-sizing:border-box;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-sync .cmp-transport{
    grid-template-columns:44px 76px 76px minmax(190px,240px) minmax(190px,240px) 94px 72px 72px minmax(220px,260px) minmax(380px,1fr);
    grid-template-rows:30px minmax(92px,1fr);
    gap:8px;
    padding:10px;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-sync .cmp-timeline-stack{
    min-height:92px;
    grid-template-columns:minmax(520px,1.4fr) minmax(320px,.8fr);
    grid-template-rows:40px repeat(2,18px);
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-view .cmp-view-tools{
    grid-template-columns:repeat(3,minmax(190px,1fr));
}

/* Compare workbench unification: the Compare pane now uses the same lower
   drawer pattern as Flight Review, with pair selectors and workflow tools
   living in the drawer instead of the top compare chrome. */
#compare-overlay .cmp-studio-head{
    display:none!important;
}
#compare-overlay .cmp-studio-actions,
#compare-overlay .cmp-workflow-nav,
#compare-overlay #cmp-exit{
    display:none!important;
}
#compare-overlay:not(.cmp-geometry-picking) .cmp-map-head{
    display:none!important;
}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel::before{
    top:0;
    bottom:0;
}
#cmp-workbench-context{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:minmax(240px,auto) minmax(0,1fr);
    align-items:center;
    gap:8px;
    min-height:32px;
    padding:5px 6px 6px;
    border-bottom:1px solid rgba(148,163,184,.22);
    background:linear-gradient(180deg,#fff,#f8fafc);
}
#cmp-workbench-context .cmp-studio-title{
    grid-area:auto;
    display:flex;
    align-items:center;
    min-width:0;
    gap:6px;
}
#cmp-workbench-context .cmp-studio-title span{
    display:none;
}
#cmp-workbench-context .cmp-project-select{
    width:min(260px,28vw);
    max-width:none;
    height:24px;
}
#cmp-workbench-context #cmp-context-label{
    display:inline-flex;
    align-items:center;
    min-width:0;
    max-width:220px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#64748b;
    font-size:9px;
    font-weight:850;
}
#cmp-workbench-context .cmp-studio-selectors{
    grid-area:auto;
    display:flex;
    align-items:center;
    min-width:0;
    gap:4px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 1px 1px;
    background:transparent;
}
#cmp-workbench-context .cmp-studio-selectors select{
    width:clamp(126px,12vw,210px);
    max-width:210px;
}
#compare-overlay.cmp-workbench-collapsed .cmp-pairs-tray{
    display:flex!important;
    flex:0 0 39px!important;
    min-height:39px;
    max-height:39px;
    padding:5px 8px;
    gap:0;
    overflow:hidden;
    background:#fff;
}
#compare-overlay.cmp-workbench-collapsed .cmp-tray-reveal{
    display:none!important;
}
#compare-overlay.cmp-workbench-collapsed #cmp-workbench-toggle{
    display:inline-flex!important;
}
#compare-overlay.cmp-workbench-collapsed .cmp-workbench-tabs{
    height:29px;
    min-height:29px;
    padding:0;
    border:0;
    gap:6px;
    overflow-x:auto;
    overflow-y:hidden;
}
#compare-overlay.cmp-workbench-collapsed .cmp-workbench-tabs button{
    height:27px;
    padding:0 10px;
    font-size:9px;
    white-space:nowrap;
}
#compare-overlay.cmp-workbench-collapsed .cmp-workbench-tabs span{
    min-width:16px;
    height:16px;
    font-size:8px;
}
#compare-overlay.cmp-workbench-collapsed .cmp-workbench-context,
#compare-overlay.cmp-workbench-collapsed .cmp-workbench-panel,
#compare-overlay.cmp-workbench-collapsed .cmp-pairs-head,
#compare-overlay.cmp-workbench-collapsed .cmp-pair-list,
#compare-overlay.cmp-workbench-collapsed .cmp-saved-pairs{
    display:none!important;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-pairs-tray{
    left:0;
    right:0;
    bottom:0;
    height:var(--cmp-workbench-bottom-h,min(62vh,560px));
    border-left:0;
    border-right:0;
    border-bottom:0;
    border-radius:8px 8px 0 0;
    background:#fff;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-pairs-tray::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-8px;
    height:15px;
    cursor:row-resize;
    background:linear-gradient(90deg,transparent,rgba(8,145,178,.28),transparent);
    box-shadow:0 1px 0 rgba(8,145,178,.28);
    opacity:.7;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-pairs-tray::after{
    content:"";
    position:absolute;
    left:50%;
    top:4px;
    width:48px;
    height:5px;
    border-radius:999px;
    transform:translateX(-50%);
    background:repeating-linear-gradient(90deg,rgba(8,145,178,.56) 0 8px,transparent 8px 12px);
    pointer-events:none;
    opacity:.82;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking):not(.cmp-workbench-collapsed) .cmp-pairs-tray::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-7px;
    height:14px;
    cursor:row-resize;
    background:linear-gradient(90deg,transparent,rgba(8,145,178,.2),transparent);
    box-shadow:0 1px 0 rgba(8,145,178,.18);
    opacity:.55;
}
.cmp-workbench-resize-handle{
    display:none;
    position:absolute;
    left:50%;
    top:3px;
    z-index:6;
    transform:translateX(-50%);
    height:22px;
    min-width:116px;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 8px;
    border:1px solid rgba(8,145,178,.34);
    border-radius:999px;
    background:rgba(255,255,255,.96);
    color:#0f766e;
    font:inherit;
    font-size:9px;
    font-weight:950;
    line-height:1;
    cursor:row-resize;
    box-shadow:0 8px 20px rgba(15,23,42,.14);
}
.cmp-workbench-resize-handle[hidden]{display:none!important;}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-workbench-resize-handle{
    display:flex;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking):not(.cmp-workbench-collapsed) .cmp-workbench-resize-handle{
    display:flex;
    top:-10px;
    height:18px;
    min-width:100px;
    padding:0 7px;
    opacity:.86;
}
.cmp-workbench-resize-handle:hover,
.cmp-workbench-resize-handle:focus-visible,
.cmp-pairs-tray.resizing .cmp-workbench-resize-handle{
    border-color:#0891b2;
    background:#e0f7fe;
    color:#075985;
    box-shadow:0 10px 24px rgba(8,145,178,.24);
    outline:none;
}
.cmp-workbench-resize-grip{
    width:42px;
    height:5px;
    border-radius:999px;
    background:repeating-linear-gradient(90deg,rgba(8,145,178,.82) 0 8px,transparent 8px 12px);
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking):not(.cmp-workbench-collapsed) .cmp-workbench-resize-grip{
    width:34px;
    height:4px;
}
.cmp-workbench-resize-size{
    min-width:38px;
    text-align:right;
    color:#334155;
}
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking):not(.cmp-workbench-collapsed) .cmp-pairs-tray:hover::before,
#compare-overlay:not(.cmp-workbench-expanded):not(.cmp-geometry-picking):not(.cmp-workbench-collapsed) .cmp-pairs-tray.resizing::before{opacity:1;background:linear-gradient(90deg,transparent,rgba(8,145,178,.38),transparent);}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-pairs-tray:hover::before,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-pairs-tray.resizing::before{opacity:1;background:linear-gradient(90deg,transparent,rgba(8,145,178,.46),transparent);}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-pairs-tray:hover::after,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-pairs-tray.resizing::after{opacity:1;background:repeating-linear-gradient(90deg,rgba(8,145,178,.78) 0 8px,transparent 8px 12px);}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) .cmp-pairs-tray.resizing{box-shadow:0 30px 78px rgba(15,23,42,.34),0 0 0 2px rgba(8,145,178,.16);}
body.cmp-resizing-bottom-workbench,
body.cmp-resizing-bottom-workbench *{cursor:row-resize!important;user-select:none!important;}
#compare-overlay.cmp-workbench-expanded.cmp-workbench-side .cmp-pairs-tray::after,
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel::after{
    content:""!important;
    display:none!important;
}
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-view,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-sync,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-features,
#compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-export{
    padding-left:136px;
}
#compare-overlay #cmp-workbench-view .cmp-view-tools{
    align-items:stretch;
}
#compare-overlay #cmp-workbench-view .cmp-view-tool-group{
    align-items:flex-start;
    align-content:flex-start;
    gap:8px;
    padding:10px;
    border-color:rgba(8,145,178,.18);
    background:linear-gradient(180deg,#fff,#f8fafc);
}
#compare-overlay #cmp-workbench-view .cmp-view-tool-group strong{
    font-size:10px;
    color:#334155;
}
#compare-overlay #cmp-workbench-view .cmp-orient-btn,
#compare-overlay #cmp-workbench-view .cmp-pairs-layout,
#compare-overlay #cmp-workbench-view .cmp-map-layout-mini button,
#compare-overlay #cmp-workbench-view .cmp-map-collapse{
    min-height:30px;
    font-size:10px;
    border-radius:6px;
}
#compare-overlay #cmp-workbench-sync .cmp-transport{
    background:linear-gradient(180deg,#fff,#f8fafc);
    border:1px solid rgba(148,163,184,.22);
}
#compare-overlay #cmp-workbench-sync .cmp-play-both{
    width:38px;
    height:38px;
    box-shadow:0 8px 18px rgba(8,145,178,.18);
}
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active .cmp-transport{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    align-content:flex-start;
    gap:8px;
    overflow:visible;
}
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active .cmp-play-both{
    flex:0 0 38px;
}
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active .cmp-time-pill{
    flex:0 0 74px;
}
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active .cmp-play{
    flex:0 0 30px;
}
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active .cmp-sync-segment{
    flex:0 0 190px;
}
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active .cmp-timeline-mode{
    flex:0 0 220px;
}
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active #cmp-sync-tools,
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active #cmp-mark-a,
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active #cmp-mark-b{
    flex:0 0 auto;
}
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active #cmp-offset-panel{
    flex:1 1 280px;
    min-width:240px;
}
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active .cmp-timeline-stack{
    flex:1 0 100%;
    min-height:86px;
}
#compare-overlay #cmp-workbench-sync .cmp-time-pill,
#compare-overlay #cmp-workbench-sync .cmp-sync-segment,
#compare-overlay #cmp-workbench-sync .cmp-timeline-mode,
#compare-overlay #cmp-workbench-sync .cmp-sync-tools-btn,
#compare-overlay #cmp-workbench-sync .cmp-orient-btn{
    min-height:28px;
}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) #cmp-workbench-sync.active #cmp-mark-a,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) #cmp-workbench-sync.active #cmp-mark-b,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) #cmp-workbench-sync.active #cmp-offset-panel,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) #cmp-workbench-sync.active .cmp-timeline-mode,
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) #cmp-workbench-sync.active .cmp-ruler{
    display:flex!important;
}
#compare-overlay[data-cmp-workflow="timeline"]:not(.cmp-geometry-picking) #cmp-workbench-sync.active #cmp-offset-panel{
    display:grid!important;
}
.cmp-center-divider{
    width:8px;
    background:linear-gradient(180deg,rgba(8,145,178,.12),rgba(124,58,237,.16));
    border-left:1px solid rgba(8,145,178,.2);
    border-right:1px solid rgba(124,58,237,.2);
}
.cmp-videos.vertical .cmp-center-divider{
    height:8px;
}
.cmp-divider-handle,
.cmp-drag-hint{
    display:none!important;
}
.cmp-center-play{
    left:var(--cmp-split,50%);
    top:50%;
    width:36px;
    height:36px;
    min-width:36px;
    padding:0;
    border-radius:999px;
    background:rgba(8,145,178,.94);
    opacity:.92;
}
.cmp-center-play span{
    display:none;
}
.cmp-center-play svg{
    width:13px;
    height:13px;
}
.cmp-center-speed-rail{
    position:absolute;
    left:var(--cmp-split,50%);
    top:calc(50% + 48px);
    z-index:28;
    transform:translateX(-50%);
    display:grid;
    gap:3px;
    padding:3px;
    border:1px solid rgba(255,255,255,.62);
    border-radius:999px;
    background:rgba(15,23,42,.62);
    box-shadow:0 10px 26px rgba(15,23,42,.24);
    backdrop-filter:blur(8px);
}
.cmp-center-speed-rail button{
    width:34px;
    height:20px;
    border:1px solid rgba(226,232,240,.38);
    border-radius:999px;
    background:rgba(248,250,252,.88);
    color:#0f172a;
    font:inherit;
    font-size:8px;
    font-weight:950;
    line-height:1;
    cursor:pointer;
    padding:0;
}
.cmp-center-speed-rail button:hover,
.cmp-center-speed-rail button:focus-visible{
    outline:none;
    border-color:#0891b2;
    background:#e0f2fe;
    color:#0369a1;
}
.cmp-center-speed-rail button.active{
    border-color:#0891b2;
    background:#0891b2;
    color:#fff;
}
.cmp-videos.vertical .cmp-center-play{
    left:50%;
    top:var(--cmp-split,50%);
}
.cmp-videos.vertical .cmp-center-speed-rail{
    left:calc(50% + 62px);
    top:var(--cmp-split,50%);
    transform:translateY(-50%);
    grid-auto-flow:column;
    grid-auto-columns:auto;
}
#compare-overlay.cmp-geometry-picking .cmp-center-speed-rail,
#compare-overlay.cmp-geometry-picking .cmp-transport{display:none!important;}
#image-viewer,
.cmp-pane>img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center;
}
.cmp-pane.cmp-pane-underfit>img{
    object-fit:contain!important;
}
@media (max-width: 1360px){
    #compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel{
        width:var(--cmp-map-side-w,clamp(280px,22vw,380px));
        min-width:260px;
    }
    #compare-overlay.cmp-geometry-picking.cmp-map-dock-side #cmp-right-panel{
        width:min(860px,62vw);
        min-width:min(560px,48vw);
    }
    #compare-overlay.cmp-geometry-picking .cmp-geometry-pick-panel{
        grid-template-columns:minmax(168px,226px) minmax(318px,1fr) minmax(184px,auto);
        gap:4px 6px;
    }
    #compare-overlay.cmp-geometry-picking .cmp-geometry-pick-badges{grid-template-columns:repeat(4,minmax(76px,1fr));}
    #compare-overlay.cmp-geometry-picking .cmp-pick-confirm,
    #compare-overlay.cmp-geometry-picking .cmp-pick-cancel,
    #compare-overlay.cmp-geometry-picking .cmp-pick-fit{padding:0 7px;font-size:8px;}
    #compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card,
    #compare-overlay.cmp-workbench-expanded:not(.cmp-workbench-side) #cmp-workbench-pairs .cmp-pair-card.expanded{
        min-width:min(680px,calc(100vw - 154px));
        aspect-ratio:10.25/5;
    }
}
/* 2026-06-26: Compare uses the lower workbench only; the old pair side dock is retired. */
#cmp-pairs-side{display:none!important;}
#compare-overlay.cmp-workbench-side .cmp-pairs-tray{position:absolute;}
#compare-overlay.cmp-map-dock-side:not(.cmp-geometry-picking) #cmp-right-panel{
    width:var(--cmp-map-side-w,clamp(380px,34vw,620px));
    min-width:320px;
}
#compare-overlay.cmp-geometry-picking .cmp-pairs-tray{
    flex-basis:86px;
    padding:3px 6px 4px;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-panel{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:18px 18px 18px!important;
    height:58px;
    min-height:0;
    position:relative;
    box-sizing:border-box;
    overflow:hidden;
    gap:1px 5px;
    padding:2px 5px;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-title{
    grid-column:1;
    grid-row:1;
    min-width:0;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-actions{
    grid-column:2;
    grid-row:1;
    align-self:stretch;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-badges{
    grid-column:1/-1;
    grid-row:2;
    grid-template-columns:repeat(4,minmax(88px,1fr));
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-dates{
    position:absolute;
    left:5px;
    right:5px;
    bottom:1px;
    height:20px;
    min-height:20px;
    max-height:20px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0;
    box-sizing:border-box;
    scrollbar-width:none;
    -ms-overflow-style:none;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-dates::-webkit-scrollbar{
    width:0;
    height:0;
    display:none;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-date-label,
#compare-overlay.cmp-geometry-picking .cmp-geometry-date-chip{
    line-height:1;
}
#compare-overlay.cmp-geometry-picking .cmp-geometry-pick-scope button,
#compare-overlay.cmp-geometry-picking .cmp-geometry-badge,
#compare-overlay.cmp-geometry-picking .cmp-pick-confirm,
#compare-overlay.cmp-geometry-picking .cmp-pick-cancel,
#compare-overlay.cmp-geometry-picking .cmp-pick-fit{
    height:18px;
    min-height:18px;
    line-height:1;
}
/* Editable labels */
.cmp-label[contenteditable]{outline:none;border-bottom:1px dashed rgba(255,255,255,.3);min-width:40px;}
.cmp-label[contenteditable]:focus{border-bottom-color:var(--accent);}

/* Magnet dot */
.magnet-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 0 8px rgba(6,182,212,.5);pointer-events:none;margin-left:-7px;margin-top:-7px;transition:opacity .15s;}

/* Keyboard shortcuts overlay */
#shortcuts-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:10001;display:none;align-items:center;justify-content:center;}
#shortcuts-overlay.active{display:flex;}
.shortcuts-card{background:var(--bg-secondary);border:var(--pane-border);border-radius:var(--pane-radius);padding:20px 24px;width:440px;max-width:90%;max-height:80vh;overflow-y:auto;position:relative;}
.shortcuts-card h3{font-size:15px;font-weight:700;color:var(--accent);margin-bottom:14px;}
.shortcuts-close{position:absolute;top:10px;right:12px;background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-secondary);width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;}.shortcuts-close:hover{background:var(--accent);color:#fff;}
.sc-group{margin-bottom:12px;}
.sc-group-title{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;padding-bottom:3px;border-bottom:var(--pane-border);}
.sc-row{display:flex;align-items:center;padding:3px 0;gap:10px;}
.sc-key{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;font-family:inherit;min-width:50px;text-align:center;flex-shrink:0;}
.sc-desc{font-size:12px;color:var(--text-secondary);}

/* Global command palette */
.command-palette{position:fixed;inset:0;z-index:10003;display:none;align-items:flex-start;justify-content:center;padding-top:min(13vh,108px);background:rgba(15,23,42,.32);backdrop-filter:blur(6px);}
.command-palette.active{display:flex;}
.command-palette-card{width:min(760px,calc(100vw - 40px));max-height:min(72vh,680px);display:flex;flex-direction:column;overflow:hidden;background:rgba(248,250,252,.98);border:1px solid rgba(148,163,184,.45);border-radius:8px;box-shadow:0 24px 70px rgba(15,23,42,.25);}
.command-palette-head{height:44px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(203,213,225,.8);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(241,245,249,.94));}
.command-palette-head span{font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#0f172a;}
.command-palette-head small{font-size:11px;font-weight:800;color:#64748b;background:#fff;border:1px solid rgba(203,213,225,.9);border-radius:5px;padding:4px 7px;}
#command-palette-input{height:48px;margin:12px 12px 7px;padding:0 12px;border:1px solid rgba(8,145,178,.3);border-radius:6px;background:#fff;color:#0f172a;font-size:15px;font-weight:650;outline:none;box-shadow:0 0 0 3px rgba(6,182,212,.07);}
#command-palette-input:focus{border-color:rgba(8,145,178,.72);box-shadow:0 0 0 3px rgba(6,182,212,.14);}
.command-palette-meta{height:24px;padding:0 14px 7px;display:flex;align-items:center;justify-content:space-between;color:#64748b;font-size:11px;font-weight:700;border-bottom:1px solid rgba(226,232,240,.85);}
.command-palette-list{padding:8px;overflow:auto;display:flex;flex-direction:column;gap:4px;}
.command-hub-panel{display:flex;flex-direction:column;gap:9px;margin:0 0 8px;padding:10px;border:1px solid rgba(8,145,178,.24);border-radius:7px;background:linear-gradient(180deg,rgba(236,254,255,.9),rgba(248,250,252,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.88);}
.command-hub-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.command-hub-title div{display:flex;flex-direction:column;gap:2px;min-width:0;}
.command-hub-title b{font-size:13px;font-weight:900;color:#0f172a;}
.command-hub-title span{font-size:11px;font-weight:750;color:#64748b;}
.command-hub-title em{font-style:normal;font-size:10px;font-weight:900;text-transform:uppercase;color:#0e7490;background:#fff;border:1px solid rgba(8,145,178,.22);border-radius:999px;padding:4px 7px;white-space:nowrap;}
.command-hub-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
.command-hub-metrics span{min-width:0;padding:7px 8px;border:1px solid rgba(148,163,184,.25);border-radius:6px;background:rgba(255,255,255,.82);}
.command-hub-metrics b{display:block;font-size:15px;font-weight:950;color:#0891b2;line-height:1;}
.command-hub-metrics small{display:block;margin-top:3px;font-size:10px;font-weight:850;color:#64748b;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.command-hub-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
.command-hub-block{min-width:0;padding:8px;border:1px solid rgba(203,213,225,.75);border-radius:6px;background:rgba(255,255,255,.74);}
.command-hub-block strong{display:block;margin-bottom:3px;font-size:11px;font-weight:900;color:#0f172a;}
.command-hub-block p{margin:0 0 6px;font-size:10px;font-weight:750;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.command-hub-block ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;}
.command-hub-block li{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;font-weight:750;color:#64748b;}
.command-hub-block li b{min-width:0;color:#334155;font-size:10px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.command-hub-block li span{flex-shrink:0;color:#0891b2;font-weight:900;white-space:nowrap;}
.command-hub-actions{display:flex;align-items:center;gap:6px;}
.command-hub-actions button{height:27px;padding:0 10px;border:1px solid rgba(8,145,178,.28);border-radius:5px;background:#fff;color:#0891b2;font-size:10px;font-weight:900;text-transform:uppercase;cursor:pointer;}
.command-hub-actions button:hover{background:rgba(6,182,212,.09);border-color:rgba(8,145,178,.48);}
.command-row{width:100%;min-height:58px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#0f172a;text-align:left;cursor:pointer;}
.command-row:hover,.command-row.active{background:rgba(6,182,212,.08);border-color:rgba(8,145,178,.32);}
.command-thumb{width:42px;height:42px;border-radius:5px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e0f2fe;border:1px solid rgba(8,145,178,.24);color:#0891b2;font-size:15px;font-weight:900;flex-shrink:0;}
.command-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.command-main{min-width:0;display:flex;flex-direction:column;gap:2px;}
.command-main b{font-size:13px;font-weight:850;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.command-main small{font-size:11px;font-weight:650;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.command-row em{font-style:normal;font-size:10px;font-weight:850;text-transform:uppercase;color:#0891b2;background:rgba(6,182,212,.1);border:1px solid rgba(8,145,178,.22);border-radius:999px;padding:4px 7px;white-space:nowrap;}
.command-empty{padding:28px 18px;color:#64748b;font-size:13px;text-align:center;border:1px dashed rgba(148,163,184,.55);border-radius:6px;background:#f8fafc;}
body[data-theme="dark"] .command-palette-card{background:rgba(15,23,42,.98);border-color:rgba(71,85,105,.78);}
body[data-theme="dark"] .command-palette-head{background:linear-gradient(180deg,rgba(30,41,59,.98),rgba(15,23,42,.96));border-color:rgba(71,85,105,.72);}
body[data-theme="dark"] .command-palette-head span,body[data-theme="dark"] .command-main b,body[data-theme="dark"] .command-row{color:#e2e8f0;}
body[data-theme="dark"] .command-palette-head small,body[data-theme="dark"] #command-palette-input{background:#0f172a;border-color:rgba(71,85,105,.85);color:#e2e8f0;}
body[data-theme="dark"] .command-palette-meta,body[data-theme="dark"] .command-main small{color:#94a3b8;}
body[data-theme="dark"] .command-empty{background:rgba(15,23,42,.9);border-color:rgba(71,85,105,.85);color:#94a3b8;}
body[data-theme="dark"] .command-hub-panel{background:linear-gradient(180deg,rgba(22,78,99,.32),rgba(15,23,42,.92));border-color:rgba(8,145,178,.38);}
body[data-theme="dark"] .command-hub-title b,body[data-theme="dark"] .command-hub-block strong{color:#e2e8f0;}
body[data-theme="dark"] .command-hub-title span,body[data-theme="dark"] .command-hub-block p,body[data-theme="dark"] .command-hub-block li{color:#94a3b8;}
body[data-theme="dark"] .command-hub-title em,body[data-theme="dark"] .command-hub-metrics span,body[data-theme="dark"] .command-hub-block,body[data-theme="dark"] .command-hub-actions button{background:rgba(15,23,42,.72);border-color:rgba(71,85,105,.78);}
body[data-theme="dark"] .command-hub-block li b{color:#cbd5e1;}

@media (max-width:760px){
  .command-hub-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
  .command-hub-body{grid-template-columns:1fr;}
}

/* KML Video Overlay — transparent flight path on video frame */
.kml-video-overlay{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;transition:opacity .3s;}
.kml-video-overlay.active{opacity:1;}
.kml-video-overlay canvas{width:100%;height:100%;}
.kml-overlay-toggle{z-index:11;}
.kml-overlay-toggle.active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;}

/* Measure tool */
.measure-overlay{position:absolute;inset:0;z-index:8;cursor:crosshair;display:none;}
.measure-overlay.active{display:block;}
.measure-point{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent-hot);border:2px solid #fff;box-shadow:0 0 6px rgba(244,63,94,.5);transform:translate(-6px,-6px);pointer-events:none;z-index:9;}
.measure-line{position:absolute;pointer-events:none;z-index:9;}
.measure-label{position:absolute;background:rgba(10,14,23,.9);border:1px solid var(--accent-hot);color:#fff;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;pointer-events:none;z-index:9;white-space:nowrap;}
.measure-btn{background:rgba(244,63,94,.15);border:1px solid var(--accent-hot);color:var(--accent-hot);}
.measure-btn.active-m{background:var(--accent-hot);color:#fff;}

.sidebar-inner{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;}
.sidebar-inner::-webkit-scrollbar{width:6px;}.sidebar-inner::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:3px;margin:4px 0;}.sidebar-inner::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent),rgba(6,182,212,.4));border-radius:3px;border:1px solid var(--bg-primary);}.sidebar-inner::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--accent),rgba(6,182,212,.7));}
.sidebar-inner{scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg-primary);}
/* ===== Global scrollbar restyle — all panes (#12 #44 #73) ===== */
*::-webkit-scrollbar{width:5px;height:5px;}
*::-webkit-scrollbar-track{background:transparent;}
*::-webkit-scrollbar-thumb{background:rgba(6,182,212,.3);border-radius:10px;transition:background .2s;}
*::-webkit-scrollbar-thumb:hover{background:rgba(6,182,212,.65);}
*::-webkit-scrollbar-corner{background:transparent;}
.sb-section-title{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px 5px;background:var(--bg-tertiary);border-bottom:var(--pane-border);position:sticky;top:0;z-index:2;cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none;transition:color .15s;}
.sb-section-title:hover{color:var(--accent);}
.sb-section-title::after{content:'▾';font-size:10px;transition:transform .2s;}
.sb-add-inline{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--accent);color:#fff;border-radius:4px;font-size:13px;font-weight:700;line-height:1;cursor:pointer;margin-left:6px;transition:filter .15s;vertical-align:middle;}
.sb-add-inline:hover{filter:brightness(1.2);}
.sb-section-title.collapsed::after{transform:rotate(-90deg);}
.sb-section-content{overflow:hidden;transition:max-height .25s ease;}
.sb-section-content.collapsed{max-height:0!important;overflow:hidden;}
/* Altitude sparkline */
.alt-sparkline{height:36px;padding:4px 12px;border-bottom:var(--pane-border);position:relative;cursor:crosshair;}
.alt-sparkline canvas{width:100%;height:100%;border-radius:3px;}
.telemetry-profile-strip{overflow:hidden;background:#f8fafc;border:1px solid rgba(203,213,225,.8);border-radius:6px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72);}
.telemetry-profile-strip[data-profile-state="live"]{background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);border-color:rgba(8,145,178,.22);}
.telemetry-profile-strip canvas{display:block;background:#f8fafc;}
.telemetry-profile-legend{position:absolute;top:3px;right:5px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 10px);padding:1px 5px;border-radius:5px;background:rgba(255,255,255,.9);box-shadow:0 1px 3px rgba(15,23,42,.08);font-size:9px;line-height:1;color:#475569;pointer-events:none;white-space:nowrap;}
.telemetry-profile-legend span{display:inline-flex;align-items:center;gap:3px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.telemetry-profile-legend i{width:7px;height:7px;border-radius:50%;display:inline-block;}
.telemetry-profile-legend i.alt{background:#0891b2;}
.telemetry-profile-legend i.speed{background:#f97316;}
.telemetry-profile-legend i.heading{background:#7c3aed;}
.telemetry-profile-legend b{font-weight:800;color:#0f172a;text-transform:none;overflow:hidden;text-overflow:ellipsis;max-width:min(420px,42vw);}
#locator-map{height:140px;border-bottom:var(--pane-border);flex-shrink:0;position:relative;}
#locator-resize{height:5px;background:var(--bg-tertiary);cursor:row-resize;border-bottom:var(--pane-border);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
#locator-resize:hover{background:var(--accent-glow);}
#locator-resize::after{content:'';width:24px;height:2px;background:var(--border);border-radius:1px;}
.info-grid{padding:8px 12px;display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.info-cell .label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;}
.info-cell .value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;}
.info-divider{grid-column:1/-1;border-top:var(--pane-border);margin:1px 0;}
.utility-drawer .telemetry-grid{height:auto;padding:8px 10px 7px;display:grid;grid-template-columns:repeat(6,minmax(82px,1fr));align-items:start;gap:6px 9px;}
.utility-drawer .telemetry-grid .info-cell{min-width:0;}
.utility-drawer .telemetry-grid .info-cell .value{font-size:13px;line-height:1.1;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;}
.utility-drawer .telemetry-grid .info-cell .label{font-size:9px;}
.utility-drawer .telemetry-grid .telemetry-overlay-toggle{grid-column:span 2;}
@media (max-width: 1120px){
    .utility-drawer .telemetry-grid{grid-template-columns:repeat(3,minmax(82px,1fr));}
    .utility-drawer .telemetry-grid .telemetry-overlay-toggle{grid-column:span 3;}
}
.flight-meta{padding:8px 12px;background:var(--bg-card);border-bottom:var(--pane-border);font-size:13px;line-height:1.6;color:var(--text-secondary);}
.flight-meta .ml{color:var(--text-muted);}
/* Flight summary stats bar */
.flight-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:0 12px 8px;background:transparent;}
.fs-item{display:flex;flex-direction:column;padding:4px 0;}.fs-item .fs-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;}.fs-item .fs-val{font-size:12px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;}
.flights-header{padding:6px 10px 5px;display:flex;justify-content:space-between;align-items:center;gap:4px;}
.flights-header-title{font-size:11px;color:var(--text-muted);font-weight:600;flex:1;}
.btn-fit-all{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-muted);padding:3px 7px;border-radius:4px;cursor:pointer;font-size:9.5px;font-weight:700;font-family:inherit;white-space:nowrap;}
.btn-fit-all:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.flight-item{padding:2px 5px;border-bottom:var(--pane-border);cursor:pointer;display:flex;align-items:center;gap:4px;transition:background .15s;min-height:36px;position:relative;}
.flight-item:hover{background:var(--bg-tertiary);}
.flight-item.active{background:var(--accent-glow);border-left:3px solid var(--accent);}
.flight-item.compare-selected{background:rgba(124,58,237,.13);border-left:3px solid #7c3aed;}
.flight-item.indexed{opacity:.72;background:rgba(100,116,139,.05);}
.flight-item.indexed:hover{opacity:.95;background:rgba(100,116,139,.1);}
.flight-item.missing{border-left:3px solid #ef4444;}
.flight-item.loading{border-left:3px solid #38bdf8;opacity:1;background:rgba(56,189,248,.08);}
.flight-item .fi-toggle{width:13px;height:13px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;}
.flight-item .fi-color{width:7px;height:7px;border-radius:50%;flex-shrink:0;cursor:pointer;transition:transform .15s;border:1px solid transparent;}
.flight-item .fi-color:hover{transform:scale(1.5);border-color:rgba(255,255,255,.3);}
/* Flight colour picker popup */
.fi-color-picker{position:absolute;top:100%;left:8px;z-index:300;background:var(--bg-secondary,#1a1a2e);border:1px solid var(--border,#333);border-radius:6px;padding:6px;display:none;gap:4px;flex-wrap:wrap;width:126px;box-shadow:0 6px 20px rgba(0,0,0,.5);}
.fi-color-picker.active{display:flex;}
.fi-cp-swatch{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s;}
.fi-cp-swatch:hover{transform:scale(1.2);border-color:rgba(255,255,255,.5);}
.fi-cp-swatch.active{border-color:#fff;}
.flight-item .fi-thumb{width:66px;height:38px;border-radius:4px;object-fit:cover;flex-shrink:0;background:var(--bg-primary);border:1px solid var(--border);}
.flight-item .fi-info{flex:1;min-width:0;}
.flight-item .fi-name{font-size:11px;font-weight:700;line-height:1.06;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.flight-item .fi-detail{font-size:8.5px;color:var(--text-muted);margin-top:1px;line-height:1.12;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.fi-load{margin-top:2px;display:grid;gap:1px;}
.fi-load-track{height:3px;background:rgba(148,163,184,.18);border-radius:999px;overflow:hidden;}
.fi-load-fill{height:100%;background:linear-gradient(90deg,#06b6d4,#10b981);border-radius:999px;transition:width .18s ease;}
.fi-load-status{font-size:9px;line-height:1;color:#0891b2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fi-state{display:inline-flex;margin-left:3px;padding:0 4px;border-radius:3px;background:rgba(148,163,184,.14);color:#94a3b8;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;line-height:1.35;}
.flight-item.loaded .fi-state{background:rgba(6,182,212,.13);color:#06b6d4;}
.flight-item.indexed .fi-state{background:rgba(15,23,42,.12);color:#0f172a;}
.flight-item.missing .fi-state{background:rgba(245,158,11,.16);color:#b45309;}
.flight-item.loading .fi-state{background:rgba(56,189,248,.13);color:#38bdf8;}
.flight-item.point-only .fi-state{background:rgba(239,68,68,.13);color:#dc2626;}
.flight-item .fi-remove{color:var(--text-muted);cursor:pointer;font-size:13px;padding:2px 4px;border-radius:3px;}
.flight-item .fi-remove:hover{background:var(--accent-hot);color:#fff;}
.flight-group-more{width:calc(100% - 18px);margin:6px 9px;border:1px solid rgba(6,182,212,.3);border-radius:5px;background:rgba(6,182,212,.08);color:var(--accent);font-family:inherit;font-size:10px;font-weight:900;letter-spacing:.02em;padding:6px 8px;cursor:pointer;text-transform:uppercase;}
.flight-group-more:hover{background:rgba(6,182,212,.16);border-color:rgba(6,182,212,.5);color:#0891b2;}
.fi-nogps{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#ef4444;color:#fff;font-size:8px;font-weight:900;flex-shrink:0;margin-left:2px;title:"No GPS data";}
.fc-nogps-badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;color:#ef4444;border:1px solid #ef4444;border-radius:4px;padding:1px 5px;margin-top:3px;}
.file-card.no-gps{border-color:rgba(239,68,68,.4)!important;}
.flights-empty{padding:20px 12px;text-align:center;color:var(--text-muted);font-size:12px;}
.media-import-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(78px,.75fr);gap:4px;padding:5px 9px 4px;}
.media-import-btn{min-width:0;border:var(--pane-border);border-radius:4px;padding:4px 4px;font-size:9.5px;font-weight:800;font-family:inherit;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.media-import-btn.hard{background:rgba(6,182,212,.12);border-color:rgba(6,182,212,.38);color:#0891b2;}
.media-import-btn.geo{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.4);color:#059669;}
.media-import-btn.folder{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.42);color:#b45309;}
.media-import-btn.unified{background:rgba(6,182,212,.12);border-color:rgba(6,182,212,.42);color:#0891b2;}
.media-import-btn.reconcile{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.38);color:#047857;}
.media-import-btn:hover{filter:brightness(1.08);}
/* Flights search + sort */
.flights-search{padding:3px 9px;display:flex;gap:4px;position:relative;}
.flights-search input{flex:1;background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-primary);padding:4px 8px;border-radius:4px;font-size:11px;font-family:inherit;outline:none;}
.flights-search input::placeholder{color:var(--text-muted);}
.flights-search input:focus{border-color:var(--accent);}
.media-filter-row{display:grid;grid-template-columns:auto .9fr 1fr 1fr;gap:3px;padding:0 9px 4px;align-items:center;}
.media-filter-check{display:flex;align-items:center;gap:4px;color:var(--text-muted);font-size:10px;white-space:nowrap;cursor:pointer;}
.media-filter-check input{width:13px;height:13px;accent-color:var(--accent);}
.media-date-input{min-width:0;background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-primary);border-radius:4px;padding:3px 4px;font-size:10px;font-family:inherit;}
.media-date-input:focus{outline:none;border-color:var(--accent);}
.media-location-row{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:0 9px 4px;}
.media-location-filter{width:100%;min-width:0;background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-primary);border-radius:4px;padding:4px 6px;font-size:10px;font-family:inherit;}
.media-location-filter:focus{outline:none;border-color:var(--accent);}
.media-group-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:0 10px 5px;}
.media-group-tabs button{border:var(--pane-border);background:var(--bg-tertiary);color:var(--text-muted);border-radius:4px;font-family:inherit;font-size:10px;font-weight:800;padding:4px 6px;cursor:pointer;}
.media-group-tabs button:hover{border-color:var(--accent);color:var(--text-secondary);}
.media-group-tabs button.active{background:rgba(6,182,212,.14);border-color:rgba(6,182,212,.42);color:#0891b2;}
.flight-date-group{display:grid;grid-template-columns:16px auto minmax(0,1fr) auto;align-items:center;gap:3px;padding:5px 9px 4px;border-bottom:1px solid rgba(148,163,184,.12);background:rgba(148,163,184,.08);color:var(--text-muted);font-size:9.5px;font-weight:750;letter-spacing:.035em;text-transform:uppercase;cursor:pointer;user-select:none;}
.flight-date-group:hover{color:var(--text-secondary);background:rgba(148,163,184,.12);}
.flight-date-group.collapsed .fg-title:before{content:'+';display:inline-block;width:12px;color:var(--accent);}
.flight-date-group:not(.collapsed) .fg-title:before{content:'-';display:inline-block;width:12px;color:var(--accent);}
.flight-date-group.favorite{background:rgba(245,158,11,.13);color:#b45309;}
.flight-date-group.project-card{grid-template-columns:16px 36px minmax(0,1fr);align-items:start;gap:4px;padding:5px 9px;min-height:54px;letter-spacing:0;text-transform:none;}
.flight-date-group.project-card.bulk-edit{grid-template-columns:16px 16px 36px minmax(0,1fr);}
.flight-date-group.project-card.bulk-selected{outline:2px solid rgba(6,182,212,.45);outline-offset:-2px;background:rgba(6,182,212,.12);}
.flight-date-group.project-card .fg-title{font-size:11px;font-weight:850;color:var(--text-secondary);}
.flight-date-group.project-card .fg-title:before{vertical-align:middle;}
.fg-main{min-width:0;display:grid;gap:3px;align-self:center;}
.fg-ortho-stack{display:grid;gap:3px;min-width:0;border:1px solid rgba(20,184,166,.22);border-radius:5px;background:rgba(240,253,250,.62);padding:4px;}
.fg-ortho-stack.collapsed{background:rgba(240,253,250,.46);}
.fg-ortho-stack.expanded{background:rgba(240,253,250,.78);border-color:rgba(20,184,166,.34);}
.fg-ortho-stack-head{min-height:14px;display:flex;align-items:center;justify-content:space-between;gap:6px;color:#0f766e;font-size:7px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;}
.fg-ortho-stack-head small{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:7px;font-weight:900;text-transform:none;letter-spacing:0;}
.fg-ortho-stack-head b{min-width:15px;height:13px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#14b8a6;color:#fff;font-size:7px;}
.fg-ortho-collapse{height:15px;border:1px solid rgba(20,184,166,.28);border-radius:3px;background:rgba(255,255,255,.72);color:#0f766e;font:inherit;font-size:6px;font-weight:950;cursor:pointer;padding:0 4px;text-transform:uppercase;}
.fg-ortho-collapse:hover{background:#14b8a6;border-color:#14b8a6;color:#fff;}
.fg-ortho-list{display:grid;gap:3px;max-height:128px;overflow:auto;min-width:0;padding-right:1px;}
.fg-ortho-stack.expanded .fg-ortho-list{max-height:min(220px,36vh);}
.fg-ortho-row{height:25px;display:grid;grid-template-columns:13px 38px minmax(0,1fr) 34px;grid-template-rows:1fr 1fr;gap:0 4px;align-items:center;border:1px solid rgba(20,184,166,.24);border-radius:4px;background:rgba(255,255,255,.84);color:var(--text-primary);font:inherit;text-align:left;padding:2px 3px;cursor:pointer;min-width:0;text-transform:none;}
.fg-ortho-row:hover,.fg-ortho-row.loaded{border-color:#14b8a6;background:rgba(240,253,250,.98);}
.fg-ortho-row.visible{box-shadow:0 0 0 1px rgba(20,184,166,.16) inset;}
.fg-ortho-toggle{grid-row:1/3;width:12px;height:12px;margin:0;accent-color:#14b8a6;}
.fg-ortho-row span{grid-row:1/3;align-self:stretch;display:flex;align-items:center;justify-content:center;border-radius:3px;background:rgba(20,184,166,.14);color:#0f766e;font-size:6px;font-weight:950;letter-spacing:.03em;}
.fg-ortho-row.raster-elevation span{background:rgba(99,102,241,.12);color:#4338ca;}
.fg-ortho-row b,.fg-ortho-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.05;}
.fg-ortho-row b{font-size:8px;font-weight:950;color:#0f172a;}
.fg-ortho-row em{font-size:7px;font-weight:850;font-style:normal;color:#64748b;}
.fg-ortho-open{grid-row:1/3;height:19px;border:1px solid rgba(20,184,166,.28);border-radius:3px;background:rgba(20,184,166,.08);color:#0f766e;font:inherit;font-size:7px;font-weight:950;cursor:pointer;padding:0 3px;text-transform:uppercase;}
.fg-ortho-open:hover{background:#14b8a6;border-color:#14b8a6;color:#fff;}
.fg-ortho-more{height:20px;border:1px dashed rgba(20,184,166,.32);border-radius:4px;background:rgba(20,184,166,.07);color:#0f766e;font:inherit;font-size:7px;font-weight:950;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;}
.fg-ortho-more:hover{background:rgba(20,184,166,.14);border-style:solid;}
.fg-project-actions{min-width:0;display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.fg-thumb{width:34px;height:25px;border-radius:4px;object-fit:cover;background:rgba(148,163,184,.16);border:1px solid rgba(148,163,184,.22);}
.fg-thumb-empty:before{content:'';display:block;width:16px;height:12px;margin:7px auto;border:1px solid rgba(148,163,184,.42);border-radius:2px;}
.flight-date-group.draggable{cursor:grab;}
.flight-date-group.dragging{opacity:.55;}
.flight-date-group.drag-over{outline:2px solid rgba(6,182,212,.5);outline-offset:-2px;background:rgba(6,182,212,.12);}
.fg-fav{width:17px;height:17px;border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:13px;line-height:17px;padding:0;border-radius:3px;align-self:center;}
.fg-fav:hover{background:rgba(245,158,11,.16);color:#f59e0b;}
.flight-date-group.favorite .fg-fav{color:#f59e0b;}
.fg-bulk-check{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;justify-self:center;}
.fg-load,.fg-unload,.fg-delete{border:1px solid rgba(6,182,212,.34);background:rgba(6,182,212,.08);color:var(--accent);border-radius:4px;font-size:9px;font-weight:900;font-family:inherit;padding:2px 6px;cursor:pointer;text-transform:uppercase;letter-spacing:.03em;}
.fg-load:hover,.fg-unload:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.fg-delete{border-color:rgba(239,68,68,.34);background:rgba(239,68,68,.07);color:#dc2626;}
.fg-delete:hover{background:#dc2626;border-color:#dc2626;color:#fff;}
.fg-rename{border:1px solid rgba(148,163,184,.28);background:rgba(148,163,184,.08);color:var(--text-muted);border-radius:4px;font-size:9px;font-weight:900;font-family:inherit;padding:2px 6px;cursor:pointer;text-transform:uppercase;}
.fg-rename:hover{border-color:#f59e0b;color:#b45309;background:rgba(245,158,11,.12);}
.fg-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fg-count{margin-left:auto;font-weight:800;color:inherit;opacity:.85;line-height:17px;}
.fi-unload{align-self:center;border:1px solid rgba(6,182,212,.28);background:rgba(6,182,212,.08);color:var(--accent);border-radius:4px;font-size:9px;font-weight:900;font-family:inherit;padding:2px 5px;cursor:pointer;text-transform:uppercase;}
.fi-unload:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.flights-sort{padding:0 9px 4px;display:flex;gap:3px;flex-wrap:wrap;}
.flights-sort-btn{background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-muted);padding:2px 6px;border-radius:3px;cursor:pointer;font-size:9px;font-family:inherit;transition:all .12s;white-space:nowrap;}
.flights-sort-btn:hover{color:var(--text-secondary);border-color:var(--accent);}
.flights-sort-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.flights-sort-btn .sort-arrow{font-size:8px;margin-left:2px;}
.media-project-edit-row{display:grid;grid-template-columns:1fr 1fr;gap:4px;align-items:center;padding:0 10px 6px;}
.media-project-edit-row[hidden]{display:none!important;}
.media-project-edit-row button{height:24px;border:1px solid rgba(6,182,212,.32);border-radius:4px;background:rgba(6,182,212,.08);color:var(--accent);font:inherit;font-size:9px;font-weight:900;cursor:pointer;text-transform:uppercase;}
.media-project-edit-row button:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.media-project-edit-row button.danger{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.07);color:#dc2626;}
.media-project-edit-row button.danger:hover{background:#dc2626;border-color:#dc2626;color:#fff;}
.media-project-edit-row button.danger.armed{background:#dc2626;border-color:#991b1b;color:#fff;box-shadow:0 0 0 2px rgba(239,68,68,.18);}
.media-project-edit-row button:disabled{cursor:not-allowed;opacity:.45;background:var(--bg-tertiary);border-color:var(--border);color:var(--text-muted);}
.media-project-edit-row span{grid-column:1/-1;color:var(--text-muted);font-size:9px;font-weight:800;text-align:right;}

/* FLIGHT LOADING BAR */
.flight-loading{padding:8px 10px;border-bottom:var(--pane-border);min-height:60px;display:flex;align-items:center;gap:8px;position:relative;overflow:hidden;}
.flight-loading .fl-thumb-placeholder{width:64px;height:44px;border-radius:4px;background:var(--bg-primary);border:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.flight-loading .fl-thumb-placeholder svg{width:20px;height:20px;color:var(--text-muted);opacity:.4;}
.flight-loading .fl-info{flex:1;min-width:0;}
.flight-loading .fl-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);margin-bottom:6px;}
.flight-loading .fl-bar-track{height:3px;background:var(--bg-primary);border-radius:2px;overflow:hidden;position:relative;}
.flight-loading .fl-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent-green));border-radius:2px;transition:width 50ms linear;}
.flight-loading .fl-status{font-size:9px;color:var(--text-muted);margin-top:3px;}

.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--accent-green);color:#fff;padding:8px 18px;border-radius:6px;font-size:12px;z-index:10001;display:none;align-items:center;gap:12px;box-shadow:0 10px 26px rgba(15,23,42,.18);}
.toast.show{display:block;animation:toastIn .3s ease;}
.toast.show.has-action{display:flex;}
.toast-message{font-weight:800;}
.toast-action{height:24px;border:1px solid rgba(255,255,255,.7);border-radius:5px;background:rgba(255,255,255,.16);color:#fff;font:inherit;font-size:11px;font-weight:900;padding:0 9px;cursor:pointer;}
.toast-action:hover{background:#fff;color:#047857;}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.sl-import-guide{position:fixed;inset:0;z-index:10030;display:none;align-items:center;justify-content:center;background:rgba(15,23,42,.42);backdrop-filter:blur(3px);}
.sl-import-guide.active{display:flex;}
.sl-import-guide-card{position:relative;width:min(720px,calc(100vw - 42px));display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;background:var(--bg-secondary);border:1px solid rgba(6,182,212,.24);border-radius:8px;padding:18px;box-shadow:0 20px 55px rgba(15,23,42,.34);}
.sl-ig-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border:1px solid rgba(148,163,184,.34);border-radius:5px;background:rgba(248,250,252,.92);color:var(--text-muted);font:inherit;font-size:18px;line-height:1;cursor:pointer;}
.sl-ig-close:hover{border-color:#0891b2;color:#0891b2;}
.sl-import-guide-map{position:relative;min-height:170px;border-radius:6px;overflow:hidden;border:1px solid rgba(148,163,184,.24);background:#dbeafe;}
.sl-ig-water{position:absolute;inset:0;background:linear-gradient(135deg,#bae6fd,#67e8f9);}
.sl-ig-land{position:absolute;right:-24px;top:-20px;width:190px;height:210px;background:linear-gradient(135deg,#d9f99d,#94a3b8);clip-path:polygon(35% 0,100% 10%,90% 100%,12% 90%,0 38%);opacity:.82;}
.sl-import-guide-map svg{position:absolute;inset:0;width:100%;height:100%;}
.sl-import-guide-map b{position:absolute;left:10px;top:10px;padding:4px 8px;border-radius:4px;background:rgba(15,23,42,.78);color:#e0f2fe;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}
.sl-ig-dot{position:absolute;width:13px;height:13px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 8px rgba(15,23,42,.24);}
.sl-ig-dot.a{left:66px;top:94px;background:#06b6d4;}
.sl-ig-dot.b{left:138px;top:70px;background:#f43f5e;}
.sl-ig-dot.c{left:206px;top:58px;background:#10b981;}
.sl-ig-copy{padding:6px 28px 0 0;}
.sl-ig-copy span{display:block;color:#0891b2;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.sl-ig-copy h3{margin:0 0 8px;font-size:18px;line-height:1.2;color:var(--text-primary);}
.sl-ig-copy p{margin:0 0 10px;color:var(--text-secondary);font-size:13px;line-height:1.5;}
.sl-ig-copy ul{margin:0;padding-left:17px;color:var(--text-muted);font-size:12px;line-height:1.55;}
.sl-ig-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid rgba(148,163,184,.16);padding-top:12px;}
.sl-ig-actions button{height:30px;border:1px solid #0891b2;border-radius:5px;background:#0891b2;color:#fff;font:inherit;font-size:12px;font-weight:900;padding:0 14px;cursor:pointer;}
.sl-ig-actions button.ghost{background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.32);color:var(--text-secondary);}
.sl-ig-actions button:hover{filter:brightness(1.05);}
@media(max-width:760px){.sl-import-guide-card{grid-template-columns:1fr}.sl-import-guide-map{min-height:135px}.sl-ig-copy{padding-right:28px}}
.leaflet-container{background:var(--bg-tertiary);}
.time-label{background:rgba(16,20,31,.88);color:var(--accent);padding:1px 5px;border-radius:3px;font-size:10px;font-weight:bold;border:1px solid var(--border);white-space:nowrap;font-family:Arial;}
.start-end-label{background:rgba(6,182,212,.92);color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:bold;white-space:nowrap;font-family:Arial;line-height:1.2;border:0;box-shadow:0 1px 4px rgba(0,0,0,.2);}
.legend{background:rgba(16,20,31,.92);padding:6px 10px;border-radius:5px;border:1px solid var(--border);font-size:10px;}
.leaflet-bottom.leaflet-left .legend{margin-left:8px;margin-bottom:44px;}
.legend-title{font-weight:bold;margin-bottom:2px;color:var(--accent);font-size:10px;}
.legend-gradient{height:8px;border-radius:2px;margin:2px 0;}
.legend-labels{display:flex;justify-content:space-between;font-size:8px;color:var(--text-muted);}
.leaflet-bottom.leaflet-right .sl-date-legend{margin-right:8px;margin-bottom:46px;}
.sl-date-legend{background:rgba(16,20,31,.92);padding:7px 9px;border-radius:5px;border:1px solid rgba(148,163,184,.28);font-size:10px;color:#dbeafe;min-width:138px;max-width:210px;max-height:min(340px,44vh);box-shadow:0 4px 14px rgba(0,0,0,.22);}
.sl-date-legend-title{font-weight:800;margin-bottom:5px;color:#38bdf8;text-transform:uppercase;letter-spacing:.05em;font-size:9px;}
.sl-date-list{display:grid;gap:1px;max-height:min(284px,36vh);overflow-y:auto;padding-right:3px;}
.sl-date-list::-webkit-scrollbar{width:5px;}
.sl-date-list::-webkit-scrollbar-thumb{background:rgba(148,163,184,.45);border-radius:999px;}
.sl-date-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:6px;line-height:1.45;width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer;}
.sl-date-row:hover span:nth-child(2){color:#fff;text-decoration:underline;}
.sl-date-row.off{opacity:.38;}
.sl-date-row.off span:nth-child(2){text-decoration:line-through;}
.sl-date-row.off .sl-date-swatch{background:transparent!important;}
.sl-date-swatch{width:9px;height:9px;border-radius:2px;border:1px solid rgba(255,255,255,.65);}
.sl-date-row b{font-size:9px;color:#94a3b8;font-weight:700;}
.sl-date-more{margin-top:4px;color:#94a3b8;font-size:9px;text-align:right;}
.map-ctrl-select{height:23px;border:1px solid rgba(148,163,184,.34);background:rgba(15,23,42,.72);color:#e2e8f0;border-radius:4px;font-size:10px;font-weight:800;font-family:inherit;padding:2px 5px;outline:none;}
.map-ctrl-select:focus{border-color:var(--accent);}
.map-bookmarks{position:absolute;right:12px;top:12px;z-index:650;width:250px;max-width:calc(100% - 24px);background:rgba(16,20,31,.92);border:1px solid rgba(148,163,184,.25);border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.28);overflow:hidden;color:var(--text-primary);}
.mb-head{display:flex;align-items:center;justify-content:space-between;padding:7px 9px;background:rgba(6,182,212,.12);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#38bdf8;}
.mb-head button{width:20px;height:20px;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.75);color:#cbd5e1;border-radius:4px;cursor:pointer;font-size:12px;line-height:1;}
.map-bookmarks.collapsed{width:auto;min-width:118px;}
.map-bookmarks.collapsed .mb-body{display:none;}
.map-bookmarks.collapsed .mb-head{padding:5px 8px;}
.mb-body{padding:7px;display:flex;flex-direction:column;gap:6px;}
.mb-actions{display:grid;grid-template-columns:1fr auto auto;gap:4px;}
.mb-actions input{min-width:0;background:rgba(15,23,42,.8);border:1px solid rgba(148,163,184,.35);border-radius:4px;color:#e2e8f0;font-size:10px;padding:5px 6px;font-family:inherit;}
.mb-actions button,.mb-row button{border:1px solid rgba(6,182,212,.38);background:rgba(6,182,212,.12);color:#67e8f9;border-radius:4px;font-size:10px;font-weight:700;padding:4px 6px;cursor:pointer;font-family:inherit;}
.mb-actions button:hover,.mb-row button:hover{background:rgba(6,182,212,.2);}
.mb-list{display:flex;flex-direction:column;gap:3px;max-height:180px;overflow-y:auto;}
.mb-empty{padding:7px;color:rgba(203,213,225,.62);font-size:10px;text-align:center;border:1px dashed rgba(148,163,184,.2);border-radius:4px;}
.mb-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;padding:5px 6px;border:1px solid rgba(148,163,184,.16);border-radius:4px;background:rgba(15,23,42,.55);}
.mb-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#e2e8f0;cursor:pointer;}
.mb-meta{font-size:9px;color:rgba(148,163,184,.85);margin-top:1px;}
.mb-delete{border-color:rgba(239,68,68,.35)!important;background:rgba(239,68,68,.1)!important;color:#fca5a5!important;}
.mb-pick-active{outline:2px solid rgba(16,185,129,.7);}
[data-theme="light"] .map-bookmarks{background:rgba(255,255,255,.94);border-color:#cbd5e1;color:#1f2937;}
[data-theme="light"] .mb-actions input{background:#fff;color:#1f2937;border-color:#cbd5e1;}
[data-theme="light"] .mb-row{background:#f8fafc;border-color:#e2e8f0;}
.map-measure-label{background:rgba(15,23,42,.92);border:1px solid rgba(239,68,68,.6);color:#fff;border-radius:4px;padding:3px 7px;font-size:11px;font-weight:900;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.25);}
.map-pane.pip .map-controls,.map-pane.pip .map-bookmarks,.map-pane.pip .compare-select-panel,.map-pane.pip .main-scale-bar,.map-pane.pip .map-cursor-coords,.map-pane.pip .map-pane-label,.map-pane.pip .leaflet-top,.map-pane.pip .leaflet-bottom{display:none!important;}
[data-theme="light"] .mb-title{color:#1f2937;}
/* FEATURE TOUR */
.tour-overlay{position:fixed;inset:0;z-index:10000;display:none!important;pointer-events:none;}
.tour-overlay.active{display:block!important;}
.tour-mask{position:absolute;inset:0;pointer-events:auto;}
.tour-card{position:absolute;background:var(--bg-secondary);border:2px solid var(--accent);border-radius:var(--pane-radius);padding:20px 24px;max-width:380px;width:380px;z-index:10001;pointer-events:auto;box-shadow:0 8px 32px rgba(0,0,0,.5);transition:top .35s ease,left .35s ease;}
.tour-step{font-size:11px;color:var(--accent);font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:1px;}
.tour-title{font-size:19px;font-weight:700;margin-bottom:8px;}
.tour-desc{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:12px;}
.tour-progress{display:flex;gap:4px;margin-bottom:0;}
.tour-dot{width:8px;height:8px;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border);transition:all .2s;}
.tour-dot.done{background:var(--accent-green);border-color:var(--accent-green);}
.tour-dot.active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 6px var(--accent);}
/* Fixed nav at bottom centre */
.tour-fixed-nav{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:var(--bg-secondary);border:2px solid var(--accent);border-radius:10px;padding:10px 20px;z-index:10002;pointer-events:auto;box-shadow:0 8px 32px rgba(0,0,0,.6);}
.tour-progress-inline{display:flex;gap:3px;align-items:center;}
.tour-progress-inline .tour-dot{width:7px;height:7px;}
.tour-btn{background:var(--bg-tertiary);border:var(--pane-border);color:var(--text-primary);padding:8px 18px;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit;transition:all .15s;}
.tour-btn:hover{background:var(--accent-glow);}
.tour-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;}
.tour-btn.primary:hover{filter:brightness(1.1);}
.tour-skip-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:11px;padding:6px 12px;}
.tour-skip-btn:hover{color:var(--text-primary);border-color:var(--text-secondary);}
/* Tour welcome (begin/skip) — centred on screen */
.tour-welcome{text-align:center;}
.tour-welcome h2{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;}
.tour-welcome h3{font-size:23px;font-weight:700;margin-bottom:12px;background:linear-gradient(135deg,var(--accent),#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.tour-welcome p{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:20px;}
.tour-welcome .tour-begin{display:block;width:100%;padding:12px;border-radius:8px;background:var(--accent);border:none;color:#fff;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;margin-bottom:10px;transition:all .15s;}
.tour-welcome .tour-begin:hover{filter:brightness(1.1);}
.tour-welcome .tour-skip{display:block;width:100%;padding:10px;border-radius:8px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-size:14px;cursor:pointer;font-family:inherit;transition:all .15s;}
.tour-welcome .tour-skip:hover{border-color:var(--text-secondary);color:var(--text-primary);}
.tour-welcome .tour-hint{font-size:11px;color:var(--text-muted);margin-top:10px;}
#add-flights-input,#add-geometry-input{display:none;}

/* WEATHER WIDGET (v24) */
.weather-card{background:var(--bg-tertiary);border-radius:8px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--border);}
.weather-card .wc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.weather-card .wc-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;}
.weather-card .wc-safety{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;white-space:nowrap;}
.weather-card .wc-safety.safe{background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.3);}
.weather-card .wc-safety.caution{background:rgba(234,179,8,.15);color:#eab308;border:1px solid rgba(234,179,8,.3);}
.weather-card .wc-safety.nofly{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3);}
.weather-card .wc-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;}
.weather-card .wc-item{display:flex;justify-content:space-between;font-size:11px;}
.weather-card .wc-item .wl{color:var(--text-muted);}
.weather-card .wc-item .wv{color:var(--text-primary);font-weight:500;font-variant-numeric:tabular-nums;}
.weather-card .wc-wind-arrow{display:inline-block;transition:transform .3s;}
.weather-card .wc-note{font-size:10px;color:var(--text-muted);margin-top:6px;font-style:italic;}
.weather-card .wc-loading{font-size:11px;color:var(--text-muted);text-align:center;padding:8px;}
[data-theme="light"] .weather-card{background:var(--bg-secondary);}

/* PLACENAME LABELS (larger, for LINZ) */
.placename-label{background:transparent;color:var(--text-primary);font-size:12px;padding:0;white-space:nowrap;font-weight:600;pointer-events:none;text-shadow:0 0 4px var(--bg-primary),0 0 4px var(--bg-primary),0 0 8px var(--bg-primary);}
[data-theme="light"] .placename-label{text-shadow:0 0 4px #fff,0 0 4px #fff,0 0 8px #fff;}

/* GROUND ELEVATION in info bar (v24) */
.info-cell .elev-ground{font-size:9px;color:var(--text-muted);margin-top:1px;}
/* ====== SKYSYNC AUTH OVERLAY (Phase 4 — Licence Key) ====== */
#auth-overlay{position:fixed;inset:0;z-index:99999;background:#0a0e17;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:'Inter','Segoe UI',sans-serif;}
#auth-overlay.hidden{display:none!important;}
#auth-drone-canvas{position:absolute;inset:0;z-index:0;pointer-events:none;}
#auth-box{position:relative;z-index:2;background:rgba(16,20,31,0.92);border:1px solid rgba(6,182,212,0.15);border-radius:16px;padding:40px 40px 44px;width:400px;max-width:90vw;text-align:center;backdrop-filter:blur(4px);}
.auth-logo-img{width:88px;height:88px;filter:drop-shadow(0 0 20px rgba(6,182,212,.55));margin-bottom:10px;}
#auth-logo{font-size:22px;font-weight:700;letter-spacing:2px;color:#e8eaf0;margin-bottom:4px;}
#auth-logo span{color:#06b6d4;}
#auth-tagline{color:#3a4258;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-bottom:32px;}
#auth-status{min-height:20px;font-size:13px;margin-bottom:16px;color:#5a6278;transition:color .2s;}
#auth-status.err{color:#f43f5e;}
#auth-status.ok{color:#10b981;}
.auth-field{width:100%;box-sizing:border-box;background:#0a0e17;border:1px solid #1e2536;border-radius:8px;padding:12px 16px;color:#e8eaf0;font-size:14px;margin-bottom:8px;outline:none;transition:border .2s;letter-spacing:.5px;}
.auth-field:focus{border-color:#06b6d4;}
#auth-hint{font-size:11px;color:#2a3148;margin-bottom:12px;line-height:1.5;display:none;}
#auth-hint a{color:#06b6d4;text-decoration:none;}
#auth-btn{width:100%;padding:13px;background:#06b6d4;border:none;border-radius:8px;color:#0a0e17;font-size:14px;font-weight:700;cursor:pointer;margin-top:4px;transition:opacity .2s;letter-spacing:.5px;}
#auth-btn:hover:not(:disabled){opacity:.85;}
#auth-btn:disabled{opacity:.35;cursor:not-allowed;}
#auth-ver{color:#2a3148;font-size:11px;margin-top:28px;}
#expiry-banner{position:fixed;top:0;left:0;right:0;z-index:9998;background:#92400e;color:#fde68a;text-align:center;padding:8px 16px;font-size:13px;display:none;}
/* Welcome popup */
#welcome-popup{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;}
#welcome-popup.active{display:flex;}
#welcome-box{background:#10141f;border:1px solid #1e2536;border-radius:16px;padding:40px 36px;width:460px;max-width:92vw;font-family:'Inter','Segoe UI',sans-serif;}
#welcome-box h2{color:#e8eaf0;font-size:20px;font-weight:700;margin:0 0 6px;}
#welcome-box h2 span{color:#06b6d4;}
.welcome-org{font-size:13px;color:#5a6278;margin-bottom:20px;min-height:18px;}
.welcome-items{list-style:none;padding:0;margin:0 0 20px;text-align:left;}
.welcome-items li{color:#8b93a6;font-size:13px;padding:5px 0 5px 20px;position:relative;line-height:1.5;}
.welcome-items li::before{content:'→';position:absolute;left:0;color:#06b6d4;}
.welcome-support{font-size:12px;color:#2a3148;margin-bottom:24px;}
.welcome-support a{color:#06b6d4;text-decoration:none;}
.welcome-support a:hover{text-decoration:underline;}
#welcome-close{width:100%;padding:12px;background:#06b6d4;border:none;border-radius:8px;color:#0a0e17;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.5px;transition:opacity .2s;}
#welcome-close:hover{opacity:.85;}
/* Machine binding screen */
#machine-screen{position:fixed;inset:0;z-index:99997;background:#0a0e17;display:none;align-items:center;justify-content:center;font-family:'Inter','Segoe UI',sans-serif;}
#machine-screen.active{display:flex;}
#machine-box{background:#10141f;border:1px solid #1e2536;border-radius:16px;padding:40px 36px;width:480px;max-width:92vw;}
.ms-header{text-align:center;margin-bottom:28px;}
.ms-title{font-size:17px;font-weight:700;color:#e8eaf0;margin-bottom:4px;letter-spacing:.5px;}
.ms-org{font-size:12px;color:#5a6278;letter-spacing:.5px;}
.ms-slots{margin-bottom:20px;}
.ms-slots-label{display:flex;justify-content:space-between;font-size:12px;color:#5a6278;margin-bottom:6px;}
.ms-slots-count{font-weight:700;color:#e8eaf0;}
.ms-bar-track{height:5px;background:#1c2538;border-radius:3px;overflow:hidden;}
.ms-bar-fill{height:100%;background:linear-gradient(90deg,#06b6d4,#10b981);border-radius:3px;transition:width .5s ease;}
.ms-bar-fill.full{background:linear-gradient(90deg,#f59e0b,#ef4444);}
.ms-machines{margin-bottom:18px;}
.ms-machine-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.ms-machine-row:last-child{border-bottom:none;}
.ms-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.ms-dot.bound{background:#10b981;}
.ms-dot.this{background:#06b6d4;box-shadow:0 0 6px rgba(6,182,212,.7);}
.ms-dot.blocked{background:#ef4444;}
.ms-machine-name{font-size:13px;color:#e8eaf0;font-weight:500;flex:1;}
.ms-machine-name.this{color:#06b6d4;}
.ms-machine-tag{font-size:10px;color:#2a3148;background:#1c2538;border-radius:3px;padding:1px 5px;margin-left:4px;}
.ms-machine-date{font-size:11px;color:#2a3148;white-space:nowrap;}
.ms-blocked-msg{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:12px 14px;font-size:13px;color:#f87171;margin-bottom:16px;line-height:1.5;}
.ms-contact{font-size:12px;color:#2a3148;text-align:center;margin-bottom:20px;}
.ms-contact a{color:#06b6d4;text-decoration:none;}
.ms-contact a:hover{text-decoration:underline;}
#ms-continue{width:100%;padding:12px;background:#06b6d4;border:none;border-radius:8px;color:#0a0e17;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.5px;transition:opacity .2s;}
#ms-continue:hover:not(.blocked-btn){opacity:.85;}
#ms-continue.blocked-btn{background:#1c2538;color:#5a6278;cursor:default;}
[data-theme="light"] #machine-screen{background:#f0f2f5;}
[data-theme="light"] #machine-box{background:#fff;border-color:#d0d5dd;}
[data-theme="light"] .ms-title{color:#1a1f2e;}
[data-theme="light"] .ms-machine-name{color:#1a1f2e;}
[data-theme="light"] .ms-bar-track{background:#e5e7eb;}
[data-theme="light"] .ms-machine-row{border-bottom-color:rgba(0,0,0,.06);}
[data-theme="light"] .ms-machine-tag{background:#f0f2f5;color:#8a94a6;}
/* Auth overlay always stays dark — it's the boot experience, not the app theme */
[data-theme="light"] #auth-overlay{background:#0a0e17;}
[data-theme="light"] #auth-box{background:rgba(16,20,31,0.92);border-color:rgba(6,182,212,0.15);}
[data-theme="light"] #auth-logo{color:#e8eaf0;}
[data-theme="light"] #auth-tagline{color:#3a4258;}
[data-theme="light"] #auth-status{color:#5a6278;}
[data-theme="light"] .auth-field{background:rgba(0,0,0,.3);border-color:#1e2536;color:#e8eaf0;}
[data-theme="light"] .auth-field::placeholder{color:#3a4258;}
[data-theme="light"] #auth-btn{color:#0a0e17;}
[data-theme="light"] #auth-ver{color:#2a3148;}
/* Welcome popup light mode */
[data-theme="light"] #welcome-box{background:#fff;border-color:#d0d5dd;}
[data-theme="light"] #welcome-box h2{color:#1a1f2e;}
/* Light mode — left panel */
[data-theme="light"] #left-panel{background:linear-gradient(180deg,#fbfcfe,#f3f6fa);border-right-color:#b7c1cf;box-shadow:4px 0 18px rgba(15,23,42,.1),inset -1px 0 rgba(255,255,255,.75);}
[data-theme="light"] #left-panel::after{background:linear-gradient(180deg,rgba(8,145,178,.16),rgba(245,158,11,.42),rgba(8,145,178,.16));}
[data-theme="light"] .lp-btn{color:#5a6278;}
[data-theme="light"] .lp-btn:hover{color:#1a1f2e;}
[data-theme="light"] .lp-btn.active{color:#b45309;background:linear-gradient(90deg,rgba(245,158,11,.18),rgba(245,158,11,.06));border-left-color:#f59e0b;}
[data-theme="light"] .lp-btn.active .lp-label{color:#b45309;}
[data-theme="light"] .lp-label{color:#475569;text-shadow:none;}
[data-theme="light"] .lp-vlabel{color:#8a94a6;}
[data-theme="light"] .nav-rail-reveal{background:rgba(255,255,255,.96);border-color:rgba(8,145,178,.35);}
/* Light mode — library */
[data-theme="light"] .library-container{background:#fff;}
[data-theme="light"] .library-header{border-bottom-color:#e5e7eb;}
[data-theme="light"] .library-title{color:#1a1f2e;}
[data-theme="light"] .lib-tab{color:#5a6278;border-color:#d0d5dd;}
[data-theme="light"] .lib-tab.active{background:#f59e0b;color:#fff;border-color:#f59e0b;}
[data-theme="light"] .files-toolbar{background:#fff;border-bottom-color:#e5e7eb;}
[data-theme="light"] .files-search{background:#f7f8fa;border-color:#d0d5dd;color:#1a1f2e;}
[data-theme="light"] .files-filter-select{background:#f7f8fa;border-color:#d0d5dd;color:#1a1f2e;}
[data-theme="light"] .file-card{background:#fff;border-color:#e5e7eb;}
[data-theme="light"] .file-card:hover{border-color:#c0c5ce;}
[data-theme="light"] .file-card .fc-name{color:#1a1f2e;}
[data-theme="light"] .fc-preview{background:#f0f2f5;}
[data-theme="light"] .lib-folders-row{background:#f7f8fa;border-bottom-color:#e5e7eb;}
[data-theme="light"] .lib-folder-pill{color:#5a6278;border-color:#d0d5dd;}
[data-theme="light"] .lib-folder-pill.active{background:rgba(245,158,11,.08);border-color:#f59e0b;color:#b45309;}
[data-theme="light"] .lib-files-right{border-left-color:#d0d5dd;}
/* Light mode — inspection */
[data-theme="light"] .insp-container{background:#fff;}
[data-theme="light"] .insp-sidebar{background:#f7f8fa;border-right-color:#d0d5dd;}
[data-theme="light"] .insp-sb-title{color:#1a1f2e;}
[data-theme="light"] .insp-pair-panel{background:#f7f8fa;border-top-color:#e5e7eb;}
[data-theme="light"] .insp-pair-row:hover{background:rgba(0,0,0,.03);}
/* Light mode — overview map */
[data-theme="light"] .ov-stats{background:rgba(255,255,255,.92);border-color:#d0d5dd;color:#1a1f2e;}
[data-theme="light"] .ov-stats-title{color:#1a1f2e;}
[data-theme="light"] .ov-stat-label{color:#5a6278;}
[data-theme="light"] .ov-stat-val{color:#1a1f2e;}
/* Light mode — right panel / sidebar */
[data-theme="light"] #sidebar-inner{background:#fff;}
[data-theme="light"] .sidebar-section-title{color:#1a1f2e;}
[data-theme="light"] .flights-section{background:#fff;}
[data-theme="light"] .utility-drawer{background:#fff;border-color:#d0d5dd;box-shadow:0 -3px 14px rgba(15,23,42,.08);}
[data-theme="light"] .utility-drawer-head{background:#f7f8fa;border-bottom-color:#e5e7eb;}
[data-theme="light"] .utility-panel .sb-section-title{background:#f7f8fa;}
[data-theme="light"] .utility-locator,[data-theme="light"] .utility-info-meta,[data-theme="light"] .utility-job-card,[data-theme="light"] .utility-panel .weather-card{background:#f8fafc;border-color:#e2e8f0;}
[data-theme="light"] .telemetry-overlay-toggle{background:#f8fafc;border-color:#e2e8f0;color:#5a6278;}
[data-theme="light"] .media-focus-btn,[data-theme="light"] .telemetry-video-overlay{background:rgba(15,23,42,.78);color:#e2e8f0;}
/* Light mode — context menus */
[data-theme="light"] .lib-ctx-menu{background:#fff;border-color:#d0d5dd;box-shadow:0 8px 24px rgba(0,0,0,.12);}
[data-theme="light"] .lib-ctx-item{color:#1a1f2e;}
[data-theme="light"] .lib-ctx-item:hover{background:rgba(0,0,0,.04);}
/* ====== END AUTH CSS ====== */

/* ====== FRAMELESS WINDOW + CUSTOM CONTROLS ====== */
/* Topbar is the drag region */
.topbar{-webkit-app-region:drag;}
/* All interactive children must opt out of dragging */
.topbar *{-webkit-app-region:no-drag;}
/* Custom window control buttons */
.win-controls{display:flex;align-items:center;gap:1px;margin-left:6px;flex-shrink:0;}
.win-btn{width:30px;height:30px;border:none;border-radius:6px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .15s;padding:0;}
.win-btn:hover{background:var(--bg-tertiary);}
.win-btn-min:hover{color:var(--accent-amber);}
.win-btn-max:hover{color:var(--accent);}
.win-btn-close:hover{background:#e11d48!important;color:#fff!important;}
.win-btn svg{width:12px;height:12px;display:block;}
/* ====== END FRAMELESS WINDOW ====== */

/* ====== P2.10 HERO SCENE CHIP ====== */
/* ====== END P2.10 ====== */

/* ====== P1.2-b DROPBOX SETTINGS ====== */
.dbx-mode-row{display:flex;gap:12px;margin-bottom:8px;flex-wrap:wrap;}
.dbx-mode-lbl{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary);cursor:pointer;user-select:none;}
.dbx-mode-lbl input[type="radio"]{accent-color:var(--accent);margin:0;}
.dbx-hint{color:var(--text-muted);font-size:10px;margin-left:2px;}
.dbx-box{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-bottom:6px;}
.dbx-help{color:var(--text-muted);font-size:10px;line-height:1.45;margin-bottom:8px;}
.dbx-help a{color:var(--accent);text-decoration:underline;}
.dbx-box textarea{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;padding:6px 8px;resize:vertical;min-height:60px;box-sizing:border-box;}
.dbx-box textarea:focus{outline:none;border-color:var(--accent);}
.dbx-field{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary);margin-bottom:6px;}
.dbx-field span{min-width:90px;}
.dbx-field input{flex:1;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:11px;padding:5px 8px;box-sizing:border-box;}
.dbx-field input:focus{outline:none;border-color:var(--accent);}
.dbx-btn-row{display:flex;gap:6px;justify-content:flex-end;margin-top:4px;}
.dbx-btn{background:var(--accent);border:1px solid var(--accent);color:#fff;font-family:inherit;font-size:11px;padding:4px 12px;border-radius:4px;cursor:pointer;transition:filter .12s;}
.dbx-btn:hover{filter:brightness(1.1);}
.dbx-btn-test{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-secondary);}
.dbx-btn-test:hover{background:var(--bg-secondary);color:var(--text-primary);}
.dbx-btn-clear{background:transparent;border:1px solid var(--border);color:var(--text-muted);}
.dbx-btn-clear:hover{background:rgba(239,68,68,.08);border-color:#ef4444;color:#ef4444;}
.dbx-status-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;}
.dbx-status{font-size:10px;color:var(--text-muted);flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dbx-status.ok{color:#10b981;}
.dbx-status.err{color:#ef4444;}
/* ====== END P1.2-b ====== */

/* ====== P7.4-c CREDENTIALS INDICATOR ====== */
.creds-indicator{display:flex;align-items:center;gap:8px;padding:4px 2px 2px;font-size:11px;color:var(--text-secondary);}
.creds-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--text-muted);box-shadow:0 0 0 2px rgba(255,255,255,.08);}
.creds-dot.ok{background:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,.22);}
.creds-dot.warn{background:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.22);}
.creds-dot.err{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.22);}
.creds-text{flex:1;color:var(--text-primary);}
.creds-platform{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;padding:1px 6px;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border);}
/* ====== END P7.4-c ====== */

/* ====== P1.4-b STORAGE PICKER ====== */
.sp-help{color:var(--text-muted);font-size:10px;line-height:1.4;margin-bottom:6px;}
.storage-picker{display:flex;flex-direction:column;gap:4px;}
.storage-picker .sp-empty{color:var(--text-muted);font-size:11px;font-style:italic;padding:6px 4px;}
.storage-picker .sp-row{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:background .12s,border-color .12s;font-size:11px;}
.storage-picker .sp-row:hover{background:var(--bg-secondary);border-color:var(--accent);}
.storage-picker .sp-row input[type="radio"]{accent-color:var(--accent);margin:0;}
.storage-picker .sp-row input[type="radio"]:checked ~ .sp-label{font-weight:600;color:var(--accent);}
.storage-picker .sp-label{color:var(--text-primary);}
.storage-picker .sp-kind{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;padding:1px 6px;border-radius:10px;background:var(--bg-primary);border:1px solid var(--border);}
.storage-picker .sp-caps{color:var(--text-muted);font-size:9px;letter-spacing:.4px;margin-left:auto;text-transform:uppercase;}
/* ====== END P1.4-b ====== */

/* ====== P3.9 DEFECT TAGGER ====== */
.tag-overlay{position:absolute;inset:0;z-index:8;cursor:crosshair;display:none;}
.tag-overlay.active{display:block;}
body.tag-mode #video-pane{cursor:crosshair;}
.hk-btn.active-m{background:var(--accent-hot,#ef4444);border-color:var(--accent-hot,#ef4444);color:#fff;}
.hk-btn.active-m .hk-key{background:rgba(255,255,255,.25);}

.sev-pills{display:flex;gap:4px;align-items:center;margin-left:4px;}
.sev-pill{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.2);cursor:pointer;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s;}
.sev-pill:hover{transform:scale(1.15);}
.sev-pill.sel{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.18);transform:scale(1.1);}
.sev-pill.sev-green{background:#10b981;}
.sev-pill.sev-amber{background:#f59e0b;}
.sev-pill.sev-red  {background:#ef4444;}
[data-theme="light"] .sev-pill{border-color:rgba(0,0,0,.1);}
[data-theme="light"] .sev-pill.sel{border-color:#1f2937;box-shadow:0 0 0 2px rgba(31,41,55,.15);}

.defect-count-pill{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);font-size:10px;font-weight:600;min-width:18px;padding:1px 6px;border-radius:10px;text-align:center;margin-right:18px;}
.defect-list{display:flex;flex-direction:column;gap:2px;padding:6px 8px;max-height:280px;overflow-y:auto;}
.defect-empty{color:var(--text-muted);font-size:11px;font-style:italic;padding:8px 4px;text-align:center;}
.defect-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;background:var(--bg-tertiary);border:1px solid var(--border);font-size:11px;cursor:pointer;transition:background .12s,border-color .12s;}
.defect-item:hover{background:var(--bg-secondary);border-color:var(--accent);}
.defect-pip{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px rgba(255,255,255,.25);}
.defect-time{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:var(--text-primary);min-width:42px;}
.defect-coord{color:var(--text-muted);font-size:10px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.defect-del{background:transparent;border:none;color:var(--text-muted);font-size:15px;line-height:1;padding:0 4px;cursor:pointer;border-radius:3px;transition:color .12s,background .12s;}
.defect-del:hover{color:#ef4444;background:rgba(239,68,68,.1);}
.defect-actions{padding:4px 12px 8px;display:flex;gap:4px;}
/* ====== END P3.9 ====== */

/* ====== P3.9.2 DEFECT EDITOR ====== */
.defect-edit-btn{background:transparent;border:none;color:var(--text-muted);font-size:11px;line-height:1;padding:2px 4px;cursor:pointer;border-radius:3px;transition:color .12s,background .12s;}
.defect-edit-btn:hover{color:var(--accent);background:rgba(6,182,212,.1);}
.defect-note-indicator{color:var(--accent);font-size:10px;margin-right:2px;cursor:help;}
.defect-edit{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:4px;background:var(--bg-secondary);border:1px solid var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.15);}
.defect-edit-row{display:flex;align-items:center;gap:8px;justify-content:space-between;}
.sev-pills.mini .sev-pill{width:12px;height:12px;border-width:2px;}
.defect-notes-edit{background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:11px;padding:6px 8px;resize:vertical;min-height:40px;max-height:120px;transition:border-color .12s;}
.defect-notes-edit:focus{outline:none;border-color:var(--accent);}
.defect-edit-actions{display:flex;justify-content:flex-end;gap:4px;}
.defect-save,.defect-cancel{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);padding:3px 12px;border-radius:4px;cursor:pointer;font-size:11px;font-family:inherit;transition:all .12s;}
.defect-save{background:var(--accent);border-color:var(--accent);color:#fff;}
.defect-save:hover{filter:brightness(1.1);}
.defect-cancel:hover{background:var(--bg-secondary);border-color:var(--text-muted);color:var(--text-primary);}
/* ====== END P3.9.2 ====== */

/* ====== P3.9.3 SEVERITY FILTER ====== */
.defect-filter{display:flex;gap:3px;padding:6px 8px 4px;flex-wrap:wrap;}
.defect-filter-pill{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:3px 9px;border-radius:12px;cursor:pointer;font-size:10px;font-family:inherit;font-weight:500;transition:all .12s;}
.defect-filter-pill:hover{background:var(--bg-tertiary);color:var(--text-primary);}
.defect-filter-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.defect-filter-pill.active:hover{filter:brightness(1.1);}
.defect-filter-pip{width:8px;height:8px;border-radius:50%;display:inline-block;}
/* ====== END P3.9.3 ====== */

/* ====== P3.9.4 PIN \u2194 LIST SYNC ====== */
.defect-item.pin-clicked{background:rgba(6,182,212,.18);border-color:var(--accent);box-shadow:0 0 0 2px rgba(6,182,212,.35);transition:background .2s,border-color .2s,box-shadow .2s;}
@keyframes defectPinPulse {
  0%   { stroke-width: 2;  opacity: 0.92; }
  40%  { stroke-width: 10; opacity: 1;   }
  100% { stroke-width: 2;  opacity: 0.92; }
}
.defect-pin-pulse{animation:defectPinPulse 1.1s ease-out 1;transform-origin:center center;}
/* ====== END P3.9.4 ====== */

/* ====== P3.9.5 DEFECT KEYBOARD FOCUS ====== */
.defect-item.focused{border-left:3px solid var(--accent);padding-left:5px;background:rgba(6,182,212,.08);}
.defect-item.focused .defect-time{color:var(--accent);}
/* ====== END P3.9.5 ====== */

/* ====== P3.9.6 KEYBOARD HINT CHIP ====== */
.defect-kb-hint{color:var(--text-muted);font-size:9px;letter-spacing:.3px;padding:2px 10px 6px;display:flex;gap:2px;align-items:center;flex-wrap:wrap;cursor:help;}
.defect-kb-hint kbd{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;color:var(--text-secondary);min-width:12px;text-align:center;line-height:14px;display:inline-block;}
/* ====== END P3.9.6 ====== */

/* ====== P3.9.7 SEVERITY COUNT SUMMARY + P3.9.8 CLICK-TO-FILTER ====== */
.defect-stats{display:flex;align-items:center;gap:6px;padding:6px 10px 2px;font-size:11px;color:var(--text-secondary);}
.defect-stats .ds-cell{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:3px;background:transparent;border:1px solid transparent;font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;transition:background .12s,border-color .12s;}
.defect-stats .ds-cell:hover{background:var(--bg-tertiary);border-color:var(--border);}
.defect-stats .ds-cell.ds-active{background:var(--bg-tertiary);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);}
.defect-stats .ds-cell.ds-zero{opacity:.35;}
.defect-stats .ds-cell.ds-zero.ds-active{opacity:.8;}
.defect-stats .ds-pip{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px rgba(255,255,255,.12);}
.defect-stats .ds-n{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-primary);min-width:8px;text-align:left;}
.defect-stats .ds-cell.ds-zero .ds-n{color:var(--text-muted);font-weight:400;}
.defect-stats .ds-sep{color:var(--text-muted);margin:0 2px;}
.defect-stats .ds-total{color:var(--text-muted);font-size:10px;letter-spacing:.2px;background:transparent;border:1px solid transparent;padding:2px 6px;border-radius:3px;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s,color .12s;}
.defect-stats .ds-total:hover{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-primary);}
.defect-stats .ds-total.ds-active{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent);}
/* ====== END P3.9.7 + P3.9.8 ====== */

/* ====== P3.9.11 FLIGHT-LIST DEFECT BADGE ====== */
.flight-defect-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 5px;border-radius:8px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1;margin-left:auto;box-shadow:0 0 0 1px rgba(255,255,255,.18);flex-shrink:0;cursor:help;}
.flight-defect-badge[data-sev="green"]{background:#10b981;}
.flight-defect-badge[data-sev="amber"]{background:#f59e0b;}
.flight-defect-badge[data-sev="red"]  {background:#ef4444;}
/* ====== END P3.9.11 ====== */

/* ====== P3.9.14 DEFECT TEXT SEARCH ====== */
.defect-search{position:relative;padding:2px 10px 4px;}
.defect-search input{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:11px;padding:4px 24px 4px 8px;box-sizing:border-box;transition:border-color .12s;}
.defect-search input:focus{outline:none;border-color:var(--accent);}
.defect-search input::placeholder{color:var(--text-muted);}
.defect-search-clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 4px;transition:color .12s;}
.defect-search-clear:hover{color:#ef4444;}
.feature-manager-tools{display:grid;grid-template-columns:1fr 118px;gap:5px;padding:8px 10px 5px;border-bottom:1px solid rgba(148,163,184,.12);}
.feature-manager-tools input,.feature-manager-tools select{min-width:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:10px;padding:5px 6px;}
.feature-manager-tools input:focus,.feature-manager-tools select:focus{outline:none;border-color:var(--accent);}
.feature-manager-check{grid-column:1/2;display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text-muted);white-space:nowrap;}
.feature-manager-check input{accent-color:var(--accent);}
.feature-manager-actions{grid-column:2/3;display:grid;grid-template-columns:1fr;gap:4px;}
#feature-manager-import,#feature-manager-clear{border:1px solid rgba(16,185,129,.42);background:rgba(16,185,129,.12);color:#059669;border-radius:4px;font-size:10px;font-weight:800;font-family:inherit;cursor:pointer;min-height:24px;}
#feature-manager-import:hover,#feature-manager-clear:hover{filter:brightness(1.08);}
#feature-manager-clear{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08);color:#dc2626;}
#feature-manager-clear:disabled{cursor:not-allowed;opacity:.45;filter:none;}
.feature-manager-drop{margin:5px 10px;padding:6px;border:1px dashed rgba(148,163,184,.28);border-radius:4px;text-align:center;font-size:10px;color:var(--text-muted);background:rgba(148,163,184,.04);}
.feature-manager-drop.drag{border-color:#10b981;color:#059669;background:rgba(16,185,129,.1);}
.feature-manager-list{display:flex;flex-direction:column;gap:4px;padding:6px 8px;max-height:360px;overflow:auto;}
.feature-manager-empty{padding:12px 8px;text-align:center;color:var(--text-muted);font-size:11px;}
.feature-manager-row{border:1px solid var(--border);background:var(--bg-tertiary);border-radius:5px;padding:7px;display:grid;gap:4px;cursor:pointer;transition:border-color .12s,background .12s;}
.feature-manager-row:hover{border-color:var(--accent);background:var(--bg-secondary);}
.feature-manager-row.selected{border-color:#f97316;box-shadow:0 0 0 1px rgba(249,115,22,.35);}
.fm-main{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;min-width:0;}
.fm-main b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-primary);}
.fm-main span:last-child,.fm-meta{font-size:9px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fm-cat{font-size:8px!important;font-weight:900;color:#f97316!important;border:1px solid rgba(249,115,22,.35);background:rgba(249,115,22,.09);border-radius:3px;padding:1px 4px;letter-spacing:.03em;}
.fm-actions,.fm-edit-actions{display:flex;justify-content:flex-end;gap:4px;}
.fm-actions button,.fm-edit-actions button{border:1px solid rgba(148,163,184,.28);background:rgba(148,163,184,.08);color:var(--text-secondary);border-radius:4px;padding:3px 7px;font-size:9px;font-weight:800;font-family:inherit;cursor:pointer;}
.fm-actions button:hover,.fm-edit-actions button:hover{border-color:var(--accent);color:var(--accent);}
.fm-actions [data-fm-delete]:hover{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,.08);}
.feature-manager-row.editing{cursor:default;}
.feature-manager-row.editing select,.feature-manager-row.editing input,.feature-manager-row.editing textarea{width:100%;box-sizing:border-box;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:10px;padding:5px 6px;}
.feature-manager-row.editing textarea{resize:vertical;min-height:42px;}
/* ====== END P3.9.14 ====== */

/* ═══════ Layout exemplar diagrams (render-direction: buttons show the layout) ═══════ */
.lex-btn{display:inline-flex;flex-direction:column;align-items:center;gap:4px;padding:6px 10px 5px;min-width:76px;}
.cmp-ab-layout-group .cmp-orient-btn.lex-btn{height:auto;padding:6px 10px 5px;}
.lex{display:grid;gap:2px;width:46px;height:30px;padding:2px;border-radius:4px;background:rgba(148,163,184,.16);box-sizing:border-box;}
.lex i{display:flex;align-items:center;justify-content:center;border-radius:2px;font-style:normal;font-size:7px;font-weight:950;line-height:1;color:#fff;min-height:0;min-width:0;}
.lex .lex-a{background:#0891b2;}
.lex .lex-b{background:#7663f2;}
.lex .lex-map{background:#fff;border:1px dashed rgba(100,116,139,.6);color:#64748b;}
.lex-side{grid-template-columns:1fr 1fr;}
.lex-stack{grid-template-rows:1fr 1fr;}
.lex-map-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;}
.lex-map-side .lex-a{grid-area:1/1;}
.lex-map-side .lex-b{grid-area:2/1;}
.lex-map-side .lex-map{grid-area:1/2/3/3;}
.lex-map-below{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;}
.lex-map-below .lex-a{grid-area:1/1;}
.lex-map-below .lex-b{grid-area:1/2;}
.lex-map-below .lex-map{grid-area:2/1/3/3;}
.lex-wipe{grid-template-columns:1fr;position:relative;}
.lex-wipe .lex-a{grid-area:1/1;}
.lex-wipe .lex-b{position:absolute;top:2px;right:2px;bottom:2px;width:calc(50% - 2px);clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);}
.lex-label{font-size:9.5px;font-weight:900;line-height:1;white-space:nowrap;}
.cmp-export-layouts button.lex-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 6px 6px;}
button.active .lex{background:rgba(8,145,178,.18);}
button.active .lex .lex-map{border-color:rgba(8,145,178,.55);color:#0891b2;}

/* Bottom drawer tabs: readable case, bigger targets, clear active state */
.ud-tab{height:26px;font-size:10px;font-weight:850;letter-spacing:0;text-transform:none;padding:0 10px;border-radius:5px;}
.utility-drawer.collapsed .ud-tab{height:24px;padding:0 9px;}
/* View tab keeps the compact segment strip: exemplar sits left of the label */
#compare-overlay #cmp-workbench-view .cmp-orient-btn.lex-btn{flex-direction:row;gap:6px;padding:3px 9px;min-width:0;height:auto;min-height:30px;}
#compare-overlay #cmp-workbench-view .lex{width:30px;height:20px;padding:2px;gap:1.5px;}
#compare-overlay #cmp-workbench-view .lex i{font-size:6px;}
#compare-overlay #cmp-workbench-view .cmp-ab-layout-group{height:auto;align-items:stretch;}

/* The density pass above compacts the studio-head strip. The workbench View tab
   is roomy: restore full labels and drop abbreviated ::after doubles there. */
#compare-overlay #cmp-workbench-view .cmp-orient-btn{font-size:10px;height:auto;min-height:30px;padding:3px 9px;}
#compare-overlay #cmp-workbench-view .cmp-orient-btn::after{content:none!important;}
#compare-overlay #cmp-workbench-view .cmp-ab-layout-group::before{content:none!important;}
#compare-overlay #cmp-workbench-view .cmp-tools-toggle span{font-size:inherit;}
/* The tab-strip workbench toggle keeps its real label — the density pass
   ::after "Tools" otherwise doubles it into "Minimise ToolsTools". */
#compare-overlay .cmp-workbench-tabs .cmp-tools-toggle span{font-size:inherit;}
#compare-overlay .cmp-workbench-tabs .cmp-tools-toggle span::after{content:none;}
/* The tab-strip workbench toggle keeps its real label — the density pass
   ::after "Tools" otherwise doubles it into "Minimise ToolsTools". */
#compare-overlay .cmp-workbench-tabs .cmp-tools-toggle span{font-size:inherit;}
#compare-overlay .cmp-workbench-tabs .cmp-tools-toggle span::after{content:none;}

/* ═══════ Playback & Sync section cards (UI direction guide) ═══════ */
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active .cmp-sec{display:grid;gap:5px;align-content:start;padding:8px 10px;border:1px solid rgba(148,163,184,.24);border-radius:7px;background:linear-gradient(180deg,#fff,#f8fafc);min-width:0;}
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active .cmp-sec-title{font-size:9px;font-weight:950;letter-spacing:.05em;text-transform:uppercase;color:#64748b;white-space:nowrap;}
#compare-overlay:not(.cmp-workbench-collapsed) #cmp-workbench-sync.active .cmp-sec-body{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;}
#compare-overlay.cmp-workbench-collapsed .cmp-sec,#compare-overlay.cmp-workbench-collapsed .cmp-sec-body{display:contents;}
#compare-overlay.cmp-workbench-collapsed .cmp-sec-title{display:none;}
#compare-overlay .cmp-sync-health{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0;}
#compare-overlay.cmp-workbench-collapsed .cmp-sync-health{display:none;}
.cmp-health-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border:1px solid rgba(148,163,184,.32);border-radius:999px;background:#f8fafc;color:#475569;font-size:9.5px;font-weight:900;white-space:nowrap;}
.cmp-health-chip b{font-weight:950;text-transform:uppercase;letter-spacing:.03em;font-size:8px;color:#94a3b8;}
.cmp-health-chip.ok{background:#ecfdf5;border-color:rgba(16,185,129,.4);color:#047857;}
.cmp-health-chip.ok b{color:#10b981;}
.cmp-health-chip.warn{background:#fffbeb;border-color:rgba(245,158,11,.4);color:#b45309;}
.cmp-health-chip.warn b{color:#f59e0b;}

/* Minimised workbench strip: live status chips fill the dead space right of the tabs */
.cmp-strip-chips{display:none;align-items:center;gap:4px;margin-left:auto;min-width:0;overflow:hidden;flex-wrap:nowrap;}
#compare-overlay.cmp-workbench-collapsed .cmp-strip-chips{display:inline-flex;}
.cmp-strip-chips .cmp-health-chip{height:20px;padding:0 8px;font-size:9px;flex:0 0 auto;}

/* Thin session status bar under the workbench (UI direction guide) */
.cmp-status-bar{display:flex;align-items:center;gap:12px;min-height:22px;padding:0 10px;border-top:1px solid rgba(148,163,184,.22);background:#f8fafc;font-size:9.5px;font-weight:850;color:#64748b;white-space:nowrap;overflow:hidden;}
.cmp-status-bar .cmp-status-item{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.cmp-status-bar #cmp-status-pair{color:#334155;font-weight:900;}
.cmp-status-fill{flex:1;}
#compare-overlay.cmp-geometry-picking .cmp-status-bar{display:none;}

/* Drawer section head (Jobs and future drawer panels) */
.ud-sec-head{display:flex;align-items:baseline;gap:8px;padding:2px 2px 6px;}
.ud-sec-head strong{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;color:#334155;}
.ud-sec-head span{font-size:9.5px;font-weight:800;color:#94a3b8;}

/* Topbar Map popover: basemap + CRS + datum move out of permanent chrome */
.topbar-map-menu{position:relative;display:flex;align-items:center;flex-shrink:0;z-index:1200;}
.topbar-map-menu>.tb b{font-size:9px;margin-left:2px;}
.topbar-map-panel{position:absolute;right:0;top:31px;display:none;min-width:238px;padding:8px;border:1px solid rgba(148,163,184,.34);border-radius:7px;background:#fff;color:#334155;box-shadow:0 16px 34px rgba(15,23,42,.2);}
.topbar-map-menu.open .topbar-map-panel{display:grid;gap:7px;}
.topbar-map-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.topbar-map-row>span{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;white-space:nowrap;}
.topbar-map-row select{max-width:150px;padding:3px 6px;font-size:11px;cursor:pointer;appearance:auto;-webkit-appearance:auto;}
.topbar-export-group{padding:2px 9px 0;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;}

/* ═══════ Relink Root modal ═══════ */
.relink-overlay{position:fixed;inset:0;z-index:10003;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;}
.relink-modal{position:relative;width:520px;max-width:92vw;padding:20px 22px;border:1px solid rgba(148,163,184,.3);border-radius:10px;background:#fff;color:#334155;box-shadow:0 24px 60px rgba(15,23,42,.3);}
.relink-modal h3{margin:0 0 4px;font-size:15px;font-weight:900;color:#0f172a;}
.relink-sub{margin:0 0 14px;font-size:11px;font-weight:700;color:#64748b;line-height:1.4;}
.relink-close{position:absolute;top:10px;right:12px;width:26px;height:26px;border:1px solid rgba(148,163,184,.35);border-radius:6px;background:#f8fafc;color:#64748b;cursor:pointer;font-size:14px;}
.relink-field{display:grid;gap:4px;margin-bottom:10px;}
.relink-field>span{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;}
.relink-field select,.relink-field input{height:28px;border:1px solid rgba(148,163,184,.35);border-radius:6px;background:#f8fafc;color:#334155;font:inherit;font-size:11px;padding:0 8px;min-width:0;}
.relink-pick{display:flex;gap:6px;}
.relink-pick input{flex:1;}
.relink-pick button{height:28px;padding:0 10px;border:1px solid rgba(8,145,178,.4);border-radius:6px;background:#e0f7fe;color:#0891b2;font:inherit;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap;}
.relink-result{display:grid;gap:2px;margin:4px 0 12px;padding:9px 11px;border:1px solid rgba(148,163,184,.3);border-radius:7px;background:#f8fafc;font-size:11px;font-weight:800;color:#475569;}
.relink-result span{font-size:10px;font-weight:750;color:#64748b;}
.relink-result.ok{background:#ecfdf5;border-color:rgba(16,185,129,.4);}
.relink-result.warn{background:#fffbeb;border-color:rgba(245,158,11,.4);}
.relink-result.bad{background:#fef2f2;border-color:rgba(239,68,68,.35);}
.relink-actions{display:flex;justify-content:flex-end;gap:8px;}
.relink-actions button{height:30px;padding:0 14px;border:1px solid rgba(148,163,184,.35);border-radius:6px;background:#f8fafc;color:#475569;font:inherit;font-size:11px;font-weight:900;cursor:pointer;}
.relink-actions button.primary{background:#0891b2;border-color:#0891b2;color:#fff;}
.relink-actions button:disabled{opacity:.45;cursor:not-allowed;}

/* First-run actions in the empty flight viewer (SL-ONBOARD-023) */
.veh-first-run{display:flex;gap:8px;justify-content:center;margin-top:12px;position:relative;z-index:3;}
.veh-first-run button{height:30px;padding:0 14px;border:1px solid rgba(6,182,212,.4);border-radius:6px;background:rgba(6,182,212,.12);color:#67e8f9;font:inherit;font-size:11px;font-weight:900;cursor:pointer;pointer-events:auto;}
.veh-first-run button:hover{background:rgba(6,182,212,.22);}
.veh-first-run button:first-child{background:#0891b2;border-color:#0891b2;color:#fff;}

/* ═══════ UI-3: one floating-control language across every map ═══════
   White chip surface, slate text, cyan accent on hover/active — the same
   family as the topbar popovers and workbench cards. */
.sl-map-history{background:rgba(255,255,255,.95);border:1px solid rgba(148,163,184,.42);border-radius:8px;box-shadow:0 8px 20px rgba(15,23,42,.16);padding:3px;}
.sl-map-history button{background:transparent;color:#334155;border-radius:5px;font-weight:900;transition:background .12s,color .12s;}
.sl-map-history button:hover:not(:disabled){background:rgba(6,182,212,.14);color:#0891b2;}
.sl-map-history .sl-map-lasso-btn,.sl-map-history .sl-map-measure-btn{background:transparent;border:1px solid rgba(148,163,184,.38);color:#475569;border-radius:5px;text-transform:none;letter-spacing:0;font-size:9.5px;}
.sl-map-history .sl-map-lasso-btn:hover,.sl-map-history .sl-map-measure-btn:hover{border-color:rgba(8,145,178,.5);color:#0891b2;background:rgba(6,182,212,.1);}
.sl-map-history .sl-map-measure-btn.active,.sl-map-history .sl-map-lasso-btn.active{background:#0891b2;border-color:#0891b2;color:#fff;}
/* Leaflet's own zoom bars (compare panes etc.) join the same family */
.leaflet-bar{border:1px solid rgba(148,163,184,.42)!important;border-radius:8px!important;box-shadow:0 8px 20px rgba(15,23,42,.16)!important;overflow:hidden;}
.leaflet-bar a{background:rgba(255,255,255,.95)!important;color:#334155!important;border-bottom:1px solid rgba(148,163,184,.24)!important;font-weight:900;}
.leaflet-bar a:last-child{border-bottom:0!important;}
.leaflet-bar a:hover{background:#e0f7fe!important;color:#0891b2!important;}
/* Compare picker panel joins the light chip family */
.compare-select-panel{background:rgba(255,255,255,.95);border-color:rgba(148,163,184,.42);border-radius:8px;box-shadow:0 8px 20px rgba(15,23,42,.16);backdrop-filter:none;}
.compare-select-panel button{border-color:rgba(8,145,178,.42);background:#e0f7fe;color:#0891b2;}
.compare-select-panel button:hover:not(:disabled){background:rgba(6,182,212,.2);}
.compare-select-panel .compare-select-count{color:#64748b;}
/* Bookmarks panel: light chip family on the default light theme */
.map-bookmarks{background:rgba(255,255,255,.95);border-color:rgba(148,163,184,.42);border-radius:8px;box-shadow:0 8px 20px rgba(15,23,42,.16);color:#334155;}
.mb-head{background:rgba(6,182,212,.1);color:#0891b2;}
.mb-head button{background:#fff;border-color:rgba(148,163,184,.4);color:#64748b;}
[data-theme] .map-bookmarks .mb-body input{color:#334155;}
/* Feature chip aligns radius/shadow */
.map-feature-btn{border-radius:8px;box-shadow:0 8px 20px rgba(15,23,42,.16);}

/* Command palette: unavailable commands say why instead of no-oping */
.command-row.unavailable .command-main b{color:#94a3b8;}
.command-row.unavailable .command-main small{color:#b45309;}
.command-row.unavailable em{background:#fffbeb;border:1px solid rgba(245,158,11,.4);color:#b45309;}

/* Missing tab: rows grouped by root, one relink per moved folder */
.repo-missing-group{margin-bottom:10px;border:1px solid rgba(148,163,184,.24);border-radius:8px;overflow:hidden;background:#fff;}
.repo-missing-group-head{display:flex;align-items:center;gap:10px;padding:7px 10px;background:#fffbeb;border-bottom:1px solid rgba(245,158,11,.3);}
.repo-missing-group-head b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#78350f;}
.repo-missing-group-head span{flex-shrink:0;font-size:10px;font-weight:900;color:#b45309;}
.repo-missing-group-relink{margin-left:auto;flex-shrink:0;height:24px;padding:0 10px;border:1px solid rgba(8,145,178,.42);border-radius:5px;background:#e0f7fe;color:#0891b2;font:inherit;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap;}
.repo-missing-group-relink:hover{background:rgba(6,182,212,.22);}
.repo-missing-group .repo-row.missing{border:0;border-bottom:1px solid rgba(148,163,184,.16);border-radius:0;margin:0;}
.repo-missing-group .repo-row.missing:last-child{border-bottom:0;}

/* ═══════ Settings modal: left section rail (UI-1 deferred piece) ═══════ */
.settings-modal{background:var(--bg-secondary);border:var(--pane-border);border-radius:var(--pane-radius);padding:20px 22px;width:640px;max-width:92vw;max-height:80vh;position:relative;display:flex;flex-direction:column;}
.settings-title{font-size:16px;font-weight:800;color:var(--accent);margin-bottom:12px;}
.settings-body{display:flex;gap:14px;min-height:0;flex:1;}
.settings-rail{display:flex;flex-direction:column;gap:4px;flex-shrink:0;width:118px;}
.settings-rail button{height:30px;padding:0 12px;text-align:left;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font:inherit;font-size:11px;font-weight:900;cursor:pointer;}
.settings-rail button:hover{background:rgba(6,182,212,.1);color:var(--accent);}
.settings-rail button.active{background:rgba(6,182,212,.14);border-color:rgba(6,182,212,.4);color:var(--accent);}
.settings-panels{flex:1;min-width:0;overflow-y:auto;padding-right:6px;}
.settings-panel{display:none;}
.settings-panel.active{display:block;}

/* ---- Platform capability gates ------------------------------------------
   Classes are set on <html> by app/scripts/platform.js. Controls that cannot
   work on the current target are hidden here rather than left visible to fail
   when clicked — a button that does nothing reads as a bug.
   Electron sets none of these, so the desktop UI is untouched. */
.sl-no-reveal [data-miss-act="reveal"],
.sl-no-reveal [data-topbar-export-reveal]{display:none !important;}
/* A virtual sl: key is meaningless outside the app, so "Copy path" has
   nothing useful to put on the clipboard. */
.sl-no-native-paths [data-miss-act="copy"]{display:none !important;}
/* Minimise/maximise/close drive an OS window that does not exist in a tab. */
.sl-no-window-controls .win-controls{display:none !important;}
/* The "Web app" settings section has no meaning on the desktop build. */
.sl-electron .web-only{display:none !important;}

/* ---- Web app settings panel + recovery banner ---------------------------- */
.web-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;}
.web-status{font-size:11px;color:var(--text-muted);line-height:1.5;}
.web-roots{margin-top:10px;display:flex;flex-direction:column;gap:6px;}
.web-root-row{display:flex;align-items:center;gap:8px;font-size:11px;}
.web-root-name{font-weight:700;color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.web-banner{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:9000;display:flex;align-items:center;gap:12px;
  padding:10px 12px 10px 16px;border-radius:10px;background:var(--bg-card,#141924);border:1px solid rgba(245,158,11,.5);
  box-shadow:0 10px 30px rgba(0,0,0,.35);max-width:min(720px,calc(100vw - 32px));}
.web-banner[hidden]{display:none;}
.web-banner-text{font-size:12px;color:var(--text-secondary);line-height:1.45;}
.web-banner-act{flex:none;height:28px;padding:0 12px;border-radius:6px;border:1px solid rgba(6,182,212,.5);
  background:rgba(6,182,212,.14);color:var(--accent);font:inherit;font-size:11px;font-weight:900;cursor:pointer;}
.web-banner-act:hover{background:rgba(6,182,212,.24);}
.web-banner-dismiss{flex:none;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;}
.web-banner-dismiss:hover{color:var(--text-secondary);}
.sl-web .web-controls{display:flex;align-items:center;}
.web-controls .win-btn{display:inline-flex;align-items:center;justify-content:center;}
.web-controls .win-btn-exit{text-decoration:none;}
.web-controls .win-btn-exit:hover{background:rgba(220,38,38,.75);color:#fff;}
