:root{color-scheme:light;--bg:#edf3fb;--bg-2:#dbe8f8;--panel:#ffffff;--panel-strong:#f3f8ff;--text:#112843;--muted:#4c6482;--line:#c8d8ec;--line-strong:#9fb8d9;--primary:#0b4f8a;--primary-strong:#083b67;--accent:#1d5f9f;--success-bg:#e7f8ee;--success-text:#0f6b3f;--warning-bg:#e8f0ff;--warning-text:#1f4f84;--danger-bg:#fce6ec;--danger-text:#9f1239;--neutral-bg:#eaf2ff;--neutral-text:#1f4c83;--shadow:0 14px 32px rgba(15,44,78,0.1)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:var(--font-body),"Noto Sans Thai",sans-serif;color:var(--text);background:radial-gradient(1000px 440px at 90% -10%,rgba(11,79,138,.18),transparent 55%),radial-gradient(820px 380px at -5% 0,rgba(56,124,191,.12),transparent 58%),linear-gradient(180deg,var(--bg-2),var(--bg))}h1,h2,h3,h4{font-family:var(--font-heading),"Sora",sans-serif;margin:0;letter-spacing:-.02em}p{margin:0}a{color:inherit;text-decoration:none}.page-wrap{width:min(1180px,94vw);margin:0 auto;padding:28px 0 56px}.content-stack,.topbar{gap:16px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(135deg,rgba(8,45,82,.98),rgba(11,79,138,.96));color:#f8fcff;border-radius:20px;padding:22px;box-shadow:var(--shadow)}.brand-block{display:grid;grid-gap:6px;gap:6px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;opacity:.88;font-weight:700}.topbar h1{font-size:clamp(1.42rem,3.2vw,2rem);line-height:1.14}.muted{color:var(--muted)}.tiny{font-size:12px}.topbar .muted{color:#def1ff}.topbar-actions{gap:10px;align-items:center}.subnav,.topbar-actions{display:flex;flex-wrap:wrap}.subnav{gap:8px;margin:0}.subnav-row{margin-top:12px;margin-bottom:12px;display:flex;justify-content:space-between;gap:10px;align-items:center}.subnav-actions{margin-left:auto}.subnav-link{border-radius:999px;border:1px solid var(--line-strong);background:rgba(255,255,255,.9);color:#1e487a;padding:9px 14px;font-size:13px;font-weight:700}.subnav-link.active{background:var(--primary);border-color:var(--primary);color:#fff}.hero{background:linear-gradient(135deg,#083764 2%,#0c4f8a 48%,#2067a9);color:#f4f9ff;border-radius:22px;padding:28px;box-shadow:var(--shadow);display:grid;grid-gap:18px;gap:18px}.hero h1{font-size:clamp(1.6rem,3.4vw,2.35rem)}.hero p{max-width:780px;line-height:1.56;color:#dcebff}.landing-auth-card{max-width:720px;margin:0 auto;text-align:center}.landing-auth-card p{margin-left:auto;margin-right:auto}.app-version{margin-top:-10px;font-size:11px;color:#cde1ff;opacity:.95;letter-spacing:.02em}.thaid-login-button{margin:8px auto 0;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:min(100%,430px);height:62px;padding:0 28px;border-radius:999px;border:2px solid #0b4f8a;background:#ffffff;color:#0b4f8a;font-size:clamp(1rem,2.6vw,1.9rem);font-weight:700;box-shadow:0 12px 24px rgba(12,53,98,.2);transition:transform .2s ease,box-shadow .2s ease}.thaid-login-button:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(12,53,98,.26);color:#083b67;border-color:#083b67}.thaid-login-icon{width:36px;height:36px;border-radius:50%;object-fit:cover}@media (max-width:640px){.thaid-login-button{width:100%;font-size:1.1rem}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(13,35,63,.05);margin-bottom:14px}.panel-soft{background:var(--panel-strong)}.grid{display:grid;grid-gap:14px;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.seven{grid-template-columns:repeat(7,minmax(0,1fr))}.stat-panel{display:grid;grid-gap:6px;gap:6px}.stat-value{font-size:clamp(1.35rem,2.2vw,1.9rem);font-weight:800;color:#11355a;font-family:var(--font-heading),"Sora",sans-serif}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.badge.success{background:var(--success-bg);color:var(--success-text)}.badge.warning{background:#fff4dd;color:#9a6400}.badge.danger{background:var(--danger-bg);color:var(--danger-text)}.badge.info{background:#e7f1ff;color:#1d4f89}.badge.neutral{background:#edf1f7;color:#4a607c}.actions{display:flex;gap:10px;flex-wrap:wrap}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:12px;padding:10px 14px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--primary);color:#fff}.button.ghost{background:rgba(240,247,255,.95);color:#184678}.button.ghost,.button.outline{border-color:var(--line-strong)}.button.outline{background:transparent;color:#1e4a7c}.button.logout-button{color:#ffffff;border-color:rgba(225,238,255,.72);background:rgba(255,255,255,.1)}.button.logout-button:hover{color:#ffffff;border-color:rgba(235,245,255,.95);background:rgba(255,255,255,.18)}.button.warn{background:#1f4f84;color:#fff}.form-grid{display:grid;grid-gap:12px;gap:12px}label{display:grid;grid-gap:8px;gap:8px;font-size:13px;font-weight:700;color:#1f476f}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:12px;padding:11px 12px;font-size:14px;font-family:var(--font-body),"Noto Sans Thai",sans-serif;color:var(--text);background:#fff}textarea{min-height:128px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(11,79,138,.25);outline-offset:0;border-color:#4a82bd}.table-wrap{display:block;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px}.table{width:max-content;min-width:100%;border-collapse:collapse;background:#fff}.table td,.table th{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);font-size:14px;white-space:nowrap}.table th{background:#edf4ff;color:#215082;font-size:12px;letter-spacing:.02em;text-transform:uppercase}.loading-line{width:42%;height:10px;border-radius:999px;background:linear-gradient(90deg,#d2e3f9,#8caed7,#d2e3f9);background-size:220% 100%;animation:pulse 1.2s linear infinite}@keyframes pulse{0%{background-position:0 0}to{background-position:220% 0}}.field-error{color:#b42318;font-size:12px;font-weight:700}.toast-wrap{position:fixed;right:16px;bottom:16px;display:grid;grid-gap:8px;gap:8px;z-index:50}.toast{min-width:260px;max-width:360px;background:#0f2238;color:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 12px 30px rgba(9,23,41,.32);display:flex;justify-content:space-between;align-items:center;gap:10px}.toast.success{background:#166534}.toast.error{background:#9f1239}.toast.info{background:#154a82}.toast-close{border:none;border-radius:8px;padding:6px 8px;font-size:12px;cursor:pointer;color:#fff;background:rgba(255,255,255,.18)}.list{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px;color:#245182}.timeline{display:grid;grid-gap:9px;gap:9px}.timeline-item{border-left:3px solid #89aeda;padding-left:10px;font-size:13px;color:#274f80}.chat{display:grid;grid-gap:10px;gap:10px}.complaint-detail-split{grid-template-columns:minmax(240px,.82fr) minmax(0,1.18fr)}.bubble{max-width:82%;border-radius:14px;padding:10px 12px;font-size:14px;line-height:1.45;border:1px solid var(--line)}.bubble.staff{background:#eef5ff;margin-right:auto}.bubble.user{background:#e7f1ff;margin-left:auto}.reveal{animation:reveal .46s ease both}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:960px){.grid.five,.grid.four,.grid.seven,.grid.three,.grid.two{grid-template-columns:1fr}.topbar{padding:18px}.subnav-row{align-items:stretch;flex-direction:column}.subnav-actions{margin-left:0}.hero{padding:20px}.bubble{max-width:94%}}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-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:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-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:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-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:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-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:Sora Fallback;src:local("Arial");ascent-override:85.29%;descent-override:25.50%;line-gap-override:0.00%;size-adjust:113.73%}.__className_71081e{font-family:Sora,Sora Fallback;font-style:normal}.__variable_71081e{--font-heading:"Sora","Sora Fallback"}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/f196b1e65fee88ed-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:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/61a7a85bb72f3355-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:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/cc95fdb254242a42-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:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/f196b1e65fee88ed-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:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/61a7a85bb72f3355-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:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/cc95fdb254242a42-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:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/f196b1e65fee88ed-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:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/61a7a85bb72f3355-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:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/cc95fdb254242a42-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:Noto Sans Thai;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/f196b1e65fee88ed-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:Noto Sans Thai;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/61a7a85bb72f3355-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:Noto Sans Thai;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/cc95fdb254242a42-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:Noto Sans Thai Fallback;src:local("Arial");ascent-override:99.79%;descent-override:42.32%;line-gap-override:0.00%;size-adjust:106.33%}.__className_cb1e9a{font-family:Noto Sans Thai,Noto Sans Thai Fallback;font-style:normal}.__variable_cb1e9a{--font-body:"Noto Sans Thai","Noto Sans Thai Fallback"}