.dark,:root{--brand:#0093c7;--background:#fff;--foreground:#202c38;--primary:#00789f;--primary-foreground:#fff;--secondary:#f1f4f7;--border:#dde4eb;--ink:#202c38;--muted-ink:#647383;--sidebar-width:252px;font-family:Segoe UI Variable,Segoe UI,Microsoft YaHei,PingFang SC,Arial,sans-serif}.dark,:root,body{color:var(--ink);background:#f3f5f8}body{line-height:1.55}a,button,input,select,textarea{font-family:inherit}a:focus-visible,button:focus-visible{outline-color:var(--brand)}::selection{background:#d6eef8;color:#17475e}.sidebar{width:var(--sidebar-width);padding:26px 16px 20px;background:#1b222b;border-right:1px solid #29333f;color:#e9eef3;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#47535e transparent}.brand{padding:0 8px 24px;gap:12px;letter-spacing:0;position:relative}.brand-logo{display:block;flex-shrink:0;width:55px;height:71px;object-fit:contain;padding:4px;background:#fff;border-radius:8px}.brand-wordmark{font-size:18px;font-weight:700;line-height:1.35;letter-spacing:1px;color:#fff}.brand-wordmark small{font-size:12px;letter-spacing:1.4px;color:#a9b5c2;margin-top:7px;line-height:1.5}.sidebar-close{display:none}.workspace{border-color:#394451;background:#252e39;color:#c0cbd5;font-size:13px;padding:12px;line-height:1.5;border-radius:7px}.workspace svg{color:#6ac4e4}.navlabel{font-size:12px;letter-spacing:1.7px;color:#95a4b3;margin:25px 14px 13px}.navsectionlabel{color:#8c9aa9;font-size:12px;letter-spacing:1px;padding:17px 14px 6px;margin-top:10px;border-top:1px solid #33404c}.sidebar nav{gap:5px}.sidebar nav button{min-height:43px;padding:11px 14px;font-size:14px;color:#b9c6d3;border-radius:7px;transition:background .16s,color .16s}.sidebar nav button svg{width:18px;height:18px;color:#8194a8}.sidebar nav button:hover{background:#2a3542;color:#fff}.sidebar nav button.active{background:#123e53;color:#f5fbff;box-shadow:inset 3px 0 0 #19abe0;font-weight:600}.sidebar nav button.active svg{color:#53c6ed}.sidebar nav .navcount{background:#344454;color:#d7e5ef;border-radius:5px;font-size:12px}.sidebar nav button.active .navcount{background:#195870;color:#c7edf8}.sidebottom{padding-top:26px}.teamzones{border-color:#33404c;color:#a9b5c2;padding:15px 7px;font-size:12px}.teamzones b{color:#d0dae4;font-size:12px}.user{padding-top:17px;color:#e4ebf2;font-size:13px}.user small{font-size:12px;color:#9dabb9}.sidebar .avatar{background:#344451;color:#91cee2;border:1px solid #426275;border-radius:9px}.main{margin-left:var(--sidebar-width);min-width:0}.permission-strip{margin-left:var(--sidebar-width);min-height:45px;background:#fff;border-bottom:1px solid #edf0f4;padding:7px 32px;font-size:12px;color:#627282}.permission-strip button{font-size:12px;height:28px;border-color:#d6e0e9;color:#526677;background:#fff;box-shadow:none}.main>header{height:69px;background:#fff;border-color:#e2e7ed;padding:0 32px}.breadcrumb{font-size:14px;gap:12px}.breadcrumb span{color:#7a8997}.breadcrumb strong{font-weight:600;color:#2d3c49}.breadcrumb svg{color:#a7b3bd}.headright{font-size:13px;gap:17px}.headright>span:first-child{color:#738190}.headright button{border:1px solid #e2e8ed;border-radius:8px;padding:6px;color:#617585}.headright .avatar{background:#ebf1f6;border:1px solid #dce5eb;color:#49697a;border-radius:9px}main{padding:25px 32px 0;max-width:1740px}.modebar{background:transparent;border:0;border-bottom:1px solid #dce4ec;padding:0 0 17px;margin-bottom:24px;font-size:12px;color:#778593;border-radius:0}.modebar button{color:#587b8e;font-size:12px}.statusdot{background:var(--brand)}.statusdot.demo{background:#b88637}.titlebar{margin:0 0 26px;align-items:center;gap:24px}.titlebar h1,h1{font-size:29px;font-weight:650;line-height:1.4;letter-spacing:-.65px;color:#1c2b38}.titlebar p{font-size:14px;color:#71808e;line-height:1.75;margin-top:9px;max-width:720px}.eyebrow{font-size:12px;letter-spacing:1.8px;color:#7894a5;margin-bottom:8px}.eyebrow span{color:#a9bbc6}h2{font-size:18px;color:#243645}h2,h3{font-weight:600}h3{font-size:15px;color:#304756}[data-slot=button]{border-radius:7px;font-size:14px;min-height:38px;font-weight:600;letter-spacing:.1px;box-shadow:none;transition:background .15s,box-shadow .15s,transform .15s}[data-slot=button][data-variant=default]{background:#00789f;color:#fff;border:1px solid #00789f;box-shadow:0 2px 4px #00648316}[data-slot=button][data-variant=default]:hover{background:#006586;border-color:#006586;box-shadow:0 3px 9px #00648325}[data-slot=button][data-variant=outline]{border-color:#cbd7e1;background:#fff;color:#3b5568}[data-slot=button][data-variant=outline]:hover{border-color:#98b7ca;background:#f1f8fb;color:#00658c}[data-slot=button]:disabled{box-shadow:none}.textlink{color:#08779e;font-weight:500;font-size:14px}.textlink:hover{color:#005a7c;text-decoration:underline;text-underline-offset:3px}.muted{color:#6b7c8b}.green,.ops-good{color:#247c5c}.error{color:#a23e37;background:#fff2f0;border-color:#ebcbc6}.ops-warning{color:#936319}.hint{background:#f1f6fa;border:1px solid #dce8f0;color:#536b7d;font-size:13px;line-height:1.8;padding:13px 16px;border-radius:8px}.panel{background:#fff;border:1px solid #dfe6ed;border-radius:11px;box-shadow:0 3px 12px #1e344905;overflow:hidden}.panelhead{padding:21px 23px;border-color:#e7edf2}.panelhead p{font-size:14px;color:#72828f;line-height:1.7;margin-top:5px}.panelhead h2{font-size:17px}.panelhead .textlink{font-size:14px}.stats{gap:18px;margin-bottom:24px}.stat{border:1px solid #dde5ed;border-radius:11px;background:#fff;padding:22px 23px;box-shadow:0 3px 12px #1e344905;position:relative}.stat>span{font-size:14px;color:#6b7d8d}.stat>strong{font-size:31px;font-weight:650;color:#233b4c;letter-spacing:-.7px;line-height:1.35;margin-top:12px}.amount,.asset-total,.ops-summary b,.project-metrics strong,.stat strong{font-variant-numeric:tabular-nums}.stat p,.stat small{font-size:12px;line-height:1.7;color:#8392a0}.stat>svg{color:var(--brand);background:#edf8fc;border-radius:8px}.stat:after{content:"";position:absolute;left:23px;right:23px;bottom:0;height:2px;background:#e5f1f7}.tabs{border-bottom:1px solid #d9e3eb;gap:25px;margin-bottom:25px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.tabs>button{padding:14px 1px;font-size:14px;color:#718191;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent}.tabs>button.active{color:#00779f;border-bottom-color:#0093c7;font-weight:600}.tabs>button:hover{color:#00779f}.filters{gap:12px;align-items:center;padding:19px 22px}.filters label input,.filters select,.filters>input,.search{border:1px solid #d7e1e9;border-radius:7px;background:#fff;box-shadow:0 1px 2px #10283e04}.filters input,.filters select{font-size:14px;color:#385064;min-height:40px;padding:9px 11px}.filters .search input{border:0;box-shadow:none}.search svg{color:#839baa}.filters label{color:#647c8c;font-size:13px}.filters input:focus,.filters select:focus{outline:2px solid #b9e3f3;outline-offset:1px;border-color:#65adc7}.tablewrap{max-width:100%;min-width:0;scrollbar-width:thin;scrollbar-color:#c7d7e2 #f8fafc}table{width:100%;border-collapse:collapse}th{background:#f7f9fb;font-size:13px;font-weight:500;color:#718497;border-color:#e4ebf1;padding:14px 18px;white-space:nowrap}td{padding:17px 18px;font-size:14px;line-height:1.6;color:#40586a;border-color:#edf1f5;vertical-align:top}td strong{color:#263f52;font-weight:600;font-variant-numeric:tabular-nums}td small{font-size:12px;color:#7d8e9b;line-height:1.65}tbody tr:hover{background:#f8fbfd}.projectname{color:#254b65;font-weight:600}.nextstep{font-size:14px;color:#617c8e}.badge{background:#edf4f8;border:1px solid #e0eaf1;color:#426e87;font-size:12px;padding:4px 8px;border-radius:5px;font-weight:500;white-space:normal;line-height:1.5}.badge.b4,.badge.b7,.badge.ops-good{color:#286a53;border-color:#dcebe3;background:#eff8f3}.badge.b2{color:#8e6327;background:#fff8eb;border-color:#f1e5cc}.empty{padding:55px 26px;color:#8595a3;font-size:14px;background:#fff}.empty button{color:#08779e;text-decoration:underline;text-underline-offset:3px}.ops-summary{gap:18px;margin-bottom:24px}.ops-summary>div{border-color:#dde5ed;border-radius:11px;padding:20px 22px;background:#fff;box-shadow:0 3px 12px #1e344905}.ops-summary svg{color:#3999bb}.ops-summary span{color:#6d8494;font-size:14px}.ops-summary b{font-weight:600;color:#263f51;font-size:28px}.ops-summary small{color:#8b9ca8}.ops-switch{background:#eaf0f5;border:1px solid #dce5ed;border-radius:8px;padding:4px}.ops-switch button{font-size:13px;color:#6a8395;border-radius:6px;padding:9px 16px}.ops-switch button.selected{background:#fff;color:#087b9f;box-shadow:0 1px 5px #29415514}.proc-viewbar>span{color:#8195a4;font-size:13px}.proc-viewbar .ops-switch{background:#eaf0f5;border-color:#dce5ed}.proc-groups{padding:0 20px 22px;gap:16px}.proc-categorygroup,.proc-projectgroup{border-color:#dde6ed;border-radius:9px}.proc-categorygroup>summary,.proc-projectgroup>summary{background:#f5f9fc;padding:18px}.proc-nested>summary{background:#fbfcfd}.proc-groupname>span{color:#315a73;font-size:15px;font-weight:600}.proc-groupname small,.proc-groupstats{color:#7b93a4}.proc-categorygroup>summary:before,.proc-projectgroup>summary:before{color:#6e9fb7}.proc-editrow{background:#f4fafd!important}.proc-editnotice{background:#f0f7fb;border-color:#d5e7f1;color:#3b748f}.proc-inlinefield{color:#708b9d}.proc-inlinefield input,.proc-inlinefield select{border-color:#c9dce8;color:#304e63}.approval-box{background:#f2f6f9;border:1px solid #e5edf3;color:#577286}.ops .hint{color:#648296;background:#f8fbfd;border-color:#e0eaf1}.ops-table th{background:#f7f9fb}.ops-table td{color:#527087}.project-cards{padding:22px;gap:21px}.project-card{padding:23px 25px;border-color:#dae4ec;border-left:3px solid #299aca;box-shadow:0 3px 14px #23435907}.project-card .panelhead{border-color:#e5edf3;padding-bottom:16px}.project-card .projectname{font-size:20px;font-weight:600;color:#203e54}.project-card p{color:#718696}.project-metrics{gap:16px}.project-metrics button{border:1px solid #e2eaf0;background:#f7f9fc;border-radius:8px;padding:17px 19px;color:#688298}.project-metrics button:hover{background:#edf6fb;border-color:#bedce9}.project-metrics strong{color:#213f55;font-size:25px}.project-metrics small{color:#8698a5;font-size:12px}.project-cash{background:#f6fafc;border:1px solid #e5edf3;padding:0 17px}.project-cash button{border-color:#e2ebf1;color:#4f7087;font-size:13px}.project-card>.ops-rowactions{border-color:#e4edf3;gap:22px}.project-card button:hover{color:#007ca6}.project-card button:focus-visible{outline-color:#0093c7}.project-card>.nextstep{font-size:14px;color:#738a9a}.progress{background:#e5eef4;border-radius:6px;height:5px}.progress span{background:#0093c7;border-radius:6px}.pipelineitems button{background:#f6f9fc;border-color:#e1eaf1;border-radius:8px;color:#54758c}.pipelineitems button:hover{background:#eef7fb}.pipelineitems strong{color:#25526f}.todo{border-color:#e8eff5}.todo:hover{background:#f7fafc}.todo p,.todo small{color:#8095a4}.record{border-color:#e6edf3}.recordicon{background:#edf6fa;color:#258db3;border-radius:9px}.recordbody h3{color:#2b4c63}.recordbody p,.recordbody>small{color:#7990a0}.asset-currency-summary>.panel,.collection-months>div{border-color:#dce5ed;border-radius:10px}.collection-months strong{color:#2c536d}.asset-total{color:#234256;font-weight:650}.asset-currency-summary p{color:#698297}.invoice-alert,.invoice-reminders{background:#fff9ee;border-color:#ebddc3;color:#876226}.invoice-project-alert{background:#fff9ee;color:#8c692f}.invoice-alert .textlink{color:#8a631f}.procurement-alerts{padding:16px 20px;margin-bottom:24px}.procurement-alerts>summary{font-size:14px;font-weight:600}.procurement-alerts .invoice-alert{margin-bottom:0}.procurement-alerts small{font-size:12px;overflow-wrap:anywhere}.modal{background:#fff;border:1px solid #d4e0e9;border-radius:14px;box-shadow:0 24px 90px #102b4640;padding:27px;color:#344f63;max-height:90vh}.modal h2{font-size:21px;font-weight:650;color:#223e52;letter-spacing:-.4px}.modal>p{font-size:14px;color:#748a9b;line-height:1.75}.formgrid{gap:18px 22px;margin:23px 0}.formgrid label,.modal form>label{font-size:14px;color:#5c768b;font-weight:500;line-height:1.6}.formgrid input:not([type=checkbox]):not([type=file]),.formgrid select,.formgrid textarea,.modal input:not([type=checkbox]):not([type=file]),.modal select,.modal textarea{border:1px solid #d4e0e8;background:#fff;border-radius:7px;padding:10px 12px;color:#2a475c;font-size:14px;min-height:41px;font-weight:400}.formgrid input:focus,.formgrid select:focus,.formgrid textarea:focus,.modal input:focus,.modal textarea:focus{outline:2px solid #c5e8f6;outline-offset:1px;border-color:#59a9c8}.formgrid input[readonly],.formgrid select:disabled,.formgrid textarea[readonly]{background:#f4f7fa;color:#7c91a1;border-color:#e2eaf0}.formgrid small{font-size:12px;color:#8196a5;font-weight:400}.modal .formactions{gap:10px;margin-top:22px;flex-wrap:wrap}.modal input[type=checkbox]{accent-color:#00789f;width:17px;height:17px;min-height:0}.modal th{font-size:13px}.modal td{font-size:14px}.modal .role-options{padding:14px;background:#f4f8fb;border:1px solid #e0eaf1;border-radius:8px;gap:15px}.modal .role-options label{font-size:14px;color:#46677e}.modal .record{background:#f9fbfc;border-color:#e3ebf1;padding:15px}.modal .record small{display:block;font-size:12px;color:#8397a6;margin-top:4px}.expense-receipts{border-top:1px solid #e2eaf0;padding-top:22px}.expense-file{background:#fafcfd;border-color:#dce7ee}.ops-upload{background:#f2f8fc;border-color:#bcd8e6;color:#177b9f;border-radius:7px}.expense-module .panelhead{padding-left:0;padding-right:0}.expense-module .panelhead h2{font-size:21px}.expense-module .stats{margin-top:12px}.expense-file strong{font-size:14px}.expense-file small{color:#7a92a3;font-size:12px}.expense-file img{background:#fff;border:1px solid #e5ecf2}.company-footer{padding:29px 0 27px;border-top:1px solid #dce5ed;margin-top:34px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;color:#8b9da9}.company-footer .company-identity{display:flex;align-items:center;gap:14px;min-width:0}.company-footer img{width:39px;height:50px;object-fit:contain;background:#fff;padding:3px;border-radius:5px;border:1px solid #e1e8ed}.company-footer strong{display:block;font-size:12px;font-weight:600;letter-spacing:.5px;color:#688195}.company-footer address{font-style:normal;font-size:12px;line-height:1.65;color:#8599a8;margin-top:5px;max-width:620px}.company-footer>span{white-space:nowrap;color:#8fa1ad}.nav-backdrop{position:fixed;inset:0;background:#14223288;z-index:19;border:0}@media(min-width:1600px){main{padding:29px 43px 0}.main>header{padding:0 43px}.permission-strip{padding-left:43px;padding-right:43px}}@media(max-width:1200px){:root{--sidebar-width:232px}.sidebar{padding-left:12px;padding-right:12px}.brand{gap:10px;padding-left:5px}.brand-wordmark{font-size:17px}.brand-logo{width:50px;height:65px}main{padding:22px 24px 0}.main>header,.permission-strip{padding-left:24px;padding-right:24px}.ops-summary,.stats{gap:12px}.stat{padding:20px}.stat>strong{font-size:27px}}@media(max-width:900px){.sidebar{display:none;width:252px;padding:22px 16px}.sidebar.show{display:flex;box-shadow:8px 0 35px #0f263530}.sidebar-close{display:grid;place-items:center;border:0;background:transparent;color:#9eb5c6;position:absolute;top:4px;right:0;width:25px;height:25px;font-size:20px}.brand-wordmark{font-size:17px}.brand{padding-right:20px}.main,.permission-strip{margin-left:0}.permission-strip{padding:8px 20px;font-size:12px}.permission-strip>span{max-width:calc(100% - 80px)}.mobilemenu{display:block;border:0;background:transparent;color:#476b81}.main>header{height:63px;padding:0 20px}.titlebar{align-items:flex-start}.ops-summary,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.formgrid{grid-template-columns:1fr}.wide{grid-column:1/-1}.headright>span:first-child{display:none}.company-footer{align-items:flex-start}.company-footer>span{display:none}}@media(max-width:600px){main{padding:18px 14px 0}.titlebar{gap:18px;margin-bottom:21px;flex-direction:column}.titlebar h1,h1{font-size:25px}.titlebar p{font-size:14px}.actions{gap:8px;justify-content:flex-start}.actions button{font-size:13px}.modebar{gap:12px;margin-bottom:23px;padding-bottom:13px}.modebar,.modebar button,.modebar>span{font-size:12px}.ops-summary,.stats{gap:10px}.ops-summary>div,.stat{padding:17px 15px}.stat>strong{font-size:25px}.stat>span{font-size:13px}.ops-summary b{font-size:25px}.filters{padding:16px;flex-wrap:wrap}.filters .search,.filters>input{width:100%}.filters select{flex:1;min-width:120px}.tabs{gap:21px}.panelhead{padding:18px}.project-cards{padding:13px;gap:15px}.project-card{padding:18px 16px}.project-metrics{grid-template-columns:1fr;gap:10px}.project-metrics button{padding:13px 15px}.project-metrics strong{font-size:23px}.project-card .projectname{font-size:18px}.project-card .panelhead{align-items:flex-start;flex-direction:column}.project-card>.ops-rowactions{gap:14px}.project-card>.ops-rowactions>button:last-child{margin-left:0}.project-cash button{grid-template-columns:1fr 1fr}.proc-viewbar{gap:12px}.proc-groups{padding:0 12px 16px}.proc-groupstats{font-size:12px}.procurement-alerts{padding:14px;margin-bottom:20px}.modal{width:calc(100vw - 24px);padding:21px 18px;max-height:92vh}.modal h2{font-size:20px}.modal .formgrid{gap:15px}.expense-file{gap:10px}.expense-file button{margin-left:0;display:block;margin-top:6px}.company-footer{margin-top:28px;padding:23px 0}.company-footer .company-identity{align-items:flex-start;gap:11px}.company-footer strong{font-size:12px;line-height:1.6}.company-footer address{font-size:12px}.company-footer img{width:34px;height:45px}.role-options{gap:13px}.expense-module .stats{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.headright>span:not(.avatar){display:flex;align-items:center;gap:7px;color:#738190;font-size:13px}.expense-modal{max-width:880px!important}@media(max-width:900px){.headright>span:not(.avatar){display:none}}.stat.accent{background:#243d4e;border-color:#243d4e;box-shadow:0 3px 12px #1c3c5012}.stat.accent .amount,.stat.accent strong{color:#fff}.stat.accent button,.stat.accent>span{color:#c7e2f0;font-size:13px}.stat.accent:after{background:#3c697e}.stat.accent svg{color:#76c3e1}.project-cash button{align-items:start}.cash-metric{display:flex;flex-direction:column;gap:5px}.cash-metric small{font-size:12px;color:#8096a5}.cash-metric strong{font-size:17px;color:#315c75;font-weight:600}.project-cash .cash-breakdown{grid-column:2/-1;font-size:12px;line-height:1.7}.mobile-brand-logo{display:none}@media(max-width:900px){.mobile-brand-logo{display:block;object-fit:contain;width:29px;height:38px}}@media(max-width:760px){.project-cash .cash-breakdown,.project-cash button>b{grid-column:1/-1}.cash-metric strong{font-size:16px}}.language-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #d7e3eb;border-radius:9px;background:#f0f5f8;flex-shrink:0}.language-switch button{border:0;border-radius:6px;padding:6px 11px;background:transparent;color:#657b8c;font-size:14px;line-height:1.5;min-height:34px;cursor:pointer;font-family:inherit;white-space:nowrap}.language-switch button[aria-pressed=true]{background:#fff;color:#00789f;box-shadow:0 1px 5px #1e405e16;font-weight:600}.language-switch button:focus-visible{outline:2px solid #0093c7;outline-offset:2px}.dialog-language{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:2px}.language-dialog-close{border:0;background:transparent;font-size:26px;line-height:1;width:32px;height:34px;color:#7592a3;cursor:pointer}html[lang=th] body{font-family:Leelawadee UI,Noto Sans Thai,Tahoma,Arial,sans-serif;line-height:1.7}html[lang=th] .sidebar nav button,html[lang=th] h1,html[lang=th] h2,html[lang=th] h3{letter-spacing:0;line-height:1.5}html[lang=th] .sidebar nav button{white-space:normal;text-align:left;font-size:14px;min-height:43px;height:auto;align-items:center}html[lang=th] .sidebar nav button svg{flex-shrink:0}html[lang=th] .navlabel{letter-spacing:0}html[lang=th] .tabs button{white-space:normal;min-width:max-content;font-size:14px}html[lang=th] .badge{white-space:normal;line-height:1.6}html[lang=th] th{white-space:normal;min-width:100px}html[lang=th] .actions button,html[lang=th] .formactions button{height:auto;white-space:normal;min-height:38px}.material-camera{width:100%;max-height:300px;object-fit:contain;background:#172733;border-radius:9px}.material-qr>img{display:block;margin:0 auto}.material-qr{text-align:center}.material-qr .hint{text-align:left}.catalog-module .panelhead{padding-left:0;padding-right:0}@media(max-width:600px){.headright{gap:8px}.language-switch button{padding:5px 8px;min-height:32px}.breadcrumb>span,.headright .avatar{display:none}.breadcrumb{min-width:0}.breadcrumb strong{font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main>header{padding:0 14px;gap:8px}.headright{flex-shrink:0}.dialog-language{margin-bottom:4px}.catalog-module .panelhead{flex-direction:column;align-items:flex-start;gap:15px}html[lang=th] .project-metrics strong{line-height:1.5}}.sidebar nav{min-height:0;overflow-y:auto;flex:1}.sidebottom{flex-shrink:0}