:root{--color-bg: #f2f2f3;--color-surface: #e9e9ea;--color-text: #1d1f20;--color-accent: #5980a6;--color-accent-2: #728fab;--color-divider: color-mix(in srgb, #1d1f20 16%, transparent);--color-neutral-100: #f5f5f8;--color-neutral-200: #e7e7ea;--color-neutral-300: #d4d4d7;--color-neutral-400: #b7b7ba;--color-neutral-500: #98989b;--color-neutral-600: #7a7a7d;--color-neutral-700: #5d5d60;--color-neutral-800: #424244;--color-neutral-900: #2b2b2d;--color-accent-100: #eef6ff;--color-accent-200: #d6ebff;--color-accent-300: #b5d9fd;--color-accent-400: #94bce3;--color-accent-500: #749dc4;--color-accent-600: #597ea3;--color-accent-700: #416180;--color-accent-800: #2c455d;--color-accent-900: #1d2d3d;--color-accent-2-100: #eef6ff;--color-accent-2-200: #d6ebff;--color-accent-2-300: #bdd8f2;--color-accent-2-400: #9ebbd8;--color-accent-2-500: #7e9cb8;--color-accent-2-600: #627d98;--color-accent-2-700: #486077;--color-accent-2-800: #314457;--color-accent-2-900: #1f2d3a;--font-heading: "Clash Display", system-ui, sans-serif;--font-heading-weight: 600;--font-body: "General Sans", system-ui, sans-serif;--space-1: 3.4px;--space-2: 6.8px;--space-3: 10.2px;--space-4: 13.6px;--space-6: 20.4px;--space-8: 27.2px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 7px;--shadow-sm: 0 1px 2px color-mix(in srgb, #2b2b2d 14%, transparent);--shadow-md: 0 3px 10px color-mix(in srgb, #2b2b2d 16%, transparent);--shadow-lg: 0 12px 32px color-mix(in srgb, #2b2b2d 22%, transparent)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.blueprint{position:relative;border:1px solid var(--color-divider);border-radius:0}.blueprint.halftone,.blueprint.plate,.blueprint.duotone{overflow:visible}.blueprint>.corner{position:absolute;width:11px;height:11px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.blueprint>.corner:before,.blueprint>.corner:after{content:"";position:absolute;background:currentColor}.blueprint>.corner:before{left:5px;top:0;width:1px;height:100%}.blueprint>.corner:after{top:5px;left:0;width:100%;height:1px}.blueprint>.corner.tl{top:-6px;left:-6px}.blueprint>.corner.tr{top:-6px;right:-6px}.blueprint>.corner.bl{bottom:-6px;left:-6px}.blueprint>.corner.br{bottom:-6px;right:-6px}.duotone{position:relative;overflow:hidden}.duotone:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:var(--color-accent);mix-blend-mode:color}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.55;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-.015em;margin:0 0 var(--space-2)}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{font-size:13px}h6{letter-spacing:.08em;text-transform:uppercase}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{display:block;max-width:100%}figure{margin:0}figcaption{font-size:11px;margin-top:var(--space-1);color:color-mix(in srgb,var(--color-text) 55%,transparent)}.text-muted{color:color-mix(in srgb,var(--color-text) 55%,transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.hr{height:1px;border:0;margin:var(--space-4) 0;background:var(--color-divider)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md)}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-600)}.btn-primary:active{background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active{background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-ghost:active{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{display:block;font-size:12px;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{min-height:90px;resize:vertical}button.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;line-height:1.2;text-align:left}.radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.radio input,.seg-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio .dot{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--color-divider)}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{display:inline-flex;overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.seg-opt{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface)}.card-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{margin:0;font-size:13px;opacity:.8;flex:1}.card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:calc(var(--radius-md) * .75)}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:none}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:18px;margin-right:auto}.nav a{color:inherit;text-decoration:none;font-size:14px}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 68%,transparent);padding:var(--space-2);border-bottom:1px solid var(--color-divider)}.table td{padding:var(--space-2);border-bottom:1px solid color-mix(in srgb,var(--color-text) 8%,transparent)}.table tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--color-neutral-900) 50%,transparent)}.dialog{width:min(440px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{font-size:14px;opacity:.85}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.card,.btn,.input,.tag,.seg,.dialog{border-radius:0}.card,.dialog{background:transparent;border:1px solid var(--color-divider)}.btn{border:1px solid var(--color-divider)}.btn-primary{border-color:var(--color-accent)}.btn-ghost{border-color:transparent}:root{--color-bg:#f5f7fa;--color-surface:#ffffff;--color-text:#141b27;--color-divider:color-mix(in srgb,#141b27 14%,transparent);--color-accent:#003478;--color-accent-2:#3b6aa8;--color-accent-100:#e8eef7;--color-accent-200:#ccd9ec;--color-accent-300:#a3bbdc;--color-accent-400:#6e93c4;--color-accent-500:#3b6aa8;--color-accent-600:#1d4f8f;--color-accent-700:#003478;--color-accent-800:#00265c;--color-accent-900:#00193a;--color-accent-2-100:#e8eef7;--color-accent-2-300:#a3bbdc;--color-accent-2-500:#3b6aa8;--color-accent-2-800:#00265c;--color-neutral-100:#f2f4f8;--color-neutral-200:#e5e9ef;--color-neutral-300:#d1d7e0;--color-neutral-400:#b1b9c6;--color-neutral-500:#8a93a4;--color-neutral-600:#687285;--color-neutral-700:#4d5668;--color-neutral-800:#353d4c;--color-neutral-900:#1e2532;--accent-3:#00a0d2;--ok:#1d7a46;--ok-bg:#e4f3e9;--warn:#8f5800;--warn-bg:#fcefd6;--err:#b42318;--err-bg:#fde7e4;--info:#0369a1;--info-bg:#e0f0fa;--muted:color-mix(in srgb,var(--color-text) 68%,transparent)}.theme-dark{--color-bg:#0b1220;--color-surface:#111a29;--color-text:#e3e8f0;--color-divider:color-mix(in srgb,#e3e8f0 15%,transparent);--color-accent:#6e98d2;--color-accent-100:#14233b;--color-accent-200:#1a3050;--color-accent-300:#284a78;--color-accent-400:#3b64a0;--color-accent-500:#4f80c4;--color-accent-600:#6e98d2;--color-accent-700:#a3bfe6;--color-accent-800:#c6d7f0;--color-accent-900:#e2ebf8;--color-neutral-100:#151d2b;--color-neutral-200:#1d2738;--color-neutral-300:#2a3549;--color-neutral-400:#3d4a61;--color-neutral-500:#5c6a82;--color-neutral-600:#8792a6;--color-neutral-700:#aab3c3;--color-neutral-800:#cbd1dc;--color-neutral-900:#e6e9ef;--ok:#6fcf97;--ok-bg:#12301f;--warn:#f0c25a;--warn-bg:#33270c;--err:#f58c80;--err-bg:#3a1714;--info:#6cc0ee;--info-bg:#0e2a3d;background:var(--color-bg);color:var(--color-text)}.theme-dark .btn-primary{background:linear-gradient(180deg,#4f80c4,#3b64a0);border-color:#3b64a0;color:#fff;box-shadow:0 1px 2px #00000059,0 6px 16px #3b64a047}.theme-dark .btn-primary:hover{background:linear-gradient(180deg,#6e98d2,#4f80c4);border-color:#4f80c4}.theme-dark .btn-secondary{color:var(--color-accent-700);background:var(--color-accent-100);border-color:var(--color-accent-300)}.theme-dark .btn-secondary:hover{background:var(--color-accent-200);border-color:var(--color-accent-400);color:var(--color-accent-800)}.theme-dark .btn-info{background:linear-gradient(180deg,#3aa8d4,#1e7fa8);border-color:#1e7fa8}.theme-dark .btn-warn{color:#f0c25a;background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.theme-dark .btn-success{background:linear-gradient(180deg,#3d9a62,#2f7a4c);border-color:#2f7a4c}.theme-dark .btn-danger-soft{color:var(--err);background:var(--err-bg);border-color:color-mix(in srgb,var(--err) 45%,transparent)}.btn{border-radius:8px;min-height:40px;white-space:nowrap;letter-spacing:.01em;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .18s ease,transform .16s cubic-bezier(.22,1,.36,1),filter .16s ease}.btn svg{flex:none;transition:transform .16s ease}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):active{transform:translateY(0);transition-duration:.08s}.btn:disabled{transform:none;box-shadow:none;filter:none}.btn-primary{color:#fff;background:linear-gradient(180deg,var(--color-accent-500) 0%,var(--color-accent) 100%);border-color:var(--color-accent);box-shadow:0 1px 1px color-mix(in srgb,var(--color-accent-900) 12%,transparent),0 4px 12px color-mix(in srgb,var(--color-accent) 24%,transparent)}.btn-primary:hover{background:linear-gradient(180deg,var(--color-accent-400) 0%,var(--color-accent-600) 100%);border-color:var(--color-accent-600);box-shadow:0 2px 4px color-mix(in srgb,var(--color-accent-900) 16%,transparent),0 8px 18px color-mix(in srgb,var(--color-accent) 30%,transparent)}.btn-primary:active{background:var(--color-accent-800);border-color:var(--color-accent-800);box-shadow:0 1px 2px color-mix(in srgb,var(--color-accent-900) 20%,transparent)}.btn-primary:not(:disabled):hover svg{transform:translateY(-.5px)}.btn-secondary{color:var(--color-accent);background:var(--color-accent-100);border-color:color-mix(in srgb,var(--color-accent) 28%,transparent);box-shadow:0 1px 2px color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-secondary:hover{background:var(--color-accent-200);border-color:var(--color-accent-400);color:var(--color-accent-800);box-shadow:0 4px 12px color-mix(in srgb,var(--color-accent) 18%,transparent)}.btn-secondary:active{background:var(--color-accent-300);border-color:var(--color-accent-500);color:var(--color-accent-900);box-shadow:none}.btn-info{color:#fff;background:linear-gradient(180deg,#1ab0e0 0%,var(--accent-3,#00a0d2) 100%);border-color:var(--accent-3,#00a0d2);box-shadow:0 1px 1px color-mix(in srgb,#003d52 14%,transparent),0 4px 12px color-mix(in srgb,var(--accent-3,#00a0d2) 28%,transparent)}.btn-info:hover{background:linear-gradient(180deg,#33bce6,#0086b0);border-color:#0086b0;box-shadow:0 8px 18px color-mix(in srgb,var(--accent-3,#00a0d2) 34%,transparent)}.btn-info:active{background:#007096;border-color:#007096;box-shadow:none}.btn-warn{color:var(--warn);background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 38%,transparent);box-shadow:0 1px 2px color-mix(in srgb,var(--warn) 12%,transparent)}.btn-warn:hover{background:color-mix(in srgb,var(--warn) 16%,var(--warn-bg));border-color:color-mix(in srgb,var(--warn) 55%,transparent);color:#6d4200;box-shadow:0 4px 12px color-mix(in srgb,var(--warn) 18%,transparent)}.btn-warn:active{background:color-mix(in srgb,var(--warn) 22%,var(--warn-bg));box-shadow:none}.btn-ghost{border-radius:8px;color:var(--color-accent);transition:background .16s ease,color .16s ease,transform .16s cubic-bezier(.22,1,.36,1)}.btn-ghost:hover{color:var(--color-accent-800);background:var(--color-accent-100)}.btn-success{color:#fff;background:linear-gradient(180deg,#2f9a57 0%,var(--ok) 100%);border-color:var(--ok);box-shadow:0 1px 1px color-mix(in srgb,#0f3d22 14%,transparent),0 4px 12px color-mix(in srgb,var(--ok) 26%,transparent)}.btn-success:hover{background:linear-gradient(180deg,#3aad66,#19653a);border-color:#19653a;box-shadow:0 8px 18px color-mix(in srgb,var(--ok) 32%,transparent)}.btn-success:active{background:#145230;border-color:#145230;box-shadow:none}.btn-danger{background:linear-gradient(180deg,#d6453a 0%,var(--err) 100%);border-color:var(--err);color:#fff;box-shadow:0 1px 1px color-mix(in srgb,#5c100c 14%,transparent),0 4px 12px color-mix(in srgb,var(--err) 26%,transparent)}.btn-danger:hover{background:linear-gradient(180deg,#e0554a,#9b1c14);border-color:#9b1c14;box-shadow:0 8px 18px color-mix(in srgb,var(--err) 32%,transparent)}.btn-danger:active{background:#8a1711;border-color:#8a1711;box-shadow:none}.btn-danger-soft{color:#9b1c14;background:color-mix(in srgb,var(--err) 14%,var(--err-bg));border-color:color-mix(in srgb,var(--err) 42%,transparent);box-shadow:0 1px 2px color-mix(in srgb,var(--err) 12%,transparent)}.btn-danger-soft:hover{color:#fff;background:linear-gradient(180deg,#d6453a 0%,var(--err) 100%);border-color:var(--err);box-shadow:0 6px 16px color-mix(in srgb,var(--err) 28%,transparent)}.btn-danger-soft:active{background:#8a1711;border-color:#8a1711;color:#fff;box-shadow:none}@media (prefers-reduced-motion:reduce){.btn,.btn svg,.btn-ghost{transition:none}.btn:not(:disabled):hover,.btn:not(:disabled):active{transform:none}}.input{background:var(--color-surface)}.table{font-size:13px;font-variant-numeric:tabular-nums}.table th{white-space:nowrap;font-weight:500;padding:8px 10px}.table td{padding:9px 10px;vertical-align:middle}.table.compact td{padding:5px 10px}.num{font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.muted{color:var(--muted)}.kbd{font-family:ui-monospace,Menlo,monospace;font-size:11px;padding:1px 5px;border:1px solid var(--color-divider);border-bottom-width:2px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1;padding:4px 8px;font-weight:500;white-space:nowrap;border:1px solid transparent}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge.ph:before{content:none}.st-bozza{color:#4b5465;background:#eceff3;border-color:#d7dce4}.st-assegnato{color:#5a3fb0;background:#efebfb;border-color:#d9d0f5}.st-digit{color:#0b6e79;background:#e0f3f4;border-color:#bfe3e6}.st-verifica{color:#875400;background:#fbf0d2;border-color:#efd99a}.st-correggere{color:#b42318;background:#fde7e4;border-color:#f6c6bf}.st-approvato{color:#1d7a46;background:#e4f3e9;border-color:#bfe2cc}.st-consegnato{color:#fff;background:#2b3445;border-color:#2b3445}.sem-ok{color:var(--ok);background:var(--ok-bg)}.sem-warn{color:var(--warn);background:var(--warn-bg)}.sem-err{color:var(--err);background:var(--err-bg)}.sem-info{color:var(--info);background:var(--info-bg)}.sem-neutral{color:var(--color-neutral-700);background:var(--color-neutral-200)}.sem-progress{color:#5b21b6;background:#ede9fe}.theme-dark .sem-progress{color:#c4b5fd;background:#2a1f4d}.theme-dark .st-bozza{color:#aab3c3;background:#1d2738;border-color:#2a3549}.theme-dark .st-assegnato{color:#b6a5f0;background:#221a3d;border-color:#352a5e}.theme-dark .st-digit{color:#5fc7d1;background:#0d2b2f;border-color:#164a50}.theme-dark .st-verifica{color:#f0c25a;background:#33270c;border-color:#4d3b12}.theme-dark .st-correggere{color:#f58c80;background:#3a1714;border-color:#5a231e}.theme-dark .st-approvato{color:#6fcf97;background:#12301f;border-color:#1c4a30}.theme-dark .st-consegnato{color:#0b1220;background:#e3e8f0;border-color:#e3e8f0}.act-badge{--act-fg:var(--act);display:inline-flex;align-items:center;line-height:1.15;font-weight:600;max-width:100%;color:var(--act-fg);background:color-mix(in srgb,var(--act) 10%,var(--color-surface));border:1px solid color-mix(in srgb,var(--act) 28%,transparent);border-left:3px solid var(--act);box-sizing:border-box;vertical-align:middle}.act-badge-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.act-badge.act-off{--act-fg:var(--muted);background:var(--color-neutral-100);border-color:var(--color-divider);border-left-color:color-mix(in srgb,var(--act) 45%,var(--color-neutral-300))}.act-badge.act-off .act-badge-l{text-decoration:line-through}.act-mark{display:grid;place-items:center;flex:none;color:var(--act);background:color-mix(in srgb,var(--act) 12%,var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--act) 25%,transparent)}.theme-dark .act-badge,.theme-dark .act-mark{--act-fg:color-mix(in srgb,var(--act) 55%,#fff);background:color-mix(in srgb,var(--act) 22%,var(--color-surface))}.theme-dark .act-mark{color:color-mix(in srgb,var(--act) 55%,#fff)}.theme-dark .act-badge.act-off{--act-fg:var(--muted);background:var(--color-neutral-100)}.pbar{height:6px;background:var(--color-neutral-200);position:relative;overflow:hidden;min-width:60px}.pbar>span{position:absolute;top:0;bottom:0;left:0;background:var(--color-accent)}.pbar.carto>span{transition:width .4s ease-out}.pbar.indet>span{width:40%!important;animation:pbIndet 1.3s ease-in-out infinite}@keyframes pbIndet{0%{left:-40%}to{left:100%}}@media (prefers-reduced-motion:reduce){.pbar.carto>span{transition:none}.pbar.indet>span{animation:none;left:0;width:100%!important;opacity:.5}}.chip{display:inline-flex;gap:6px;align-items:center;font-size:12px;padding:3px 6px 3px 10px;border:1px solid var(--color-accent-300);background:var(--color-accent-100);color:var(--color-accent-800);white-space:nowrap}.chip>i{font-style:normal;opacity:.7;padding:0 3px;cursor:pointer}.src-chip{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:3px;line-height:1;border:1px solid transparent;flex:none;vertical-align:middle}.src-chip svg{width:9px;height:9px;flex:none}.src-gis{color:#0b6e79;background:#e0f3f4;border-color:#bfe3e6}.src-pme{color:#003478;background:#e6eef9;border-color:#b9cff0}.src-calc{color:#5b21b6;background:#ede9fe;border-color:#d6ccf7}.theme-dark .src-gis{color:#5fc7d1;background:#0d2b2f;border-color:#164a50}.theme-dark .src-pme{color:#9ebbd8;background:#1a2740;border-color:#2a3c5b}.theme-dark .src-calc{color:#c4b5fd;background:#2a1f4d;border-color:#3d2e6a}.cb{width:16px;height:16px;border:1.5px solid var(--color-neutral-500);display:inline-grid;place-items:center;vertical-align:middle;background:var(--color-surface);flex:none}.cb.on{background:var(--color-accent);border-color:var(--color-accent)}.cb.on:after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}.cb.mid{background:var(--color-accent);border-color:var(--color-accent)}.cb.mid:after{content:"";width:8px;height:2px;background:#fff}.skel{background:linear-gradient(90deg,var(--color-neutral-200),var(--color-neutral-100),var(--color-neutral-200));background-size:200% 100%;animation:sk 1.4s linear infinite}@keyframes sk{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.spin{display:inline-block;width:28px;height:28px;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--color-text) 10%,transparent);border-top-color:var(--color-accent);border-right-color:var(--color-accent);animation:spn .8s linear infinite;flex:none;vertical-align:middle;will-change:transform}.spin.xs{width:12px;height:12px;border-width:1.5px}.spin.sm{width:16px;height:16px;border-width:2px}.spin.lg{width:40px;height:40px;border-width:3px}.spin.inv{border-color:color-mix(in srgb,#fff 25%,transparent);border-top-color:#fff;border-right-color:#fff}@keyframes spn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}.load-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 20px;color:var(--muted);font-size:14px;text-align:center}.load-box.inline{padding:24px 16px;flex-direction:row;gap:10px}.load-box.card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:12px;box-shadow:var(--shadow-sm)}.load-box.fill{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:2;background:color-mix(in srgb,var(--color-bg) 78%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);padding:16px}.load-box.fill>.load-inner{display:flex;flex-direction:column;align-items:center;gap:10px}.load-box .load-lbl{color:var(--muted);font-size:13px;letter-spacing:.01em}.load-box .load-sub{color:var(--muted);font-size:12px;opacity:.8}html,body{margin:0;height:100%;background:#f5f7fa}button{font-family:inherit}a{color:var(--color-accent)}a:hover{color:var(--color-accent-800)}@keyframes tIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes shIn{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@keyframes fdIn{0%{opacity:0}to{opacity:1}}.tn-tip{position:relative}@keyframes fdMark{0%{opacity:0;transform:scale(.7) rotate(-8deg)}to{opacity:1;transform:none}}@keyframes fdBadge{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.18)}to{transform:scale(1)}}@keyframes fdTitle{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.fd-mark{animation:fdMark .32s cubic-bezier(.2,.8,.3,1.2) both}.fd-badge{animation:fdBadge .4s .16s ease-out both}.fd-title{animation:fdTitle .3s .06s ease-out both}@media (prefers-reduced-motion:reduce){.fd-mark,.fd-badge,.fd-title{animation:none}}@keyframes phRing{0%{box-shadow:0 0 color-mix(in srgb,var(--color-accent) 45%,transparent)}70%,to{box-shadow:0 0 0 7px color-mix(in srgb,var(--color-accent) 0%,transparent)}}@keyframes phDot{0%,to{opacity:1}50%{opacity:.35}}.ph-run{animation:phRing 2s ease-out infinite}.ph-dot{animation:phDot 1.6s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.ph-run,.ph-dot{animation:none}}.sb-brand{transition:opacity .15s}.sb-brand:hover{opacity:.82}.sb-brand:focus-visible{outline:2px solid #00a0d2;outline-offset:-2px}.page-header__mark{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:14px;background:linear-gradient(160deg,#e8f1fb,#d7e6f6);color:#003478;box-shadow:inset 0 0 0 1px color-mix(in srgb,#003478 8%,transparent)}.page-header__kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700,#003478);margin:0 0 4px;opacity:.85}.page-header__title{margin:0;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:clamp(28px,2.8vw,36px);line-height:1.08;letter-spacing:-.022em;color:var(--color-text);text-wrap:balance}.page-header__sub{margin:6px 0 0;font-size:14px;line-height:1.45;max-width:42rem;text-wrap:pretty}.ui-tip{position:fixed;left:0;top:0;z-index:1000;max-width:260px;padding:6px 9px;background:#141b27;color:#fff;font-family:var(--font-body);font-size:12px;font-weight:500;line-height:1.35;letter-spacing:.01em;border-radius:6px;box-shadow:0 6px 20px #00193a38;pointer-events:none;opacity:0;transform:translateY(3px) scale(.97);transition:opacity .12s ease-out,transform .14s ease-out;white-space:normal;overflow-wrap:anywhere}.ui-tip[data-side=bottom]{transform:translateY(-3px) scale(.97)}.ui-tip[data-side=right]{transform:translate(-3px) scale(.97)}.ui-tip.on{opacity:1;transform:none}.ui-tip:after{content:"";position:absolute;width:8px;height:8px;background:inherit;transform:rotate(45deg);left:calc(var(--ax,50%) - 4px)}.ui-tip[data-side=top]:after{bottom:-4px}.ui-tip[data-side=bottom]:after{top:-4px}.ui-tip[data-side=right]:after{left:-4px;top:calc(50% - 4px)}@media (prefers-reduced-motion:reduce){.ui-tip{transition:none}}.text-muted,figcaption{color:var(--muted)}.btn,.input{min-height:40px}.btn-icon{width:40px;height:40px}[role=dialog]:focus,[role=dialog]:focus-visible,[role=menu]:focus{outline:none}button:focus-visible,a:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-dark button:focus-visible,.theme-dark a:focus-visible{outline-color:#a3bfe6}.skip-link{position:fixed;left:12px;top:-60px;z-index:1001;padding:10px 16px;background:var(--color-accent);color:#fff;font-weight:600;text-decoration:none;border-radius:6px;box-shadow:var(--shadow-lg)}.skip-link:focus{top:12px;color:#fff}.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}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:var(--radius-md)}.icon-btn:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}tr[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.link-btn{font:inherit;color:inherit;background:transparent;border:0;padding:0;cursor:pointer;text-align:left}.link-btn:hover{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.th-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;background:transparent;border:0;padding:6px 0;margin:-6px 0;cursor:pointer;display:inline-flex;align-items:center}.chip-x{font:inherit;font-size:15px;line-height:1;display:inline-grid;place-items:center;width:24px;height:24px;margin:-4px -2px -4px 0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;opacity:.8}.chip-x:hover{opacity:1;background:color-mix(in srgb,currentColor 12%,transparent)}.am-item:hover,.am-item:focus{background:var(--color-accent-100);outline:none}.am-item:focus-visible{box-shadow:inset 3px 0 0 var(--color-accent)}.sf{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%}.sf-quick{display:inline-flex;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;border:1px solid var(--color-divider);background:var(--color-surface)}.sf-opt{font:inherit;flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:14px;border:0;background:transparent;color:var(--color-text);cursor:pointer;white-space:nowrap}.sf-opt+.sf-opt{border-left:1px solid var(--color-divider)}.sf-opt:hover{background:var(--color-accent-100)}.sf-opt.on{background:var(--sf-c,var(--color-accent));color:#fff}.sf-opt:focus-visible{outline-offset:-3px}.sf-n{font-size:12px;font-weight:600;line-height:18px;padding:0 7px;border-radius:999px;background:var(--color-neutral-200);color:var(--color-text)}.sf-opt.on .sf-n{background:#ffffff38;color:#fff}.sf-more{font:inherit;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px 0 14px;font-size:14px;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);cursor:pointer;white-space:nowrap}.sf-more:hover{border-color:var(--color-accent-400)}.sf-more.on{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.sf-more b{font-weight:600}.sf-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:25;min-width:250px;padding:6px 0;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:8px;box-shadow:var(--shadow-lg);animation:fdIn .12s}@media (max-width:600px){.sf-opt{padding:0 11px}.sf-opt svg{display:none}}.sf-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 14px;border:0;background:transparent;cursor:pointer;color:inherit;font-size:14px;text-align:left}.dp-trigger{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;margin:0}.dp-pop{width:288px;padding:14px 14px 10px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:10px;box-shadow:var(--shadow-lg);animation:fdIn .14s ease-out}.dp-head{display:flex;align-items:center;gap:4px;margin-bottom:10px}.dp-title{flex:1;min-height:36px;padding:0 8px;border:0;background:transparent;cursor:pointer;font:inherit;font-family:var(--font-heading);font-weight:600;font-size:15px;color:var(--color-text);text-transform:capitalize;border-radius:6px}.dp-title:hover{background:var(--color-accent-100);color:var(--color-accent)}.dp-nav{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid transparent;background:transparent;color:var(--color-text);cursor:pointer;border-radius:6px}.dp-nav:hover{background:var(--color-accent-100);color:var(--color-accent);border-color:var(--color-accent-200)}.dp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 45%,transparent);text-align:center}.dp-week span{padding:4px 0}.dp-grid,.dp-months{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-months{grid-template-columns:repeat(3,1fr);gap:6px;padding:4px 0 8px}.dp-day,.dp-chip{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;margin:0;display:inline-grid;place-items:center;border:0;background:transparent;color:var(--color-text);cursor:pointer;border-radius:8px}.dp-day{height:36px;font-size:13px;font-variant-numeric:tabular-nums}.dp-day:hover{background:var(--color-accent-100);color:var(--color-accent-800)}.dp-day.out{color:color-mix(in srgb,var(--color-text) 32%,transparent)}.dp-day.today{box-shadow:inset 0 0 0 1.5px var(--color-accent-400);font-weight:600}.dp-day.sel,.dp-chip.sel{background:var(--color-accent);color:#fff;font-weight:600;box-shadow:0 4px 10px color-mix(in srgb,var(--color-accent) 35%,transparent)}.dp-day.sel:hover,.dp-chip.sel:hover{background:var(--color-accent-600);color:#fff}.dp-chip{min-height:44px;font-size:13px;text-transform:capitalize}.dp-chip:hover{background:var(--color-accent-100);color:var(--color-accent-800)}.dp-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-divider)}.dp-pop-dt{width:300px}.dp-time{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-divider);display:flex;flex-direction:column;gap:8px}.dp-time-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 48%,transparent)}.dp-time-cols{display:grid;grid-template-columns:1fr 16px 1fr;gap:6px;align-items:stretch}.dp-time-sep{display:grid;place-items:center;font-size:18px;font-weight:600;color:var(--color-neutral-500);padding-top:4px}.dp-time-col{max-height:148px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:4px;border:1px solid var(--color-divider);border-radius:8px;background:var(--color-neutral-100);scrollbar-width:thin}.dp-time-item{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;margin:0;min-height:32px;border:0;background:transparent;color:var(--color-text);border-radius:6px;cursor:pointer;font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.dp-time-item:hover{background:var(--color-accent-100);color:var(--color-accent-800)}.dp-time-item.sel{background:var(--color-accent);color:#fff;font-weight:700;box-shadow:0 3px 8px color-mix(in srgb,var(--color-accent) 32%,transparent)}.theme-dark .dp-day.sel,.theme-dark .dp-chip.sel,.theme-dark .dp-time-item.sel{background:#3b64a0;box-shadow:0 4px 10px #3b64a066}.svc-name{font-family:var(--font-heading);font-weight:600;font-size:22px;line-height:1.15;color:inherit;text-decoration:none;overflow-wrap:anywhere;text-wrap:balance}.svc-name:hover{color:var(--color-accent)}.leaflet-container{z-index:0;isolation:isolate}
