:root{--navy-950: #081c25;--navy-900: #0c2530;--navy: #102d38;--navy-700: #1b4250;--navy-600: #2a5463;--teal: #087f8c;--teal-700: #066875;--teal-500: #19a0ac;--teal-300: #7fd3d8;--teal-soft: #e2f3f4;--teal-wash: #f0f9f9;--violet: #7161d8;--violet-700: #5646b8;--violet-soft: #efedfc;--amber: #d68b25;--amber-700: #915a0b;--amber-soft: #fdf3e2;--coral: #d85a70;--coral-700: #b03a52;--coral-soft: #fcecef;--green: #2a9a6c;--green-700: #1d7351;--green-soft: #e6f5ee;--slate-soft: #eef2f4;--slate-700: #4f646d;--canvas: #f3f7f8;--surface: #fff;--surface-2: #f8fbfb;--surface-3: #f1f5f6;--ink: #12262e;--ink-2: #2b434c;--muted: #5d737c;--subtle: #81959c;--line: #dfe8eb;--line-strong: #c9d6da;--line-soft: #edf2f3;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-2xs: .66rem;--text-xs: .72rem;--text-sm: .79rem;--text-md: .86rem;--text-lg: 1rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(16, 45, 56, .05);--shadow-sm: 0 1px 2px rgba(16, 45, 56, .05), 0 2px 8px rgba(16, 45, 56, .04);--shadow-md: 0 2px 4px rgba(16, 45, 56, .05), 0 10px 26px rgba(16, 45, 56, .08);--shadow-lg: 0 18px 48px rgba(8, 28, 37, .2);--ring: 0 0 0 3px rgba(8, 127, 140, .28);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .15s;--dur: .22s;--dur-slow: .36s;--dur-progress: .7s;color:var(--ink);background:var(--canvas);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{min-width:320px;min-height:100vh;margin:0;background:var(--canvas)}button,input,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;color:var(--navy);font-size:clamp(1.45rem,2.6vw,1.85rem);font-weight:760;letter-spacing:-.035em;line-height:1.12}h2{margin:0;color:var(--navy);font-size:var(--text-md);font-weight:720;letter-spacing:-.01em;line-height:1.3}h3{margin:0;color:var(--navy);font-size:var(--text-sm);font-weight:720}a{color:var(--teal-700)}.num,.metric-value,td,.stat-value{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:.92em;letter-spacing:-.01em}.muted{color:var(--muted)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:8px 12px;border-radius:var(--radius-sm);background:#fff;color:var(--navy);font-size:var(--text-xs);font-weight:700;transform:translateY(-150%);transition:transform var(--dur) var(--ease-out)}.skip-link:focus{transform:none}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:18px 12px 12px;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-900) 100%);color:#fff;border-right:1px solid rgba(255,255,255,.04)}.brand{display:flex;align-items:center;gap:11px;width:100%;padding:4px 8px 22px;border:0;background:none;color:#fff;text-align:left;cursor:pointer;border-radius:var(--radius)}.brand-mark{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:linear-gradient(140deg,#5ccdc4,#2aa3ad);color:#06303a;box-shadow:inset 0 0 0 1px #ffffff40,0 6px 16px #087f8c52}.brand-mark svg{width:27px;height:27px}.brand-mark.compact{width:30px;height:30px;border-radius:9px}.brand-mark.compact svg{width:23px;height:23px}.brand strong,.brand small{display:block}.brand strong{font-size:.86rem;font-weight:740;letter-spacing:-.01em;line-height:1.2}.brand small{margin-top:2px;color:#8fb4ba;font-size:.63rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.nav-group{display:grid;gap:2px;margin-bottom:18px}.nav-group-label{padding:0 12px 6px;color:#6f939a;font-size:.6rem;font-weight:760;letter-spacing:.1em;text-transform:uppercase}.side-link{position:relative;display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;min-height:38px;padding:0 12px;border-radius:8px;color:#b3cace;font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}.side-link svg{transition:transform var(--dur) var(--ease-out),color var(--dur-fast) ease}.side-link:hover{background:#ffffff0f;color:#fff}.side-link:hover svg{transform:translate(1px)}.side-link.active{background:linear-gradient(90deg,#19a0ac38,#19a0ac0f);color:#fff}.side-link.active svg{color:var(--teal-300)}.side-link.active:before{position:absolute;top:9px;bottom:9px;left:-12px;width:3px;border-radius:0 3px 3px 0;background:var(--teal-300);content:"";animation:grow-y var(--dur-slow) var(--ease-out)}.nav-lock{color:#6c8d93}.nav-live{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:var(--radius-pill);background:#7fd3d824;color:var(--teal-300);font-size:.58rem;font-weight:760;letter-spacing:.04em;text-transform:uppercase}.sidebar-sync{display:grid;gap:3px;margin:auto 4px 10px;padding:10px 12px;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);background:#ffffff08;font-size:.64rem;color:#9ab7bc}.sidebar-sync strong{display:flex;align-items:center;gap:7px;color:#dcebed;font-size:.68rem;font-weight:680}.sidebar-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 8px 2px;border-top:1px solid rgba(255,255,255,.08);color:#87a6ab;font-size:.65rem}.icon-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:#b3cace;cursor:pointer;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}.icon-button:hover{background:#ffffff14;color:#fff}.mobile-bar{display:none}.main{display:flex;min-width:0;flex-direction:column;min-height:100vh}.content{width:min(1240px,calc(100% - 56px));flex:1;margin:0 auto;padding:30px 0 48px}.app-footer{border-top:1px solid var(--line);color:var(--subtle)}.app-footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 24px;width:min(1240px,calc(100% - 56px));margin:0 auto;padding:12px 0;font-size:var(--text-2xs);line-height:1.4}.app-footer-inner .mono{color:var(--muted)}.page-enter>*{animation:rise var(--dur-slow) var(--ease-out) both}.page-enter>*:nth-child(2){animation-delay:40ms}.page-enter>*:nth-child(3){animation-delay:80ms}.page-enter>*:nth-child(4){animation-delay:.12s}.page-enter>*:nth-child(n+5){animation-delay:.15s}.page-stack{display:grid;gap:18px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px 20px;padding-bottom:2px}.page-header>div:first-child{min-width:0}.eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:7px;color:var(--teal-700);font-size:var(--text-2xs);font-weight:760;letter-spacing:.09em;text-transform:uppercase}.page-description{max-width:64ch;margin:7px 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.page-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin-top:8px;color:var(--muted);font-size:var(--text-xs)}.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.panel{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.section-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;min-height:52px;padding:10px 18px;border-bottom:1px solid var(--line-soft)}.section-bar>span,.section-sub{color:var(--muted);font-size:var(--text-xs)}.section-title{display:flex;align-items:center;gap:9px}.section-title>svg{color:var(--teal)}.section-label{display:block;margin-bottom:2px;color:var(--muted);font-size:var(--text-2xs);font-weight:650;letter-spacing:.05em;text-transform:uppercase}.data-note{display:flex;align-items:flex-start;gap:7px;margin:0;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.data-note svg{flex:0 0 auto;margin-top:2px}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:.5rem .85rem;border:1px solid transparent;border-radius:8px;font-size:var(--text-xs);font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) ease,border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,transform var(--dur-fast) ease,color var(--dur-fast) ease}.button:active:not(:disabled){transform:translateY(1px) scale(.99)}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:linear-gradient(180deg,#0b8f9c,var(--teal));color:#fff;box-shadow:0 1px 2px #0668754d,inset 0 1px #ffffff24}.button.primary:hover:not(:disabled){background:linear-gradient(180deg,var(--teal),var(--teal-700));box-shadow:0 4px 12px #087f8c47}.button.secondary{border-color:var(--line-strong);background:#fff;color:var(--ink-2);box-shadow:var(--shadow-xs)}.button.secondary:hover:not(:disabled){border-color:#a8bcc2;background:var(--surface-2)}.button.ghost{background:transparent;color:var(--teal-700)}.button.ghost:hover:not(:disabled){background:var(--teal-wash)}.button.full{width:100%}.button.large{min-height:42px;font-size:var(--text-sm)}.button-row{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.button .spin{animation:spin .9s linear infinite}.text-button{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:var(--teal-700);font-size:var(--text-xs);font-weight:700;text-decoration:none;cursor:pointer}.text-button svg{transition:transform var(--dur) var(--ease-out)}.text-button:hover svg{transform:translate(2px,-2px)}.text-button:hover{color:var(--teal)}.field{display:grid;gap:6px}.field>span,.filter>span{display:block;color:var(--ink-2);font-size:var(--text-2xs);font-weight:720;letter-spacing:.02em}.field small{color:var(--muted);font-size:var(--text-2xs);line-height:1.45}.field input,.field select,.filter select,.search-box input{width:100%;min-height:38px;padding:0 11px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);font-size:var(--text-sm);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.field select,.filter select{appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d737c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;cursor:pointer}.field input:hover,.field select:hover:not(:disabled),.filter select:hover,.search-box input:hover{border-color:#9fb4ba}.field input:focus,.field select:focus,.filter select:focus,.search-box input:focus{border-color:var(--teal);box-shadow:var(--ring);outline:none}.field input[aria-invalid=true]{border-color:var(--coral)}.field select:disabled{background-color:var(--surface-3);color:var(--muted);cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:3px 9px 3px 8px;border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:720;line-height:1.35;white-space:nowrap}.badge>i{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:currentColor}.badge.tone-success{background:var(--green-soft);color:var(--green-700);border-color:#2a9a6c29}.badge.tone-running{background:var(--teal-soft);color:var(--teal-700);border-color:#087f8c2e}.badge.tone-running>i{position:relative}.badge.tone-running>i:after{position:absolute;inset:0;border-radius:inherit;background:currentColor;content:"";animation:ping 1.8s var(--ease-out) infinite}.badge.tone-warning{background:var(--amber-soft);color:var(--amber-700);border-color:#d68b2538}.badge.tone-danger{background:var(--coral-soft);color:var(--coral-700);border-color:#d85a7033}.badge.tone-invalid{background:var(--slate-soft);color:var(--slate-700);border-color:var(--line-strong);border-style:dashed}.badge.tone-invalid>i{border-radius:1px;transform:rotate(45deg)}.badge.tone-planned{background:var(--violet-soft);color:var(--violet-700);border-color:#7161d82e}.badge.tone-neutral{background:var(--slate-soft);color:var(--slate-700)}.badge.tone-neutral>i{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:6px;background:var(--surface-3);color:var(--ink-2);font-size:var(--text-2xs);font-weight:680;white-space:nowrap}.chip.http{font-family:var(--font-mono);font-weight:700;letter-spacing:-.01em}.chip.http-404,.chip.http-410{background:var(--coral-soft);color:var(--coral-700)}.chip.http-403,.chip.http-401{background:var(--amber-soft);color:var(--amber-700)}.chip.http-other{background:var(--violet-soft);color:var(--violet-700)}.chip-row{display:flex;flex-wrap:wrap;gap:4px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi{--accent: var(--teal);--accent-soft: var(--teal-soft);position:relative;display:grid;align-content:start;gap:6px;min-height:132px;padding:16px 18px 15px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);transition:box-shadow var(--dur) ease,transform var(--dur) var(--ease-out),border-color var(--dur) ease}.kpi:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.kpi:before{position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 35%,transparent));content:""}.kpi.tone-coral{--accent: var(--coral);--accent-soft: var(--coral-soft)}.kpi.tone-amber{--accent: var(--amber);--accent-soft: var(--amber-soft)}.kpi.tone-violet{--accent: var(--violet);--accent-soft: var(--violet-soft)}.kpi.tone-teal{--accent: var(--teal);--accent-soft: var(--teal-soft)}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.kpi-label{color:var(--ink-2);font-size:var(--text-xs);font-weight:680}.kpi-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.kpi-icon svg{width:16px;height:16px}.metric-value{color:var(--navy);font-size:clamp(1.7rem,2.6vw,2.15rem);font-weight:780;letter-spacing:-.045em;line-height:1.05}.metric-value .unit{margin-left:4px;color:var(--muted);font-size:.45em;font-weight:650;letter-spacing:0}.kpi-detail{color:var(--muted);font-size:var(--text-xs);line-height:1.45}.kpi-detail strong{color:var(--ink-2);font-weight:680}.kpi.hero{background:linear-gradient(150deg,#fff 0% 55%,#fdf2f4);border-color:#d85a7038}.kpi.hero .metric-value{color:var(--coral-700);font-size:clamp(2.1rem,3.4vw,2.75rem)}.value-flash{animation:value-flash .9s var(--ease-out);border-radius:4px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,.8fr);gap:16px;align-items:start}.side-stack{display:grid;gap:16px}.live-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 18px;border:1px solid rgba(8,127,140,.22);border-radius:var(--radius-lg);background:linear-gradient(100deg,var(--teal-wash),#fff 70%);box-shadow:var(--shadow-xs)}.live-banner.stalled{border-color:#d68b254d;background:linear-gradient(100deg,#fef8ee,#fff 70%)}.live-banner-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--teal);color:#fff}.live-banner.stalled .live-banner-icon{background:var(--amber)}.live-banner strong{display:block;color:var(--navy);font-size:var(--text-sm)}.live-banner p{margin:2px 0 8px;color:var(--muted);font-size:var(--text-xs)}.coverage-table td:first-child{width:34%}.subject-row td{background:var(--surface-2)}.subject-cell{display:flex;align-items:center;gap:10px}.subject-code{display:grid;place-items:center;min-width:34px;height:26px;padding:0 7px;border-radius:7px;background:var(--navy);color:#fff;font-size:.64rem;font-weight:760;letter-spacing:.03em}.subject-cell strong{color:var(--navy);font-size:var(--text-sm)}.subject-cell small{display:block;color:var(--muted);font-size:var(--text-2xs)}.form-cell{display:flex;align-items:center;gap:10px;padding-left:44px;color:var(--ink-2)}.share-bar{position:relative;width:72px;height:5px;overflow:hidden;border-radius:var(--radius-pill);background:var(--line-soft)}.share-bar>span{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--coral),#e98597);transform-origin:left;transition:transform var(--dur-progress) var(--ease-out)}.count-strong{color:var(--navy);font-weight:720}.count-zero{color:var(--subtle)}.facts{margin:0;padding:4px 18px 6px}.facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:var(--text-xs)}.facts>div:last-child{border-bottom:0}.facts dt{flex:0 0 auto;color:var(--muted)}.facts dd{min-width:0;margin:0;color:var(--ink-2);font-weight:650;text-align:right;overflow-wrap:anywhere}.facts dd small{display:block;margin-top:1px;color:var(--muted);font-weight:500}.facts.compact{padding:0}.panel-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 18px;border-top:1px solid var(--line-soft);background:var(--surface-2)}.system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.system-item{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:13px 16px;border-right:1px solid var(--line-soft)}.system-item:last-child{border-right:0}.system-item span{color:var(--muted);font-size:var(--text-2xs)}.system-item strong{grid-column:2;color:var(--ink-2);font-size:var(--text-xs)}.status-dot{grid-row:1 / span 2;width:8px;height:8px;border-radius:50%}.status-dot.ok{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.status-dot.off{background:var(--subtle);box-shadow:0 0 0 3px var(--slate-soft)}.live-dot{position:relative;display:inline-block;flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--teal-500)}.live-dot.idle{background:#7f979e}.live-dot.warn{background:var(--amber)}.live-dot.on:after{position:absolute;inset:0;border-radius:inherit;background:inherit;content:"";animation:ping 1.8s var(--ease-out) infinite}.scanner-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:16px;align-items:start}.control-card{display:grid;gap:15px;padding:18px}.control-card .control-reason{margin:0;padding:10px 12px;border-radius:8px;background:var(--surface-3);color:var(--ink-2);font-size:var(--text-xs);line-height:1.45}.control-reason.blocked{background:var(--amber-soft);color:var(--amber-700)}.guardrails{display:grid;gap:7px;margin:0;padding:14px 0 0;border-top:1px solid var(--line-soft);list-style:none;color:var(--muted);font-size:var(--text-2xs);line-height:1.45}.guardrails li{display:flex;gap:7px}.guardrails svg{flex:0 0 auto;margin-top:1px;color:var(--teal)}.console{display:grid}.console-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:16px 20px;border-bottom:1px solid var(--line-soft)}.console-subject{display:flex;align-items:center;gap:12px;min-width:0}.console-subject .subject-code{min-width:42px;height:34px;border-radius:9px;font-size:.74rem}.console-subject h2{font-size:var(--text-lg)}.console-subject .mono{color:var(--muted);font-size:var(--text-2xs);overflow-wrap:anywhere}.console-body{display:grid;gap:18px;padding:20px}.progress-block{display:grid;gap:10px}.progress-figures{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 16px}.progress-figures .big{color:var(--navy);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:780;letter-spacing:-.04em;line-height:1}.progress-figures .of{margin-left:6px;color:var(--muted);font-size:var(--text-sm);font-weight:600;letter-spacing:0}.progress-figures .pct{color:var(--teal-700);font-size:var(--text-lg);font-weight:760}.progress{position:relative;height:10px;overflow:hidden;border-radius:var(--radius-pill);background:var(--line-soft);box-shadow:inset 0 1px 2px #102d380f}.progress>span{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--teal-500));transform-origin:left center;transition:transform var(--dur-progress) var(--ease-out)}.progress.running>span:after{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.38) 50%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;content:"";animation:sheen 2.4s var(--ease-in-out) infinite}.progress.stalled>span{background:linear-gradient(90deg,var(--amber),#e6a955)}.progress.complete>span{background:linear-gradient(90deg,var(--green),#48b886)}.progress.failed>span{background:linear-gradient(90deg,var(--coral),#e98597)}.progress.pending{background:repeating-linear-gradient(-45deg,var(--line-soft) 0 8px,var(--surface-3) 8px 16px)}.progress.slim{height:6px}.progress-caption{color:var(--muted);font-size:var(--text-xs)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-2)}.stat{min-width:0;padding:12px 14px;border-right:1px solid var(--line-soft)}.stat:last-child{border-right:0}.stat-label{display:block;margin-bottom:4px;color:var(--muted);font-size:var(--text-2xs);font-weight:650}.stat-value{display:block;overflow:hidden;color:var(--navy);font-size:var(--text-md);font-weight:740;text-overflow:ellipsis;white-space:nowrap}.stat-value.coral{color:var(--coral-700)}.stat-sub{display:block;margin-top:2px;overflow:hidden;color:var(--muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.result-card{display:grid;gap:4px;padding:14px 16px;border:1px solid rgba(216,90,112,.18);border-radius:var(--radius);background:linear-gradient(150deg,#fff,var(--coral-soft))}.result-card.refs{border-color:#d68b2533;background:linear-gradient(150deg,#fff,var(--amber-soft))}.result-card span{color:var(--ink-2);font-size:var(--text-xs);font-weight:680}.result-card strong{color:var(--coral-700);font-size:1.7rem;font-weight:780;letter-spacing:-.04em;line-height:1.1}.result-card.refs strong{color:var(--amber-700)}.result-card small{color:var(--muted);font-size:var(--text-2xs)}.console-note{display:flex;gap:8px;padding:10px 12px;border-radius:8px;background:var(--surface-3);color:var(--muted);font-size:var(--text-xs);line-height:1.5}.console-note svg{flex:0 0 auto;margin-top:2px;color:var(--teal)}.error-box{padding:12px 14px;border:1px solid rgba(216,90,112,.25);border-radius:var(--radius);background:var(--coral-soft);color:var(--coral-700);font-size:var(--text-xs);line-height:1.5}.error-box strong{display:block;margin-bottom:3px}.error-box p{margin:0;color:#7d2a3b;font-family:var(--font-mono);font-size:var(--text-2xs);overflow-wrap:anywhere}.other-running{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:11px 14px;border:1px solid rgba(8,127,140,.2);border-radius:var(--radius);background:var(--teal-wash);color:var(--ink-2);font-size:var(--text-xs)}.other-running span{display:flex;align-items:center;gap:8px}.sync-indicator{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:var(--text-xs)}.sync-indicator.warn{color:var(--amber-700)}.notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid transparent;border-radius:var(--radius);font-size:var(--text-xs);line-height:1.45;animation:rise var(--dur) var(--ease-out)}.notice svg{flex:0 0 auto;width:17px;height:17px;margin-top:1px}.notice strong{display:block;font-size:var(--text-xs)}.notice p{margin:2px 0 0}.notice.warning{border-color:#d68b2540;background:var(--amber-soft);color:var(--amber-700)}.notice.danger{border-color:#d85a7040;background:var(--coral-soft);color:var(--coral-700)}.notice.success{border-color:#2a9a6c38;background:var(--green-soft);color:var(--green-700)}.notice.info{border-color:#087f8c33;background:var(--teal-wash);color:var(--teal-700)}.toolbar{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(110px,.6fr)) auto;align-items:end;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.search-box{position:relative;display:flex;align-items:center}.search-box>svg{position:absolute;left:11px;color:var(--subtle);pointer-events:none}.search-box input{padding:0 34px}.search-box button{position:absolute;right:6px;display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:none;color:var(--subtle);cursor:pointer}.search-box button:hover{background:var(--surface-3);color:var(--ink-2)}.toolbar .button{min-height:38px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}th{padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:.62rem;font-weight:760;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap}th.num,td.num{text-align:right}td{padding:11px 14px;border-bottom:1px solid var(--line-soft);color:var(--ink-2);vertical-align:middle}tbody tr{transition:background-color var(--dur-fast) ease}tbody tr:not(.detail-row):hover{background:var(--teal-wash)}tbody tr:last-child td{border-bottom:0}td strong,td small{display:block}td small{margin-top:2px;color:var(--muted);font-size:var(--text-2xs)}.expand-button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}.expand-button:hover{background:var(--teal-soft);color:var(--teal-700)}.expand-button svg{width:16px;height:16px;transition:transform var(--dur) var(--ease-out)}.expand-button[aria-expanded=true] svg{transform:rotate(90deg)}.detail-row td{padding:0;background:var(--surface-2)}.detail-row>td>div{animation:rise var(--dur) var(--ease-out)}.highlight-row td{background:var(--teal-wash)}.highlight-row td:first-child{box-shadow:inset 3px 0 0 var(--teal)}.history-summary{display:flex;flex-wrap:wrap;gap:8px}.summary-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font-size:var(--text-xs);font-weight:650;box-shadow:var(--shadow-xs)}.summary-pill b{color:var(--navy);font-variant-numeric:tabular-nums}.run-id{color:var(--navy);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;white-space:nowrap}.run-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 24px;padding:16px 20px 18px 56px;border-bottom:1px solid var(--line)}.run-details .wide{grid-column:1 / -1}.detail-label{display:block;margin-bottom:4px;color:var(--muted);font-size:.6rem;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.detail-value{color:var(--ink-2);font-size:var(--text-xs);font-weight:650;overflow-wrap:anywhere}.run-details p,.ref-remarks{margin:0;color:var(--ink-2);font-size:var(--text-xs);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.invalid-row td{color:var(--muted)}.invalid-row .run-id{color:var(--slate-700);text-decoration:line-through;text-decoration-color:#4f646d73}.question-list{display:grid}.question-head,.question-row{display:grid;grid-template-columns:36px minmax(200px,1.6fr) minmax(90px,.55fr) minmax(130px,.8fr) minmax(130px,.9fr) minmax(120px,.75fr) minmax(130px,.8fr);align-items:center;gap:12px;padding:0 16px}.question-head{min-height:38px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:.62rem;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.question-item{border-bottom:1px solid var(--line-soft)}.question-item:last-child{border-bottom:0}.question-row{min-height:60px;transition:background-color var(--dur-fast) ease}.question-item:hover .question-row,.question-item.open .question-row{background:var(--teal-wash)}.question-item.open .question-row{box-shadow:inset 3px 0 0 var(--teal)}.cell-label{display:none}.question-code{display:flex;align-items:center;gap:6px;min-width:0}.question-code a,.question-code>span:first-child{min-width:0;overflow:hidden;color:var(--navy);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.question-code a:hover{color:var(--teal-700);text-decoration:underline;text-underline-offset:2px}.question-code .ext{flex:0 0 auto;color:var(--teal)}.question-meta{display:block;margin-top:2px;color:var(--muted);font-size:var(--text-2xs)}.ref-count{color:var(--navy);font-size:var(--text-sm);font-weight:740}.ref-count small{margin-left:3px;color:var(--muted);font-size:var(--text-2xs);font-weight:600}.collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-slow) var(--ease-out)}.collapse.open{grid-template-rows:1fr}.collapse>div{min-height:0;overflow:hidden}.ref-list{display:grid;gap:10px;padding:4px 16px 16px 64px}.ref-card{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,2.4fr) minmax(150px,.9fr);gap:12px 20px;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.ref-card .wide{grid-column:1 / -1}.ref-field{color:var(--navy);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700}.ref-url{display:grid;gap:4px;min-width:0}.ref-url a{display:inline-flex;align-items:center;gap:5px;width:max-content;font-size:var(--text-xs);font-weight:700;text-decoration:none}.ref-url a:hover{text-decoration:underline;text-underline-offset:2px}.ref-url code{display:block;overflow-wrap:anywhere;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.45}.ref-meta{display:grid;gap:6px;font-size:var(--text-2xs);color:var(--muted)}.ref-meta b{color:var(--ink-2);font-weight:650}.hint{color:var(--muted);font-size:var(--text-2xs)}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.schedule-card{display:grid;align-content:start;gap:12px;padding:17px 18px;transition:box-shadow var(--dur) ease,transform var(--dur) var(--ease-out)}.schedule-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.schedule-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.schedule-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--surface-3);color:var(--slate-700)}.schedule-card.blocked .schedule-icon{background:var(--amber-soft);color:var(--amber-700)}.schedule-card.planned .schedule-icon{background:var(--violet-soft);color:var(--violet-700)}.schedule-card h3{font-size:var(--text-md)}.schedule-card p{margin:0;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.schedule-card .facts{padding:0;border-top:1px solid var(--line-soft)}.roadmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}.roadmap li{position:relative;display:grid;gap:6px;padding:18px 18px 20px;border-right:1px solid var(--line-soft)}.roadmap li:last-child{border-right:0}.roadmap .step{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--violet-soft);color:var(--violet-700);font-size:var(--text-2xs);font-weight:780}.roadmap strong{color:var(--navy);font-size:var(--text-sm)}.roadmap p{margin:0;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.locked-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 22px;background:linear-gradient(120deg,#fff 0%,#fff 60%,var(--violet-soft) 100%)}.locked-hero .lock-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--violet);color:#fff;box-shadow:0 8px 20px #7161d847}.locked-hero p{margin:4px 0 0;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.empty-state{display:grid;justify-items:center;gap:4px;padding:32px 24px;color:var(--muted);text-align:center}.empty-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:8px;border-radius:12px;background:var(--teal-soft);color:var(--teal-700)}.empty-state strong{color:var(--ink-2);font-size:var(--text-sm)}.empty-state p{max-width:46ch;margin:0;font-size:var(--text-xs);line-height:1.5}.empty-state .button{margin-top:10px}.skeleton{position:relative;overflow:hidden;border-radius:8px;background:var(--line-soft)}.skeleton:after{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);content:"";transform:translate(-100%);animation:shimmer 1.4s ease-in-out infinite}.skeleton-page{display:grid;gap:18px}.skeleton-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.loading-screen,.login-page,.state-page{display:grid;place-items:center;min-height:100vh;padding:24px}.loading-screen{align-content:center;justify-items:center;gap:14px;color:var(--muted);font-size:var(--text-xs)}.loading-screen .brand-mark{animation:breathe 1.8s var(--ease-in-out) infinite}.login-page,.state-page{background:radial-gradient(1200px 600px at 10% -10%,#dff1f2 0%,transparent 60%),radial-gradient(900px 500px at 110% 110%,#ece9fb 0%,transparent 55%),var(--canvas)}.login-panel,.state-card{width:min(380px,100%);padding:30px 28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-md);animation:rise var(--dur-slow) var(--ease-out)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.login-brand strong,.login-brand small{display:block}.login-brand strong{color:var(--navy);font-size:var(--text-md)}.login-brand small{margin-top:2px;color:var(--muted);font-size:var(--text-2xs)}.login-panel h1{font-size:1.3rem}.login-panel>p{margin:6px 0 20px;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.login-panel form{display:grid;gap:12px}.login-panel .field input{min-height:42px}.login-panel footer{margin-top:20px;padding-top:14px;border-top:1px solid var(--line-soft);color:var(--subtle);font-size:var(--text-2xs);text-align:center}.form-error{padding:9px 11px;border-radius:8px;background:var(--coral-soft);color:var(--coral-700);font-size:var(--text-xs);animation:rise var(--dur) var(--ease-out)}.state-card{text-align:center}.state-card>svg{width:32px;height:32px;margin-bottom:8px;color:var(--coral)}.state-card p{color:var(--muted);font-size:var(--text-sm);line-height:1.5}.state-card .button-row{margin-top:18px}.not-found{display:grid;justify-items:center;gap:8px;padding:56px 24px;text-align:center}.not-found .code{color:transparent;font-size:clamp(3.4rem,9vw,5rem);font-weight:800;letter-spacing:-.06em;line-height:1;background:linear-gradient(120deg,var(--teal),var(--violet));-webkit-background-clip:text;background-clip:text}.not-found p{max-width:44ch;margin:0 0 10px;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.not-found code{padding:2px 6px;border-radius:5px;background:var(--surface-3);color:var(--ink-2);font-family:var(--font-mono);font-size:.85em;overflow-wrap:anywhere}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes ping{0%{opacity:.55;transform:scale(1)}80%,to{opacity:0;transform:scale(2.6)}}@keyframes sheen{0%{background-position:-60% 0}to{background-position:160% 0}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes value-flash{0%{background:#087f8c24}to{background:transparent}}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:1180px){.question-head,.question-row{grid-template-columns:36px minmax(180px,1.6fr) minmax(80px,.5fr) minmax(110px,.8fr) minmax(120px,.9fr) minmax(110px,.75fr)}.question-head>:nth-child(7),.question-row>:nth-child(7){display:none}}@media(max-width:1080px){.kpi-grid,.skeleton-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.toolbar .search-box{grid-column:1 / -1}.toolbar .button{grid-column:auto}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(2n){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap li:nth-child(2){border-right:0}.roadmap li:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.run-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.scanner-layout{grid-template-columns:1fr}.ref-card{grid-template-columns:1fr 1fr}.ref-card .ref-url{grid-column:1 / -1;grid-row:2}}@media(max-width:820px){.shell{display:block}.sidebar{display:none}.mobile-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;background:var(--navy);color:#fff;box-shadow:0 1px #ffffff0d,0 6px 18px #081c252e}.mobile-brand{display:flex;align-items:center;gap:9px;padding:0;border:0;background:none;color:#fff;font-size:var(--text-sm);font-weight:720;cursor:pointer}.mobile-actions{display:flex;align-items:center;gap:8px}.menu-button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:#ffffff0a;color:#fff;cursor:pointer}.mobile-menu-panel{position:absolute;top:62px;right:12px;left:12px;z-index:60;display:grid;gap:2px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-lg);transform-origin:top right;animation:menu-in var(--dur) var(--ease-out)}.mobile-menu-panel a,.mobile-menu-panel button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:0;border-radius:9px;background:#fff;color:var(--ink-2);font-size:var(--text-sm);font-weight:600;text-decoration:none;cursor:pointer}.mobile-menu-panel a:hover{background:var(--surface-3)}.mobile-menu-panel a[aria-current=page]{background:var(--teal-soft);color:var(--teal-700)}.mobile-menu-panel .menu-trailing{margin-left:auto}.mobile-menu-panel button{margin-top:4px;border-top:1px solid var(--line-soft);border-radius:0 0 9px 9px}.menu-scrim{position:fixed;inset:56px 0 0;z-index:55;background:#081c2538;animation:fade var(--dur) ease}.content,.app-footer-inner{width:min(100% - 32px,760px)}.content{padding-top:22px}.side-stack{grid-template-columns:1fr}.question-head{display:none}.question-row{grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"btn code count" "btn meta meta";gap:6px 10px;padding:12px 14px}.question-row>:nth-child(1){grid-area:btn;align-self:start}.question-row>:nth-child(2){grid-area:code}.question-row>:nth-child(3){display:none}.question-row>:nth-child(4){grid-area:count;justify-self:end}.question-row>:nth-child(5),.question-row>:nth-child(6){display:none}.question-row>.mobile-meta{display:flex;grid-area:meta;flex-wrap:wrap;align-items:center;gap:6px}.ref-list{padding:0 12px 14px}.live-banner{grid-template-columns:auto minmax(0,1fr)}.live-banner>:last-child{grid-column:1 / -1}.locked-hero{grid-template-columns:auto minmax(0,1fr)}.locked-hero>:last-child{grid-column:1 / -1}.run-details{padding-left:20px}}.mobile-meta{display:none}@media(max-width:560px){.content,.app-footer-inner{width:calc(100% - 32px)}.content{padding:18px 0 32px}.app-footer-inner{flex-direction:column}.page-stack{gap:14px}.page-actions{width:100%}.page-actions .button.secondary>svg+span{display:none}.page-actions .button.primary{flex:1}.sync-indicator{flex:1 1 100%}.kpi-grid,.skeleton-kpis{gap:10px}.kpi{min-height:118px;padding:14px}.kpi.hero{grid-column:1 / -1}.toolbar{grid-template-columns:1fr 1fr;padding:12px}.toolbar .button{grid-column:1 / -1}.system-grid{grid-template-columns:1fr}.system-item{border-right:0;border-bottom:1px solid var(--line-soft)}.system-item:last-child{border-bottom:0}.console-head,.console-body{padding:14px}.result-grid{grid-template-columns:1fr 1fr}.result-card{padding:12px}.result-card strong{font-size:1.45rem}.ref-card{grid-template-columns:1fr}.ref-card .ref-url{grid-column:auto;grid-row:auto}.roadmap{grid-template-columns:1fr}.roadmap li{border-right:0;border-bottom:1px solid var(--line-soft)}.roadmap li:last-child{border-bottom:0}.run-details{grid-template-columns:1fr;padding:14px 16px}.form-cell{padding-left:10px}.share-bar{display:none}.facts,.section-bar{padding-inline:14px}th,td{padding:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:1ms!important;scroll-behavior:auto!important}.skeleton:after,.progress.running>span:after{display:none}}
