:root{--brand-primary:#0f172a;--brand-accent:#2563eb;--brand-accent-hover:#1d4ed8;--surface-page:#f8fafc;--surface-card:#fff;--surface-hover:#f1f5f9;--surface-base:var(--surface-page);--text-main:#020617;--text-secondary:#334155;--text-muted:#64748b;--text-inverse:#fff;--border-light:#cbd5e1;--border-medium:#94a3b8;--border-subtle:#e2e8f0;--status-good-bg:#dcfce7;--status-good-text:#166534;--status-warn-bg:#fef9c3;--status-warn-text:#854d0e;--status-bad-bg:#fee2e2;--status-bad-text:#991b1b;--status-info-bg:#e0f2fe;--status-info-text:#075985;--status-good-border:color-mix(in srgb,var(--status-good-text) 30%,var(--border-subtle));--status-warn-border:color-mix(in srgb,var(--status-warn-text) 30%,var(--border-subtle));--status-bad-border:color-mix(in srgb,var(--status-bad-text) 30%,var(--border-subtle));--status-info-border:color-mix(in srgb,var(--status-info-text) 30%,var(--border-subtle));--status-good-soft:color-mix(in srgb,var(--status-good-bg) 70%,var(--surface-card));--status-warn-soft:color-mix(in srgb,var(--status-warn-bg) 70%,var(--surface-card));--status-bad-soft:color-mix(in srgb,var(--status-bad-bg) 70%,var(--surface-card));--status-info-soft:color-mix(in srgb,var(--status-info-bg) 70%,var(--surface-card));--s-1:0.25rem;--s-2:0.5rem;--s-3:0.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-full:9999px;--r-1:var(--radius-sm);--r-2:var(--radius-md);--r-3:var(--radius-lg);--r-4:var(--radius-full);--wrapper-max-width:1560px;--header-height:64px;--bottom-nav-height:80px;--fixed-stack-offset:0px;--sidebar-width:280px;--sidebar-width-collapsed:72px;--control-height:44px;--control-height-sm:32px;--page-section-gap:var(--s-5);--header-actions-gap:var(--s-3);--content-start-gap:var(--s-4);--mobile-stack-gap:var(--s-3);--section-inline-padding:var(--s-6);--surface-stack-gap:var(--page-section-gap);--surface-card-padding:var(--s-5);--section-title-size:var(--text-base);--section-subtitle-size:var(--text-sm);--section-title-line:var(--lh-snug);--scan-row-min-height:84px;--scan-row-padding-y:var(--s-3);--scan-row-padding-x:var(--s-4);--scan-row-gap:var(--s-2);--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji",sans-serif;--text-xs:0.75rem;--text-sm:0.8125rem;--text-md:0.9375rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--w-regular:400;--w-medium:500;--w-semibold:600;--trk-tight:-0.02em;--trk-normal:0em;--trk-wide:0.01em;--lh-tight:1.2;--lh-snug:1.3;--lh-normal:1.5;--font-numeric:tabular-nums;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-card:0 1px 2px 0 rgba(15,23,42,.06),0 6px 16px -12px rgba(15,23,42,.18);--duration-fast:120ms;--duration-base:200ms;--duration-slow:320ms;--ease-standard:cubic-bezier(0.2,0,0,1);--ease-emphasized:cubic-bezier(0.2,0.8,0.2,1);--focus-ring:color-mix(in srgb,var(--brand-accent) 35%,transparent);--brand-3:var(--brand-accent);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--header-stack-height:calc(var(--header-height) + var(--safe-top));--sticky-header-rail-top:var(--header-stack-height);--sticky-tab-rail-top:calc(var(--header-stack-height) + var(--fixed-stack-offset));--sticky-section-top:calc(var(--sticky-header-rail-top) + var(--s-2));--sticky-action-dock-top:calc(var(--sticky-header-rail-top) + var(--s-3));--sticky-action-dock-bottom:calc(var(--bottom-nav-height) + var(--fixed-stack-offset) + var(--s-3));--surface-glass:color-mix(in srgb,var(--surface-card) 92%,transparent);--surface-glass-soft:color-mix(in srgb,var(--surface-card) 84%,transparent);--border-glass:color-mix(in srgb,var(--border-light) 70%,transparent);--glass-blur:12px;color-scheme:light;accent-color:var(--brand-accent)}@media (max-width:900px){:root{--page-section-gap:var(--mobile-stack-gap);--content-start-gap:var(--s-3);--header-actions-gap:var(--s-2);--section-inline-padding:var(--s-3);--surface-card-padding:var(--s-4);--scan-row-min-height:74px;--scan-row-padding-y:var(--s-2);--scan-row-padding-x:var(--s-3)}}@media (max-width:480px){:root{--section-inline-padding:var(--s-2)}}:root[data-theme=dark]{--brand-primary:#020617;--brand-accent:#38bdf8;--brand-accent-hover:#0ea5e9;--surface-page:#0f172a;--surface-card:#1e293b;--surface-hover:#334155;--text-main:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border-light:#475569;--border-medium:#64748b;--border-subtle:#334155;--status-good-bg:#052e16;--status-good-text:#4ade80;--status-warn-bg:#422006;--status-warn-text:#facc15;--status-bad-bg:#450a0a;--status-bad-text:#f87171;--status-info-bg:#082f49;--status-info-text:#38bdf8;--shadow-card:0 1px 2px 0 rgba(2,6,23,.4),0 8px 20px -16px rgba(2,6,23,.8);color-scheme:dark}:root[data-theme=dark] .iconbtn{background:var(--surface-card);border-color:var(--border-light);color:var(--text-main)}.toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;min-height:28px}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-track{width:36px;height:20px;border-radius:var(--radius-full);border:1px solid var(--border-medium);background-color:var(--surface-hover);position:relative;flex:0 0 auto;transition:background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.toggle-track:after{content:"";width:16px;height:16px;border-radius:var(--radius-full);position:absolute;top:1px;left:1px;background:var(--surface-card);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-standard)}.toggle input:checked+.toggle-track{background-color:var(--brand-accent);border-color:var(--brand-accent)}.toggle input:checked+.toggle-track:after{transform:translateX(16px)}.toggle-label{color:var(--text-main);font-size:.9rem}:root[data-theme=orange]{--brand-primary:#18181b;--brand-accent:#f97316;--brand-accent-hover:#ea580c;--surface-page:#fff;--surface-card:#f8fafc;--text-main:#0f172a;--status-info-bg:#ffedd5;--status-info-text:#9a3412}:root[data-theme=blue]{--brand-primary:#0284c7;--brand-accent:#0f766e;--brand-accent-hover:#0d9488;--surface-page:#f0f9ff;--surface-card:#fff;--surface-hover:#e0f2fe;--text-main:#334155}:root[data-theme=green]{--brand-primary:#2f3b2f;--brand-accent:#5f7c3a;--brand-accent-hover:#4f672f;--surface-page:#f3f5f1;--surface-card:#fff;--surface-hover:#e6ecdf;--text-main:#1d241d;--status-info-text:#3f552a}:root[data-theme=lavender]{--brand-primary:#1f2a44;--brand-accent:#3f5c8a;--brand-accent-hover:#334c72;--surface-page:#f3f5f8;--surface-card:#fff;--surface-hover:#e6ebf3;--text-main:#1c2535;--status-info-text:#2f4a72}:root[data-theme=crimson]{--brand-primary:#3b1f17;--brand-accent:#b45309;--brand-accent-hover:#92400e;--surface-page:#f8f3ef;--surface-card:#fff;--surface-hover:#ece2d8;--text-main:#332019;--status-info-text:#7c3f0a}:root[data-theme=slate]{--brand-primary:#0f172a;--brand-accent:#64748b;--brand-accent-hover:#475569;--surface-page:#f8fafc;--surface-card:#fff;--surface-hover:#f1f5f9;--text-main:#020617;--status-info-text:#334155}:root[data-theme=obsidian]{--brand-primary:#000;--brand-accent:#8b5cf6;--brand-accent-hover:#7c3aed;--surface-page:#000;--surface-card:#09090b;--surface-hover:#18181b;--text-main:#fff;--text-secondary:#e2e8f0;--text-muted:#94a3b8;--border-light:#27272a;--border-medium:#3f3f46;--border-subtle:#18181b;--status-good-bg:#052e16;--status-good-text:#4ade80;--status-warn-bg:#422006;--status-warn-text:#facc15;--status-bad-bg:#450a0a;--status-bad-text:#f87171;--status-info-bg:#2e1065;--status-info-text:#c4b5fd;--shadow-card:0 1px 2px 0 #000,0 8px 20px -16px #000;color-scheme:dark}:root[data-theme=carbon]{--brand-primary:#09090b;--brand-accent:#14b8a6;--brand-accent-hover:#0d9488;--surface-page:#09090b;--surface-card:#18181b;--surface-hover:#27272a;--text-main:#f4f4f5;--text-secondary:#d4d4d8;--text-muted:#a1a1aa;--border-light:#3f3f46;--border-medium:#52525b;--border-subtle:#27272a;--status-good-bg:#064e3b;--status-good-text:#34d399;--status-warn-bg:#451a03;--status-warn-text:#fcd34d;--status-bad-bg:#7f1d1d;--status-bad-text:#fca5a5;--status-info-bg:#0c4a6e;--status-info-text:#38bdf8;--shadow-card:0 1px 2px 0 rgba(0,0,0,.8),0 8px 20px -16px rgba(0,0,0,.8);color-scheme:dark}:root[data-theme=carbon] .iconbtn{background:var(--surface-card);border-color:var(--border-light);color:var(--text-main)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-medium) var(--surface-page)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--border-medium) 70%,transparent);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--border-medium) 90%,transparent)}html{width:100%;font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-height);scrollbar-gutter:stable}body,html{overflow-x:auto}body{margin:0;min-height:100dvh;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-normal);color:var(--text-main);background:radial-gradient(1200px 600px at 10% -10%,color-mix(in srgb,var(--brand-accent) 18%,transparent) 0,transparent 60%),radial-gradient(1000px 600px at 90% 0,color-mix(in srgb,var(--brand-primary) 10%,transparent) 0,transparent 55%),var(--surface-page);background-attachment:fixed;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch}body.has-tool-footer{--fixed-stack-offset:calc(72px + var(--safe-bottom))}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}@media (pointer:coarse){:root{--control-height:48px}}button{color:var(--text-main);font-family:inherit;font-size:var(--text-base)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--w-semibold);color:var(--text-main)}h1,h2{letter-spacing:var(--trk-tight)}h3,h4,h5,h6{letter-spacing:var(--trk-normal)}h1{font-size:var(--text-3xl);margin-bottom:var(--s-4);line-height:1.1}h2{font-size:var(--text-2xl);margin-bottom:var(--s-3);line-height:1.2}h3{font-size:var(--text-lg);margin-bottom:var(--s-2);line-height:1.25}p{margin:0 0 var(--s-4)}a{color:var(--brand-accent);text-decoration:none}a,button,input,select,textarea{transition:color var(--duration-base) var(--ease-standard),background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}[role=button]:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible{outline:none;box-shadow:0 0 0 4px var(--focus-ring);border-radius:var(--radius-sm)}a:focus-visible{border-radius:var(--radius-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}::selection{background:color-mix(in srgb,var(--brand-accent) 25%,transparent)}::-moz-selection{background:color-mix(in srgb,var(--brand-accent) 25%,transparent)}::placeholder{color:var(--text-muted);opacity:.55;font-size:.95em}.page-shell-layout{width:100%;max-width:var(--wrapper-max-width);margin:0 auto;padding:var(--s-5) var(--section-inline-padding);min-width:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;column-gap:var(--header-actions-gap);row-gap:var(--mobile-stack-gap);flex-wrap:wrap;margin:0}.page-header__titles{display:flex;flex-direction:column;gap:var(--s-2);min-width:0}.page-eyebrow{color:color-mix(in srgb,var(--brand-accent) 74%,var(--text-muted) 26%);font-size:.72rem;letter-spacing:.1em;line-height:1.1;text-transform:uppercase}.page-eyebrow,.page-title{margin:0;font-weight:var(--w-semibold)}.page-title{font-size:var(--text-2xl);line-height:var(--lh-snug);letter-spacing:var(--trk-tight)}.page-subtitle{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--lh-normal);max-width:72ch}.page-header__actions{display:flex;flex-wrap:wrap;gap:var(--header-actions-gap);align-items:center;min-height:var(--control-height)}.page-header[data-has-subtitle=false][data-has-eyebrow=false] .page-header__titles{gap:0}.page-header[data-has-subtitle=false][data-has-eyebrow=true] .page-header__titles{gap:var(--s-1)}.page-header__actions :is(.btn,.iconbtn){min-height:var(--control-height)}.scrollable-tabs{margin-bottom:var(--content-start-gap)}.sticky-actions{position:-webkit-sticky;position:sticky;bottom:var(--sticky-action-dock-bottom);z-index:5;background:var(--surface-glass);border:1px solid var(--border-glass);border-radius:var(--r-2);box-shadow:var(--shadow-card),0 14px 24px -22px color-mix(in srgb,var(--brand-primary) 30%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:var(--s-3) var(--s-4);display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:flex-end;align-items:center}@media (min-width:900px){.sticky-actions{top:var(--sticky-action-dock-top);bottom:auto}}@media (max-width:900px){.page-shell-layout{padding:var(--s-3) var(--section-inline-padding)}.page-header__titles{display:none}.page-header{margin:0;gap:var(--mobile-stack-gap);padding:0}.mobile-hide{display:none!important}.workspace-actions .btn{font-size:var(--text-xs);padding:.5rem .75rem}.text-3xl,h1{font-size:var(--text-xl);font-weight:var(--w-semibold)}.text-2xl,h2,h3{font-size:var(--text-lg)}.text-2xl,h2,h3,h4{font-weight:var(--w-semibold)}h4{font-size:var(--text-base)}h5,h6{font-size:var(--text-sm);font-weight:var(--w-semibold)}.text-xl{font-weight:var(--w-medium)}.text-lg,.text-xl{font-size:var(--text-base)}.text-bold{font-weight:var(--w-medium)}.muted.text-bold{font-weight:var(--w-regular);font-size:var(--text-sm)}}@media (max-width:480px){.page-shell-layout{padding:var(--s-2) var(--section-inline-padding)}.page-header{flex-direction:column;align-items:stretch;gap:var(--mobile-stack-gap);padding:0}.page-header__actions{justify-content:flex-start;width:100%;gap:var(--header-actions-gap)}.page-header__actions .btn:not(.icon-only){flex:1 1 9.5rem}.page-header__actions .btn.icon-only{flex:0 0 var(--control-height)}.btn{min-height:48px}.col{gap:var(--s-2)}input,select,textarea{width:100%}}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-2);box-shadow:0 1px 2px rgba(0,0,0,.02);padding:var(--surface-card-padding);margin-bottom:var(--s-5);transition:box-shadow var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard);color:var(--text-main);overflow-wrap:break-word;max-width:100%}.card.no-margin{margin:0}@media (hover:hover) and (pointer:fine){.card:hover{border-color:color-mix(in srgb,var(--border-light) 78%,var(--brand-accent) 22%);box-shadow:var(--shadow-card)}}.state-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2)}.state-card--empty{border-style:dashed;background:color-mix(in srgb,var(--surface-hover) 52%,var(--surface-card))}.state-card--loading{background:color-mix(in srgb,var(--surface-hover) 68%,var(--surface-card))}.state-card--error{border-color:color-mix(in srgb,var(--status-bad-text) 24%,var(--border-subtle));background:linear-gradient(180deg,color-mix(in srgb,var(--status-bad-bg) 16%,var(--surface-card)) 0,color-mix(in srgb,var(--status-bad-bg) 9%,var(--surface-card)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--status-bad-text) 10%,transparent)}.state-card--error .state-card__eyebrow{color:color-mix(in srgb,var(--status-bad-text) 62%,var(--text-main))}.state-card--error .state-card__title{color:var(--text-main)}.state-card--error .state-card__body,.state-card--error .state-card__description,.state-card--error .state-card__meta{color:var(--text-secondary)}.state-card--offline{border-color:var(--status-info-border);background:var(--status-info-soft)}.state-card--inline{border:0;background:transparent;padding:var(--s-3) 0}.state-card__header{display:grid;grid-gap:var(--s-1);gap:var(--s-1);min-width:0}.state-card__eyebrow{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--w-semibold);letter-spacing:var(--trk-wide);text-transform:uppercase}.state-card__title{font-size:var(--text-base);font-weight:var(--w-semibold);line-height:var(--lh-snug);color:var(--text-main)}.state-card__description{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--lh-normal);max-width:60ch}.state-card__actions,.state-card__meta{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.state-card__body{display:grid;grid-gap:var(--s-2);gap:var(--s-2)}.loading-state{gap:var(--s-3)}.loading-state__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;min-width:0}.loading-state__copy{display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.loading-state__title{font-size:var(--text-base);font-weight:var(--w-semibold);color:var(--text-main);line-height:var(--lh-snug)}.loading-state__description{max-width:56ch;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--lh-normal)}.loading-state__pill{display:inline-flex;align-items:center;justify-content:center;min-height:1.75rem;padding:.2rem .65rem;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--border-subtle) 88%,transparent);background:color-mix(in srgb,var(--surface-card) 82%,var(--surface-hover));color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--w-semibold);letter-spacing:var(--trk-wide);text-transform:uppercase}.loading-state__skeletons{display:grid;grid-gap:var(--s-2);gap:var(--s-2)}.loading-state__skeleton{height:.9rem;width:100%;border-radius:var(--radius-sm)}.loading-state__skeleton--tail{width:min(100%,42ch)}.state-card--inline.loading-state{gap:var(--s-2)}@media (max-width:768px){.card{padding:var(--s-4);border-radius:0;margin-left:0;margin-right:0}.card.mobile-rounded{border-radius:var(--r-2);margin-left:var(--s-3);margin-right:var(--s-3);border:1px solid var(--border-subtle)}}.site-list{max-height:280px;overflow-y:auto;padding-right:4px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s-4);border-radius:var(--radius-md);font-weight:var(--w-semibold);font-size:var(--text-md);cursor:pointer;transition:background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-main);height:var(--control-height)}.btn.small{height:var(--control-height-sm);padding:0 var(--s-3);font-size:var(--text-sm)}.btn.icon-only{width:var(--control-height);min-width:var(--control-height);padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}@media (hover:hover) and (pointer:fine){.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-medium)}}.btn:focus-visible{outline:none;border-color:color-mix(in srgb,var(--brand-accent) 45%,var(--border-light));box-shadow:0 0 0 4px var(--focus-ring)}.btn:active:not(:disabled){transform:none;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--text-main) 8%,transparent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff;box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 24%,transparent),var(--shadow-sm)}@media (hover:hover) and (pointer:fine){.btn.primary:hover:not(:disabled){background:var(--brand-accent-hover);border-color:var(--brand-accent-hover)}}.btn.ghost{border-color:transparent;background:transparent;color:var(--text-secondary)}@media (hover:hover) and (pointer:fine){.btn.ghost:hover:not(:disabled){background:rgba(0,0,0,.04);color:var(--text-main)}}.btn.secondary{background:color-mix(in srgb,var(--brand-accent) 6%,var(--surface-card));border-color:color-mix(in srgb,var(--brand-accent) 18%,var(--border-subtle));color:var(--text-main)}@media (hover:hover) and (pointer:fine){.btn.secondary:hover:not(:disabled){background:color-mix(in srgb,var(--brand-accent) 10%,var(--surface-card));border-color:color-mix(in srgb,var(--brand-accent) 30%,var(--border-subtle))}}:root[data-theme=dark] .btn.secondary{background:color-mix(in srgb,var(--brand-accent) 16%,var(--surface-card));border-color:color-mix(in srgb,var(--brand-accent) 42%,var(--border-light));color:var(--text-main)}@media (hover:hover) and (pointer:fine){:root[data-theme=dark] .btn.secondary:hover:not(:disabled){background:color-mix(in srgb,var(--brand-accent) 24%,var(--surface-hover));border-color:color-mix(in srgb,var(--brand-accent) 58%,var(--border-medium))}:root[data-theme=dark] .btn.ghost:hover:not(:disabled){background:color-mix(in srgb,var(--surface-hover) 74%,transparent);color:var(--text-main)}}.btn.danger{background:var(--status-bad-bg);border-color:var(--status-bad-border);color:var(--status-bad-text)}@media (hover:hover) and (pointer:fine){.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-bad-bg) 85%,var(--status-bad-text));border-color:color-mix(in srgb,var(--status-bad-text) 35%,var(--status-bad-bg))}}.btnrow{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.btnrow.inline-actions{flex-wrap:nowrap;gap:.5rem;margin-top:0;align-items:center;overflow-x:auto;max-width:100%}.btnrow.inline-actions .btn{height:var(--control-height-sm);padding:0 var(--s-3);font-size:var(--text-sm);white-space:nowrap;flex:0 0 auto}@media (max-width:640px){.btn.small{min-height:var(--control-height);height:var(--control-height);padding:0 var(--s-4)}.btn.small.icon-only{width:var(--control-height);min-width:var(--control-height);padding:0}.btnrow.inline-actions{flex-wrap:wrap;overflow-x:visible}}.schedule-actions{display:flex;flex-direction:column;gap:.5rem;min-width:180px}.schedule-actions .btnrow{flex-direction:column;align-items:stretch;margin-top:0}.schedule-actions .btn{width:100%}.schedule-table td,.schedule-table th{vertical-align:top}.schedule-table .assigned-list{max-height:5.5rem;overflow:auto;padding-right:4px}.field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}label{font-size:var(--text-xs);font-weight:var(--w-semibold);color:var(--text-muted);text-transform:none;letter-spacing:var(--trk-wide)}input,select,textarea{width:100%;max-width:100%;padding:0 var(--s-4);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-card);font-size:var(--text-md);font-family:inherit;color:var(--text-main);transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),background-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard);min-height:var(--control-height)}input,textarea{caret-color:var(--brand-accent)}input[type=checkbox],input[type=radio]{width:auto;max-width:none;height:auto;min-height:auto;padding:0;accent-color:var(--brand-accent)}@media (hover:hover) and (pointer:fine){input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{background:color-mix(in srgb,var(--surface-hover) 58%,var(--surface-card));border-color:color-mix(in srgb,var(--border-light) 80%,var(--brand-accent) 20%)}}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px var(--focus-ring)}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;color:var(--text-muted);background:color-mix(in srgb,var(--surface-hover) 76%,var(--surface-card));border-color:color-mix(in srgb,var(--border-subtle) 92%,transparent)}.form-error{color:var(--status-bad-text);font-size:.85rem;margin-top:.25rem;font-weight:500}.chip{display:inline-flex;align-items:center;gap:.25rem;min-height:1.625rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--w-semibold);line-height:1.2;text-transform:none;letter-spacing:var(--trk-wide);background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border-subtle);font-feature-settings:var(--font-numeric);font-variant-numeric:var(--font-numeric)}.chip.muted,.chip.neutral{background:color-mix(in srgb,var(--surface-hover) 70%,var(--surface-card));color:var(--text-secondary);border-color:var(--border-subtle)}.chip.muted{font-size:var(--text-xs);line-height:1.2}.chip.good{background:var(--status-good-bg);color:var(--status-good-text);border-color:var(--status-good-border)}.chip.warn{background:var(--status-warn-bg);color:var(--status-warn-text);border-color:var(--status-warn-border)}.chip.info{background:var(--status-info-bg);color:var(--status-info-text);border-color:var(--status-info-border)}.chip.bad{background:var(--status-bad-bg);color:var(--status-bad-text);border-color:var(--status-bad-border)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.hide-mobile{display:block!important}.show-mobile-only{display:none!important}@media (max-width:768px){.hide-mobile{display:none!important}.show-mobile-only{display:block!important}}.scroll-panel{height:360px;overflow-y:auto;overflow-x:hidden}@media (max-width:768px){.scroll-panel{height:300px}}.scroll-panel-5{max-height:260px}.scroll-panel-15,.scroll-panel-5{overflow-y:auto;overflow-x:hidden}.scroll-panel-15{max-height:620px}@media (max-width:768px){.scroll-panel-5{max-height:240px}.scroll-panel-15{max-height:520px}}.schedule-calendar-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.schedule-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));grid-gap:12px;gap:12px;min-width:980px;width:max-content}.schedule-job-highlight{border-color:color-mix(in srgb,var(--brand-accent) 50%,var(--border-light));box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-accent) 22%,transparent);animation:schedule-job-focus-pulse 2.4s ease-out}@keyframes schedule-job-focus-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand-accent) 36%,transparent)}to{box-shadow:0 0 0 10px transparent}}table{width:100%;border-collapse:collapse;white-space:nowrap}table.projects-table{white-space:normal;overflow-wrap:anywhere}table.projects-table td,table.projects-table th{vertical-align:top}th{text-align:left;font-size:var(--text-xs);text-transform:none;letter-spacing:var(--trk-wide);color:var(--text-muted);font-weight:var(--w-semibold)}td,th{padding:1rem;border-bottom:1px solid var(--border-light)}td{font-size:var(--text-md);line-height:1.4;color:var(--text-main)}tr:last-child td{border-bottom:none}table.pitot-measurements td,table.pitot-measurements th{padding:.5rem .75rem}table.pitot-measurements th{font-size:.7rem}.pitot-measurements-input{width:100%;min-width:72px;padding:.4rem .6rem;font-size:.9rem;text-align:right;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-main)}.navtabs,.tabs{display:flex;align-items:center;gap:var(--s-2);border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 80%,var(--brand-accent) 20%);padding-bottom:var(--scrollable-tabs-padding-bottom,var(--s-2));margin-bottom:var(--scrollable-tabs-margin-bottom,var(--content-start-gap));overflow-x:var(--scrollable-tabs-overflow-x,auto);overflow-y:var(--scrollable-tabs-overflow-y,visible);-webkit-overflow-scrolling:touch;flex-wrap:var(--scrollable-tabs-wrap,nowrap);row-gap:var(--scrollable-tabs-row-gap,var(--s-1));scroll-padding-inline:var(--s-2);max-width:100%;min-width:0}.navtab,.tab{min-height:var(--control-height-sm);height:auto;padding:0 var(--s-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--w-semibold);line-height:1.15;color:var(--text-secondary);background:transparent;border:1px solid transparent;cursor:pointer;transition:background-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard);white-space:nowrap;flex-shrink:0;outline:none}@media (hover:hover) and (pointer:fine){.navtab:hover,.tab:hover{background:var(--surface-hover);color:var(--text-main);border-color:color-mix(in srgb,var(--border-light) 78%,var(--brand-accent) 22%)}}.navtab:focus-visible,.tab:focus-visible{border-color:color-mix(in srgb,var(--brand-accent) 45%,var(--border-light));background:color-mix(in srgb,var(--brand-accent) 9%,var(--surface-card));color:var(--text-main);box-shadow:0 0 0 3px var(--focus-ring)}.navtab.active,.navtab[aria-selected=true],.tab.active,.tab[aria-selected=true]{background:color-mix(in srgb,var(--brand-accent) 12%,var(--surface-card));color:color-mix(in srgb,var(--brand-accent) 88%,var(--text-main));border-color:color-mix(in srgb,var(--brand-accent) 34%,var(--border-medium));box-shadow:0 1px 2px rgba(15,23,42,.05)}.navtab:active,.tab:active{transform:none}.scrollable-tab{min-height:var(--control-height-sm)}.scrollable-tabs--sticky{position:-webkit-sticky;position:sticky;top:var(--sticky-tab-rail-top);z-index:4;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-glass) 96%,var(--surface-page)) 0,color-mix(in srgb,var(--surface-glass-soft) 88%,var(--surface-page)) 100%);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:0 10px 18px -18px color-mix(in srgb,var(--brand-primary) 26%,transparent)}@media (min-width:768px) and (max-width:1100px){.scrollable-tabs--tablet-wrap{--scrollable-tabs-wrap:wrap;--scrollable-tabs-overflow-x:visible;--scrollable-tabs-row-gap:var(--s-2)}.scrollable-tabs--tablet-wrap .navtab,.scrollable-tabs--tablet-wrap .scrollable-tab,.scrollable-tabs--tablet-wrap .tab{flex:0 1 auto}}.surfaceStack>*{min-width:0}.surfaceStack>:where(.page-header,.card,.glass-card,.glass-panel,.scrollable-tabs,.surfaceIntroCard,.surfacePrimaryActions,.surfaceFilterToggle,.surfaceFilterPanel,.surfaceContentStart,section,details){margin:0}.surfaceIntroCard{display:flex;flex-direction:column;gap:var(--s-2);min-width:0;margin:0;position:relative;overflow:clip;border-color:color-mix(in srgb,var(--border-light) 76%,var(--brand-accent) 24%);background:radial-gradient(140% 140% at 0 0,color-mix(in srgb,var(--brand-accent) 10%,transparent),transparent 64%),linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-hover) 18%,var(--surface-card)));box-shadow:0 10px 26px color-mix(in srgb,var(--brand-accent) 8%,transparent)}.surfaceIntroCard:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--brand-accent) 74%,#fff),transparent 72%);opacity:.95}.surfaceIntroCard>*{min-width:0;position:relative;z-index:1}.surfaceTitleBlock{min-width:0;display:grid;grid-gap:.28rem;gap:.28rem}.surfaceEyebrow{display:inline-flex;align-items:center;gap:.45rem;min-width:0;color:color-mix(in srgb,var(--text-muted) 92%,transparent);font-size:.7rem;font-weight:var(--w-semibold);letter-spacing:.08em;line-height:1.1;text-transform:uppercase}.surfaceEyebrow:before{content:"";width:.45rem;height:.45rem;border-radius:999px;background:color-mix(in srgb,var(--brand-accent) 68%,var(--brand-primary));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-accent) 16%,transparent);flex:0 0 auto}.surfaceMetaRow{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);min-width:0}.surfaceHelperChip{display:inline-flex;align-items:center;min-height:1.65rem;padding:.18rem .62rem;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--border-light) 78%,var(--brand-accent) 22%);background:color-mix(in srgb,var(--surface-hover) 84%,var(--surface-card));color:color-mix(in srgb,var(--text-secondary) 90%,var(--text-main));font-size:var(--text-xs);font-weight:var(--w-semibold);line-height:1.2}.surfacePrimaryActions{gap:var(--header-actions-gap)}.surfaceFilterToggle,.surfacePrimaryActions{display:flex;flex-wrap:wrap;align-items:center;min-width:0;margin:0}.surfaceFilterToggle{gap:var(--s-2)}.surfaceFilterPanel{padding:var(--s-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-hover) 52%,var(--surface-card))}.surfaceContentStart,.surfaceFilterPanel{display:flex;flex-direction:column;gap:var(--s-3);min-width:0;margin:0}.surfaceStack{display:flex;flex-direction:column;gap:var(--surface-stack-gap);min-width:0}.surfaceSectionHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--header-actions-gap);flex-wrap:wrap;min-width:0;margin-bottom:var(--content-start-gap)}.surfaceSectionHeader.tight{margin-bottom:var(--header-actions-gap)}.surfaceSectionTitle{margin:0;font-size:var(--section-title-size);line-height:var(--section-title-line);font-weight:var(--w-semibold);letter-spacing:var(--trk-tight);color:var(--text-main)}.surfaceSectionSubtitle{margin:var(--s-1) 0 0;font-size:var(--section-subtitle-size);line-height:var(--lh-normal);color:var(--text-secondary);max-width:70ch}.surfaceSectionActions{display:flex;align-items:center;gap:var(--header-actions-gap);flex-wrap:wrap}.scanList{flex-direction:column}.scanList,.scanRow{display:flex;gap:var(--scan-row-gap);min-width:0}.scanRow{align-items:flex-start;justify-content:space-between;min-height:var(--scan-row-min-height);padding:var(--scan-row-padding-y) var(--scan-row-padding-x);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card)}.scanRowTitle{font-size:var(--text-sm);font-weight:var(--w-semibold);color:var(--text-main)}.scanRowMeta{margin-top:2px;font-size:var(--text-xs);color:var(--text-muted);line-height:var(--lh-normal)}.scanRowTrailing{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end}.status-tone-good{color:var(--status-good-text)}.status-tone-warn{color:var(--status-warn-text)}.status-tone-bad{color:var(--status-bad-text)}.status-tone-info{color:var(--status-info-text)}@media (max-width:900px){.surfacePrimaryActions{gap:var(--mobile-stack-gap)}.surfaceSectionHeader{margin-bottom:var(--header-actions-gap)}}@media (max-width:480px){.surfacePrimaryActions{gap:var(--mobile-stack-gap)}}.validation-summary{border:1px solid var(--border-medium);border-radius:var(--radius-lg);padding:.75rem 1rem;background:color-mix(in srgb,var(--status-warn-bg) 30%,var(--surface-card));color:var(--text-main);margin-bottom:1rem}@keyframes sheet-overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-panel-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;display:flex;justify-content:center;align-items:flex-end;padding:max(var(--s-2),var(--safe-top)) max(var(--s-2),var(--safe-right)) max(var(--s-2),var(--safe-bottom)) max(var(--s-2),var(--safe-left));animation:sheet-overlay-fade-in var(--duration-base) var(--ease-standard);overscroll-behavior:contain}@media (min-width:900px){.sheet-overlay{align-items:center}}.sheet{background:var(--surface-card);width:100%;max-width:600px;max-height:90vh;max-height:calc(100dvh - (var(--s-2) * 2));border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;min-height:0;animation:sheet-panel-slide-up var(--duration-slow) var(--ease-emphasized);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.sheet.sheet--wide{max-width:840px}@media (max-width:899px){.sheet.sheet--below-header{max-height:calc(100dvh - var(--header-stack-height) - max(var(--s-2), var(--safe-bottom)) - var(--s-2))}}.sheet .field input,.sheet .field select,.sheet .field textarea{background:var(--surface-page);border-color:var(--border-medium);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border-medium) 55%,transparent)}.sheet .field input:focus,.sheet .field select:focus,.sheet .field textarea:focus{background:var(--surface-card)}@media (min-width:900px){.sheet{border-radius:var(--radius-lg);max-height:85vh;max-height:calc(100dvh - (var(--s-4) * 2))}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-overlay{animation:none}}.sheet-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;background:var(--surface-card);position:-webkit-sticky;position:sticky;top:0;z-index:10}.sheet-body{padding:1.25rem;padding-bottom:calc(1.25rem + var(--safe-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-y:auto;min-height:0;flex:1 1 auto}@media (min-width:900px){.sheet-header{padding:1.5rem 2rem}.sheet-body{padding:2rem;padding-bottom:calc(2rem + var(--safe-bottom))}}.sheet-title{font-size:1.25rem;font-weight:700;color:var(--text-main)}.sheet-header-actions{display:inline-flex;align-items:center;gap:var(--s-1)}.sheet-list{padding:.5rem 0;display:flex;flex-direction:column;gap:1rem}.sheet-body .sheet-list{padding:0}.sheet-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-card);font-weight:600;cursor:pointer;transition:background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);color:var(--text-main);text-align:left}.sheet-item:hover{border-color:var(--brand-accent);background:var(--surface-hover)}.sheet-item.danger{color:var(--status-bad-text);border-color:var(--status-bad-bg);background:snow}.tutorial-overlay{position:fixed;inset:0;background:transparent;z-index:130;pointer-events:auto}.tutorial-overlay.dim{background:color-mix(in srgb,var(--brand-primary) 18%,transparent)}.tutorial-highlight{position:fixed;border:3px solid var(--brand-accent);border-radius:var(--radius-md);box-shadow:0 0 0 9999px color-mix(in srgb,var(--brand-primary) 35%,transparent),0 0 0 6px color-mix(in srgb,var(--brand-accent) 22%,transparent),var(--shadow-xl);pointer-events:none;z-index:140}.tutorial-callout{position:fixed;z-index:150;width:min(360px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;background:var(--surface-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:1rem}.tutorial-menu-overlay{position:fixed;inset:0;z-index:120}.tutorial-menu{position:absolute;top:16px;right:16px;width:min(420px,calc(100vw - 32px));margin:0}.tutorial-sheet{padding:1rem}.separator-fade{background-image:linear-gradient(90deg,transparent,var(--border-light) 15%,var(--border-light) 85%,transparent)}.separator-fade,th{border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom}th{background-image:linear-gradient(90deg,transparent,var(--border-light) 10%,var(--border-light) 90%,transparent)}.muted{color:var(--text-secondary);font-size:.925rem}.text-bold{font-weight:700}.text-sm{font-size:var(--text-sm)}.text-lg{font-size:var(--text-md)}.text-xs{font-size:var(--text-xs)}.text-xl{font-size:var(--text-xl)}.hidden{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.border-b{border-bottom:1px solid var(--border-light)}.py-2{padding-top:.5rem;padding-bottom:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.text-center{text-align:center}.row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.row.nowrap{flex-wrap:nowrap}.swipe-pan-y{touch-action:pan-y}.col{display:flex;flex-direction:column;gap:1rem}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mr-2{margin-right:.5rem}.ml-auto{margin-left:auto}.w-full{width:100%}.w-auto{width:auto}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem}@media (max-width:768px){.grid2{grid-template-columns:1fr}}.banner{position:fixed;bottom:calc(var(--bottom-nav-height) + var(--fixed-stack-offset) + 1rem);left:50%;transform:translateX(-50%);background:var(--brand-primary);color:#fff;padding:.75rem 1.25rem;border-radius:var(--radius-full);font-weight:600;box-shadow:var(--shadow-lg);z-index:90;font-size:.9rem;width:max-content;max-width:90vw;text-align:center}.banner.success{background:var(--status-good-bg);color:var(--status-good-text)}.banner.error{background:var(--status-bad-bg);color:var(--status-bad-text)}.banner.warn{background:var(--status-warn-bg);color:var(--status-warn-text)}.banner.info{background:var(--status-info-bg);color:var(--status-info-text)}