@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarabun-thai-400-normal-C2DaJlKK.woff2)format("woff2"),url(/assets/sarabun-thai-400-normal-CH-UbWgg.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarabun-vietnamese-400-normal-igdrzAGY.woff2)format("woff2"),url(/assets/sarabun-vietnamese-400-normal-DPfkSCMy.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarabun-latin-ext-400-normal-BbP7GpLL.woff2)format("woff2"),url(/assets/sarabun-latin-ext-400-normal-BsmTn0SS.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarabun-latin-400-normal-URPBxl-K.woff2)format("woff2"),url(/assets/sarabun-latin-400-normal-DmguIS-7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sarabun-thai-600-normal-3dIAQ-_s.woff2)format("woff2"),url(/assets/sarabun-thai-600-normal-DWKeTe6a.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sarabun-vietnamese-600-normal-DkxrOlLB.woff2)format("woff2"),url(/assets/sarabun-vietnamese-600-normal-BMbOgAW-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sarabun-latin-ext-600-normal-BRxjKUQ6.woff2)format("woff2"),url(/assets/sarabun-latin-ext-600-normal-0tXu9x_i.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Sarabun;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sarabun-latin-600-normal-DMD3TROr.woff2)format("woff2"),url(/assets/sarabun-latin-600-normal-9FonlkKx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sarabun-thai-700-normal-CbuDipM3.woff2)format("woff2"),url(/assets/sarabun-thai-700-normal-CP2-p8e-.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sarabun-vietnamese-700-normal-DrMy3BMX.woff2)format("woff2"),url(/assets/sarabun-vietnamese-700-normal-lN6N8XBT.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sarabun-latin-ext-700-normal-CnQtP196.woff2)format("woff2"),url(/assets/sarabun-latin-ext-700-normal-ykw7DJpk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Sarabun;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sarabun-latin-700-normal-DQKyWxHq.woff2)format("woff2"),url(/assets/sarabun-latin-700-normal-DUuqj4Ju.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand:#0f766e;--brand-600:#0d9488;--brand-50:#f0fdfa;--brand-100:#ccfbf1;--side:#0b3b38;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--bg:#f6f8fa;--card:#fff;--red:#dc2626;--amber:#b45309;--green:#15803d;--blue:#1d4ed8;--radius:10px;color:var(--ink);font-family:Sarabun,system-ui,sans-serif;font-size:15px}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--brand);text-decoration:none}h1{margin:0;font-size:22px}h2{margin:0 0 12px;font-size:17px}input,select,textarea,button{font:inherit;color:inherit}.shell{grid-template-columns:228px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--side);color:#d1e7e4;box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;flex-direction:column;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.side .nav{flex:1 0 auto}.brand{color:#fff;align-items:center;gap:10px;padding:4px 6px 16px;font-size:18px;font-weight:700;display:flex}.brand .logo{background:var(--brand-600);border-radius:8px;place-items:center;width:32px;height:32px;font-size:13px;display:grid}.nav a{color:#cfe3e0;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 12px;display:flex}.nav a:hover{background:#ffffff12}.nav a.active{color:#fff;background:#ffffff24;font-weight:600}.nav .sec{text-transform:uppercase;letter-spacing:.06em;opacity:.55;padding:12px 12px 4px;font-size:12px}.side .foot{border-top:1px solid #ffffff1a;margin-top:auto;padding:8px;font-size:13px}.side .foot select{color:#fff;background:#ffffff14;border:0;border-radius:6px;width:100%;margin:6px 0;padding:6px}.side .foot select option{color:#000}.content{flex-direction:column;min-width:0;display:flex}.main{min-width:0;padding:20px 28px 60px}.topbar{z-index:20;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:10px 28px;display:flex;position:sticky;top:0}.topbar .org-switch{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.topbar .org-switch select{color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-width:240px;max-width:60vw;padding:7px 10px;font-size:15px;font-weight:600}.topbar a{font-size:14px}.topbar .menu-btn{padding:6px 12px;font-size:18px;display:none}.side-backdrop{display:none}.boq-table td,.boq-table th{padding:6px}.boq-table .lv-super td{background:var(--side);color:#fff;font-weight:700}.boq-table .lv-super .inp{color:#fff;background:#ffffff1f;border-color:#ffffff40;font-weight:700}.boq-table .lv-header td{background:var(--brand-100);color:var(--ink);font-weight:700}.boq-table .lv-group td{background:var(--brand-50);font-weight:600}.boq-table .num{width:56px;color:var(--muted);font-size:13px}.boq-table .lv-super .num,.boq-table .lv-header .num{color:inherit}.boq-table .inp{padding:5px 7px}.boq-table .rowact{white-space:nowrap}.boq-table .rowact button{padding:2px 7px;font-size:12px}.lock-banner{color:#78350f;background:#fef3c7;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;display:flex}.progress{background:#e2e8f0;border-radius:3px;width:110px;height:6px;margin-top:4px}.progress>div{background:var(--brand);border-radius:3px;height:6px}.head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.head .grow{flex:1}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.grid{gap:14px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.btn{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.btn:hover{background:#f8fafc}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-600)}.btn.danger{color:var(--red);border-color:#fecaca}.btn.sm{padding:4px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.field{flex-direction:column;gap:4px;display:flex}.field>span{color:var(--muted);font-size:13px}.field input,.field select,.field textarea,.inp{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:8px 10px}.field input:focus,.field select:focus,.field textarea:focus,.inp:focus{outline:2px solid var(--brand-100);border-color:var(--brand-600)}.check{align-items:center;gap:8px;display:flex}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 14px}.tabs button.on{color:var(--brand);border-color:var(--brand);font-weight:600}table.t{border-collapse:collapse;width:100%}table.t th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);background:#f8fafc;padding:9px 10px;font-size:13px;font-weight:600}table.t td{vertical-align:top;border-bottom:1px solid #f1f5f9;padding:9px 10px}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--brand-50)}table.t tfoot td{border-top:2px solid var(--line);font-weight:700}.r{text-align:right!important}.c{text-align:center!important}.muted{color:var(--muted)}.small{font-size:13px}.badge{border-radius:99px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.badge.gray{color:#475569;background:#f1f5f9}.badge.amber{color:var(--amber);background:#fef3c7}.badge.blue{color:var(--blue);background:#dbeafe}.badge.green{color:var(--green);background:#dcfce7}.badge.red{color:var(--red);background:#fee2e2}.alert{color:#991b1b;background:#fee2e2;border-radius:8px;margin-bottom:12px;padding:10px 14px}.alert.ok{color:#166534;background:#dcfce7}.stat .k{color:var(--muted);font-size:13px}.stat .v{margin-top:4px;font-size:24px;font-weight:700}.stat .s{color:var(--muted);margin-top:2px;font-size:13px}.empty{text-align:center;color:var(--muted);padding:40px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sum-box{width:340px;margin-left:auto}.sum-box div{justify-content:space-between;padding:4px 0;display:flex}.sum-box .big{border-top:1px solid var(--line);margin-top:4px;padding-top:8px;font-size:18px;font-weight:700}.lines td .inp{padding:6px 8px}.modal-bg{z-index:50;background:#0f172a73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:min(620px,100%);max-height:90vh;padding:22px;overflow:auto}.bar{border-radius:4px;height:10px}.auth{background:linear-gradient(135deg, var(--side), var(--brand));place-items:center;min-height:100vh;padding:20px;display:grid}.auth .card{width:min(420px,100%);padding:28px}.paper{color:#000;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:14mm;font-size:13.5px;box-shadow:0 2px 14px #00000014}.paper table{border-collapse:collapse;width:100%}.paper .doc-items th{background:var(--brand);color:#fff;padding:6px 8px;font-size:13px;font-weight:600}.paper .doc-items td{vertical-align:top;border-bottom:1px solid #e5e7eb;padding:6px 8px}.paper .box{border:1px solid #94a3b8;border-radius:6px;padding:8px 10px}.paper .title{color:var(--brand);text-align:right;font-size:22px;font-weight:700}.paper .sign{text-align:center;grid-template-columns:1fr 1fr;gap:40px;margin-top:50px;display:grid}.paper .sign>div:not(.sig-block){border-top:1px dotted #000;align-self:end;padding-top:6px}.wht td,.wht th{border:1px solid #000;padding:5px 7px;font-size:12.5px}@media print{@page{size:A4;margin:0}body{background:#fff}.side,.no-print,.head,.topbar,.side-backdrop{display:none!important}.shell{display:block}.main{padding:0}.paper{box-shadow:none;width:auto;min-height:auto;margin:0}}@media (width<=900px){.shell{grid-template-columns:1fr}.side{z-index:40;width:260px;height:100vh;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.menu-open .side{transform:none}.menu-open .side-backdrop{z-index:30;background:#0f172a66;display:block;position:fixed;inset:0}.topbar .menu-btn{display:inline-flex}.topbar{flex-wrap:wrap;padding:8px 12px}.topbar .org-switch span,.topbar-user,.platform-chip{display:none}.topbar .org-switch select{min-width:0;max-width:58vw;font-size:14px}.main{padding:14px 12px 60px;overflow-x:auto}.card{overflow-x:auto}.head h1{font-size:19px}.g2{grid-template-columns:1fr}.paper{transform-origin:0 0;width:210mm}.modal{padding:16px}.inp,.field input,.field select,.field textarea{font-size:16px}.g3,.g4{grid-template-columns:1fr 1fr}.sum-box{width:100%}}.brand{align-items:center}.brand .co-logo{object-fit:contain;background:#fff;border-radius:8px;flex:none;width:40px;height:40px;padding:3px}.brand .co-initial{background:var(--brand-600);border-radius:8px;flex:none;place-items:center;width:40px;height:40px;font-size:15px;display:grid}.brand .co-name{-webkit-line-clamp:2;color:#fff;-webkit-box-orient:vertical;font-size:15px;line-height:1.25;display:-webkit-box;overflow:hidden}.brand a{color:inherit;align-items:center;gap:10px;display:flex}.platform-chip{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.platform-chip span.pl{background:var(--brand);color:#fff;border-radius:5px;place-items:center;width:20px;height:20px;font-size:9px;display:grid}.user-chip{text-align:right;flex-direction:column;font-size:14px;line-height:1.15;display:flex}.user-chip small{color:var(--muted);font-size:12px}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatches button{cursor:pointer;border:2px solid #0000;border-radius:10px;width:44px;height:44px}.swatches button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}.sig-pad{touch-action:none;background:#fff;border:1px dashed #94a3b8;border-radius:8px;width:100%;height:160px;display:block}.sig-block{text-align:center}.sig-block img{max-width:200px;max-height:54px;margin:0 auto -4px;display:block}.sig-block .sig-space{height:50px}.steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.steps li{align-items:flex-start;gap:10px;display:flex}.steps .dot{color:#475569;background:#e2e8f0;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid}.steps li.done .dot{background:var(--green);color:#fff}.steps li.now .dot{background:var(--amber);color:#fff;box-shadow:0 0 0 4px #fef3c7}.steps li.rej .dot{background:var(--red);color:#fff}.steps li.skip{opacity:.55}.who{background:#f1f5f9;border-radius:99px;margin:3px 6px 0 0;padding:1px 8px;display:inline-block}.who.ok{color:var(--green);background:#dcfce7}.meter{background:#e2e8f0;border-radius:4px;height:8px;margin-top:4px;display:flex;overflow:hidden}.meter.sm{width:100%;min-width:70px;height:6px}.meter .used{background:var(--brand)}.meter .used.warn,.meter .add.warn{background:var(--amber)}.meter .used.bad,.meter .add.bad{background:var(--red)}.meter .add{background:#60a5fa}.budget-box.warn{background:#fffbeb;border-color:#fcd34d}.budget-box.bad{background:#fef2f2;border-color:#fca5a5}.nav .count{background:var(--red);color:#fff;border-radius:99px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:700}.nav a{align-items:center;display:flex}.support-banner{color:#fff;background:#7c3aed;align-items:center;gap:12px;padding:6px 28px;font-size:14px;display:flex}.support-banner button{color:#7c3aed;cursor:pointer;background:#fff;border:0;border-radius:6px;padding:3px 10px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips label{white-space:nowrap;border:1px solid var(--line);cursor:pointer;border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:13px;display:inline-flex}.chips label:has(input:checked){background:var(--brand-50);border-color:var(--brand);color:var(--brand-600)}.chips input{margin:0}.step-card{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:10px}.inbox-item{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:12px;display:flex}.inbox-item:hover{background:var(--brand-50)}.pnl-row td{white-space:nowrap}@media (width<=900px){.support-banner{flex-wrap:wrap;padding:6px 12px}}.sw{cursor:pointer;background:#cbd5e1;border:0;border-radius:99px;flex:none;width:36px;height:20px;padding:0;position:relative}.sw:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.sw.on{background:var(--brand)}.sw.on:after{left:18px}.ent-box{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:12px}.ent-row{border-top:1px solid #eef2f7;align-items:center;gap:10px;padding:6px 0;display:flex}.plans-grid td,.plans-grid th{vertical-align:middle}.nav a.locked{opacity:.55}.plan-banner{color:#78350f;background:#fef3c7;align-items:center;gap:10px;padding:6px 28px;font-size:14px;display:flex}.plan-banner.bad{color:#991b1b;background:#fee2e2}
