:root{--brand-primary:#29295c;--brand-primary-dark:#1d1d45;--brand-primary-pale:#eeeef7;--brand-accent:#64b32e;--brand-accent-dark:#4b8e20;--brand-accent-pale:#eff8e9;--bg:#f4f7f6;--surface:#fff;--ink:#202039;--muted:#686879;--line:#dedee9;--green:var(--brand-primary);--green-dark:var(--brand-primary-dark);--green-pale:var(--brand-primary-pale);--gold:var(--brand-accent);--danger:#b42318;--shadow:0 18px 50px #10302314;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--ink);background:var(--bg);margin:0;font-family:Noto Sans Thai,Leelawadee UI,Tahoma,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}h1,h2,p{margin-top:0}h1{letter-spacing:-.025em;margin-bottom:.45rem;font-size:clamp(1.65rem,3vw,2.45rem)}h2{margin-bottom:.55rem;font-size:1.25rem}small{color:var(--muted);display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.eyebrow{color:var(--green);letter-spacing:.13em;margin-bottom:.3rem;font-size:.72rem;font-weight:800}.brand-logo{background:#fff;border:1px solid #29295c1a;border-radius:.65rem;display:block;overflow:hidden}.brand-logo img{width:100%;height:auto;display:block}.brand-logo-sidebar{width:100%}.auth-shell{background:radial-gradient(circle at 80% 0,#64b32e33,#0000 32%),radial-gradient(circle at 5% 85%,#29295c33,#0000 38%),#f7f7fb;place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{width:min(100%,29rem);box-shadow:var(--shadow);background:#fffffff5;border:1px solid #dce5e1e6;border-radius:1.5rem;padding:clamp(1.7rem,5vw,3rem)}.auth-card h1{font-size:1.8rem}.auth-footnote{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin:1.35rem 0 0;padding-top:1rem;font-size:.78rem}.stack{gap:1rem;margin-top:1.5rem;display:grid}.field{gap:.4rem;font-size:.9rem;font-weight:700;display:grid}.field input,.field select,.field textarea,.input-wrap{background:#fff;border:1px solid #cbd8d2;border-radius:.7rem;width:100%;min-height:2.9rem}.field>input,.field>select,.field>textarea{padding:.72rem .85rem}.field textarea{resize:vertical;font-family:inherit;line-height:1.5}.input-wrap{color:var(--muted);align-items:center;gap:.65rem;padding:0 .8rem;display:flex}.input-wrap input{border:0;border-radius:0;outline:none;min-height:auto;padding:.72rem 0}.field input:focus,.field select:focus,.field textarea:focus,.input-wrap:focus-within{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 3px #64b32e26}.button{border:1px solid #0000;border-radius:.68rem;justify-content:center;align-items:center;gap:.45rem;min-height:2.65rem;padding:.6rem 1rem;font-weight:750;display:inline-flex}.button-primary{color:#fff;background:var(--brand-primary);box-shadow:inset 0 -2px #64b32e8c}.button-primary:hover{background:var(--green-dark)}.button-secondary{border-color:var(--line);background:#fff}.button-danger{color:#fff;background:var(--danger)}.button-danger:hover{background:#8f1c13}.button-quiet{border-color:var(--line);background:#f8faf9;min-height:2.15rem;padding:.35rem .65rem;font-size:.8rem}.form-error{color:var(--danger);margin:0;font-size:.84rem}.app-shell{grid-template-columns:16rem minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f3f3fb;background:linear-gradient(180deg, var(--brand-primary-dark), var(--brand-primary));flex-direction:column;height:100vh;padding:1.25rem 1rem;display:flex;position:sticky;top:0}.sidebar-brand{gap:.5rem;padding:.3rem .4rem 1.25rem;display:grid}.sidebar-brand small{color:#d7d7ea;letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:.68rem;font-weight:700}.nav-list{gap:.35rem;display:grid}.nav-item{color:#e0e0ef;border-radius:.65rem;align-items:center;gap:.7rem;min-height:2.75rem;padding:.6rem .7rem;font-size:.9rem;display:flex}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item-disabled{cursor:default;opacity:.45}.nav-item-disabled small{color:#b6ccbf;margin-left:auto;font-size:.64rem}.sidebar-footer{border-top:1px solid #ffffff1f;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;margin-top:auto;padding:.85rem .5rem .2rem;display:grid}.sidebar-footer strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;display:block;overflow:hidden}.sidebar-footer small{color:#c1c1d8;font-size:.65rem}.icon-button{color:#d2e6dc;background:#ffffff12;border:0;border-radius:.55rem;place-items:center;width:2.2rem;height:2.2rem;display:grid}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:.8rem clamp(1rem,3vw,2.25rem);display:flex}.topbar-brand{min-width:17rem;color:var(--brand-primary)}.topbar-brand strong{font-size:.9rem;line-height:1.25}.topbar-search{border:1px solid var(--line);width:min(32rem,42vw);color:var(--muted);background:#fff;border-radius:.7rem;align-items:center;gap:.55rem;padding:.45rem .7rem;display:flex}.topbar-search input{background:0 0;border:0;outline:0;width:100%}.topbar-actions{align-items:center;gap:.45rem;display:flex}.topbar-icon{border:1px solid var(--line);background:#fff;border-radius:.65rem;place-items:center;width:2.35rem;height:2.35rem;display:grid;position:relative}.topbar-icon b{color:#fff;background:var(--danger);border-radius:999px;place-items:center;min-width:1.15rem;height:1.15rem;padding:0 .25rem;font-size:.62rem;display:grid;position:absolute;top:-.4rem;right:-.4rem}.role-badge{width:fit-content;color:var(--green-dark);background:var(--green-pale);border:1px solid #b8d9c9;border-radius:999px;padding:.25rem .5rem;font-size:.68rem;font-weight:800;display:inline-flex}.main-content{width:min(100%,90rem);margin:0 auto;padding:clamp(1rem,3vw,2.3rem)}.page-stack{gap:1.25rem;display:grid}.page-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.page-heading p{color:var(--muted);margin-bottom:0}.heading-actions{flex-wrap:wrap;gap:.65rem;display:flex}.hero-panel{color:#fff;background:linear-gradient(125deg, var(--brand-primary-dark) 0%, var(--brand-primary) 68%, #3c3c77 100%);border-radius:1.3rem;padding:clamp(1.4rem,4vw,2.6rem);position:relative;overflow:hidden;box-shadow:0 16px 40px #29295c33}.hero-panel:after{content:"";border:2.5rem solid #64b32e2e;border-radius:50%;width:18rem;height:18rem;position:absolute;bottom:-6rem;right:-4rem}.hero-status{z-index:1;align-items:center;gap:.45rem;margin-bottom:2.2rem;font-size:.77rem;font-weight:700;display:flex;position:relative}.hero-copy{z-index:1;position:relative}.hero-panel h2{max-width:42rem;font-size:clamp(1.4rem,3vw,2.2rem)}.hero-panel p{color:#e5e5f2;max-width:48rem;margin-bottom:0;line-height:1.75}.status-dot{background:var(--brand-accent);border-radius:50%;width:.55rem;height:.55rem;display:inline-block;box-shadow:0 0 0 4px #64b32e2e}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.metric-card,.section-card{border:1px solid var(--line);background:linear-gradient(180deg, #64b32e09, transparent 2.7rem), var(--surface);border-radius:1rem;box-shadow:0 7px 24px #29295c0e}.metric-card{border-top:3px solid var(--brand-accent);padding:1.25rem}.metric-card svg{color:var(--green);margin-bottom:1.2rem}.metric-card p{color:var(--muted);margin-bottom:.25rem;font-size:.78rem}.metric-card strong{margin-bottom:.2rem;display:block}.section-card{padding:1.35rem}.section-title{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-title svg{color:var(--green)}.narrow-page{width:min(100%,38rem);margin:2rem auto}.form-spaced{margin-top:1.5rem}.table-card{padding:0;overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.86rem}th,td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.9rem 1rem}th{color:var(--brand-primary);background:var(--brand-primary-pale);letter-spacing:.03em;font-size:.72rem}td strong,td small{display:block}td small{margin-top:.15rem}tbody tr:last-child td{border-bottom:0}.inline-action{justify-items:end;gap:.25rem;display:grid}code{background:#eef3f1;border-radius:.35rem;padding:.15rem .35rem;font-size:.76rem}.campaign-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:1rem;margin-top:1rem;display:grid}.campaign-wide{grid-column:1/-1}.campaign-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;min-width:16rem;display:flex}.campaign-actions small{text-align:right;flex-basis:100%}.status-badge{border-radius:999px;padding:.3rem .55rem;font-size:.68rem;font-weight:800;display:inline-flex}.status-draft{color:#76530c;background:#fff4d6}.status-published{color:var(--green-dark);background:var(--green-pale)}.status-archived{color:#59645f;background:#e9eeec}.success-text{color:var(--green);font-size:.84rem;font-weight:700}.editor-section-heading{padding:1.2rem 1.35rem .6rem}.editor-section-heading p{color:var(--muted);margin:0;font-size:.82rem}.rate-editor-table{min-width:75rem}.rate-editor-table th,.rate-editor-table td{padding:.55rem}.rate-editor-table input:not([type=checkbox]){border:1px solid var(--line);border-radius:.45rem;width:7.5rem;padding:.45rem .5rem}.rate-editor-table td:nth-child(2){gap:.35rem;display:flex}.rate-editor-table td:nth-child(8){max-width:10rem}.editor-split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1.5rem;display:grid}.json-editor,.test-case textarea{resize:vertical;background:#fbfdfc;border:1px solid #cbd8d2;border-radius:.7rem;width:100%;padding:.8rem;font:.78rem/1.5 Consolas,monospace}.test-case{border-bottom:1px solid var(--line);padding:.85rem 0}.test-case summary{cursor:pointer;font-weight:750}.test-case .field{margin-top:.75rem}.sticky-actions{border:1px solid var(--line);width:fit-content;box-shadow:var(--shadow);background:#fffffff2;border-radius:.8rem;align-items:center;gap:1rem;margin-left:auto;padding:.75rem;display:flex;position:sticky;bottom:1rem}.form-grid{gap:1rem;display:grid}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.full-width{grid-column:1/-1}.inline-fields{grid-template-columns:1fr auto;gap:.65rem;display:grid}.inline-fields select{background:#fff;border:1px solid #cbd8d2;border-radius:.7rem;min-height:2.9rem;padding:.7rem}.check-field{align-items:center;gap:.55rem;font-size:.9rem;font-weight:700;display:flex}.wizard-layout{grid-template-columns:12rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}.wizard-steps{gap:.35rem;margin:0;padding:0;list-style:none;display:grid;position:sticky;top:5.5rem}.wizard-steps button{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:.7rem;align-items:center;gap:.65rem;padding:.65rem;display:flex}.wizard-steps span{border:1px solid var(--line);background:#fff;border-radius:50%;flex:none;place-items:center;width:1.75rem;height:1.75rem;font-size:.72rem;font-weight:800;display:grid}.wizard-steps .active button{color:var(--green-dark);background:var(--green-pale);font-weight:800}.wizard-steps .active span,.wizard-steps .done span{color:#fff;border-color:var(--green);background:var(--green)}.wizard-card{align-content:start;gap:1.25rem;min-height:34rem;display:grid}.wizard-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:1rem;padding-bottom:.9rem;display:flex}.autosave-state{text-align:right}.wizard-nav{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.lender-grid,.comparison-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.8rem;display:grid}.lender-choice,.plan-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:.85rem;gap:.4rem;padding:1.1rem;display:grid}.lender-choice.selected,.plan-card.selected{border-color:var(--green);box-shadow:0 0 0 3px #11784f1a}.plan-card b{color:var(--green-dark);font-size:1.05rem}.comparison-section{gap:1rem;display:grid}.equipment-list{gap:.55rem;display:grid}.equipment-list>div{border:1px solid var(--line);border-radius:.7rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.7rem;display:grid}.equipment-list input{border:1px solid var(--line);border-radius:.4rem;width:4.5rem;padding:.35rem}.rule-check-list{gap:.7rem;display:grid}.rule-check-list>.rule-violation{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;align-items:start;gap:.75rem;padding:.75rem 0;display:grid}.rule-check-list p{color:var(--muted);margin:.15rem 0 0;font-size:.86rem}.rule-check-success{border:1px solid color-mix(in srgb, var(--green) 35%, var(--line));background:var(--green-pale);color:var(--green-dark);border-radius:.85rem;align-items:flex-start;gap:.85rem;padding:1.15rem;display:flex}.rule-check-success svg{color:var(--green);flex:none;margin-top:.05rem}.rule-check-success h3{color:var(--green-dark);margin:0;font-size:1rem}.rule-check-success p{color:var(--green-dark);margin-top:.3rem;line-height:1.55}.warning-text{color:#8a5b00!important}.status-valid{color:var(--green-dark);background:var(--green-pale)}.status-review{color:#76530c;background:#fff4d6}.status-invalid{color:var(--danger);background:#feeceb}.save-summary{justify-items:start;gap:.8rem;display:grid}.save-summary dl,.detail-list{width:100%;margin:0}.save-summary dl div,.detail-list div{border-bottom:1px solid var(--line);grid-template-columns:10rem 1fr;gap:1rem;padding:.65rem 0;display:grid}dt{color:var(--muted)}dd{overflow-wrap:anywhere;margin:0}.filter-bar{grid-template-columns:2fr repeat(3,minmax(8rem,1fr)) auto;align-items:end;gap:.75rem;display:grid}.snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.quote-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.quote-actions>small{text-align:right;flex-basis:100%}.duplicate-menu{position:relative}.duplicate-menu summary{list-style:none}.duplicate-menu>div{z-index:5;border:1px solid var(--line);width:15rem;box-shadow:var(--shadow);background:#fff;border-radius:.7rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0}.duplicate-menu>div button{text-align:left;background:#fff;border:0;border-radius:.45rem;padding:.65rem}.duplicate-menu>div button:hover{background:var(--green-pale)}.admin-equipment-layout{grid-template-columns:minmax(17rem,.7fr) minmax(0,1.3fr);align-items:start;gap:1rem;display:grid}.verify-shell{background:radial-gradient(circle at 20% 0%, #64b32e29, transparent 35%), radial-gradient(circle at 90% 90%, #29295c1f, transparent 34%), var(--bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.verify-card{border:1px solid var(--line);width:min(100%,38rem);box-shadow:var(--shadow);background:#fff;border-radius:1.3rem;padding:clamp(1.5rem,5vw,3rem)}.verify-card code{overflow-wrap:anywhere}.feed-list{gap:1rem;display:grid}.announcement-card{border-left:.3rem solid #0000}.announcement-card.unread-card{border-left-color:var(--green)}.pre-wrap{white-space:pre-wrap;line-height:1.7}.record-meta{color:var(--muted);flex-wrap:wrap;gap:.4rem 1rem;margin:1rem 0;font-size:.78rem;display:flex}.priority-normal{color:#53645c;background:#edf2f0}.priority-important{color:#76530c;background:#fff4d6}.priority-urgent{color:var(--danger);background:#feeceb}.unread-row{background:#f2faf6}.empty-state{color:var(--muted);text-align:center;background:linear-gradient(145deg, var(--brand-accent-pale), white 65%)}tbody tr:only-child td[colspan]{color:var(--muted);background:linear-gradient(90deg, var(--brand-primary-pale), white, var(--brand-accent-pale));text-align:center}.admin-ops-layout{grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr);align-items:start;gap:1rem;display:grid}.user-management{gap:1rem;display:grid}.user-toolbar{border-top:3px solid var(--brand-accent);justify-content:space-between;align-items:center;gap:1rem;display:flex}.user-toolbar h2,.user-toolbar p:last-child{margin-bottom:0}.user-editor{border-left:3px solid var(--brand-primary);gap:1rem;display:grid}.user-editor .editor-section-heading{padding:0}.user-form-note{margin-bottom:0;font-size:.82rem}.user-feedback{border:1px solid var(--line);background:#fff;border-radius:.7rem;margin:0;padding:.75rem 1rem}.user-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;min-width:19rem;display:flex}.user-table{min-width:68rem}.profile-grid{grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);gap:1rem;display:grid}.profile-card{border-width:2px;align-items:center;gap:1rem;display:flex}.profile-avatar{border:.35rem solid hsl(var(--profile-hue,150) 55% 50%);color:#fff;background:linear-gradient(145deg, hsl(var(--profile-hue,150) 52% 34%), hsl(calc(var(--profile-hue,150) + 28) 64% 53%));width:5.5rem;height:5.5rem;box-shadow:0 8px 25px hsl(var(--profile-hue,150) 45% 40% / .22);border-radius:50%;flex:none;place-items:center;font-size:2rem;font-weight:900;display:grid}.profile-frame-bronze{border-color:#9a6a3a}.profile-frame-silver{border-color:#9fb5c3}.profile-frame-gold{border-color:#d2a43b}.profile-frame-premium{border-color:hsl(var(--profile-hue) 65% 55%)}.profile-frame-tera{border-color:var(--gold);background:linear-gradient(135deg,#fff,#fff9e8)}.level-number{color:var(--green);font-size:clamp(2rem,5vw,3.5rem)}.progress-track{background:#e6ece9;border-radius:999px;height:.7rem;margin:1rem 0 .6rem;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--green), #36a876);height:100%;display:block}.case-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.case-action-grid>.success-text,.case-action-grid>.form-error{grid-column:1/-1}.danger-zone{background:linear-gradient(#fff4f3,#fff 4rem);border-color:#f0b7b2}.modal-backdrop{z-index:100;background:#14142394;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-modal{border:1px solid var(--line);width:min(100%,34rem);max-height:calc(100vh - 2rem);box-shadow:var(--shadow);background:#fff;border-radius:1rem;padding:1.35rem;overflow-y:auto}.modal-actions{justify-content:flex-end;gap:.65rem;display:flex}.timeline{gap:.2rem;display:grid}.timeline>div{border-left:2px solid var(--line);padding:.45rem 0 .85rem 1.4rem;position:relative}.timeline>div:before{background:var(--green);content:"";border-radius:50%;width:.62rem;height:.62rem;position:absolute;top:.75rem;left:-.38rem}.timeline p{color:var(--muted);margin:.2rem 0}.compact-feed article{border-bottom:1px solid var(--line);padding:.8rem 0}.compact-feed article:last-child{border-bottom:0}.compact-filter{grid-template-columns:2fr 1fr auto}.search-form{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;display:grid}.search-form input{border:1px solid #cbd8d2;border-radius:.7rem;min-height:2.9rem;padding:.7rem .85rem}.search-groups{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.search-result{border-bottom:1px solid var(--line);gap:.2rem;padding:.75rem 0;display:grid}.search-result:last-child{border-bottom:0}.search-result span{color:#405149;font-size:.86rem}@media (max-width:820px){.app-shell{grid-template-columns:1fr;padding-bottom:4.6rem}.sidebar{z-index:10;height:auto;padding:.45rem .65rem calc(.45rem + env(safe-area-inset-bottom));display:block;position:fixed;inset:auto 0 0}.sidebar-brand,.sidebar-footer{display:none}.nav-list{grid-template-columns:repeat(5,1fr);gap:.15rem}.nav-item{text-align:center;flex-direction:column;justify-content:center;gap:.18rem;min-height:3.6rem;padding:.3rem;font-size:.63rem}.nav-item small{display:none}.topbar{min-height:4rem}.card-grid,.campaign-form-grid,.editor-split,.wizard-layout,.admin-equipment-layout,.admin-ops-layout,.snapshot-grid,.filter-bar,.profile-grid,.case-action-grid,.search-groups{grid-template-columns:1fr}.user-toolbar{flex-direction:column;align-items:stretch}.user-toolbar .button{width:100%}.wizard-steps{grid-template-columns:repeat(7,minmax(0,1fr));position:static;overflow-x:auto}.wizard-steps button{justify-content:center;padding:.35rem;font-size:0}.wizard-steps span{font-size:.72rem}.two-columns{grid-template-columns:1fr}.full-width{grid-column:auto}.page-heading{flex-direction:column;align-items:flex-start}.topbar-search{width:min(18rem,45vw)}}@media (max-width:480px){.nav-list{grid-template-columns:repeat(5,minmax(0,1fr))}.nav-item svg{width:17px}.topbar{flex-wrap:wrap}.topbar-brand{min-width:0}.topbar-brand strong{max-width:13rem;font-size:.74rem;display:block}.topbar-search{order:3;width:100%}.topbar-actions .role-badge{display:none}.main-content{padding:1rem}th,td{padding:.75rem}}
