@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap");:root{--color-primary-50:#fef5f5;--color-primary-100:#fde8e8;--color-primary-200:#f9c9c9;--color-primary-300:#f09a9a;--color-primary-400:#e05c5c;--color-primary-500:#c42b2b;--color-primary-600:#9a1b1b;--color-primary-700:#7f1616;--color-primary-800:#681212;--color-primary-900:#4a0d0d;--color-primary:var(--color-primary-600);--color-primary-hover:var(--color-primary-700);--color-primary-active:var(--color-primary-800);--color-primary-subtle:var(--color-primary-50);--color-on-primary:#ffffff;--color-secondary-50:#f8fafc;--color-secondary-100:#f1f5f9;--color-secondary-200:#e2e8f0;--color-secondary-300:#cbd5e1;--color-secondary-400:#94a3b8;--color-secondary-500:#64748b;--color-secondary-600:#475569;--color-secondary-700:#334155;--color-secondary-800:#1e293b;--color-secondary-900:#0f172a;--color-secondary:var(--color-secondary-700);--color-secondary-hover:var(--color-secondary-800);--color-on-secondary:#ffffff;--color-secondary-subtle:var(--color-secondary-100);--color-warm-200:#e7d5b8;--color-warm-400:#c4a574;--color-warm-600:#8a6d45;--color-warm-800:#5c4a32;--color-stone-400:#78716c;--color-stone-600:#44403c;--color-stone-800:#292524;--color-bg:#f6f4f1;--color-surface:#ffffff;--color-surface-raised:#ffffff;--color-surface-sunken:#efece8;--color-surface-variant:#f3f1ed;--color-surface-glass:rgb(255 255 255/0.82);--color-text:#1c1917;--color-text-secondary:#57534e;--color-text-muted:#6b6560;--color-text-inverse:#ffffff;--color-text-link:var(--color-primary);--color-text-link-hover:var(--color-primary-hover);--color-border:#e8e4df;--color-border-strong:#d4cfc8;--color-border-focus:var(--color-primary);--color-divider:#e8e4df;--color-status-safe:#15803d;--color-status-safe-bg:#dcfce7;--color-status-safe-border:#86efac;--color-status-safe-bright:#4ade80;--color-on-status-safe:#14532d;--color-status-warning:#b45309;--color-status-warning-bg:#fef3c7;--color-status-warning-border:#fcd34d;--color-status-warning-bright:#f59e0b;--color-on-status-warning:#78350f;--color-status-danger:#b91c1c;--color-status-danger-bg:#fee2e2;--color-status-danger-border:#fca5a5;--color-status-danger-bright:#f87171;--color-status-danger-strong:#dc2626;--color-on-status-danger:#7f1d1d;--color-status-scrap:#292524;--color-status-scrap-bg:#e7e5e4;--color-status-scrap-border:#a8a29e;--color-on-status-scrap:#1c1917;--color-success:var(--color-status-safe);--color-warning:var(--color-status-warning);--color-error:var(--color-status-danger);--color-info:#0369a1;--color-info-bg:#e0f2fe;--color-info-border:#7dd3fc;--color-on-info:#0c4a6e;--color-map-surface:var(--color-secondary-subtle);--color-map-grid:var(--color-secondary-200);--color-sidebar-mid:var(--color-secondary-800);--color-sidebar-deep:var(--color-secondary-900);--color-phone-bezel:#0a0a0a;--color-phone-bezel-edge:#1a1a1a;--color-phone-bezel-ring:#333333;--color-phone-bezel-outer:#111111;--color-login-wash-start:#faf8f5;--color-login-wash-end:#efe8e2;--gradient-sidebar:linear-gradient(180deg,var(--color-sidebar-mid) 0%,var(--color-sidebar-deep) 100%);--gradient-login-wash:linear-gradient(165deg,var(--color-login-wash-start) 0%,var(--color-bg) 45%,var(--color-login-wash-end) 100%);--gradient-secondary:linear-gradient(145deg,var(--color-secondary-600) 0%,var(--color-secondary-800) 55%,var(--color-secondary-900) 100%);--gradient-stone:linear-gradient(145deg,var(--color-stone-400) 0%,var(--color-stone-600) 60%,var(--color-stone-800) 100%);--color-brand:var(--color-primary);--color-brand-hover:var(--color-primary-hover);--color-brand-active:var(--color-primary-active);--color-brand-on:var(--color-on-primary);--color-brand-soft:var(--color-primary-subtle);--color-navy:var(--color-secondary);--color-navy-soft:var(--color-secondary-subtle);--color-surface-muted:var(--color-surface-variant);--color-safe:var(--color-status-safe);--color-safe-bg:var(--color-status-safe-bg);--color-safe-border:var(--color-status-safe-border);--color-on-safe:var(--color-on-status-safe);--color-warn:var(--color-status-warning);--color-warn-bg:var(--color-status-warning-bg);--color-warn-border:var(--color-status-warning-border);--color-on-warn:var(--color-on-status-warning);--color-danger:var(--color-status-danger);--color-danger-bg:var(--color-status-danger-bg);--color-danger-border:var(--color-status-danger-border);--color-on-danger:var(--color-on-status-danger);--color-scrap:var(--color-status-scrap);--color-scrap-bg:var(--color-status-scrap-bg);--color-scrap-border:var(--color-status-scrap-border);--color-on-scrap:var(--color-on-status-scrap);--font-medium:var(--font-weight-medium);--font-semibold:var(--font-weight-semibold);--font-bold:var(--font-weight-bold);--topbar-height:var(--header-height);--color-focus:var(--color-primary);--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-glow:0 0 0 4px color-mix(in srgb,var(--color-primary) 22%,transparent);--focus-ring-outline:var(--focus-ring-width) solid var(--color-focus);--focus-ring:0 0 0 var(--focus-ring-offset) var(--color-surface),0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--color-focus),var(--focus-ring-glow);--shadow-focus:var(--focus-ring);--space-0:0;--space-0-5:0.125rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--touch-min:2.75rem;--touch-comfortable:3rem;--radius-sm:0.375rem;--radius-md:0.625rem;--radius-lg:0.875rem;--radius-xl:1.125rem;--radius-2xl:1.5rem;--radius-full:9999px;--radius-badge:var(--radius-full);--shadow-xs:0 1px 2px rgb(28 25 23/0.04);--shadow-sm:0 1px 2px rgb(28 25 23/0.04),0 1px 3px rgb(28 25 23/0.06);--shadow-md:0 2px 4px rgb(28 25 23/0.04),0 6px 16px rgb(28 25 23/0.07);--shadow-lg:0 4px 8px rgb(28 25 23/0.04),0 16px 32px rgb(28 25 23/0.09);--shadow-xl:0 8px 16px rgb(28 25 23/0.05),0 24px 48px rgb(28 25 23/0.11);--shadow-brand:0 4px 14px color-mix(in srgb,var(--color-primary) 26%,transparent),0 2px 4px color-mix(in srgb,var(--color-primary) 10%,transparent);--shadow-brand-lg:0 8px 24px color-mix(in srgb,var(--color-primary) 30%,transparent),0 4px 8px color-mix(in srgb,var(--color-primary) 12%,transparent);--shadow-inset:inset 0 1px 2px rgb(28 25 23/0.06);--mesh-brand:radial-gradient(ellipse 80% 60% at 12% 18%,color-mix(in srgb,var(--color-primary) 14%,transparent),transparent 55%);--mesh-slate:radial-gradient(ellipse 70% 50% at 88% 82%,color-mix(in srgb,var(--color-secondary) 10%,transparent),transparent 50%);--mesh-warm:radial-gradient(ellipse 50% 40% at 50% 0%,color-mix(in srgb,var(--color-warm-400) 12%,transparent),transparent 60%);--gradient-brand:linear-gradient(145deg,var(--color-primary-500) 0%,var(--color-primary-600) 45%,var(--color-primary-800) 100%);--gradient-surface-shine:linear-gradient(180deg,rgb(255 255 255/0.9),rgb(255 255 255/0.55));--font-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--font-display:"Fraunces","Times New Roman",Georgia,serif;--font-mono:ui-monospace,"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.04em;--duration-fast:150ms;--duration-base:200ms;--duration-slow:320ms;--ease-standard:cubic-bezier(0.2,0,0,1);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.45,0,0.55,1);--ease-spring:cubic-bezier(0.34,1.2,0.64,1);--transition-fast:var(--duration-fast) var(--ease-out-expo);--transition-base:var(--duration-base) var(--ease-out-expo);--transition-slow:var(--duration-slow) var(--ease-out-expo);--z-base:0;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-skip:1000;--container-max:72rem;--content-max:var(--container-max);--sidebar-width:15.5rem;--header-height:3.75rem;--mobile-nav-height:3.5rem;--mobile-frame-w:390px;--mobile-frame-h:844px;--bp-md:48rem;--bp-lg:64rem;--color-skeleton-base:color-mix(in srgb,var(--color-surface-sunken) 80%,var(--color-border));--color-skeleton-shine:color-mix(in srgb,var(--color-surface) 90%,transparent)}html[data-theme=dark]{color-scheme:dark;--color-bg:#0b1220;--color-surface:#111827;--color-surface-raised:#1f2937;--color-surface-sunken:#070b14;--color-surface-variant:#152033;--color-surface-glass:rgb(17 24 39/0.86);--color-surface-muted:#152033;--color-text:#f1f5f9;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-text-inverse:#0f172a;--color-text-link:#fca5a5;--color-text-link-hover:#fecaca;--color-border:#243044;--color-border-strong:#334155;--color-divider:#1e293b;--color-border-focus:#f87171;--color-primary:#dc2626;--color-primary-hover:#ef4444;--color-primary-active:#b91c1c;--color-primary-subtle:color-mix(in srgb,#dc2626 18%,#111827);--color-brand:var(--color-primary);--color-brand-hover:var(--color-primary-hover);--color-brand-active:var(--color-primary-active);--color-brand-soft:var(--color-primary-subtle);--color-on-primary:#ffffff;--color-secondary:#e2e8f0;--color-secondary-hover:#f8fafc;--color-secondary-subtle:#1e293b;--color-navy:#e2e8f0;--color-navy-soft:color-mix(in srgb,#64748b 22%,#111827);--color-status-safe:#4ade80;--color-status-safe-bg:color-mix(in srgb,#16a34a 22%,#111827);--color-status-safe-border:color-mix(in srgb,#4ade80 35%,#1e293b);--color-on-status-safe:#bbf7d0;--color-status-warning:#fbbf24;--color-status-warning-bg:color-mix(in srgb,#d97706 22%,#111827);--color-status-warning-border:color-mix(in srgb,#fbbf24 35%,#1e293b);--color-on-status-warning:#fde68a;--color-status-danger:#f87171;--color-status-danger-bg:color-mix(in srgb,#dc2626 22%,#111827);--color-status-danger-border:color-mix(in srgb,#f87171 40%,#1e293b);--color-on-status-danger:#fecaca;--color-status-scrap:#94a3b8;--color-status-scrap-bg:#1e293b;--color-status-scrap-border:#334155;--color-on-status-scrap:#e2e8f0;--color-info:#38bdf8;--color-info-bg:color-mix(in srgb,#0284c7 22%,#111827);--color-info-border:color-mix(in srgb,#38bdf8 35%,#1e293b);--color-on-info:#bae6fd;--color-safe:var(--color-status-safe);--color-safe-bg:var(--color-status-safe-bg);--color-safe-border:var(--color-status-safe-border);--color-on-safe:var(--color-on-status-safe);--color-warn:var(--color-status-warning);--color-error:var(--color-status-danger);--color-map-surface:#0f172a;--color-map-grid:#1e293b;--color-sidebar-mid:#0f172a;--color-sidebar-deep:#020617;--gradient-sidebar:linear-gradient(180deg,#0f172a,#0b1220 55%,#020617);--color-login-wash-start:#0f172a;--color-login-wash-end:#020617;--gradient-login-wash:linear-gradient(165deg,#0f172a,#0b1220 50%,#020617);--mesh-brand:radial-gradient(ellipse 80% 55% at 12% 0%,color-mix(in srgb,#dc2626 14%,transparent),transparent 55%);--mesh-slate:radial-gradient(ellipse 70% 50% at 90% 80%,color-mix(in srgb,#38bdf8 8%,transparent),transparent 50%);--mesh-warm:radial-gradient(ellipse 50% 40% at 50% 0%,color-mix(in srgb,#f59e0b 6%,transparent),transparent 60%);--gradient-surface-shine:linear-gradient(180deg,rgb(255 255 255/0.04),rgb(255 255 255/0.01));--shadow-xs:0 1px 2px rgb(0 0 0/0.35);--shadow-sm:0 1px 2px rgb(0 0 0/0.3),0 2px 8px rgb(0 0 0/0.35);--shadow-md:0 4px 12px rgb(0 0 0/0.35),0 2px 4px rgb(0 0 0/0.25);--shadow-lg:0 12px 28px rgb(0 0 0/0.45),0 4px 10px rgb(0 0 0/0.3);--shadow-xl:0 20px 40px rgb(0 0 0/0.5);--shadow-brand:0 4px 16px color-mix(in srgb,#dc2626 35%,transparent);--shadow-brand-lg:0 8px 24px color-mix(in srgb,#dc2626 40%,transparent);--shadow-inset:inset 0 1px 2px rgb(0 0 0/0.35);--color-skeleton-base:#1e293b;--color-skeleton-shine:#334155}:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:var(--focus-ring-outline);outline-offset:var(--focus-ring-offset)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0ms;--duration-base:0ms;--duration-slow:0ms}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,:after,:before{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-text-muted) 45%,transparent) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text-muted) 35%,transparent);border-radius:var(--radius-full);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-text-muted) 55%,transparent);background-clip:padding-box;border:2px solid transparent}a{color:var(--color-brand);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-brand-hover);text-decoration:underline;text-underline-offset:.15em}:focus-visible{outline:var(--focus-ring-outline);outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-ring-glow)}.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:var(--z-skip);padding:var(--space-2) var(--space-4);min-height:var(--touch-min);display:inline-flex;align-items:center;background:var(--color-navy);color:var(--color-text-inverse);border-radius:var(--radius-md);font-weight:var(--font-semibold);box-shadow:var(--shadow-md);text-decoration:none}.skip-link:focus,.skip-link:focus-visible{top:var(--space-4);color:var(--color-text-inverse);text-decoration:none}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1fr;grid-template-rows:var(--topbar-height) auto 1fr;grid-template-areas:"topbar" "nav" "main";background:var(--color-bg)}.topbar{grid-area:topbar;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:0 var(--space-4);min-height:var(--topbar-height);background:var(--color-surface-glass);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);box-shadow:0 1px 0 rgb(255 255 255/.6) inset,var(--shadow-xs);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.topbar-search{display:flex;justify-content:center;min-width:0;width:100%;max-width:36rem;margin-inline:auto}.brand-lockup{display:flex;align-items:center;gap:var(--space-3);min-width:0}.brand-mark{width:2.25rem;height:2.25rem;border-radius:var(--radius-md);background:var(--gradient-brand);color:var(--color-brand-on);display:grid;place-items:center;font-weight:var(--font-bold);font-size:var(--text-sm);flex-shrink:0;box-shadow:var(--shadow-brand);letter-spacing:-.02em}.brand-logo-mark{width:2.25rem;height:2.25rem;flex-shrink:0;filter:drop-shadow(0 2px 4px color-mix(in srgb,var(--color-primary) 20%,transparent))}.brand-logo-full,.brand-logo-mark{display:block;object-fit:contain;color:var(--color-brand)}.brand-logo-full{width:min(100%,280px);height:auto}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-text strong{font-size:var(--text-sm);letter-spacing:.01em;color:var(--color-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-semibold)}.brand-text span{font-size:var(--text-xs);color:var(--color-text-muted)}.topbar-meta{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);flex-shrink:0}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);min-height:1.75rem;border-radius:var(--radius-full);background:var(--color-navy-soft);color:var(--color-navy);font-size:var(--text-xs);font-weight:var(--font-semibold);border:1px solid color-mix(in srgb,var(--color-navy) 8%,transparent);letter-spacing:.01em}.sidebar{grid-area:nav;display:flex;flex-direction:row;align-items:stretch;gap:var(--space-1);padding:var(--space-2);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;background:var(--gradient-sidebar);color:var(--color-text-inverse);border-bottom:1px solid color-mix(in srgb,var(--color-text-inverse) 8%,transparent);position:relative;z-index:1;scrollbar-width:thin}.sidebar:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 120% 80% at 0 0,color-mix(in srgb,var(--color-primary) 18%,transparent),transparent 55%);pointer-events:none}.nav-item{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-min);min-width:var(--touch-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:color-mix(in srgb,var(--color-text-inverse) 78%,transparent);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;border:none;background:transparent;white-space:nowrap;flex-shrink:0;scroll-snap-align:start;text-align:center;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);z-index:1}.nav-item:hover{background:color-mix(in srgb,var(--color-text-inverse) 10%,transparent);text-decoration:none;color:var(--color-text-inverse)}.nav-item.is-active,.nav-item[aria-current=page]{background:color-mix(in srgb,var(--color-text-inverse) 14%,transparent);color:var(--color-text-inverse);font-weight:var(--font-semibold);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-text-inverse) 10%,transparent)}.nav-item.is-active:before,.nav-item[aria-current=page]:before{content:"";position:absolute;left:20%;right:20%;bottom:.2rem;height:3px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-primary-400),var(--color-primary));box-shadow:0 0 10px color-mix(in srgb,var(--color-primary) 50%,transparent)}.nav-item:focus-visible{outline-color:var(--color-primary-300);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 35%,transparent)}.main{grid-area:main;padding:var(--space-4);width:100%;max-width:calc(var(--content-max) + var(--space-12));background:radial-gradient(ellipse 60% 30% at 100% 0,color-mix(in srgb,var(--color-primary) 4%,transparent),transparent 50%),var(--color-bg)}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.page-header h1{margin:0;font-size:clamp(var(--text-xl),2.5vw,var(--text-2xl));line-height:var(--leading-tight);color:var(--color-navy);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight)}.page-header p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}.header-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}@media (min-width:48rem){.app-shell{grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--topbar-height) 1fr;grid-template-areas:"topbar topbar" "nav main"}.topbar{padding:0 var(--space-6);gap:var(--space-4)}.sidebar{flex-direction:column;align-items:stretch;overflow-x:hidden;overflow-y:auto;padding:var(--space-5) var(--space-3);border-bottom:none;box-shadow:inset -1px 0 0 rgb(255 255 255/.04)}.sidebar:before{background:radial-gradient(ellipse 120% 40% at 0 0,color-mix(in srgb,var(--color-primary) 18%,transparent),transparent 55%)}.nav-item{width:100%;justify-content:flex-start;text-align:left;gap:var(--space-3)}.nav-item.is-active:before,.nav-item[aria-current=page]:before{left:0;right:auto;top:20%;bottom:20%;width:3px;height:auto;border-radius:0 var(--radius-full) var(--radius-full) 0;background:linear-gradient(180deg,var(--color-primary-400),var(--color-primary))}.main{padding:var(--space-6) var(--space-8)}.page-header{margin-bottom:var(--space-6)}}.card{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 90%,var(--color-navy) 4%);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm),0 0 0 1px rgb(255 255 255/.6) inset;transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base)}.card-interactive,a.card,button.card{cursor:pointer}.card-interactive:hover,a.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-brand) 22%,var(--color-border));text-decoration:none;color:inherit}.card-body{padding:var(--space-4)}@media (min-width:48rem){.card-body{padding:var(--space-5) var(--space-6)}}.card-title{margin:0 0 var(--space-4);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-navy);letter-spacing:var(--tracking-tight)}.kpi-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-5)}@media (min-width:22rem){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}}.kpi-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base)}.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-navy);border-radius:0 2px 2px 0}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-card .label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-3)}.kpi-card .value{font-size:clamp(var(--text-2xl),4vw,var(--text-3xl));font-weight:var(--font-bold);color:var(--color-navy);line-height:1;letter-spacing:var(--tracking-tight);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-card .hint{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary)}.kpi-card.tone-warn:before{background:linear-gradient(180deg,var(--color-status-warning-bright),var(--color-warn))}.kpi-card.tone-danger:before{background:linear-gradient(180deg,var(--color-status-danger-bright),var(--color-danger))}.kpi-card.tone-safe:before{background:linear-gradient(180deg,var(--color-status-safe-bright),var(--color-safe))}.kpi-card.tone-warn .value{color:var(--color-warn)}.kpi-card.tone-danger .value{color:var(--color-danger)}.kpi-card.tone-safe .value{color:var(--color-safe)}.kpi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.kpi-head .label{margin-bottom:0}.kpi-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);background:var(--color-navy-soft);color:var(--color-navy);flex-shrink:0}.kpi-card.tone-safe .kpi-icon{background:var(--color-safe-bg);color:var(--color-safe)}.kpi-card.tone-warn .kpi-icon{background:var(--color-warn-bg);color:var(--color-warn)}.kpi-card.tone-danger .kpi-icon{background:var(--color-danger-bg);color:var(--color-danger)}.kpi-icon .icon{width:1.1rem;height:1.1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-min);min-width:var(--touch-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;letter-spacing:.01em;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);white-space:nowrap;position:relative}.btn,.btn:hover{text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn--primary,.btn-primary{background:var(--gradient-brand);color:var(--color-brand-on);border-color:color-mix(in srgb,var(--color-primary-800) 40%,transparent);box-shadow:var(--shadow-brand),inset 0 1px 0 rgb(255 255 255/.18)}.btn--primary:hover,.btn-primary:hover{background:linear-gradient(145deg,var(--color-primary-600) 0,var(--color-primary-700) 50%,var(--color-primary-900) 100%);color:var(--color-brand-on);box-shadow:var(--shadow-brand-lg),inset 0 1px 0 rgb(255 255 255/.12);transform:translateY(-1px)}.btn--primary:active:not(:disabled),.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-brand)}.btn--secondary,.btn-secondary{background:var(--color-surface);color:var(--color-navy);border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.btn--secondary:hover,.btn-secondary:hover{background:var(--color-surface-muted);color:var(--color-navy);border-color:color-mix(in srgb,var(--color-navy) 18%,var(--color-border-strong));box-shadow:var(--shadow-sm)}.btn--ghost,.btn-ghost{background:transparent;color:var(--color-navy);border-color:transparent}.btn--ghost:hover,.btn-ghost:hover{background:var(--color-navy-soft);color:var(--color-navy)}.btn--danger,.btn-danger{background:linear-gradient(145deg,var(--color-status-danger-strong),var(--color-danger));color:var(--color-text-inverse);box-shadow:0 4px 12px color-mix(in srgb,var(--color-danger) 28%,transparent)}.btn--danger:hover,.btn-danger:hover{filter:brightness(.95);color:var(--color-text-inverse)}.btn--icon,.btn-icon{padding:0;width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-md)}.btn--block,.btn-block{width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.form-stack{gap:var(--space-4)}.field,.form-stack{display:flex;flex-direction:column}.field{gap:var(--space-2)}.field label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.field .hint{font-size:var(--text-xs);color:var(--color-text-muted)}.input,.select,.textarea{min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font-family:inherit;font-size:var(--text-base);width:100%;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);box-shadow:var(--shadow-inset)}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted);opacity:.85}.textarea{min-height:6rem;resize:vertical;padding-top:var(--space-3)}.input:hover,.select:hover,.textarea:hover{border-color:color-mix(in srgb,var(--color-navy) 20%,var(--color-border-strong))}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-focus);background:var(--color-surface);box-shadow:var(--shadow-focus),var(--shadow-inset)}.input--error,.input[aria-invalid=true]{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger-bg) 40%,var(--color-surface))}.field-row{display:flex;gap:var(--space-2);align-items:center}.field-row .input{flex:1 1;min-width:0}.field-row .btn{flex-shrink:0}.search-bar{position:relative;display:flex;gap:0;align-items:center;flex:1 1;min-width:0;width:100%;max-width:36rem}.search-bar-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--color-text-muted);pointer-events:none;display:grid;place-items:center;z-index:1}.search-bar-icon svg{width:1rem;height:1rem}.search-bar .input,.search-bar-input{flex:1 1;width:100%;min-height:2.5rem;padding-left:2.35rem;border-radius:var(--radius-full,999px);background:var(--color-surface-variant,var(--color-surface-muted));border-color:transparent}.search-bar .input:focus,.search-bar-input:focus{background:var(--color-surface);border-color:var(--color-border-focus,var(--color-border-strong))}.data-table-wrap,.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch}.data-table,table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.data-table td,.data-table th,table.data td,table.data th{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table th,table.data th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface-muted) 90%,var(--color-navy) 2%);font-weight:var(--font-semibold);position:-webkit-sticky;position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--color-border)}.data-table th:first-child,table.data th:first-child{border-top-left-radius:var(--radius-lg)}.data-table th:last-child,table.data th:last-child{border-top-right-radius:var(--radius-lg)}.data-table tbody tr,table.data tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:nth-child(2n),table.data tbody tr:nth-child(2n){background:color-mix(in srgb,var(--color-surface-sunken) 55%,transparent)}.data-table tbody tr:hover,table.data tbody tr:hover{background:color-mix(in srgb,var(--color-brand-soft) 70%,var(--color-surface))}.data-table a.row-link,table.data a.row-link{font-weight:var(--font-semibold);color:var(--color-navy);transition:color var(--transition-fast)}.data-table a.row-link:hover,table.data a.row-link:hover{color:var(--color-brand);text-decoration:none}.badge{display:inline-flex;align-items:center;gap:var(--space-2);min-height:1.75rem;padding:.15rem var(--space-3);border-radius:var(--radius-badge);font-size:var(--text-xs);font-weight:var(--font-semibold);border:1px solid transparent;white-space:nowrap;letter-spacing:.01em;box-shadow:inset 0 1px 0 rgb(255 255 255/.5)}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 18%,transparent)}.badge--safe,.badge-safe{color:var(--color-on-safe);background:var(--color-safe-bg);border-color:var(--color-safe-border)}.badge--safe:before,.badge-safe:before{background:var(--color-safe)}.badge--warn,.badge-warn{color:var(--color-on-warn);background:var(--color-warn-bg);border-color:var(--color-warn-border)}.badge--warn:before,.badge-warn:before{background:var(--color-warn)}.badge--danger,.badge-danger{color:var(--color-on-danger);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.badge--danger:before,.badge-danger:before{background:var(--color-danger)}.badge--scrap,.badge-scrap{color:var(--color-on-scrap);background:var(--color-scrap-bg);border-color:var(--color-scrap-border)}.badge--scrap:before,.badge-scrap:before{background:var(--color-scrap)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5);overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{min-height:var(--touch-min);padding:var(--space-2) var(--space-4);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.tab:hover{color:var(--color-navy);background:color-mix(in srgb,var(--color-navy-soft) 60%,transparent)}.tab.is-active,.tab[aria-selected=true]{color:var(--color-brand);border-bottom-color:var(--color-brand);font-weight:var(--font-semibold)}.tab-panel[hidden]{display:none}.list-stack{display:flex;flex-direction:column;gap:var(--space-3)}.list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.list-item:hover{border-color:color-mix(in srgb,var(--color-brand) 18%,var(--color-border));box-shadow:var(--shadow-sm)}.list-item .meta{font-size:var(--text-sm);color:var(--color-text-muted)}a.list-item{cursor:pointer}a.list-item,a.list-item:hover{text-decoration:none;color:inherit}.grid-2,.grid-3{display:grid;grid-template-columns:1fr;grid-gap:var(--space-4);gap:var(--space-4)}@media (min-width:48rem){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dl-grid{display:grid;grid-template-columns:minmax(7rem,10rem) 1fr;grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4);font-size:var(--text-sm)}@media (max-width:22rem){.dl-grid{grid-template-columns:1fr}}.dl-grid dt{color:var(--color-text-muted);margin:0}.dl-grid dd{margin:0;font-weight:var(--font-medium);color:var(--color-text)}.mono{font-family:var(--font-mono);font-size:.92em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--color-text-muted)}.banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-muted);font-size:var(--text-sm);margin-bottom:var(--space-4);box-shadow:var(--shadow-xs)}.banner--warn,.banner-warn{background:var(--color-warn-bg);border-color:var(--color-warn-border);color:var(--color-on-warn)}.banner--danger,.banner-danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-on-danger)}.banner--info,.banner-info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-on-info)}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--space-4);background:var(--mesh-brand),var(--mesh-slate),var(--mesh-warm),var(--gradient-login-wash);position:relative;overflow:hidden}@media (min-width:48rem){.login-page{padding:var(--space-6)}}.login-page:before{width:min(30rem,90vw);height:min(30rem,90vw);background:color-mix(in srgb,var(--color-primary) 8%,transparent);filter:blur(80px);top:-7.5rem;right:-5rem}.login-page:after,.login-page:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.login-page:after{width:min(22rem,80vw);height:min(22rem,80vw);background:color-mix(in srgb,var(--color-secondary) 6%,transparent);filter:blur(70px);bottom:-5rem;left:-3.75rem}.login-card{position:relative;z-index:1;width:100%;max-width:26.25rem;background:color-mix(in srgb,var(--color-surface) 90%,transparent);backdrop-filter:blur(20px) saturate(1.15);-webkit-backdrop-filter:blur(20px) saturate(1.15);border:1px solid color-mix(in srgb,var(--color-border) 70%,white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),0 0 0 1px rgb(255 255 255/.5) inset,var(--shadow-brand);padding:var(--space-6) var(--space-5)}@media (min-width:48rem){.login-card{padding:var(--space-8) var(--space-6)}}.login-card .brand-mark{width:3.25rem;height:3.25rem;font-size:var(--text-base);margin-bottom:var(--space-4);border-radius:var(--radius-lg)}.login-card .brand-logo-full{margin-bottom:var(--space-4);color:var(--color-brand);filter:drop-shadow(0 2px 8px color-mix(in srgb,var(--color-primary) 15%,transparent))}.login-card h1{margin:0 0 var(--space-1);font-size:var(--text-xl);color:var(--color-navy);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight)}.login-card .subtitle{margin:0 0 var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm)}.login-card .btn--primary,.login-card .btn-primary{margin-top:var(--space-2);letter-spacing:.04em}.auth-note{margin-top:var(--space-5);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-surface-muted) 80%,transparent);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);border:1px dashed var(--color-border-strong)}.login-brand-block{margin-bottom:var(--space-2)}.login-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 0;font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;color:var(--color-text-muted);text-transform:uppercase}.login-divider:after,.login-divider:before{content:"";flex:1 1;height:1px;background:var(--color-border)}.phone-stage{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-4);background:var(--mesh-slate),var(--color-bg)}@media (min-width:48rem){.phone-stage{padding:var(--space-6)}}.phone-frame{width:min(100%,var(--mobile-frame-w));height:var(--mobile-frame-h);max-height:min(var(--mobile-frame-h),90dvh);background:var(--color-phone-bezel);border:3px solid var(--color-phone-bezel-edge);border-radius:2.75rem;box-shadow:var(--shadow-xl),0 0 0 1px var(--color-phone-bezel-ring),0 0 0 6px var(--color-phone-bezel-outer),inset 0 0 0 1px rgb(255 255 255/.08);overflow:hidden;display:flex;flex-direction:column;position:relative}.phone-frame:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgb(255 255 255/.12),transparent 28%,transparent 72%,rgb(255 255 255/.04));z-index:10}.phone-notch{height:2rem;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.phone-notch,.phone-notch:before{background:var(--color-phone-bezel)}.phone-notch:before{content:"";width:6rem;height:1.375rem;border-radius:0 0 .875rem .875rem;box-shadow:inset 0 -1px 0 rgb(255 255 255/.06)}.phone-body{flex:1 1;overflow-y:auto;background:var(--color-bg);display:flex;flex-direction:column;border-radius:0 0 2.25rem 2.25rem;margin:0 2px 2px}.phone-header{background:var(--gradient-sidebar);color:var(--color-text-inverse);padding:var(--space-4);position:-webkit-sticky;position:sticky;top:0;z-index:2;box-shadow:var(--shadow-sm)}.phone-header h1{margin:0;font-size:var(--text-base);font-weight:var(--font-bold);letter-spacing:.01em}.phone-header p{margin:var(--space-1) 0 0;font-size:var(--text-xs);opacity:.8}.phone-content{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);flex:1 1}.phone-footer{padding:var(--space-4);background:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--color-border);position:-webkit-sticky;position:sticky;bottom:0}.check-list{display:flex;flex-direction:column;gap:var(--space-2)}.check-item{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;font-size:var(--text-sm);transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.check-item input{width:1.25rem;height:1.25rem;accent-color:var(--color-brand);flex-shrink:0}.check-item:hover{border-color:color-mix(in srgb,var(--color-brand) 25%,var(--color-border))}.check-item:has(input:checked){border-color:var(--color-brand);background:var(--color-brand-soft);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-brand) 15%,transparent)}.photo-slot{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);min-height:7.5rem;display:grid;place-items:center;background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;padding:var(--space-4);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.photo-slot:hover{border-color:color-mix(in srgb,var(--color-brand) 35%,var(--color-border-strong));background:var(--color-brand-soft);color:var(--color-brand)}.photo-slot:focus-visible{border-color:var(--color-focus);box-shadow:var(--focus-ring-glow)}.photo-slot-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.photo-slot-inner .icon{width:1.75rem;height:1.75rem;opacity:.75}.public-page{min-height:100vh;min-height:100dvh;background:var(--mesh-warm),var(--mesh-brand),var(--color-bg)}.public-header{background:color-mix(in srgb,var(--color-surface) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);padding:var(--space-4) var(--space-4);box-shadow:var(--shadow-xs)}@media (min-width:48rem){.public-header{padding:var(--space-5) var(--space-6)}}.public-main{max-width:45rem;margin:0 auto;padding:var(--space-6) var(--space-4)}@media (min-width:48rem){.public-main{padding:var(--space-8) var(--space-6)}}.public-wide{max-width:60rem}.public-main>.page-header h1{font-size:clamp(1.5rem,4vw,2rem);letter-spacing:var(--tracking-tight)}.public-main>.page-header .badge{font-size:var(--text-sm);min-height:2rem;padding:.2rem var(--space-4)}.public-status-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.public-status-hero .code{margin:0;font-family:var(--font-mono);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:var(--font-bold);color:var(--color-navy);letter-spacing:var(--tracking-tight)}.public-status-hero .meta{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.public-status-hero .page-eyebrow{margin-bottom:var(--space-1)}.trust-bar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-3)}.qr-placeholder{width:7.5rem;height:7.5rem;border:2px solid var(--color-navy);border-radius:var(--radius-md);display:grid;place-items:center;font-size:var(--text-xs);color:var(--color-navy);background:repeating-linear-gradient(0deg,transparent,transparent 8px,color-mix(in srgb,var(--color-navy) 6%,transparent) 8px,color-mix(in srgb,var(--color-navy) 6%,transparent) 16px),repeating-linear-gradient(90deg,transparent,transparent 8px,color-mix(in srgb,var(--color-navy) 6%,transparent) 8px,color-mix(in srgb,var(--color-navy) 6%,transparent) 16px),var(--color-surface);font-weight:var(--font-semibold);box-shadow:var(--shadow-sm)}.map-placeholder{position:relative;height:16rem;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-map-grid) 25%,transparent 25%) -20px 0 /40px 40px,linear-gradient(225deg,var(--color-map-grid) 25%,transparent 25%) -20px 0 /40px 40px,linear-gradient(315deg,var(--color-map-grid) 25%,transparent 25%) 0 0 /40px 40px,linear-gradient(45deg,var(--color-map-grid) 25%,transparent 25%) 0 0 /40px 40px,var(--color-map-surface);overflow:hidden;box-shadow:var(--shadow-sm) inset,var(--shadow-xs)}@media (min-width:48rem){.map-placeholder{height:20rem}}.map-pin{position:absolute;width:var(--touch-min);height:var(--touch-min);margin:0;padding:0;border:none;background:transparent;cursor:pointer;display:grid;place-items:center;transition:transform var(--transition-fast)}.map-pin:hover{transform:scale(1.08)}.map-pin:before{content:"";width:1.5rem;height:1.5rem;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid var(--color-text-inverse);box-shadow:var(--shadow-md);background:var(--color-safe)}.map-pin.safe{top:28%;left:22%}.map-pin.warn{top:48%;left:55%}.map-pin.danger{top:62%;left:38%}.map-pin.scrap{top:35%;left:70%}.map-pin.safe:before{background:var(--color-safe)}.map-pin.warn:before{background:var(--color-warn)}.map-pin.danger:before{background:var(--color-danger)}.map-pin.scrap:before{background:var(--color-scrap)}.legend{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-sm);margin-top:var(--space-3)}.legend-item{display:inline-flex;align-items:center;gap:var(--space-2)}.legend-dot{width:.75rem;height:.75rem;border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 15%,transparent)}.legend-dot.safe{background:var(--color-safe)}.legend-dot.warn{background:var(--color-warn)}.legend-dot.danger{background:var(--color-danger)}.legend-dot.scrap{background:var(--color-scrap)}.gallery-page{max-width:var(--content-max);margin:0 auto;padding:var(--space-6) var(--space-4);background:var(--mesh-warm),transparent}@media (min-width:48rem){.gallery-page{padding:var(--space-8) var(--space-6)}}.gallery-page>.page-header h1,.gallery-page>header h1{font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:var(--tracking-tight)}.gallery-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-4);gap:var(--space-4);margin:var(--space-6) 0}@media (min-width:30rem){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-5)}}.gallery-card{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base);min-height:10rem}.gallery-card:before{content:"";display:block;height:4.5rem;background:var(--gradient-brand);background-image:var(--mesh-brand),var(--gradient-brand);flex-shrink:0}.gallery-card:nth-child(3n+2):before{background-image:var(--mesh-slate),var(--gradient-secondary)}.gallery-card:nth-child(3n+3):before{background-image:radial-gradient(ellipse 80% 80% at 80% 20%,color-mix(in srgb,var(--color-warm-400) 25%,transparent),transparent 55%),var(--gradient-stone)}.gallery-card>.num,.gallery-card>h2,.gallery-card>p{padding-left:var(--space-5);padding-right:var(--space-5)}.gallery-card>.num{margin-top:var(--space-4)}.gallery-card>h2,.gallery-card>p{margin-top:var(--space-1)}.gallery-card>p{margin-bottom:var(--space-5)}.gallery-card:hover{border-color:color-mix(in srgb,var(--color-brand) 35%,var(--color-border));box-shadow:var(--shadow-lg),var(--shadow-brand);text-decoration:none;color:inherit;transform:translateY(-3px)}.gallery-card .num{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--color-brand);letter-spacing:.08em;text-transform:uppercase}.gallery-card h2{margin:0;font-size:var(--text-lg);color:var(--color-navy);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight)}.gallery-card p{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-snug)}.gallery-card .card-arrow{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:auto;padding:0 var(--space-5) var(--space-5);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-brand);letter-spacing:.04em;text-transform:uppercase;opacity:.85;transition:opacity var(--transition-fast),gap var(--transition-fast)}.gallery-card:hover .card-arrow{opacity:1;gap:var(--space-2)}.gallery-hero{margin-bottom:var(--space-8);padding:var(--space-5);border-radius:var(--radius-2xl);border:1px solid var(--color-border);background:var(--mesh-brand),var(--mesh-warm),var(--color-surface);box-shadow:var(--shadow-md)}@media (min-width:48rem){.gallery-hero{padding:var(--space-6)}}.gallery-hero .brand-lockup{margin-bottom:var(--space-5)}.gallery-hero h1{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,3.5vw,2.35rem);line-height:var(--leading-tight);color:var(--color-navy);letter-spacing:var(--tracking-tight);font-weight:700}.gallery-section-label{margin:0 0 var(--space-3);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.token-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-4)}.swatch{border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden;background:var(--color-surface);font-size:var(--text-xs);box-shadow:var(--shadow-xs)}.swatch-color{height:3rem}.swatch-label{padding:var(--space-2);color:var(--color-text-secondary)}.walk-steps{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6);position:-webkit-sticky;position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.walk-step-link{min-height:var(--touch-min);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-navy);font-size:var(--text-xs);font-weight:var(--font-semibold);text-decoration:none;display:inline-flex;align-items:center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.walk-step-link:hover{border-color:var(--color-brand);background:var(--color-brand-soft);text-decoration:none;box-shadow:var(--shadow-xs)}.walk-section{scroll-margin-top:5rem;margin-bottom:var(--space-10);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}@media (min-width:48rem){.walk-section{padding:var(--space-6)}}.walk-section h2{margin:0 0 var(--space-2);color:var(--color-navy);letter-spacing:var(--tracking-tight);align-items:center;gap:var(--space-1)}.walk-nav,.walk-section h2{display:flex;flex-wrap:wrap}.walk-nav{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5)}.walk-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-right:var(--space-3);border-radius:var(--radius-full);background:var(--gradient-brand);color:var(--color-brand-on);font-size:var(--text-sm);font-weight:var(--font-bold);box-shadow:var(--shadow-brand);vertical-align:middle}.a11y-notes{margin-top:var(--space-10);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-muted);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.6}.a11y-notes strong{color:var(--color-text)}.a11y-notes ul{margin:var(--space-2) 0 0;padding-left:var(--space-5)}.mockup-label{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center}.icon{width:1.25rem;height:1.25rem;flex-shrink:0;display:block}.icon-sm{width:1rem;height:1rem}.nav-icon{width:1.15rem;height:1.15rem;flex-shrink:0;opacity:.9}.page-eyebrow{margin:0 0 var(--space-1);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand)}.lead{margin:var(--space-2) 0 0;max-width:40rem;font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.lead code{font-family:var(--font-mono);font-size:.88em;padding:.1em .35em;border-radius:var(--radius-sm);background:var(--color-surface-muted);border:1px solid var(--color-border)}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4)}.section-head .card-title{margin-bottom:0}.section-meta{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-5) 0}.page-crumb{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.page-crumb a{color:var(--color-text-secondary);font-weight:var(--font-medium)}.page-crumb a:hover{color:var(--color-brand)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.toolbar .search-bar{max-width:none;flex:1 1;min-width:min(100%,12rem)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn--primary:hover,.btn-primary:hover,.btn:hover,.card-interactive:hover,.gallery-card:hover,.kpi-card:hover,.map-pin:hover,a.card:hover{transform:none}}.login-card h1:not(.visually-hidden),.page-header h1,.public-main>.page-header h1,.public-status-hero .code{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:1.12;text-wrap:balance}.page-header h1{font-size:clamp(1.375rem,2.4vw,1.875rem)}.card-title,.section-head .card-title{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.2}.kpi-card .value{font-family:var(--font-display);letter-spacing:-.03em}.page-eyebrow{letter-spacing:.1em}.empty-state-hint,.lead,.login-card .subtitle,.page-header p{max-width:62ch;line-height:var(--leading-relaxed)}body{background:radial-gradient(ellipse 70% 40% at 15% 0,color-mix(in srgb,var(--color-warm-400) 8%,transparent),transparent 55%),radial-gradient(ellipse 50% 35% at 95% 10%,color-mix(in srgb,var(--color-primary) 4%,transparent),transparent 50%),var(--color-bg)}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E")}.chip{background:color-mix(in srgb,var(--color-surface-variant) 70%,var(--color-navy-soft));border-color:color-mix(in srgb,var(--color-border-strong) 80%,transparent)}.card-body{padding:var(--space-5)}@media (min-width:48rem){.card-body{padding:var(--space-6)}}.card-interactive:hover,a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--color-brand) 12%,transparent)}.btn--primary:hover,.btn-primary:hover{transform:translateY(-2px)}.btn--primary:active:not(:disabled),.btn-primary:active:not(:disabled),.btn:active:not(:disabled){transform:translateY(0) scale(.98);transition-duration:.1s}.data-table tbody tr:nth-child(2n),table.data tbody tr:nth-child(2n){background:transparent}.data-table tbody tr:hover,table.data tbody tr:hover{background:color-mix(in srgb,var(--color-brand-soft) 55%,var(--color-surface))}.data-table th,table.data th{letter-spacing:.08em;font-family:var(--font-sans)}.input,.select,.textarea{background:color-mix(in srgb,var(--color-surface) 70%,var(--color-surface-sunken))}@keyframes ygys-enter-up{0%{opacity:0;transform:translateY(14px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.login-card{animation:ygys-enter-up .45s var(--ease-out-expo) both}.login-card .btn--primary,.login-card .btn-primary{transition:transform .12s var(--ease-out-expo),box-shadow .16s var(--ease-out-expo),background .14s var(--ease-out-expo)}.enter-up{animation:ygys-enter-up .7s var(--ease-out-expo) both;animation-delay:var(--stagger,0s)}[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-out-expo),transform .7s var(--ease-out-expo)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media print{body{background:var(--color-surface)}body:after{display:none}.print-label-card,.print-label-page{background:var(--color-surface)}.app-shell .main>.card,.app-shell .main>.kpi-grid,.app-shell .main>.page-header,.app-shell .main>form,.app-shell .main>section,.enter-up,.login-card{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}}@media (prefers-reduced-motion:reduce){.app-shell .main>.card,.app-shell .main>.kpi-grid,.app-shell .main>.page-header,.app-shell .main>form,.app-shell .main>section,.enter-up,.login-card{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}[data-reveal]{opacity:1;transition:none}.btn--primary:hover,.btn-primary:hover,.card-interactive:hover,[data-reveal],a.card:hover{transform:none}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:var(--touch-min);min-height:var(--touch-min);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.theme-toggle:hover{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-surface-variant)}.theme-toggle:active{transform:scale(.96)}.theme-toggle svg{width:1.125rem;height:1.125rem}@keyframes ygys-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton{display:block;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-skeleton-base) 0,var(--color-skeleton-shine) 45%,var(--color-skeleton-base) 90%);background-size:200% 100%;animation:ygys-shimmer 1.2s var(--ease-standard) infinite}.skeleton-text{height:.875rem;margin-bottom:var(--space-2);max-width:100%}.skeleton-text--lg{height:1.25rem;max-width:60%}.skeleton-card{min-height:6.5rem;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.skeleton-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.skeleton-row{height:2.75rem;border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.skeleton-table-wrap{padding:var(--space-3) var(--space-4) var(--space-4)}.skeleton-table-head,.skeleton-table-row{display:flex;align-items:center;gap:var(--space-4);min-height:2.75rem;padding-block:var(--space-2)}.skeleton-table-head{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-1)}.skeleton-table-row{border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.skeleton-table-row:last-child{border-bottom:none}.page-list-skeleton .card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}@keyframes ygys-fade-in{0%{opacity:.55}to{opacity:1}}.page-list-skeleton{animation:ygys-fade-in .25s var(--ease-out-expo) both}.field-service{max-width:28rem;margin-inline:auto;width:100%;display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:max(var(--space-8),env(safe-area-inset-bottom,0px))}.field-service-header{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.field-service-eyebrow{margin:0 0 var(--space-1);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.field-service-title{margin:0;font-family:var(--font-display);font-size:clamp(1.25rem,4vw,1.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--color-text)}.field-service-subtitle{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.field-service-status,.field-service-subtitle{margin:var(--space-2) 0 0;font-size:var(--text-sm)}.field-service-status{font-weight:var(--font-semibold);color:var(--color-primary)}.field-service-body{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.field-service .check-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.field-service .check-item{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-comfortable);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-variant);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:background .12s var(--ease-out-expo),border-color .12s var(--ease-out-expo),box-shadow .12s var(--ease-out-expo)}.field-service .check-item:has(input:checked){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background:var(--color-primary-subtle);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 20%,transparent)}.field-service .check-item input{width:1.25rem;height:1.25rem;flex-shrink:0;accent-color:var(--color-primary)}.field-service .btn--primary,.field-service .btn-primary{width:100%;min-height:3rem;font-size:var(--text-base)}.field-service .qr-scanner .button,.field-service .qr-scanner label.button{width:100%;min-height:var(--touch-comfortable);justify-content:center}.field-service-photo-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2)}.field-service-photo-btn{width:100%;min-height:var(--touch-comfortable);cursor:pointer;margin:0}.field-service-photo-btn input.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}.field-service-photo-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.field-service-photo-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-variant);font-size:var(--text-sm)}@media (max-width:22rem){.field-service-photo-actions{grid-template-columns:1fr}}.camera-capture{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-4);background:rgb(0 0 0/.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.camera-capture-panel{width:min(100%,28rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column}.camera-capture-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.camera-capture-title{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text)}.camera-capture-viewport{position:relative;background:#0a0a0a;aspect-ratio:4/3;max-height:min(55vh,360px)}.camera-capture-video{display:block;width:100%;height:100%;object-fit:cover;background:#000}.camera-capture-overlay{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:var(--space-4);text-align:center;color:#f8fafc;background:rgb(0 0 0/.45);font-size:var(--text-sm)}.camera-capture-overlay.form-error{background:color-mix(in srgb,#7f1d1d 75%,transparent)}.camera-capture-actions{padding:var(--space-4);display:flex;justify-content:center}.camera-capture-actions .btn-primary{min-width:12rem;min-height:3rem}html[data-theme=dark] .camera-capture-panel{background:var(--color-surface);border-color:var(--color-border)}@media (max-width:47.99rem){.main:has(.field-service){padding-inline:var(--space-3)}.field-service{max-width:none}.field-service-body,.field-service-header{border-radius:var(--radius-md)}}@media (min-width:48rem){.field-service{max-width:32rem}}.nav-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:var(--z-toast);pointer-events:none;background:transparent;opacity:0;transform:scaleX(0);transform-origin:left center;transition:opacity .15s ease}.nav-progress.is-active{opacity:1;background:linear-gradient(90deg,var(--color-primary-400),var(--color-primary-600),var(--color-primary-400));background-size:200% 100%;animation:ygys-nav-bar .9s var(--ease-out-expo) forwards,ygys-nav-shimmer 1.1s linear infinite}@keyframes ygys-nav-bar{0%{transform:scaleX(.08)}to{transform:scaleX(.82)}}@keyframes ygys-nav-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.nav-pending-panel{min-height:50vh}.nav-content-is-pending{display:none}@media (prefers-reduced-motion:reduce){.nav-progress.is-active{animation:none;transform:scaleX(.5);opacity:1}}html[data-theme=dark] body{background:radial-gradient(ellipse 80% 50% at 10% -10%,color-mix(in srgb,#dc2626 10%,transparent),transparent 55%),radial-gradient(ellipse 60% 45% at 100% 0,color-mix(in srgb,#38bdf8 7%,transparent),transparent 50%),var(--color-bg)}html[data-theme=dark] body:after{opacity:.03}html[data-theme=dark] .topbar{background:var(--color-surface-glass);border-bottom-color:var(--color-border);box-shadow:none}html[data-theme=dark] .search-bar .input,html[data-theme=dark] .search-bar-input{background:var(--color-surface-variant);color:var(--color-text)}html[data-theme=dark] .search-bar .input:focus,html[data-theme=dark] .search-bar-input:focus{background:var(--color-surface-raised)}html[data-theme=dark] .card,html[data-theme=dark] .card--elevated{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-sm),0 0 0 1px rgb(255 255 255/.03) inset}html[data-theme=dark] .chip{background:var(--color-navy-soft);color:var(--color-text-secondary);border-color:var(--color-border)}html[data-theme=dark] .brand-text strong,html[data-theme=dark] .card-title,html[data-theme=dark] .page-header h1{color:var(--color-text)}html[data-theme=dark] .input,html[data-theme=dark] .select,html[data-theme=dark] .textarea,html[data-theme=dark] input.input,html[data-theme=dark] select.input,html[data-theme=dark] textarea.textarea{background:var(--color-surface-sunken);border-color:var(--color-border-strong);color:var(--color-text)}html[data-theme=dark] .input:focus,html[data-theme=dark] .select:focus,html[data-theme=dark] .textarea:focus{border-color:#f87171;box-shadow:0 0 0 3px color-mix(in srgb,#dc2626 28%,transparent);background:var(--color-surface)}html[data-theme=dark] .data-table th{background:var(--color-surface-variant);color:var(--color-text-muted);border-bottom-color:var(--color-border)}html[data-theme=dark] .data-table tbody tr:hover{background:color-mix(in srgb,#dc2626 9%,var(--color-surface))}html[data-theme=dark] .data-table td{border-bottom-color:var(--color-border);color:var(--color-text-secondary)}html[data-theme=dark] .sidebar .nav-item{color:#94a3b8}html[data-theme=dark] .sidebar .nav-item:hover{color:#f1f5f9;background:color-mix(in srgb,#f1f5f9 7%,transparent)}html[data-theme=dark] .sidebar .nav-item.is-active,html[data-theme=dark] .sidebar .nav-item[aria-current=page]{color:#fff;background:color-mix(in srgb,#dc2626 24%,#1e293b)}html[data-theme=dark] .btn--secondary,html[data-theme=dark] .btn-secondary{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-border-strong)}html[data-theme=dark] .btn--secondary:hover,html[data-theme=dark] .btn-secondary:hover{background:var(--color-surface-variant);border-color:var(--color-text-muted)}html[data-theme=dark] .btn-ghost{color:var(--color-text-secondary)}html[data-theme=dark] .empty-state,html[data-theme=dark] .map-empty{background:var(--color-surface-variant);border-color:var(--color-border-strong);color:var(--color-text-secondary)}html[data-theme=dark] .location-picker-suggestions{background:var(--color-surface-raised);border-color:var(--color-border-strong);box-shadow:var(--shadow-lg)}html[data-theme=dark] .location-picker-suggestion.is-active,html[data-theme=dark] .location-picker-suggestion:hover{background:color-mix(in srgb,#dc2626 16%,var(--color-surface))}html[data-theme=dark] .collapsible{background:var(--color-surface);border-color:var(--color-border)}html[data-theme=dark] .collapsible-summary{color:var(--color-text)}html[data-theme=dark] .theme-toggle{background:var(--color-surface-raised);border-color:var(--color-border-strong);color:var(--color-text-secondary)}html[data-theme=dark] .login-page{background:var(--gradient-login-wash)}html[data-theme=dark] .login-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xl)}html[data-theme=dark] .field-service-body,html[data-theme=dark] .field-service-header{background:var(--color-surface);border-color:var(--color-border)}html[data-theme=dark] .field-service .check-item{background:var(--color-surface-variant);border-color:var(--color-border);color:var(--color-text)}html[data-theme=dark] .field-service .check-item:has(input:checked){background:var(--color-primary-subtle);border-color:color-mix(in srgb,#f87171 45%,var(--color-border))}html[data-theme=dark] .form-error{background:var(--color-status-danger-bg);color:var(--color-on-status-danger);border-color:var(--color-status-danger-border)}html[data-theme=dark] .mono{color:var(--color-text-secondary)}.collapsible{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden;transition:box-shadow var(--transition-base)}.collapsible-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);min-height:var(--touch-min);font-weight:var(--font-semibold);color:var(--color-navy);-webkit-user-select:none;-moz-user-select:none;user-select:none}.collapsible-summary::-webkit-details-marker{display:none}.collapsible-summary:after{content:"";width:.5rem;height:.5rem;border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(45deg);transition:transform var(--transition-fast);flex-shrink:0}.collapsible[open]>.collapsible-summary:after{transform:rotate(-135deg);margin-top:.25rem}.collapsible-body{padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--color-border);animation:ygys-collapsible-in var(--duration-base) var(--ease-out-expo) both}@keyframes ygys-collapsible-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.map-empty{display:grid;grid-gap:var(--space-3);gap:var(--space-3);place-items:start;padding:var(--space-5);min-height:12rem;border-radius:var(--radius-lg);border:1px dashed var(--color-border-strong);background:linear-gradient(135deg,color-mix(in srgb,var(--color-info) 6%,transparent),transparent 50%),var(--color-map-surface);color:var(--color-text-secondary)}.map-empty__title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-text);letter-spacing:-.02em}.map-empty__hint{margin:0;max-width:42ch;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-muted)}.map-empty__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.company-location-map{border:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow:hidden}.company-location-map .leaflet-container{font-family:var(--font-sans);background:var(--color-map-surface)}@media (max-width:47.99rem){.topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand meta" "search search";padding-block:var(--space-2);row-gap:var(--space-2)}.brand-lockup{grid-area:brand}.topbar-search{grid-area:search;max-width:none;margin-inline:0}.topbar-meta{grid-area:meta;justify-content:flex-end;flex-wrap:nowrap;gap:var(--space-2)}.brand-text span{display:none}.topbar-meta .chip{max-width:8rem;overflow:hidden;text-overflow:ellipsis}.sidebar{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-inline:var(--space-2)}.sidebar .nav-item{scroll-snap-align:start;white-space:nowrap}.main{padding:var(--space-3)}.dl-grid{grid-template-columns:1fr!important}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.tab{flex-shrink:0}.data-table-wrap,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}@keyframes ygys-settle{0%{opacity:.96;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes ygys-soft-pop{0%{opacity:.9;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.main .page-header{animation:ygys-settle .2s var(--ease-out-expo) both}.main .kpi-grid>*{animation:ygys-settle .22s var(--ease-out-expo) both}.main .kpi-grid>:first-child{animation-delay:0s}.main .kpi-grid>:nth-child(2){animation-delay:30ms}.main .kpi-grid>:nth-child(3){animation-delay:55ms}.main .kpi-grid>:nth-child(4){animation-delay:80ms}.main .kpi-grid>:nth-child(5){animation-delay:.1s}.main .kpi-grid>:nth-child(6){animation-delay:.12s}.main .kpi-grid>:nth-child(n+7){animation-delay:.13s}.main .data-table-wrap,.main .empty-state,.main .filter-bar,.main>.card{animation:ygys-settle .2s var(--ease-out-expo) both;animation-delay:40ms}.nav-pending-panel{animation:ygys-soft-pop .16s var(--ease-out-expo) both}.btn{transition:background .12s var(--ease-out-expo),border-color .12s var(--ease-out-expo),color .12s var(--ease-out-expo),box-shadow .14s var(--ease-out-expo),transform 90ms var(--ease-out-expo)}@media (hover:hover) and (pointer:fine){.btn:not(:disabled):hover{transform:translateY(-1px)}.btn--primary:not(:disabled):hover,.btn-primary:not(:disabled):hover{box-shadow:var(--shadow-brand),0 6px 16px color-mix(in srgb,var(--color-primary) 22%,transparent)}}.btn:not(:disabled):active{transform:translateY(1px) scale(.985);transition-duration:50ms}.card,.card--elevated{transition:box-shadow .18s var(--ease-out-expo),border-color .16s var(--ease-out-expo),transform .18s var(--ease-out-expo)}@media (hover:hover) and (pointer:fine){.card--elevated:hover,.card-interactive:hover,a.card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--color-border-strong) 85%,transparent);transform:translateY(-2px)}.kpi-card:hover,.kpi-grid>.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}}.sidebar .nav-item{transition:background .14s var(--ease-out-expo),color .14s var(--ease-out-expo),transform .12s var(--ease-out-expo),box-shadow .14s var(--ease-out-expo)}@media (hover:hover) and (pointer:fine){.sidebar .nav-item:hover:not(.is-active):not([aria-current=page]){transform:translateX(2px)}}.sidebar .nav-item.is-active,.sidebar .nav-item[aria-current=page]{transition:background .16s var(--ease-out-expo),color .16s var(--ease-out-expo)}.data-table tbody tr,table.data tbody tr{transition:background .14s var(--ease-out-expo)}.data-table a.row-link,table.data a.row-link{transition:color .12s var(--ease-out-expo)}.badge,.chip{transition:transform .12s var(--ease-out-expo),box-shadow .14s var(--ease-out-expo),background .14s var(--ease-out-expo)}@media (hover:hover) and (pointer:fine){.chip:hover{transform:translateY(-1px)}}.tab,.tabs a,.tabs button{transition:color .14s var(--ease-out-expo),background .14s var(--ease-out-expo),border-color .14s var(--ease-out-expo),box-shadow .14s var(--ease-out-expo)}.input,.select,.textarea,input.input,select.input,textarea.textarea{transition:border-color .14s var(--ease-out-expo),box-shadow .16s var(--ease-out-expo),background .14s var(--ease-out-expo)}.location-picker-suggestions{animation:ygys-soft-pop .14s var(--ease-out-expo) both}.location-picker-suggestion{transition:background .1s var(--ease-out-expo),color .1s var(--ease-out-expo)}.empty-state,.map-empty{animation:ygys-settle .22s var(--ease-out-expo) both}.theme-toggle{transition:background .14s var(--ease-out-expo),color .14s var(--ease-out-expo),border-color .14s var(--ease-out-expo),transform .12s var(--ease-out-expo),box-shadow .14s var(--ease-out-expo)}@media (hover:hover) and (pointer:fine){.theme-toggle:hover{transform:translateY(-1px);box-shadow:var(--shadow-xs)}}.collapsible{transition:box-shadow .18s var(--ease-out-expo),border-color .16s var(--ease-out-expo)}.collapsible[open]{box-shadow:var(--shadow-sm)}.topbar{transition:box-shadow .2s var(--ease-out-expo),background .2s var(--ease-out-expo)}.location-picker{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.location-picker-address{position:relative}.location-picker-suggestions{list-style:none;margin:var(--space-1) 0 0;padding:var(--space-1);position:absolute;z-index:var(--z-dropdown);left:0;right:0;max-height:14rem;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.location-picker-suggestion{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;font-size:var(--text-sm);cursor:pointer;line-height:var(--leading-snug)}.location-picker-suggestion.is-active,.location-picker-suggestion:hover{background:var(--color-primary-subtle);color:var(--color-text)}.location-picker-status{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.location-picker-hint{margin:0;font-size:var(--text-sm)}.location-picker-map,.location-picker-map-inner,.location-picker-map-skeleton{height:280px;width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;background:var(--color-map-surface);box-shadow:var(--shadow-sm)}.location-picker-map-inner{border:none;box-shadow:none;border-radius:0}.leaflet-host.leaflet-container,.location-picker-map .leaflet-container,.location-picker-map-inner .leaflet-container{height:100%;width:100%;min-height:280px;font-family:var(--font-sans)}.leaflet-host{z-index:0}.location-picker-coords{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}@media (max-width:30rem){.location-picker-coords{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.collapsible-body,.empty-state,.location-picker-suggestions,.main .data-table-wrap,.main .empty-state,.main .filter-bar,.main .kpi-grid>*,.main .page-header,.main>.card,.map-empty,.nav-pending-panel,.page-list-skeleton,.skeleton{animation:none!important}.btn:hover,.card--elevated:hover,.kpi-card:hover,.sidebar .nav-item:hover,.theme-toggle:hover{transform:none!important}.skeleton{background:var(--color-skeleton-base)}}