@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/db9bfcd87f1d73a3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4e2312c98e240c05-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/feed52454563c595-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f83e5507ec3854fa-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8934311971e59087-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bfdf244a9384e8b2-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b10e9fa1144bb4fb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d13ab8ed065835e4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d8c0f620f258dcc1-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5fcb63deed33aab6-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e595057e1ab84c19-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/861fabf8a4ffc042-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/2b32cc5cb75c7a84-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0d4277ce62acaedf-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/942c4903ae74b0f3-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/66c5464579bf95d1-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Thai Fallback;src:local("Arial");ascent-override:110.31%;descent-override:52.78%;line-gap-override:0.00%;size-adjust:101.17%}.__className_218bf9{font-family:IBM Plex Sans Thai,IBM Plex Sans Thai Fallback;font-style:normal}.__variable_218bf9{--font-sans:"IBM Plex Sans Thai","IBM Plex Sans Thai Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--h:172;--paper:oklch(0.970 0.008 var(--h));--surface:oklch(0.995 0.003 var(--h));--surface-2:oklch(0.945 0.014 var(--h));--ink:oklch(0.240 0.028 var(--h));--muted:oklch(0.520 0.022 var(--h));--line:oklch(0.885 0.016 var(--h));--line-strong:oklch(0.655 0.022 var(--h));--accent:oklch(0.460 0.100 var(--h));--accent-ink:oklch(0.400 0.095 var(--h));--accent-soft:oklch(0.945 0.030 var(--h));--accent-wash:oklch(0.460 0.100 var(--h)/0.08);--ok:oklch(0.480 0.100 150);--ok-soft:oklch(0.945 0.035 150);--warn:oklch(0.520 0.095 75);--warn-soft:oklch(0.950 0.045 75);--danger:oklch(0.500 0.130 30);--danger-soft:oklch(0.945 0.035 30);--bg:var(--paper);--shadow-overlay:0 1px 2px oklch(0.24 0.03 var(--h)/0.06),0 12px 28px -10px oklch(0.24 0.04 var(--h)/0.18);--r-1:4px;--r-2:8px;--r-3:12px;--r-full:999px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--step--1:0.8125rem;--step-0:1rem;--step-1:1.125rem;--step-2:1.375rem;--step-3:1.75rem;--step-4:2.25rem;--dur:160ms;--ease:cubic-bezier(0.2,0,0,1);--tap:44px}@media (prefers-color-scheme:dark){:root{--paper:oklch(0.170 0.012 var(--h));--surface:oklch(0.215 0.016 var(--h));--surface-2:oklch(0.265 0.018 var(--h));--ink:oklch(0.940 0.012 var(--h));--muted:oklch(0.700 0.020 var(--h));--line:oklch(0.320 0.020 var(--h));--line-strong:oklch(0.525 0.026 var(--h));--accent:oklch(0.740 0.110 var(--h));--accent-ink:oklch(0.800 0.100 var(--h));--accent-soft:oklch(0.300 0.045 var(--h));--accent-wash:oklch(0.740 0.110 var(--h)/0.12);--ok:oklch(0.760 0.110 150);--ok-soft:oklch(0.300 0.045 150);--warn:oklch(0.790 0.100 75);--warn-soft:oklch(0.310 0.045 75);--danger:oklch(0.720 0.130 30);--danger-soft:oklch(0.310 0.050 30);--shadow-overlay:0 1px 2px oklch(0 0 0/0.4),0 12px 28px -10px oklch(0 0 0/0.6)}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans),"Noto Sans Thai",system-ui,sans-serif;font-size:var(--step-0);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent-soft);color:var(--accent-ink)}a{color:var(--accent-ink);text-underline-offset:.2em;text-decoration-thickness:1px;transition:color var(--dur) var(--ease)}a:hover{color:var(--accent)}h1,h2,h3{line-height:1.3;letter-spacing:-.015em;font-weight:700;text-wrap:balance}h1{font-size:var(--step-3)}h1,h2{margin:0 0 var(--space-3)}h2{font-size:var(--step-2)}h2,h3{font-weight:600}h3{font-size:var(--step-1);margin:0 0 var(--space-2)}code,kbd,samp{font-family:var(--font-mono),ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-1)}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.container{max-width:42rem;margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-8)}.container.wide{max-width:70rem}.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0 var(--space-5);margin-bottom:var(--space-5);border-bottom:1px solid var(--line)}.site-header nav{display:flex;gap:var(--space-2);font-size:var(--step--1);font-weight:600}.site-header nav a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--space-2);border-radius:var(--r-2);text-decoration:none}.site-header nav a:hover{background:var(--accent-soft)}.brand{display:inline-flex;align-items:center;min-height:var(--tap);gap:var(--space-2);font-size:var(--step-2);font-weight:700;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}.brand-mark{width:1.7em;height:1.7em;flex:none}.brand .accent,.brand-mark{color:var(--accent)}.brand-tag{font-size:.6em;letter-spacing:.08em;border:1px solid var(--line);border-radius:var(--r-1);padding:.15em .45em;align-self:center}.brand-tag,.eyebrow{font-family:var(--font-mono),monospace;font-weight:500;text-transform:uppercase;color:var(--muted)}.eyebrow{font-size:var(--step--1);letter-spacing:.1em;margin:0 0 var(--space-2)}.page-title{font-size:var(--step-3);margin:0 0 var(--space-3)}.lede{font-size:var(--step-1);color:var(--muted);margin:0 0 var(--space-5);max-width:34rem}.accent-text{color:var(--accent)}.hint{color:var(--muted);font-size:var(--step--1);line-height:1.55}.hint.is-warn{color:var(--warn)}.hint.is-danger{color:var(--danger)}.hint.pull-up{margin-top:calc(var(--space-2) * -1)}.detail-text{white-space:pre-wrap}.mono{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--space-5);margin-bottom:var(--space-4)}.card>:first-child{margin-top:0}.card>:last-child{margin-bottom:0}.card.card-tight{padding:var(--space-3)}.login-card{max-width:26rem;margin:var(--space-8) auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--r-2);cursor:pointer;padding:.65rem 1.25rem;min-height:var(--tap);font-size:var(--step-0);font-family:inherit;font-weight:600;line-height:1.2;background:var(--accent);text-decoration:none;text-align:center;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn,.btn:hover{color:var(--surface)}.btn:hover{background:var(--accent-ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn .icon{flex:none;opacity:.9}.btn.secondary{background:var(--surface);color:var(--accent-ink);border-color:var(--line-strong)}.btn.secondary:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.btn.big{width:100%;padding:.95rem 1.25rem;font-size:var(--step-1);min-height:3.25rem}.btn.small{padding:.35rem .8rem;min-height:var(--tap);font-size:var(--step--1)}.btn.danger,.btn.danger:hover{background:var(--danger)}.btn.danger:hover{filter:brightness(.92)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-full);padding:.5rem 1rem;min-height:2.5rem;font-size:var(--step-0);font-family:inherit;font-weight:500;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.chip:hover{border-color:var(--accent);background:var(--accent-soft)}.chip.selected{background:var(--accent);border-color:var(--accent);color:var(--surface);font-weight:600}.field{margin-bottom:var(--space-4)}.field label{display:block;font-weight:600;font-size:var(--step--1);margin-bottom:var(--space-2)}.field input[type=date],.field input[type=password],.field input[type=text],.field select,.field textarea{width:100%;padding:.65rem .8rem;min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--surface);color:var(--ink);font-family:inherit;font-size:var(--step-0);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.7}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--accent)}.field textarea.compact{min-height:5rem}.field textarea{min-height:8rem;resize:vertical;line-height:1.6}.check-row{display:flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--step--1);margin:var(--space-1) 0 var(--space-3);cursor:pointer;min-height:var(--tap)}.check-row input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}.notice{border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:var(--r-2);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0;font-size:var(--step--1);line-height:1.6;background:var(--surface)}.notice.notice-icon{display:grid;grid-template-columns:1.25rem 1fr;grid-gap:var(--space-3);gap:var(--space-3);align-items:start}.notice.notice-icon .icon{margin-top:.15em}.notice.warn{background:var(--warn-soft);border-left-color:var(--warn)}.notice.warn .icon{color:var(--warn)}.notice.danger .icon{color:var(--danger)}.notice.accent .icon{color:var(--accent)}.notice.danger{background:var(--danger-soft);border-left-color:var(--danger)}.notice.accent{background:var(--accent-soft);border-left-color:var(--accent)}.promise-list{list-style:none;padding:0;margin:0;grid-gap:var(--space-3)}.promise-list,.promise-list li{display:grid;gap:var(--space-3)}.promise-list li{grid-template-columns:1.25rem 1fr;grid-gap:var(--space-3);align-items:start;font-size:var(--step--1);line-height:1.6}.promise-list .icon{margin-top:.2em;color:var(--muted)}.promise-list .icon.is-ok{color:var(--ok)}.promise-list .icon.is-never{color:var(--danger)}.home-actions{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-5) 0 var(--space-6)}.progress-label{font-family:var(--font-mono),monospace;color:var(--muted);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-2)}.wizard-nav{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-5)}input[type=file]{display:block;width:100%;min-height:var(--tap);padding:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--surface-2);color:var(--muted);font-family:inherit;font-size:var(--step--1)}input[type=file]:hover{border-color:var(--accent)}input[type=file]::-webkit-file-upload-button{margin-right:var(--space-3);padding:.35rem .8rem;border:1px solid var(--line-strong);border-radius:var(--r-1);background:var(--surface);color:var(--accent-ink);font-family:inherit;font-size:var(--step--1);font-weight:600;cursor:pointer}input[type=file]::file-selector-button{margin-right:var(--space-3);padding:.35rem .8rem;border:1px solid var(--line-strong);border-radius:var(--r-1);background:var(--surface);color:var(--accent-ink);font-family:inherit;font-size:var(--step--1);font-weight:600;cursor:pointer}input[type=file]::-webkit-file-upload-button:hover{background:var(--accent-soft);border-color:var(--accent)}input[type=file]::file-selector-button:hover{background:var(--accent-soft);border-color:var(--accent)}.file-list{list-style:none;padding:0;margin:var(--space-3) 0}.file-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-1);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1);font-size:var(--step--1)}.file-list .size{color:var(--muted);white-space:nowrap;font-family:var(--font-mono),monospace}.ticket-code{font-family:var(--font-mono),monospace;font-size:var(--step-3);letter-spacing:.12em;text-align:center;background:var(--surface);border:1px dashed var(--accent);border-radius:var(--r-3);padding:var(--space-5) var(--space-4);margin:var(--space-4) 0;-webkit-user-select:all;-moz-user-select:all;user-select:all;word-break:break-all}.status-pill,.ticket-code{font-weight:600;color:var(--accent-ink)}.status-pill{display:inline-block;border-radius:var(--r-full);padding:.15rem .7rem;font-size:var(--step--1);background:var(--accent-soft);border:1px solid transparent;white-space:nowrap}.channel-tag{display:inline-block;margin-left:var(--space-2);font-family:var(--font-mono),monospace;font-size:.65rem;font-weight:600;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);border-radius:var(--r-1);padding:0 .35em;vertical-align:1px}.status-pill.closed{background:var(--surface-2);color:var(--muted);border-color:var(--line)}.status-pill.need_info{background:var(--warn-soft);color:var(--warn)}.timeline{list-style:none;padding:0;margin:var(--space-2) 0}.timeline li{border-left:2px solid var(--line);padding:0 0 var(--space-3) var(--space-4);margin-left:.4rem;position:relative}.timeline li:before{content:"";position:absolute;left:-5px;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--line-strong)}.timeline li:first-child:before{background:var(--accent)}.timeline .day{font-family:var(--font-mono),monospace;color:var(--muted);font-size:var(--step--1)}.chat{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0}.chat .msg{max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--r-2);font-size:var(--step--1);line-height:1.6;border:1px solid var(--line)}.chat .reporter{background:var(--accent-soft);border-color:transparent;align-self:flex-end;border-bottom-right-radius:var(--r-1)}.chat .reviewer{background:var(--surface-2);align-self:flex-start;border-bottom-left-radius:var(--r-1)}.chat .who{display:block;font-family:var(--font-mono),monospace;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-1)}table.cases{border-collapse:collapse;width:100%;font-size:var(--step--1)}table.cases td,table.cases th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line)}table.cases th{background:var(--surface-2);font-family:var(--font-mono),monospace;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}table.cases td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.cases tbody tr{position:relative;cursor:pointer;transition:background var(--dur) var(--ease)}table.cases tr:hover td{background:var(--accent-wash)}.row-link:after{content:"";position:absolute;inset:0}.row-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:-2px}.table-scroll.card{padding:0}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-2)}.review-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--line);margin-bottom:var(--space-5)}.review-tab{padding:var(--space-2) var(--space-4);text-decoration:none;color:var(--muted);font-weight:600;font-size:var(--step--1);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.review-tab:hover{color:var(--ink)}.review-tab.active{color:var(--accent-ink);border-bottom-color:var(--accent)}.stat-tiles{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.stat-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.stat-value{font-family:var(--font-mono),monospace;font-size:var(--step-4);font-weight:600;line-height:1.05;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{color:var(--muted);font-size:var(--step--1)}.chart-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}.chart-card{margin-bottom:0}.chart-title{font-size:var(--step-0);font-weight:600;margin:0 0 var(--space-4)}.bars{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3px}.bars li{display:grid;grid-template-columns:minmax(7.5rem,34%) 1fr auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:.15rem 0}.bar-label{font-size:var(--step--1);color:var(--ink);overflow-wrap:anywhere}.bar-track{background:var(--surface-2);border-radius:var(--r-1);height:16px;display:block}.bar-fill{display:block;height:100%;background:var(--accent);border-radius:0 var(--r-1) var(--r-1) 0}.bar-value{font-family:var(--font-mono),monospace;font-size:var(--step--1);font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}.filter-bar{display:grid;grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4);align-items:end;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr))}.filter-bar .field{margin-bottom:0}.filter-actions{display:flex;gap:var(--space-2);align-items:center}.evidence-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr))}.evidence-item{margin:0;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden;display:flex;flex-direction:column}.evidence-item img,.evidence-item video{width:100%;height:190px;object-fit:cover;display:block;background:var(--surface)}.evidence-item audio{width:100%;padding:var(--space-3)}.evidence-item .evidence-file{height:190px;display:flex;align-items:center;justify-content:center;font-size:var(--step-0);font-weight:600;color:var(--accent-ink);text-decoration:none;background:var(--surface)}.evidence-item figcaption{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--step--1);word-break:break-word;border-top:1px solid var(--line)}.evidence-item figcaption .hint,.evidence-item figcaption .size{font-size:.75rem;font-family:var(--font-mono),monospace}.kv{display:grid;grid-template-columns:max-content 1fr;grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4);font-size:var(--step--1)}.kv dt{color:var(--muted)}.kv dd{margin:0}.map-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);padding:var(--space-3)}.leaflet-picker{height:420px;cursor:crosshair}.leaflet-picker,.review-map{width:100%;border-radius:var(--r-2);overflow:hidden;z-index:0;background:var(--surface-2)}.review-map{height:560px}.roona-pin{position:relative}.roona-pin-dot{position:absolute;left:8px;top:8px;width:8px;height:8px;border-radius:50%;background:var(--danger);border:2px solid var(--surface)}.roona-pin-ring{position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;border:2px solid var(--danger);opacity:.55}.map-pin circle{fill:var(--danger);opacity:.35}.map-pin .map-pin-core{fill:var(--danger);opacity:1}.map-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}.leaflet-container .leaflet-popup-content-wrapper,.leaflet-container .leaflet-popup-tip,.leaflet-control-zoom a{box-shadow:var(--shadow-overlay)}.leaflet-container.leaflet-touch .leaflet-control-zoom a,.leaflet-control-zoom a{width:var(--tap);height:var(--tap);line-height:var(--tap);color:var(--ink);background:var(--surface);border-color:var(--line)}.leaflet-control-zoom a:hover{background:var(--surface-2);color:var(--accent-ink)}.area-selects{display:grid;grid-gap:var(--space-1);gap:var(--space-1);margin-top:var(--space-3)}@media (min-width:640px){.area-selects{grid-template-columns:1fr 1fr 1fr;gap:var(--space-3)}}.date-range{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}@media (min-width:480px){.date-range{grid-template-columns:1fr 1fr;gap:var(--space-3)}}.header-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}footer.site-footer{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--line);color:var(--muted);font-size:.75rem;font-family:var(--font-mono),monospace;letter-spacing:.03em}[data-density=compact]{--step-0:0.9375rem;--step-2:1.1875rem;--step--1:0.8125rem;--step-3:1.5rem;--tap:34px}[data-density=compact] .card{padding:var(--space-4);margin-bottom:var(--space-3)}[data-density=compact] .btn{min-height:2.25rem;padding:.4rem .9rem}[data-density=compact] table.cases td,[data-density=compact] table.cases th{padding:.4rem var(--space-3)}[data-density=compact] .field{margin-bottom:var(--space-3)}