@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat Fallback;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_d2f9a6{font-family:Montserrat,Montserrat Fallback;font-style:normal}.__variable_d2f9a6{--font-montserrat:"Montserrat","Montserrat Fallback"}@font-face{font-family:Trap;src:url(/fonts/Trap-Medium.otf) format("opentype");font-weight:500;font-display:swap}@font-face{font-family:Trap;src:url(/fonts/Trap-SemiBold.otf) format("opentype");font-weight:600;font-display:swap}@font-face{font-family:Trap;src:url(/fonts/Trap-Bold.otf) format("opentype");font-weight:700;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Neue Montreal Arabic;src:url(/fonts/PPNeueMontrealArabic-Regular.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Neue Montreal Arabic;src:url(/fonts/PPNeueMontrealArabic-Bold.otf) format("opentype");font-weight:700;font-display:swap}:root{--font-display:"Trap",var(--font-montserrat),system-ui,sans-serif;--font-body:var(--font-montserrat),"Neue Montreal Arabic",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;--snap-blue:#0040c3;--snap-white:#e7e7ec;--snap-navy:#002336;--snap-cobalt:#004360;--snap-orange:#f05523;--snap-green:#c6f06a;--snap-mint:#afd3b9;--snap-gray:#b8bdc4;--bg:var(--snap-white);--surface:#ffffff;--border:#d5d8de;--text:var(--snap-navy);--muted:#5c6b76;--accent:var(--snap-blue);--danger:var(--snap-orange)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.sidebar{width:236px;flex-shrink:0;background:var(--snap-navy);color:var(--snap-white);padding:20px 12px 14px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar .brand{padding:0 10px 16px}.sidebar .brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sidebar-toggle{display:none;width:36px;height:36px;border:1px solid var(--snap-cobalt);border-radius:8px;background:none;cursor:pointer;position:relative;flex:none}.sidebar-toggle span,.sidebar-toggle span:after,.sidebar-toggle span:before{content:"";position:absolute;left:9px;width:16px;height:2px;background:var(--snap-white);border-radius:1px}.sidebar-toggle span{top:17px}.sidebar-toggle span:before{left:0;top:-5px}.sidebar-toggle span:after{left:0;top:5px}.sidebar .brand img{width:168px;height:auto;display:block}.sidebar .brand small{display:block;margin-top:8px;color:var(--snap-gray);font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.sidebar nav{display:grid;grid-gap:2px;gap:2px}.nav-group{display:grid;grid-gap:1px;gap:1px}.nav-group+.nav-group{margin-top:12px}.nav-group-label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#6f8291;padding:0 10px 5px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:13.5px;font-weight:500;color:var(--snap-gray)}.sidebar nav a:hover{background:var(--snap-cobalt);color:#ffffff}.nav-ic{width:15px;height:15px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.sidebar nav a.active .nav-ic{opacity:1}.nav-count{margin-left:auto;background:var(--snap-orange);color:#fff;border-radius:999px;font-size:10.5px;font-weight:700;padding:1px 7px;line-height:1.4}.sidebar .whoami{margin-top:auto;padding:12px 6px 0;font-size:12px;color:var(--snap-gray);border-top:1px solid var(--snap-cobalt)}.user-block{display:grid;grid-template-columns:30px 1fr;grid-gap:10px;gap:10px;align-items:center}.user-avatar{width:30px;height:30px;border-radius:50%;background:var(--snap-cobalt);color:#fff;display:grid;place-items:center;font-size:11.5px;font-weight:700;letter-spacing:.02em}.user-name{color:#fff;font-weight:600;font-size:13px;line-height:1.25}.user-meta,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta{font-size:11.5px;line-height:1.3}.user-links{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:12px}.user-links a,.user-links button{color:var(--snap-gray);background:none;border:0;padding:0;font:inherit;cursor:pointer}.user-links a:hover,.user-links button:hover{color:#fff}.acting-note{color:var(--snap-orange);font-weight:600;margin-bottom:8px;font-size:12px}.main{flex:1 1;min-width:0;padding:28px 36px 48px;max-width:1400px}.main h1{margin:0 0 6px;font-size:24px;font-weight:600;letter-spacing:-.01em;text-wrap:balance}.main .sub{color:var(--muted);font-size:14px;margin-bottom:26px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px 24px;flex-wrap:wrap;margin-bottom:22px}.page-head .sub{margin-bottom:0}.page-head h1{margin-bottom:4px}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex:none;padding-top:4px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:22px;overflow-x:auto;scrollbar-width:none}.tab{padding:8px 12px 10px;font-size:13.5px;font-weight:500;color:var(--muted);white-space:nowrap;border-radius:6px 6px 0 0;box-shadow:inset 0 -2px 0 transparent}.tab:hover{color:var(--text);background:#f2f4f8}.tab.active{color:var(--accent);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}.tab .count{margin-left:6px;background:var(--snap-white);color:var(--text);font-size:11px;border-radius:999px;padding:1px 6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;max-width:720px;font-size:14px;line-height:1.55}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--snap-white)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:36px 32px;width:360px;display:flex;flex-direction:column;gap:12px}.login-card .logo{width:220px;height:auto;margin:0 auto 6px;display:block}.login-card .tagline{text-align:center;color:var(--muted);font-size:12px;margin:0 0 12px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}.login-card input{padding:11px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:var(--snap-white);color:var(--text)}.login-card input:focus{outline:2px solid var(--snap-blue);outline-offset:-1px;border-color:var(--snap-blue)}.login-card button{padding:11px 12px;border:0;border-radius:8px;background:var(--snap-blue);color:#ffffff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}.login-card button:hover{background:#0037a8}.login-card button:disabled{opacity:.6}.error{color:var(--danger);font-size:13px}.sidebar nav a.active{background:var(--snap-blue);color:#ffffff}.main input:not([type=checkbox]):not([type=hidden]),.main select,.main textarea{border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--text);font-family:inherit;font-size:13.5px;padding:8px 11px;line-height:1.3}.main input:not([type=checkbox]):focus,.main select:focus,.main textarea:focus{outline:2px solid var(--snap-blue);outline-offset:-1px;border-color:var(--snap-blue)}.main input::placeholder{color:var(--snap-gray)}.main select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23002336' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:10px;padding-right:32px;cursor:pointer}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar form{display:contents}.toolbar .btn{padding:8px 16px}table.data{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;font-size:13.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.data th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;padding:10px 14px;border-bottom:1px solid var(--border);background:#fbfbfd;position:-webkit-sticky;position:sticky;top:0;z-index:2}table.data thead th:first-child{border-top-left-radius:11px}table.data thead th:last-child{border-top-right-radius:11px}table.data tbody tr:last-child td:first-child{border-bottom-left-radius:11px}table.data tbody tr:last-child td:last-child{border-bottom-right-radius:11px}table.data td.num,table.data th.num{text-align:right}table.data td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tr:last-child td{border-bottom:0}table.data tr:hover td{background:#f7f8fb}table.data a{color:var(--snap-blue);font-weight:500}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;text-transform:capitalize}.badge-blue{background:#e0e9ff;color:var(--snap-blue)}.badge-green{background:#e9f8cc;color:#3c5510}.badge-orange{background:#fde2d8;color:#b23a12}.badge-navy{background:#d8e4ec;color:var(--snap-navy)}.badge-gray{background:#e9ebee;color:var(--muted)}.badge-mint{background:#e2f1e7;color:#2c5c3c}.btn{display:inline-block;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer}.btn:hover{background:#f2f4f8}.btn-primary{background:var(--snap-blue);border-color:var(--snap-blue);color:#fff}.btn-primary:hover{background:#0037a8}.btn-danger{background:var(--surface);border-color:var(--snap-orange);color:var(--snap-orange)}.btn-danger:hover{background:#fdf0eb}.btn-sm{padding:5px 10px;font-size:12px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:18px}.panel>summary{cursor:pointer;padding:13px 18px;font-weight:600;font-size:14px;list-style:none}.panel>summary:before{content:"+";display:inline-block;width:18px;color:var(--snap-blue);font-weight:700}.panel[open]>summary:before{content:"–"}.panel .panel-body{border-top:1px solid var(--border);padding:16px 18px 18px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;max-width:860px}.field label,.form-grid label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}.field input,.field select,.field textarea,.form-grid input,.form-grid select{width:100%}.form-actions{grid-column:1/-1;padding-top:4px}.section{margin-bottom:34px}.section h2{font-size:15px;font-weight:600;margin:0 0 4px}.section .count{display:inline-block;min-width:20px;text-align:center;background:var(--snap-blue);color:#fff;font-size:11px;border-radius:999px;padding:2px 7px;margin-left:8px;vertical-align:2px}.section .section-sub{color:var(--muted);font-size:13px;margin:0 0 12px}.empty{border:1px dashed var(--border);border-radius:12px;padding:22px;color:var(--muted);background:#fafbfc}.empty,.kv{font-size:13.5px}.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px 22px;gap:14px 22px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}.kv dt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 3px}.kv dd{margin:0}pre.code{background:var(--snap-navy);color:var(--snap-white);border-radius:10px;padding:14px 16px;font-size:12.5px;overflow-x:auto;margin:0}.inline-form{display:inline-flex;gap:6px;align-items:center}.inline-form input,.inline-form textarea{padding:6px 9px;font-size:12.5px}.inline-form select{padding:6px 28px 6px 9px;font-size:12.5px}textarea.json{width:100%;min-height:260px;font-family:var(--font-mono);font-size:12.5px;line-height:1.5;border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff;color:var(--text)}.map-embed{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;max-width:640px}.map-embed iframe{width:100%;height:100%;border:0;display:block}.map-embed a{position:absolute;bottom:10px;right:10px;background:var(--snap-navy);color:var(--snap-white);font-size:12px;font-weight:600;padding:6px 10px;border-radius:7px}.map-picker{grid-column:1/-1;display:flex;flex-direction:column;gap:12px;max-width:640px}.map-picker-coords{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.translate-link{font-size:11.5px;color:var(--snap-blue);font-weight:600;white-space:nowrap}.map-thumb{position:relative;display:block;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}.map-thumb img{position:absolute;width:256px;height:256px;max-width:none}.map-thumb-pin{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--snap-blue);border:2px solid #fff;box-shadow:0 1px 3px rgba(0,35,54,.4)}.map-thumb-attr{position:absolute;right:2px;bottom:1px;font-size:8px;color:var(--muted);background:rgba(255,255,255,.7);padding:0 3px;border-radius:3px}.map-thumb:hover{outline:2px solid var(--snap-blue);outline-offset:-1px}.alert-error{background:#fdeee8;border:1px solid var(--snap-orange);color:#8f2f0e;border-radius:10px;padding:12px 16px;font-size:13.5px;margin-bottom:18px;max-width:860px}.muted{color:var(--muted)}.mono{font-family:var(--font-mono);font-size:12.5px}.back-link{font-size:13px;color:var(--snap-blue);font-weight:500;display:inline-block;margin-bottom:14px}.login-card .tagline,.main h1,.main h2,.main h3,.sidebar .brand small{font-family:var(--font-display)}.instant-results{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:340px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px rgba(0,35,54,.14);overflow:hidden}.instant-result{display:block;width:100%;text-align:start;padding:9px 13px;font-size:13.5px;border:0;background:none;cursor:pointer;color:var(--text);font-family:inherit}.instant-result+.instant-result{border-top:1px solid var(--border)}.instant-result:hover{background:var(--snap-white)}.instant-result small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}.instant-all{font-weight:600;color:var(--snap-blue)}.alert-ok{background:#e9f7ef;border:1px solid #9bd3b0;color:#1c5a34;border-radius:8px;padding:10px 14px;margin:12px 0;font-size:13.5px;white-space:pre-line}.check-row{display:inline-flex;align-items:baseline;gap:8px;font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--text);margin-bottom:0;cursor:pointer}.check-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex:none}.check-row .muted{font-weight:400}.label-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px;max-width:860px}.label-grid label{display:block;margin-bottom:0}.label-grid input{width:100%}.label-grid-from{display:block;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px;margin-bottom:26px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:grid;grid-gap:3px;gap:3px;align-content:start}.stat .n{font-size:34px;font-weight:600;line-height:1.05;letter-spacing:-.02em;color:var(--text)}.stat .n.good{color:#2c7a4b}.stat .n.warn{color:var(--snap-orange)}.stat .l{font-size:13px;color:var(--text)}.stat .s{font-size:12px;color:var(--muted)}.chart,.chart svg{max-width:100%}.chart svg{display:block;height:auto}.chart{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px 10px}.viz-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12.5px;color:var(--muted);margin-top:6px}.viz-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.viz-meter{display:inline-block;width:120px;height:8px;border-radius:4px;background:#cde2fb;overflow:hidden;vertical-align:middle}.viz-meter i{display:block;height:100%;background:var(--snap-blue);border-radius:4px}.table-twin{margin-top:10px}.table-twin>summary{cursor:pointer;font-size:12.5px;color:var(--snap-blue);font-weight:500;list-style:none}.table-twin>summary:before{content:"▸ "}.table-twin[open]>summary:before{content:"▾ "}.table-twin table.data{margin-top:8px;font-size:12.5px}.table-twin table.data td,.table-twin table.data th{padding:6px 10px}.scroll{overflow-x:auto}table.heat td.h{text-align:center;padding:4px 3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}table.heat td.h a,table.heat td.h span{display:inline-block;min-width:34px;padding:3px 0;border-radius:5px;font-weight:500;color:inherit}table.heat td.h a:hover{outline:2px solid var(--snap-blue);outline-offset:-1px}table.heat td:first-child{white-space:nowrap}table.heat td.r,table.heat th.r{text-align:right}.range-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px}.range-bar .btn.on{background:var(--snap-blue);color:#fff;border-color:var(--snap-blue)}.range-bar form{display:flex;align-items:center;gap:6px;margin-left:6px}.range-bar input[type=date]{padding:5px 8px;font-size:12.5px}.route-map{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#eef1f5}.route-map img{position:absolute;width:256px;height:256px;max-width:none}.route-map svg{position:absolute;inset:0}.route-map-link{position:absolute;bottom:10px;right:10px;background:var(--snap-navy);color:var(--snap-white);font-size:12px;font-weight:600;padding:6px 10px;border-radius:7px}.route-map-attr{position:absolute;bottom:6px;left:8px;font-size:10px;color:#3c4a56;background:rgba(255,255,255,.75);padding:1px 5px;border-radius:4px}.stop{border-bottom:1px solid var(--border)}.stop>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:34px 60px minmax(200px,1.4fr) 130px 110px 90px;grid-gap:10px;gap:10px;align-items:center;padding:10px 14px;font-size:13.5px}.stop>summary:hover{background:#f7f8fb}.stop .stop-n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--snap-blue);color:#fff;font-size:11.5px;font-weight:700}.stop .stop-n.approx{background:#fff;color:var(--snap-blue);outline:2px solid var(--snap-blue);outline-offset:-2px}.stop .stop-body{padding:4px 14px 16px 58px}.stop-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.stop-list .stop:last-child{border-bottom:0}.stop-list.no-instore .stop-list-head,.stop-list.no-instore .stop>summary{grid-template-columns:34px 60px minmax(200px,1.4fr) 130px 150px}.stop-list-head{display:grid;grid-template-columns:34px 60px minmax(200px,1.4fr) 130px 110px 90px;grid-gap:10px;gap:10px;padding:9px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;background:#fbfbfd;border-bottom:1px solid var(--border)}.answers{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:10px 20px;gap:10px 20px;font-size:13px}.answers dt{font-size:11px;color:var(--muted);margin-bottom:2px}.answers dd{margin:0}.answers dd.photos{display:flex;gap:6px;flex-wrap:wrap}.day-strip{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:18px}.day-strip a{display:grid;grid-gap:1px;gap:1px;min-width:46px;padding:5px 6px;border:1px solid var(--border);border-radius:8px;text-align:center;font-size:11px;color:var(--muted);background:var(--surface)}.day-strip a b{font-size:14px;color:var(--text);font-weight:600}.day-strip a.on{border-color:var(--snap-blue);box-shadow:inset 0 0 0 1px var(--snap-blue)}.day-strip a.quiet b{color:var(--muted);font-weight:400}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.photo-qs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:12px;gap:12px}.photo-q{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;grid-gap:10px;gap:10px;align-content:start}.photo-q-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:13.5px}.photo-q-head .muted{font-size:12px;white-space:nowrap}.photo-q-head .over{color:var(--danger);font-weight:600}.photo-q-list{display:flex;flex-wrap:wrap;gap:10px}.photo-cell{display:grid;grid-gap:6px;gap:6px;width:132px}.photo-cell img{width:132px;height:132px;object-fit:cover;border-radius:6px;display:block}.photo-actions{display:grid;grid-gap:4px;gap:4px}.photo-relocate{display:flex;gap:4px;align-items:center}.photo-relocate select{flex:1 1;min-width:0;font-size:12px;padding:3px 4px}.photo-relocate .btn{padding:3px 8px}.photo-delete-line{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.confirm-row,.link-btn.danger{color:var(--danger)}.confirm-row{display:grid;grid-gap:4px;gap:4px;font-size:12px}.confirm-row .btn{width:100%}.photo-add{display:flex;align-items:center;margin-top:2px;font-size:12px}.photo-add .btn{cursor:pointer}.photo-add .btn.disabled{opacity:.6;pointer-events:none}.store-photos{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 14px}.store-photos .photo-cell img{width:160px;height:120px}.store-photos .photo-cell{width:160px}.link-btn{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline}.link-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.angle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:12px;gap:12px}.angle-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;grid-gap:8px;gap:8px;align-content:start}.angle-card.missing{border-style:dashed}.angle-card.rejected{border-color:var(--danger)}.angle-head{display:flex;justify-content:space-between;gap:8px;font-size:13.5px}.angle-shots{display:flex;flex-wrap:wrap;gap:8px}.angle-shot{display:grid;grid-gap:4px;gap:4px;width:100px;font-size:11.5px}.angle-shot img{width:100px;height:100px;object-fit:cover;border-radius:6px;display:block}.angle-shot .warn{color:var(--danger)}.review-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);grid-gap:18px;gap:18px;align-items:start}@media (max-width:1000px){.review-layout{grid-template-columns:1fr}}.working{font-size:12.5px;color:var(--muted);margin-left:8px}dialog.modal{border:0;border-radius:14px;padding:0;width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 48px);background:var(--surface);color:var(--text);box-shadow:0 24px 60px rgba(0,35,54,.28)}dialog.modal.modal-wide{width:min(900px,calc(100vw - 32px))}dialog.modal::-webkit-backdrop{background:rgba(0,35,54,.45)}dialog.modal::backdrop{background:rgba(0,35,54,.45)}.modal-body{padding:22px 24px 24px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.modal-head h2{margin:0;font-size:17px;font-weight:600;font-family:var(--font-display)}.modal-x{width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}.modal-x:hover{background:var(--snap-white);color:var(--text)}.modal-body .form-grid{max-width:none}.modal-body .form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px}dialog.modal input:not([type=checkbox]):not([type=hidden]),dialog.modal select,dialog.modal textarea{border:1px solid var(--border);border-radius:8px;background:#ffffff;color:var(--text);font-family:inherit;font-size:13.5px;padding:8px 11px;line-height:1.3}dialog.modal input:not([type=checkbox]):focus,dialog.modal select:focus,dialog.modal textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.btn:focus-visible,.sidebar nav a:focus-visible,.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skeleton{max-width:1100px}.sk{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#dcdfe6 25%,#eceef3 50%,#dcdfe6 75%);background-size:200% 100%}.sk-title{width:180px;height:22px;margin-bottom:12px}.sk-sub{width:320px;margin-bottom:26px}.sk-table{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.sk-row{display:flex;gap:28px;padding:15px 14px;border-bottom:1px solid var(--border)}.sk-row:last-child{border-bottom:0}@media (prefers-reduced-motion:no-preference){.sk{animation:sk-shimmer 1.4s linear infinite}@keyframes sk-shimmer{to{background-position:-200% 0}}}@media (max-width:900px){.shell{flex-direction:column}.sidebar{width:auto;height:auto;position:static;padding:12px 12px 10px;overflow:visible}.sidebar .brand{padding-bottom:0}.sidebar .brand img{width:132px}.sidebar-toggle{display:block}.sidebar .whoami,.sidebar nav{display:none}.sidebar.open nav{display:grid;margin-top:12px}.sidebar.open .whoami{display:block;margin-top:12px;padding-top:12px}.main{padding:18px 16px 40px}.main h1{font-size:21px}.page-head{margin-bottom:16px}table.data{display:block;overflow-x:auto;white-space:nowrap}table.data th{position:static}.form-grid,.kv{grid-template-columns:1fr}.modal-body{padding:18px 16px 20px}}.shell-console.theme-dark{--bg:#0f2030;--surface:#162b3d;--border:#24405a;--text:#e6ebf1;--muted:#9fb0c2;--accent:#8fb0ff;--snap-white:#1b3246;background:var(--bg);color:var(--text)}.shell-console.theme-dark .sidebar{background:#071320}.shell-console.theme-dark .main h1,.shell-console.theme-dark .main h2,.shell-console.theme-dark .main h3{color:#fff}.shell-console.theme-dark table.data th{background:#12263a}.shell-console.theme-dark table.data tr:hover td{background:#1b3246}.shell-console.theme-dark .back-link,.shell-console.theme-dark .link-btn,.shell-console.theme-dark .tab.active,.shell-console.theme-dark a.link,.shell-console.theme-dark table.data a{color:var(--accent)}.shell-console.theme-dark .tab:hover{background:#1b3246;color:#fff}.shell-console.theme-dark .btn{background:#1b3246;color:var(--text);border-color:var(--border)}.shell-console.theme-dark .btn:hover{background:#24405a}.shell-console.theme-dark .btn-primary{background:var(--snap-blue);border-color:#2f63e8;color:#fff}.shell-console.theme-dark .btn-primary:hover{background:#2f63e8}.shell-console.theme-dark .btn-danger{color:#ff9b78;border-color:#ff9b78;background:transparent}.shell-console.theme-dark .empty{background:#12263a}.shell-console.theme-dark .stat .n{color:#fff}.shell-console.theme-dark .stat .n.good{color:#8fd9a8}.shell-console.theme-dark .stat .l{color:var(--text)}.shell-console.theme-dark .main input:not([type=checkbox]):not([type=hidden]),.shell-console.theme-dark .main select,.shell-console.theme-dark .main textarea,.shell-console.theme-dark dialog.modal input:not([type=checkbox]):not([type=hidden]),.shell-console.theme-dark dialog.modal select,.shell-console.theme-dark dialog.modal textarea{background-color:#0f2030;color:var(--text);border-color:var(--border)}.shell-console.theme-dark .main select,.shell-console.theme-dark dialog.modal select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23e6ebf1' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:10px}.shell-console.theme-dark .main input::placeholder{color:#6f8291}.shell-console.theme-dark .modal-x:hover{background:#24405a;color:#fff}.shell-console.theme-dark .sk{background:linear-gradient(90deg,#1b3246 25%,#24405a 50%,#1b3246 75%);background-size:200% 100%}.shell-console.theme-dark .section .count{background:var(--snap-orange)}.shell-console.theme-dark pre.code{background:#071320}.shell-console.theme-dark .alert-ok{background:#173424;border-color:#2c7a4b;color:#bfe8cc}.shell-console.theme-dark .alert-error{background:#4a2416;border-color:var(--snap-orange);color:#ffd1c0}.shell-console.theme-dark .panel>summary:before{color:var(--accent)}.org-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-bottom:26px}.org-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:grid;grid-gap:8px;gap:8px;align-content:start;min-width:0}.org-card .org-name{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:600;font-size:15px;color:#fff}.org-card .org-name a{color:inherit}.org-card .org-name a:hover{text-decoration:underline}.org-card .org-id{font-size:12px;color:var(--muted)}.usage-line{display:flex;justify-content:space-between;gap:8px;font-size:12.5px}.usage-line .warn{color:var(--snap-orange);font-weight:600}.usage-bar{height:6px;border-radius:3px;background:rgba(127,140,160,.3);overflow:hidden}.usage-bar i{display:block;height:100%;background:var(--snap-blue);border-radius:3px}.usage-bar i.warn{background:var(--snap-orange)}.usage-bar i.good{background:#5aa96f}.org-card .org-meta{font-size:12px;color:var(--muted)}.org-card .org-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.login-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:4px 0 -6px}.login-note{font-size:13px;color:#1c5a34;background:#e9f7ef;border:1px solid #9bd3b0;border-radius:8px;padding:8px 10px}.login-foot{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;margin-top:2px}.login-foot a{color:var(--snap-blue)}.login-card .link-btn{text-decoration:none;font-size:12.5px}.brand-preview{border-radius:12px;padding:18px 16px;color:#b8bdc4;display:grid;grid-gap:10px;gap:10px;max-width:260px}.brand-preview small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}.brand-preview-nav{display:grid;grid-gap:3px;gap:3px}.brand-preview-nav span{padding:7px 10px;border-radius:7px;font-size:13px;font-weight:500}.brand-preview-nav span:first-child{color:#fff}.brand-preview-btn{display:inline-block;justify-self:start;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;border-radius:7px}.queue-layout{display:grid;grid-template-columns:minmax(280px,2fr) minmax(0,3fr);grid-gap:18px;gap:18px;align-items:start}.queue-list{display:grid;grid-gap:6px;gap:6px}.queue-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);font-size:13.5px;color:var(--text)}.queue-row.on,.queue-row:hover{border-color:var(--accent)}.queue-row.on{box-shadow:inset 0 0 0 1px var(--accent)}.queue-row .t{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-row small{display:block;font-weight:400}.queue-row .age,.queue-row small{color:var(--muted);font-size:12px}.queue-row .age{flex:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.queue-row .age.late{color:var(--snap-orange);font-weight:600}.queue-detail{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;min-width:0}.queue-detail h2{font-size:16px;font-weight:600;margin:0 0 4px}.queue-detail .card{max-width:none}.queue-detail .stat-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:16px}.queue-detail .stat{padding:10px 12px}.queue-detail .stat .n{font-size:24px}.queue-keys{font-size:12px;color:var(--muted);margin-top:8px}.queue-keys kbd{font-family:var(--font-mono);font-size:11px;border:1px solid var(--border);border-radius:4px;padding:0 5px;background:var(--surface)}@media (max-width:1000px){.queue-layout{grid-template-columns:1fr}}.save-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:3;background:var(--surface);border-top:1px solid var(--border);padding:10px 12px;margin:0 -12px -12px;border-radius:0 0 12px 12px;align-items:center}.queue-detail .save-bar{margin:0 -20px -18px;padding:10px 20px}.visit-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);grid-gap:18px;gap:18px;align-items:start}.visit-layout .section{margin-bottom:22px}.where-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:grid;grid-gap:12px;gap:12px}.where-card h2{font-size:15px;font-weight:600;margin:0}.where-card .kv{padding:0;border:0;margin:0;grid-template-columns:1fr 1fr;gap:10px 14px}.where-card .map-thumb{width:100%;height:160px}.status-chain{display:inline-flex;gap:6px;flex-wrap:wrap;vertical-align:middle}@media (max-width:1000px){.visit-layout{grid-template-columns:1fr}}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:16px;gap:16px;align-items:start}.settings-card{max-width:none}.settings-card h2{font-size:15px;font-weight:600;margin:0 0 4px}.settings-card .form-grid{max-width:none}.settings-card .section-sub{margin-bottom:12px}.panel.danger{border-color:var(--snap-orange);grid-column:1/-1;margin-bottom:0}.panel.danger>summary,.panel.danger>summary:before{color:var(--snap-orange)}.portal-kpis{display:grid;grid-template-columns:minmax(220px,1.3fr) repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.stat-ring{display:flex;gap:14px;align-items:center}.stat-ring .s{margin-top:4px}.portal-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}.portal-card{max-width:none;min-width:0}.portal-card h2{font-size:15px;font-weight:600;margin:0 0 10px}.chart-svg{display:block;max-width:100%;height:auto}.brand-bars{display:grid;grid-gap:8px;gap:8px}.brand-bar{display:grid;grid-template-columns:minmax(0,1fr) 120px 48px;grid-gap:10px;gap:10px;align-items:center;font-size:13px}.brand-bar .brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-bar .brand-val{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted)}@media (max-width:1100px){.portal-grid{grid-template-columns:1fr 1fr}.portal-grid .portal-card:first-child{grid-column:1/-1}}@media (max-width:700px){.portal-grid{grid-template-columns:1fr}.portal-kpis{grid-template-columns:1fr 1fr}.stat-ring{grid-column:1/-1}}