:root{color:#172523;font-synthesis:none;text-rendering:optimizelegibility;--green-950:#0c2926;--green-900:#113833;--green-800:#153f3a;--green-700:#1d5951;--green-600:#277267;--green-100:#dcece8;--green-50:#edf6f3;--gold:#d8ad5c;--gold-soft:#f7ecd5;--ink:#172523;--muted:#6b7976;--line:#dce4e2;--panel:#fff;--danger:#b83c46;--danger-soft:#fff0f1;--amber:#b26b18;--amber-soft:#fff6e8;--blue:#2865a3;--blue-soft:#edf5fd;--shadow:0 12px 35px #153f3a14;--radius:18px;background:#f4f7f6;font-family:Segoe UI,Tahoma,Noto Sans Thai,sans-serif}*{box-sizing:border-box}html{background:#f4f7f6;min-width:320px}body{background:#f4f7f6;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.025em;margin-bottom:.55rem;font-size:clamp(1.55rem,4vw,2.25rem);line-height:1.15}h2{margin-bottom:.25rem;font-size:1.12rem}small{color:var(--muted)}.stack{flex-direction:column;display:flex}.gap-lg{gap:16px}.gap-xl{gap:22px}.muted{color:var(--muted)}.padded{padding:16px}.eyebrow{color:var(--green-600);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:800}.eyebrow.light{color:#bfe2d9}label{color:#344541;flex-direction:column;gap:7px;font-size:.88rem;font-weight:650;display:flex}input,select,textarea{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #cbd8d5;border-radius:12px;outline:0;padding:10px 13px;transition:border-color .16s,box-shadow .16s}textarea{resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 3px #27726721}input[type=checkbox],input[type=radio]{width:20px;min-height:20px;accent-color:var(--green-700)}.button{border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 17px;font-weight:750;transition:transform .12s,box-shadow .15s,background .15s;display:inline-flex}.button:active{transform:translateY(1px)}.button.primary{background:var(--green-800);color:#fff;box-shadow:0 8px 18px #153f3a2e}.button.primary:hover{background:var(--green-700)}.button.secondary{background:var(--green-50);color:var(--green-800);border:1px solid #c9dfda}.button.ghost{color:var(--muted);border:1px solid var(--line);background:0 0}.button.full{width:100%}.text-button{color:var(--green-700);background:0 0;border:0;min-height:34px;padding:6px;font-weight:750}.danger-text{color:var(--danger)}.icon-button{width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:11px;place-items:center;font-size:1.15rem;display:grid}.icon-button:hover{background:#ffffff17}.card{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #cddad7c7}.alert{border:1px solid;border-radius:12px;padding:12px 15px;font-size:.9rem}.alert.success{background:var(--green-50);color:#176056;border-color:#b8ded4}.alert.danger{background:var(--danger-soft);color:#962e38;border-color:#f0c2c6}.hint{color:var(--muted);margin:-6px 0 0;font-size:.8rem}.login-page{background:#fff;grid-template-columns:1fr;min-height:100vh;display:grid}.login-hero{display:none}.login-panel{background:radial-gradient(circle at 100% 0,#e8f3f0 0,#0000 42%),#f7f9f8;align-items:center;min-height:100vh;padding:24px 18px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:24px;width:min(100%,440px);margin:auto;padding:28px 22px;box-shadow:0 24px 65px #153f3a21}.login-card h2{margin-bottom:5px;font-size:1.75rem}.mobile-brand{color:var(--green-900);align-items:center;gap:10px;margin-bottom:28px;font-size:1.15rem;display:flex}.brand-mark{width:66px;height:66px;color:var(--green-900);background:#fff;border-radius:20px;place-items:center;font-size:2rem;font-weight:900;display:grid;box-shadow:0 10px 30px #00000024}.brand-mark.small{background:var(--green-800);color:#fff;width:40px;height:40px;box-shadow:none;border-radius:12px;flex:none;font-size:1.15rem}.login-footnote{border-top:1px solid var(--line);color:var(--muted);margin-top:25px;padding-top:18px;font-size:.8rem}.login-footnote p{margin:4px 0 0;line-height:1.55}.center-page{background:radial-gradient(circle at 50% 0,#dceee9,#0000 50%),#f4f7f6;place-items:center;min-height:100vh;padding:20px;display:grid}.password-card{width:min(100%,480px);padding:28px}.app-shell{min-height:100vh}.sidebar{z-index:50;background:linear-gradient(180deg, var(--green-950), var(--green-900));color:#fff;flex-direction:column;width:270px;padding:22px 16px;transition:transform .22s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:12px 0 30px #09262233}.sidebar.open{transform:translate(0)}.sidebar-brand{align-items:center;gap:12px;padding:0 8px 24px;display:flex}.sidebar-brand .brand-mark{color:var(--green-900);background:#fff}.sidebar-brand div{flex-direction:column;display:flex}.sidebar-brand strong{font-size:1.15rem}.sidebar-brand small{color:#a7c7c0;letter-spacing:.08em;font-size:.62rem}.sidebar nav{flex-direction:column;gap:6px;display:flex}.sidebar nav a{color:#c9ded9;border-radius:12px;align-items:center;gap:13px;min-height:48px;padding:10px 13px;font-weight:650;text-decoration:none;display:flex}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff1c}.sidebar nav a.active{box-shadow:inset 3px 0 var(--gold)}.sidebar-user{border-top:1px solid #ffffff1f;grid-template-columns:38px 1fr 44px;align-items:center;gap:9px;margin-top:auto;padding:18px 4px 0;display:grid}.avatar{background:var(--gold);color:#3c2b0b;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:850;display:grid}.sidebar-user>div:nth-child(2){flex-direction:column;min-width:0;display:flex}.sidebar-user strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.sidebar-user small{color:#9bbcb5;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.app-main{min-height:100vh}.topbar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#ffffffeb;align-items:center;gap:10px;height:66px;padding:0 14px;display:flex;position:sticky;top:0}.topbar .icon-button:hover{background:var(--green-50)}.topbar-title{flex-direction:column;margin-right:auto;display:flex}.topbar-title strong{color:var(--green-900)}.topbar-title span{color:var(--muted);font-size:.68rem}.page-content{width:min(100%,1460px);margin:auto;padding:18px 14px 80px}.scrim{z-index:40;background:#05191680;border:0;position:fixed;inset:0}.notification-wrap,.notification-button{position:relative}.count-badge{background:var(--danger);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.62rem;font-weight:800;display:grid;position:absolute;top:3px;right:3px}.notification-popover{z-index:90;border:1px solid var(--line);background:#fff;border-radius:16px;max-height:min(70vh,520px);position:fixed;top:64px;left:12px;right:12px;overflow:hidden;box-shadow:0 24px 65px #0c292638}.popover-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:10px 14px;display:flex}.notification-list{max-height:440px;overflow-y:auto}.notification-list button{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f0;flex-direction:column;gap:4px;width:100%;padding:12px 14px;display:flex}.notification-list button.unread{background:var(--green-50);box-shadow:inset 3px 0 var(--green-600)}.page-heading{flex-direction:column;gap:14px;display:flex}.page-heading p:last-child{margin-bottom:0}.live-pill,.admin-badge{background:var(--green-50);color:var(--green-700);border:1px solid #b9d9d1;border-radius:999px;align-self:flex-start;padding:8px 12px;font-size:.76rem;font-weight:750}.live-pill span{background:#26a377;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block;box-shadow:0 0 0 4px #26a37724}.filter-bar{box-shadow:none;grid-template-columns:1fr;align-items:end;gap:12px;padding:14px;display:grid}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.kpi-card{border:1px solid var(--line);border-top:4px solid var(--green-600);background:#fff;border-radius:15px;flex-direction:column;min-height:126px;padding:16px;display:flex;box-shadow:0 8px 24px #153f3a0e}.kpi-card span{color:var(--muted);font-size:.78rem}.kpi-card strong{color:var(--green-950);margin:4px 0 auto;font-size:clamp(1.65rem,5vw,2.2rem)}.kpi-card small{font-size:.7rem}.kpi-card.amber{background:linear-gradient(160deg,#fff,#fffaf1);border-top-color:#dda149}.kpi-card.green{border-top-color:#3b9f7f}.kpi-card.red{background:linear-gradient(160deg,#fff,#fff7f7);border-top-color:#d65a65}.kpi-card.blue{background:linear-gradient(160deg,#fff,#f7fbff);border-top-color:#568dcc}.segmented{border:1px solid var(--line);background:#eaf0ee;border-radius:14px;gap:5px;padding:5px;display:flex;overflow-x:auto}.segmented button{min-height:42px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:10px;flex:1 0 auto;padding:8px 14px;font-weight:750}.segmented button.active{color:var(--green-900);background:#fff;box-shadow:0 4px 12px #153f3a17}.form-card{flex-direction:column;gap:20px;padding:18px 15px;display:flex}.form-grid{gap:14px;display:grid}.section-title{flex-direction:column;gap:7px;display:flex}.section-title>div{align-items:center;gap:10px;display:flex}.section-title h2{margin:0}.section-title.with-border{border-top:1px solid var(--line);padding-top:20px}.step-number{color:#fff;background:var(--green-700);border-radius:9px;place-items:center;width:30px;height:30px;font-size:.8rem;font-weight:850;display:grid}.danger-step{background:var(--danger)}.upload-zone{cursor:pointer;text-align:center;background:#f6faf9;border:2px dashed #a9c8c1;border-radius:16px;place-items:center;min-height:220px;padding:12px;display:grid;overflow:hidden}.upload-zone:hover{border-color:var(--green-600);background:var(--green-50)}.upload-zone input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.upload-zone img{object-fit:contain;border-radius:10px;max-height:360px}.upload-zone>div{flex-direction:column;align-items:center;gap:6px;display:flex}.upload-icon{background:var(--green-100);width:50px;height:50px;color:var(--green-700);border-radius:15px;place-items:center;font-size:1.5rem;display:grid}.progress-wrap{flex-direction:column;gap:6px;display:flex}.progress{appearance:none;background:#e3ebe9;border:0;border-radius:99px;width:100%;height:8px;overflow:hidden}.progress::-webkit-progress-bar{background:#e3ebe9;border-radius:99px}.progress::-webkit-progress-value{background:linear-gradient(90deg, var(--green-600), var(--gold));border-radius:99px;transition:width .2s}.progress::-moz-progress-bar{background:linear-gradient(90deg, var(--green-600), var(--gold));border-radius:99px}.block-action{margin-top:5px;display:block}.employee-admin-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:5px 0;display:flex}.employee-admin-row:last-child{border-bottom:0}.ocr-details{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.ocr-details summary{color:var(--green-700);cursor:pointer;font-weight:700}.ocr-details pre{white-space:pre-wrap;color:#495854;max-height:220px;font:.76rem/1.55 ui-monospace,monospace;overflow:auto}.confirm-row,.switch-row{background:var(--green-50);border:1px solid #c8ddd8;border-radius:13px;flex-direction:row;align-items:flex-start;gap:11px;padding:13px}.confirm-row span,.switch-row span{flex-direction:column;gap:2px;display:flex}.table-card{overflow:hidden}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.card-head h2,.card-head p{margin-bottom:2px}.card-head p{color:var(--muted);font-size:.78rem}.responsive-table{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf1f0;padding:13px 15px;font-size:.84rem}th{color:#65736f;letter-spacing:.03em;text-transform:uppercase;background:#f7f9f8;font-size:.7rem}td strong,td small{display:block}tr:last-child td{border-bottom:0}.row-actions{flex-wrap:wrap;gap:3px;display:flex}.count-chip{background:var(--danger-soft);color:var(--danger);border-radius:99px;padding:6px 10px;font-size:.72rem;font-weight:750}.amber-text{color:var(--amber)!important}.green-text{color:#1d795f!important}.red-text{color:var(--danger)!important}.dot-label{align-items:center;gap:5px;font-size:.75rem;display:inline-flex}.dot-label:before{content:"";background:#a0aaa7;border-radius:50%;width:7px;height:7px}.dot-label.active:before{background:#25a175}.dot-label.inactive:before{background:var(--danger)}.status{white-space:nowrap;border-radius:99px;align-items:center;min-height:25px;padding:3px 9px;font-size:.68rem;font-weight:800;display:inline-flex}.status-pending,.status-submitted{background:var(--amber-soft);color:var(--amber)}.status-passed,.status-case_closed{background:var(--green-50);color:#1b715a}.status-clarify,.status-not_found{color:#a15b13;background:#fff3e4}.status-case_open{background:var(--danger-soft);color:var(--danger)}.status-draft{color:#67736f;background:#eef1f0}.empty-state{text-align:center;min-height:180px;color:var(--muted);align-content:center;place-items:center;padding:26px;display:grid}.empty-state p{max-width:420px;margin:5px 0 0;font-size:.82rem}.empty-icon{width:44px;height:44px;color:var(--green-700);background:var(--green-100);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.branch-summary-grid{grid-template-columns:1fr;gap:13px;display:grid}.branch-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:17px;width:100%;padding:0;transition:transform .14s,border-color .14s;overflow:hidden;box-shadow:0 8px 25px #153f3a0e}.branch-card:hover{border-color:#a8cbc3;transform:translateY(-2px)}.branch-card-head{justify-content:space-between;align-items:center;padding:15px;display:flex}.branch-card-head>div{flex-direction:column;display:flex}.branch-card-head strong{font-size:1rem}.branch-card-head span:not(.chevron){color:var(--green-600);font-size:.74rem;font-weight:750}.chevron{color:var(--green-600);font-size:1.7rem}.branch-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafcfb;grid-template-columns:repeat(4,1fr);display:grid}.branch-metrics div{text-align:center;border-right:1px solid var(--line);flex-direction:column;padding:12px 5px;display:flex}.branch-metrics div:last-child{border:0}.branch-metrics strong{font-size:1.25rem}.branch-metrics small{font-size:.62rem}.branch-card-foot{color:var(--muted);justify-content:space-between;padding:11px 15px;font-size:.7rem;display:flex}.review-workspace{gap:15px;display:grid}.queue-panel{align-self:start;overflow:hidden}.queue-list{max-height:68vh;overflow-y:auto}.queue-list>button{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f0;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:68px;padding:11px 14px;display:flex}.queue-list>button.active{background:var(--green-50);box-shadow:inset 4px 0 var(--green-600)}.queue-list>button>div{flex-direction:column;gap:3px;display:flex}.queue-list>button>div:last-child{align-items:flex-end}.review-detail{overflow:hidden}.review-detail>.card-head{align-items:center}.receipt-frame{background:#13211f;place-items:center;min-height:260px;max-height:520px;display:grid;overflow:hidden}.receipt-frame img{object-fit:contain;width:100%;height:100%;max-height:520px}.image-placeholder{color:#b8c8c4}.read-only-grid{background:var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.read-only-grid div{background:#fff;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.read-only-grid span{color:var(--muted);font-size:.7rem}.read-only-grid strong{font-size:.82rem}.immutable-note{color:#5c6a67;background:#eef3f2;border-radius:10px;margin:14px;padding:10px 12px;font-size:.75rem}.review-form{padding:0 15px 18px}.result-picker{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.result-picker label{border:1px solid var(--line);background:#fff;border-radius:11px;flex-direction:row;align-items:center;min-height:48px;padding:9px}.result-picker label.selected{border-color:var(--green-600);background:var(--green-50);box-shadow:0 0 0 2px #2772671a}.result-picker label.selected.result-case_open{border-color:var(--danger);background:var(--danger-soft)}.modal-backdrop{z-index:100;background:#081f1ca8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;flex-direction:column;gap:16px;width:min(100%,540px);max-height:90vh;padding:18px;display:flex;overflow-y:auto;box-shadow:0 30px 80px #00000047}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal .icon-button:hover{background:#eef3f2}.image-modal{width:min(100%,800px)}.image-modal img{object-fit:contain;background:#17211f;max-height:72vh}.admin-tabs button{flex:1 0 140px}.admin-grid{gap:16px;display:grid}.settings-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:68px;padding:12px 16px;display:flex}.settings-list>div:last-child{border:0}.settings-list>div>div{flex-direction:column;display:flex}.toggle input{opacity:0;position:absolute}.toggle span{background:#bec8c5;border-radius:99px;width:48px;height:28px;padding:3px;transition:background .16s}.toggle span:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .16s;display:block;box-shadow:0 2px 5px #0000002e}.toggle input:checked+span{background:var(--green-600)}.toggle input:checked+span:after{transform:translate(20px)}.loading-screen{min-height:100vh;color:var(--green-800);align-content:center;place-items:center;gap:12px;display:grid}.spinner{border:4px solid var(--green-100);border-top-color:var(--green-700);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:620px){.page-content{padding:25px 24px 80px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.branch-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-popover{width:390px;position:absolute;top:49px;left:auto;right:0}.section-title{flex-direction:row;justify-content:space-between;align-items:center}}@media (min-width:900px){.login-page{grid-template-columns:minmax(420px,1.1fr) minmax(440px,.9fr)}.login-hero{color:#fff;background:radial-gradient(circle at 85% 10%, #d8ad5c38, transparent 30%), linear-gradient(145deg, var(--green-950), var(--green-700));flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(45px,7vw,95px);display:flex}.login-hero h1{letter-spacing:-.045em;max-width:760px;font-size:clamp(2.65rem,5vw,4.8rem)}.hero-copy{color:#c7ddd8;max-width:600px;font-size:1.05rem;line-height:1.7}.secure-note{color:#c6dbd6;align-items:center;gap:9px;font-size:.82rem;display:flex}.secure-note span{background:#ffffff1f;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.login-panel{padding:45px}.login-card{padding:38px}.mobile-brand{display:none}.sidebar{transform:none}.app-main{margin-left:270px}.mobile-only,.scrim{display:none!important}.topbar{padding:0 28px}.page-content{padding:30px 32px 80px}.page-heading{flex-direction:row;justify-content:space-between;align-items:flex-start}.live-pill,.admin-badge{align-self:center}.filter-bar{grid-template-columns:repeat(3,minmax(160px,1fr)) auto}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.branch-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-workspace{grid-template-columns:minmax(290px,.72fr) minmax(520px,1.5fr);align-items:start}.queue-panel{position:sticky;top:86px}.admin-grid{grid-template-columns:minmax(340px,.72fr) minmax(540px,1.28fr);align-items:start}}@media (min-width:1350px){.branch-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
