@font-face{font-family:Kanit;src:url(/fonts/Kanit-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Kanit;src:url(/fonts/Kanit-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Sarabun;src:url(/fonts/Sarabun-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Sarabun;src:url(/fonts/Sarabun-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Noto Sans Thai;src:url(/fonts/NotoSansThai.ttf) format("truetype");font-weight:100 900;font-display:swap}:root{--green:#3c603b;--green-ink:#284d34;--green-light:#edf4ec;--ink:#26342e;--muted:#7b857f;--border:#e6ebe7;--bg:#f7f9f7;--white:#fff;--blue:#3f76b8;--amber:#9d712b;--red:#c1534a;--sidebar:238px;font-family:Noto Sans Thai,sans-serif;color:var(--ink);font-size:13px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #8aad77;outline-offset:3px}input,select,textarea{border:1px solid #dce3dd;border-radius:6px;padding:9px 11px;background:#fff;color:var(--ink);outline:0;min-width:0}input:focus,select:focus,textarea:focus{border-color:#648c61;box-shadow:0 0 0 3px #628c6114}textarea{resize:vertical;line-height:1.7}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;flex:none;padding:0;box-shadow:none}input[type=color]{height:40px;padding:4px}select{padding-right:25px}fieldset{margin:0;border:0;min-width:0}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-.75px;line-height:1.4;font-weight:650}h2{font-size:16px;letter-spacing:-.2px}h2,h3{font-weight:600}h3{font-size:14px}p{line-height:1.75}small{font-size:11px}hr{border:0;border-top:1px solid var(--border);margin:20px 0}.muted{color:var(--muted)}.small-text{font-size:11.5px}.block{display:block}.numeric{text-align:right!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.pre-wrap{white-space:pre-wrap}.green-text{color:var(--green)}.overdue,.red-text{color:var(--red)!important}.truncate{display:block;max-width:270px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.spacer{flex:1 1}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:6px;padding:9px 13px;font-size:12px;font-weight:500;line-height:1.5;white-space:nowrap}.button,.button:hover{text-decoration:none}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.primary:hover{background:#2f502e}.button.secondary{background:white;border-color:#dce3dd}.button.secondary:hover{background:#f5f8f4}.button.ghost{background:transparent;color:#69776c}.button.ghost:hover{background:#eef2ed}.button.danger{background:var(--red);color:white}.button.danger-ghost{background:transparent;color:var(--red)}.full-button{width:100%}.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;padding:4px;border:0;background:transparent;border-radius:5px;color:#7b867e}.icon-button:hover{background:#edf2ed;color:var(--green)}.text-button{background:none;border:0;padding:0;text-align:left;font-weight:500;color:var(--green);line-height:1.6}.text-button:hover{text-decoration:underline}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:#f2f5f1;border-right:1px solid #e1e7df;display:flex;flex-direction:column;z-index:20}.brand{height:83px;display:flex;align-items:center;gap:11px;padding:19px 26px;text-decoration:none!important;color:#3c603b}.brand img{width:35px;height:35px;object-fit:contain}.brand strong{font-family:Noto Sans Thai,sans-serif;font-size:26px;line-height:1.1;font-weight:600;letter-spacing:1.5px;display:block}.brand span:not(.brand-dot){font-size:9px;letter-spacing:.6px;color:#799170}.brand-dot{width:5px;height:5px;border-radius:50%;background:#a1bc8c;margin-left:14px;align-self:flex-start;margin-top:13px}.workspace-switch{display:flex;align-items:center;gap:10px;margin:5px 17px 25px;padding:12px 10px;border:1px solid #e0e7dc;background:#f8faf7;border-radius:7px}.workspace-switch strong{font-size:12px;font-weight:600;display:block}.workspace-switch small{font-size:10px;color:var(--muted)}.workspace-icon{width:33px;height:33px;border:1px solid #e1e8dc;background:white;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--green)}.sidebar nav{padding:0 13px;overflow:auto}.nav-item{display:flex;gap:11px;align-items:center;width:100%;text-align:left;border:0;background:none;border-radius:6px;padding:11px 13px;color:#6d7b6e;margin-bottom:4px;font-size:12.5px}.nav-item:hover{background:#e9efe6}.nav-item.active{color:#365a32;background:#e0ead9;font-weight:600}.nav-item svg{stroke-width:1.65}.nav-count{margin-left:auto;font-size:10px;background:#d0dfc7;padding:0 6px;border-radius:4px}.nav-group{padding:19px 13px 8px;font-size:10px;font-weight:500;color:#9aa492}.sidebar-bottom{margin-top:auto;padding:22px 16px 17px}.private-note{font-size:10.5px;color:#87937f;display:flex;gap:8px;align-items:center;padding:10px 11px 19px}.live-dot{width:6px;height:6px;border-radius:50%;background:#6a9560;display:inline-block;flex:none}.user-profile{display:flex;align-items:center;width:100%;padding:13px 2px 0;gap:9px;border:0;border-top:1px solid #dfe6dc;background:none;text-align:left}.user-profile>div{flex:1 1;overflow:hidden}.user-profile strong{display:block;font-weight:500;font-size:11px}.user-profile small{display:block;color:#95a08e;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;background:#e1e9db;color:#5b7650;font-size:12px;border:2px solid white}.avatar.small{width:27px;height:27px;font-size:9px;background:#edf0eb;color:#91a08a}.main-shell{margin-left:var(--sidebar);min-width:0}.topbar{height:65px;background:#fff;border-bottom:1px solid var(--border);justify-content:space-between;gap:20px;padding:0 33px;position:sticky;top:0;z-index:10}.breadcrumbs,.topbar{display:flex;align-items:center}.breadcrumbs{gap:10px;font-size:11px;color:#a0aaa2}.breadcrumbs strong{font-size:11px;font-weight:500;color:#6e7a71}.topbar-right{gap:13px}.global-search,.topbar-right{display:flex;align-items:center}.global-search{gap:8px;color:#a2aca4;background:#f7f9f7;border:1px solid #e9eeea;padding:5px 10px;border-radius:6px;width:240px}.global-search input{background:none;border:0;box-shadow:none;padding:3px 0;font-size:11px;width:100%}.global-search button{border:0;background:none;color:#96a08f;padding:0}.notification-dot{position:absolute;top:4px;right:6px;width:5px;height:5px;background:#b8a764;border-radius:50%;border:1px solid white}.mobile-menu{display:none}.main-content{max-width:1720px;margin:auto;padding:29px 33px 18px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}.page-eyebrow{font-size:10px;color:#98a393;margin-bottom:5px;letter-spacing:.2px}.page-heading p{font-size:12px;color:#929d94;margin-top:5px}.heading-actions{gap:17px}.heading-actions,.sync-status{display:flex;align-items:center}.sync-status{gap:6px;font-size:10px;color:#7d9271;white-space:nowrap}.sync-status.offline{color:#a89b79}.sync-status.offline .live-dot{background:#c5b98d}.app-footer{display:flex;justify-content:space-between;gap:15px;color:#a3aca2;font-size:9px;margin-top:28px;padding:10px 0}.panel{background:#fff;border:1px solid var(--border);border-radius:8px;min-width:0;overflow:hidden}.panel-heading{padding:21px 22px 17px;display:flex;justify-content:space-between;align-items:center;gap:14px}.panel-heading p{color:#9aa59b;font-size:10.5px;margin-top:4px}.badge{font-size:10px;font-weight:500;border-radius:4px;padding:3px 7px;line-height:1.65;display:inline-flex;align-items:center;white-space:nowrap;background:#f0f2ef;color:#818b7d}.badge.green{background:#edf5e9;color:#628650}.badge.blue{background:#eef4fa;color:#5b86b6}.badge.amber{background:#fbf5e8;color:#aa8a4a}.badge.red{background:#fdf0ed;color:#b86a5f}.badge.purple{background:#f3eef8;color:#9b81ad}.count{font-size:10px;border-radius:4px;background:#edf2ea;padding:0 5px}.notice{display:flex;gap:10px;align-items:flex-start;color:#5e7662;border:1px solid #e0eadf;border-radius:6px;background:#f4f8f1;padding:13px 16px;font-size:11px;line-height:1.7;margin-bottom:20px}.notice svg{flex:none;margin-top:2px}.notice p{font-size:11px;margin-top:3px}.notice.amber{background:#fcf9f0;border-color:#f0e8d4;color:#9e8757}.notice.danger{background:#fff2ef;border-color:#f2d9d2;color:#b36658}.notice button{margin-left:auto;border:0;background:none;text-decoration:underline;color:inherit}.empty{padding:57px 20px;text-align:center;display:flex;align-items:center;flex-direction:column;color:#99a692;gap:12px}.empty h3{font-size:14px;color:#6c8062;font-weight:500}.empty p{color:#9ca695;font-size:11.5px;max-width:450px}.empty .button{margin-top:6px}.report-filter{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:15px}.report-filter input{font-size:10.5px;padding:6px 9px;background:#fff}.toolbar-group{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:#8c978d}.toolbar-group select{background:#fff;font-size:11px;padding:7px 24px 7px 10px;border-color:#e4e9e3;max-width:235px}.report-filter .toolbar-group>span{font-size:10.5px;color:#8a968b}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.metric{background:white;border:1px solid var(--border);border-radius:8px;padding:19px 20px 18px;min-width:0}.metric-label{justify-content:space-between;font-size:11px;color:#7d8c80;margin-bottom:11px}.metric-icon,.metric-label{display:flex;align-items:center}.metric-icon{background:#f0f6ec;color:#81a36d;width:30px;height:30px;border-radius:7px;justify-content:center}.metric.orange .metric-icon{background:#fbf3ea;color:#c1a279}.metric.blue .metric-icon{background:#edf4f7;color:#7e9eb5}.metric.purple .metric-icon{background:#f3eff8;color:#ab95ba}.metric>strong{font-size:27px;font-weight:550;line-height:1.5;letter-spacing:-.6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:block;color:#3d4f3f}.metric>strong>span{font-size:19px;color:#84917d;margin-right:4px;font-weight:400}.metric>small{display:block;color:#a3ada0;font-size:9px;margin-top:7px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:20px;margin-bottom:23px}.cash-panel{min-height:310px}.chart-legend{display:flex;gap:18px;padding:0 22px;font-size:10px;color:#8e9b90}.chart-legend>span{display:flex;gap:6px;align-items:center}.chart-legend i{width:7px;height:7px;border-radius:2px;background:#9cbb89}.chart-legend .expense{background:#d7c3a3}.chart-legend small{margin-left:auto;font-size:9px;color:#b0b8ac}.cash-chart{display:flex;gap:14px;height:205px;padding:17px 26px 22px 22px}.chart-axis{width:45px;flex:none;display:flex;flex-direction:column;justify-content:space-between;color:#b6bdb1;font-size:9px;padding-bottom:20px;text-align:right}.chart-plot{flex:1 1;position:relative;min-width:0}.chart-grid{position:absolute;inset:0 0 20px;display:flex;flex-direction:column;justify-content:space-between}.chart-grid i{border-top:1px dashed #edf1e9;width:100%}.bars{display:flex;position:absolute;inset:0;align-items:stretch;justify-content:space-around;gap:15px}.bar-month{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-size:9px;color:#a6b09e}.bar-pair{display:flex;gap:5px;align-items:flex-end;height:calc(100% - 20px);width:100%;max-width:42px}.bar{width:50%;background:#9ab889;border-radius:3px 3px 0 0;min-height:1px}.bar.expense{background:#dac7a8}.bar-month>span{margin-top:7px}.chart-empty{position:absolute;inset:25px 20px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b3c0a8;gap:7px;pointer-events:none}.chart-empty strong{color:#8b9e7c;font-size:11px;font-weight:500}.chart-empty span{color:#acb8a4;font-size:9px}.pipeline-panel{border-radius:8px;background:#3c603b;color:#e7efdf;padding:23px 23px 15px;position:relative;overflow:hidden}.pipeline-panel:after{content:"";width:190px;height:190px;border:1px solid #ffffff0d;border-radius:50%;position:absolute;right:-100px;top:-90px;box-shadow:0 0 0 22px #ffffff03,0 0 0 45px #ffffff03;pointer-events:none}.pipeline-icon{display:inline-flex;color:#c4dca7;padding:8px;border:1px solid #ffffff22;border-radius:8px;margin-bottom:16px}.pipeline-panel>span{display:block;font-size:11px;color:#bccdaf}.pipeline-panel h2{font-size:30px;font-weight:500;letter-spacing:-.4px;color:#fff;margin:5px 0 8px}.pipeline-panel p{color:#b5c8a6;font-size:10px;line-height:1.8}.pipeline-divider{border-top:1px solid #ffffff1c;margin:18px 0 12px}.pipeline-row{display:flex;justify-content:space-between;font-size:10px;color:#bcccaf;margin-bottom:8px}.pipeline-row strong{font-weight:400;color:#e2edda}.pipeline-panel>button{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;color:#dce9d2;border:0;border-top:1px solid #ffffff1c;padding:14px 0 0;margin-top:15px;font-size:10px}.project-finance{margin-bottom:23px}.project-cell{display:flex;gap:10px;align-items:center}.project-cell>div{min-width:0}.project-cell small{font-size:9px;color:#a2ad9c;display:block;margin-top:3px;max-width:280px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.project-square{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:6px;font-size:12px;background:var(--green);color:#f5faee;flex:none}.project-progress{display:flex;align-items:center;gap:8px;min-width:85px}.progress-track{height:5px;background:#edf1e8;border-radius:3px;width:65px;display:block;overflow:hidden}.progress-track>span{height:100%;display:block;background:#81a46a;border-radius:3px}.project-progress small{font-size:9px;color:#99a68e}.dashboard-lower{display:grid;grid-template-columns:1fr 1fr;gap:20px}.attention-list{padding:0 20px 15px}.attention-list>button{display:flex;gap:12px;align-items:center;width:100%;background:none;border:0;border-top:1px solid #f0f3eb;text-align:left;padding:15px 0;color:#92a084}.attention-list>button>div{flex:1 1}.attention-list strong{font-size:11px;font-weight:500;color:#718364;display:block}.attention-list small{display:block;color:#a2af98;font-size:9.5px;margin-top:3px}.attention-icon{color:#a4b397;background:#f1f5ed;border-radius:7px;display:flex;padding:9px}.attention-icon.amber{color:#baa56a;background:#fbf7eb}.activity-list{padding:0 22px 15px}.activity{display:flex;gap:11px;padding:8px 0 12px}.activity-line{color:#9daf8e;position:relative}.activity-line:after{content:"";position:absolute;width:1px;background:#e5ecdf;top:22px;bottom:-8px;left:7px}.activity:last-child .activity-line:after{display:none}.activity strong{font-size:11px;font-weight:500;color:#78896a}.activity p{font-size:10px;color:#99a68d;line-height:1.5;max-width:440px}.activity small{font-size:9px;color:#b0bba5}.report-note{display:flex;gap:7px;align-items:flex-start;margin-top:17px;color:#a7b19d}.report-note svg{flex:none;margin-top:2px}.report-note p{font-size:9px;line-height:1.7}.report-metrics .metric>strong{font-size:23px}.view-tabs{gap:25px;border-bottom:1px solid #dfe7db;margin-bottom:18px}.view-tabs,.view-tabs>button{display:flex;align-items:center}.view-tabs>button{gap:7px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:13px 2px;background:none;font-size:12px;color:#99a48f}.view-tabs>button.active{border-color:var(--green);color:var(--green);font-weight:600}.tab-note{margin-left:auto;color:#a4b097;font-size:10px}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.work-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid var(--border);border-radius:8px;padding:21px 0;margin-bottom:20px}.work-stat{display:flex;align-items:center;gap:14px;padding:0 24px;border-right:1px solid var(--border);color:#9eaf91}.work-stat:last-child{border:0}.work-stat strong{font-size:22px;font-weight:550;color:#506547;display:block;line-height:1.35;letter-spacing:-.4px}.work-stat strong small{font-size:15px;color:#adbaa0;font-weight:400}.work-stat span:not(.baht-icon){color:#a1ae96;display:block;font-size:10px;margin-top:4px}.baht-icon{font-size:24px;color:#a2b394}.work-table-wrapper{background:#fff;border:1px solid var(--border);border-radius:7px;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:11.5px}.data-table th{padding:12px 16px;background:#fafcf8;border-bottom:1px solid var(--border);color:#9aa88f;font-size:10px;font-weight:500;white-space:nowrap}.data-table td{padding:16px;border-bottom:1px solid #eff3eb;vertical-align:middle}.data-table td strong{font-weight:550}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover:not(.project-group){background:#fcfdfb}.table-scroll{overflow:auto}.table-footer{display:flex;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border);font-size:9px;color:#aeb9a2;background:#fcfdfb}.task-table{min-width:950px}.task-table td,.task-table th{padding-left:12px;padding-right:12px}.task-table .check-cell{width:40px;padding-left:19px;padding-right:2px;color:#b5bfab}.task-name{display:block;background:none;border:0;padding:0;text-align:left;white-space:normal;min-width:220px;color:#526b46;font-size:11.5px;font-weight:450}.task-name:hover{text-decoration:underline}.task-key{display:block;color:#b0bba2;font-size:9px;margin-top:4px}.task-checkbox{width:14px;height:14px;border:1px solid #dce4d4;border-radius:3px;background:#fff;padding:0;color:#fff;font-size:10px}.task-checkbox.checked{background:var(--green);border-color:var(--green)}.project-key{border:1px solid #e6ecdf;color:#96a589;font-size:9px;border-radius:3px;padding:2px 5px;background:#fafcf7}.project-group{background:#f6f9f2}.project-group td{padding:10px 12px}.project-group td>div{display:flex;align-items:center;gap:9px}.project-group .project-square{width:23px;height:23px;border-radius:5px;font-size:10px}.project-group .text-button{font-size:11.5px;color:#5b734b}.project-group .muted{font-size:10px}.project-group .badge{margin-left:5px}.project-group .project-progress{margin-left:auto}.status-select{font-size:9.5px;border:0;padding:4px 20px 4px 7px;border-radius:4px;color:#919e83;background:#f0f4eb;max-width:140px}.status-select.doing{background:#edf4fa;color:#7296b2}.status-select.review{background:#fcf6e8;color:#baa56b}.status-select.done{background:#eaf4e3;color:#7c9c65}.assignee-cell{display:flex;gap:6px;align-items:center;white-space:nowrap;font-size:10px;color:#a7b399}.assignee-cell .avatar{width:23px;height:23px;font-size:8px;border:1px dashed #cfdcc1;background:#fbfcf9;color:#b8c4ab}.priority{display:flex;align-items:center;gap:6px;font-size:10px;color:#a7b498}.priority>span{font-size:17px;font-weight:600;color:#b3be9d}.priority.high{color:#bf8c79}.priority.high>span{color:#cf8e74}.priority.low>span{color:#9bafc0}.date-cell{display:flex;gap:6px;align-items:center;font-size:10px;white-space:nowrap;color:#9ba990}.date-cell svg{color:#bcc7b0}.add-task-row td{padding:11px 12px}.add-task-row button{gap:7px;color:#a8b599;font-size:10px}.add-task-row button,.table-sort{display:flex;align-items:center;border:0;background:none}.table-sort{gap:8px;padding:0;color:inherit;font-size:inherit}.kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;overflow:auto;align-items:start}.kanban-column{border-radius:7px;background:#eef3e9;min-height:410px;padding:12px;min-width:220px}.kanban-column>header{display:flex;gap:7px;align-items:center;padding:2px 2px 14px}.kanban-column header h3{font-size:11px;color:#829473;font-weight:500}.kanban-column header>span:not(.status-dot){font-size:10px;color:#a2b194;background:#e3ecda;border-radius:4px;padding:0 5px}.kanban-column header .icon-button{margin-left:auto}.status-dot{width:6px;height:6px;border-radius:50%;background:#a4b295}.doing .status-dot{background:#7ea2c4}.review .status-dot{background:#cbb87e}.done .status-dot{background:#8eb876}.kanban-card{background:#fff;border:1px solid #e0e8d8;padding:14px;border-radius:6px;margin-bottom:10px;box-shadow:0 1px 2px #354a1a04}.card-task-title{background:none;border:0;padding:8px 0 13px;display:block;text-align:left;color:#5a714d;line-height:1.7;font-size:12px;width:100%}.kanban-card>div{gap:6px}.kanban-card footer,.kanban-card>div{display:flex;justify-content:space-between;align-items:center}.kanban-card footer{margin-top:15px;padding-top:11px;border-top:1px solid #f0f4e9}.kanban-card footer>span{display:flex;align-items:center;gap:6px;font-size:9px;color:#a6b694}.board-empty{padding:20px 5px;text-align:center;color:#b4c1a6;border:1px dashed #d7e2cc;border-radius:6px;font-size:10px}.timeline-options{display:flex;justify-content:space-between;gap:15px;margin:7px 0 15px;font-size:11px;color:#96a585}.timeline-options>span{display:flex;align-items:center;gap:7px}.check-label{display:flex;align-items:center;gap:8px;font-size:11.5px;line-height:1.65}.timeline{overflow:auto}.gantt-header{display:flex;background:#fafcf8;border-bottom:1px solid #e4ecdc}.gantt-header>span{width:300px;flex:none;padding:15px 20px;font-size:11px;color:#9aa68e;border-right:1px solid #e5ecdc}.gantt-header>div{flex:1 1;display:flex;justify-content:space-around;font-size:10px;color:#a3b194;padding:15px 0}.gantt-row{display:flex;height:70px;border-bottom:1px solid #edf2e5}.gantt-row>button{width:300px;flex:none;text-align:left;border:0;border-right:1px solid #e5ecdc;background:white;padding:10px 20px;overflow:hidden}.gantt-row strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:11px;color:#82946e}.gantt-row small{font-size:8px;color:#b1bda4}.gantt-track{flex:1 1;position:relative;background-image:linear-gradient(90deg,#edf2e4 1px,transparent 0)}.gantt-bar{position:absolute;top:25px;height:22px;border:1px solid #b0c69c;border-radius:4px;color:#759454;background:#dbeacb;display:flex;gap:6px;align-items:center;padding:0 8px;overflow:hidden;min-width:8px}.gantt-bar span{font-size:8px;white-space:nowrap}.gantt-bar.planned{border-style:dashed;background:#f0f5e7}.gantt-bar.doing{border-color:#9eb5cc;background:#e5eef7;color:#7393b1}.gantt-bar.done{background:#c2ddb0}.today-line{position:absolute;top:0;bottom:0;border-left:1px solid #c29278;pointer-events:none}.document-flow{display:flex;gap:10px;justify-content:space-between;background:white;border:1px solid var(--border);border-radius:8px;padding:19px 20px;margin-bottom:22px}.document-flow>div{display:flex;gap:18px;align-items:center;flex:1 1}.document-flow>div:last-child{flex:initial}.document-flow button{border:0;display:flex;align-items:center;gap:10px;background:none;padding:0;text-align:left;white-space:nowrap;color:#7e906f;font-size:12px}.document-flow button.selected{color:var(--green)}.document-flow button.selected .flow-icon{background:#dbe9cd}.flow-icon{color:#9bb486;width:35px;height:39px;background:#f1f6eb;border-radius:6px;display:flex;align-items:center;justify-content:center}.document-flow small{display:block;font-size:10px;color:#b2bfa5;margin-top:4px}.flow-arrow{color:#c9d5bf;margin-left:auto}.document-tabs{display:flex;gap:25px;align-items:center;border-bottom:1px solid #e2e9da;margin-bottom:17px}.document-tabs>button{display:flex;align-items:center;gap:7px;background:none;border:0;border-bottom:2px solid transparent;padding:12px 0;color:#9eae90;font-size:12px;margin-bottom:-1px}.document-tabs>button.active{color:var(--green);border-color:var(--green);font-weight:600}.document-tabs>button>span{font-size:10px;border-radius:4px;padding:0 5px;background:#edf3e6}.outstanding-label{margin-left:auto;font-size:11px;color:#a3b294}.outstanding-label strong{color:#7d965f;font-weight:500;margin-left:8px}.document-table{min-width:850px}.document-name{display:flex;align-items:center;gap:10px}.document-name .text-button{font-size:11px;color:#6d8559}.document-name small{font-size:9px;color:#a3b394;display:block;margin-top:3px}.file-icon{display:flex;width:32px;height:38px;justify-content:center;align-items:center;background:#f0f5e9;color:#9fb886;border-radius:5px}.file-icon.invoice{background:#edf4f9;color:#91aec2}.file-icon.contract{background:#f3eef8;color:#ae98bf}.file-icon.receipt{background:#edf7e7;color:#91b675}.compare-scope{max-width:330px;min-width:180px}.document-detail-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid var(--border)}.document-detail-body{display:grid;grid-template-columns:minmax(0,1fr) 240px;min-height:600px}.pdf-area{background:#eef2e9;padding:16px;min-width:0}.pdf-preview{width:100%;height:720px;border:1px solid #d9e2cd;border-radius:3px;background:white}.pdf-loading{height:450px;display:flex;gap:10px;align-items:center;justify-content:center;color:#9cae87;font-size:12px}.document-info{padding:23px 18px;border-left:1px solid #e7eddf}.document-info h3{margin-bottom:10px;font-size:12px;color:#8b9d76}.document-info h3:not(:first-child){margin-top:22px}.document-info p{font-size:11px;color:#a4b294}.detail-pairs{display:grid;grid-template-columns:1fr auto;gap:10px 8px;font-size:10px;color:#a3b192}.detail-pairs strong{font-weight:500;color:#7c9464}.document-next{display:flex;gap:7px;flex-direction:column;align-items:flex-start}.document-next .button{font-size:10px;padding:7px 9px}.linked-doc{display:flex;gap:5px;align-items:center;border:0;background:none;font-size:10px;color:#7d995f;padding:6px 0}.payment-record{padding:10px 0;border-top:1px solid #e9efdf}.payment-record strong{display:block;font-size:11px;font-weight:500}.payment-record small{display:block;font-size:9px;color:#a9b798}.payment-record button{font-size:9px;margin-top:5px}.void-form{display:flex;flex-direction:column;gap:8px}.void-form textarea{font-size:10px}.modal-backdrop{position:fixed;inset:0;background:#20331e54;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;z-index:100;padding:45px 24px;overflow:auto}.modal{width:620px;max-width:100%;background:white;border:1px solid #dce5d2;border-radius:11px;box-shadow:0 22px 70px #15221030;max-height:calc(100vh - 90px);overflow:auto;display:block}.modal.wide{width:1040px}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:21px 25px;border-bottom:1px solid var(--border);background:white;position:sticky;top:0;z-index:4}.modal-head h2{font-size:18px;color:#4d6a39}.modal-head p{font-size:11px;color:#a1b08f;margin-top:5px}.modal-body{padding:24px 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 17px}.full{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;min-width:0}.field>span{font-weight:500;color:#798e63}.field small{font-weight:400;color:#aab899;font-size:9.5px}.field input,.field select,.field textarea{font-size:12px}.field-error{color:var(--red)!important;font-size:11px}.form-footer{display:flex;justify-content:flex-end;gap:9px;padding:17px 25px;border-top:1px solid var(--border);position:sticky;bottom:0;background:#fff;z-index:3}.form-section-title{margin:24px 0 12px;font-size:13px;color:#7d9666}.form-section-title+.muted{font-size:11px;margin-bottom:17px}.upload{gap:14px;flex-wrap:wrap}.upload,.upload-label{display:flex;align-items:center}.upload-label{gap:9px;padding:17px 20px;border:1px dashed #cbd9bb;border-radius:6px;background:#f9fcf5;color:#94aa7d;font-size:11px;cursor:pointer;position:relative;flex:1 1}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload>a{font-size:10px}.dependency-options{display:flex;flex-direction:column;gap:9px;margin-bottom:20px;color:#98aa82}.project-link-box{display:flex;gap:12px;align-items:center;background:#f5f9ef;border:1px solid #e1ebd6;border-radius:7px;padding:16px;margin:21px 0;color:#91ac74}.project-link-box strong{font-size:11px;font-weight:500;color:#789c53}.project-link-box p{font-size:9px;color:#a6b990}.project-link-box select{margin-left:auto;max-width:320px;font-size:11px}.line-editor{border:1px solid #e3ebda;border-radius:6px;overflow:auto}.line-editor-head,.line-editor-row{display:grid;grid-template-columns:minmax(180px,1fr) 65px 65px 100px 90px 30px;gap:9px;padding:12px;align-items:start;min-width:670px}.line-editor-head{background:#f6f9f0;font-size:10px;color:#a1b38a}.line-editor-row{border-bottom:1px solid #edf3e4}.line-editor-row input,.line-editor-row textarea{width:100%;font-size:11px;padding:7px}.line-editor-row strong{text-align:right;font-size:11px;font-weight:500;padding-top:8px;color:#889f6c}.line-editor .button{margin:4px}.document-calculation{display:grid;grid-template-columns:1fr 310px;gap:35px;margin:23px 0}.totals-box{border-radius:7px;background:#f2f7e9;padding:16px 19px;color:#8da272}.totals-box>div{display:flex;justify-content:space-between;gap:15px;font-size:11px;margin-bottom:10px}.totals-box .total{border-top:1px solid #dce8ca;padding-top:12px;color:#567b32;font-size:14px}.totals-box strong{font-weight:600}.totals-box>small{font-size:9px;color:#9fb386;display:block;text-align:right}.review-check{display:flex;align-items:flex-start;gap:9px;background:#f5f9ef;border:1px solid #e5eedb;border-radius:6px;padding:15px;margin-top:20px;font-size:11px;color:#91a777}.review-check input{margin-top:3px}.toast{position:fixed;bottom:28px;left:calc(50% + var(--sidebar)/2);transform:translateX(-50%);background:#fff;border:1px solid #c9dbb6;border-radius:8px;box-shadow:0 7px 25px #29461b1a;padding:14px 16px;display:flex;gap:10px;align-items:center;z-index:200;color:#71994e;font-size:12px;max-width:calc(100vw - 50px);min-width:240px}.toast.error{color:#b36b58;border-color:#edc9b8}.toast button{border:0;background:none;color:inherit;margin-left:7px;padding:2px;display:flex}.toast svg{flex:none}.notice-list{list-style:none;padding:0;margin:0 0 22px}.notice-list li{display:flex;gap:11px;color:#a68f5b;font-size:12px;padding:15px 0;border-bottom:1px solid #f1eadb;line-height:1.8}.notice-list svg{flex:none;margin-top:3px}.prose h3{margin:20px 0 7px;color:#79945e}.prose h3:first-child{margin-top:0}.prose p{font-size:12px;color:#9aaf81;margin-bottom:12px}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.settings-fields{padding:22px}.settings-aside{display:flex;flex-direction:column;gap:18px}.settings-aside .field{margin-bottom:18px}.settings-aside .check-label{align-items:flex-start;color:#9aac82}.settings-aside .check-label+p{margin-top:15px}.backup-panel{padding:23px;color:#9fb884}.backup-panel h3{font-size:12px;margin:12px 0 7px;color:#7c9961}.backup-panel p{font-size:10px;color:#a3b98b;margin-bottom:17px}.member-form{display:flex;gap:10px;margin:20px 0}.member-form input{flex:1 1}.member-form input,.member-form select{font-size:11px}.contact-icon{background:#f0f5e8;border-radius:8px;color:#a1b98a;width:37px;height:37px;justify-content:center;flex:none}.contact-icon,.contact-line{display:flex;align-items:center}.contact-line{font-size:10px;gap:6px;color:#a5b993;margin:4px 0}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:23px}.template-card{display:flex;gap:23px;padding:24px;align-items:center}.template-preview{width:155px;min-width:155px;height:220px;border:1px solid #e1e8d8;background:white;box-shadow:0 3px 15px #466b2d09;padding:15px 10px}.mini-header{display:flex;align-items:center;justify-content:space-between}.mini-header img{width:48px}.mini-header span{font-size:7px;color:#1c241a;font-weight:700}.mini-lines{height:28px;width:70%;margin:15px 0;background:repeating-linear-gradient(180deg,#dfe6d7,#dfe6d7 1px,transparent 0,transparent 6px)}.mini-table-head{height:13px;background:#3c603b}.mini-table{height:50px;border-bottom:1px solid #dfe9d4;background:repeating-linear-gradient(180deg,transparent,transparent 14px,#e8efdf 0,#e8efdf 15px)}.mini-total{width:49%;height:32px;background:#c0d1b1;margin-top:14px;margin-left:auto}.template-info h2{font-size:15px;margin:12px 0 10px;color:#75915c}.template-info p{font-size:10px;color:#a5b78f;line-height:1.9;margin-bottom:15px}.template-info .button{font-size:10px}.template-preview.invoice h3{font-family:serif;font-size:9px;color:#4e7736;text-align:center}.template-preview.invoice strong{font-size:8px;color:#517837}.welcome{min-height:100vh;justify-content:center;flex-direction:column;background:#f5f8f0;padding:35px;gap:18px;text-align:center}.welcome,.welcome-logo{display:flex;align-items:center}.welcome-logo{gap:15px;margin-bottom:20px;color:#466d32}.welcome-logo img{width:60px;height:60px;object-fit:contain}.welcome-logo>span{font-size:45px;font-weight:550;letter-spacing:2px;text-align:left;line-height:1}.welcome-logo>span>span{display:block;font-size:12px;letter-spacing:1px;color:#95b17b;margin-top:10px}.welcome h1{font-size:26px;color:#597d42}.welcome p{font-size:13px;color:#9db389}.welcome small{color:#b5c4a4;margin-top:55px;font-size:10px}.loading{display:flex;gap:8px;align-items:center;color:#96ae7e}.data-table td{color:#5d6f53}.document-name .text-button,.project-group .text-button,.task-name{color:#3e5d36}.assignee-cell,.data-table .muted,.date-cell,.priority,.project-cell small,.task-key{color:#7b8a71}.data-table th{color:#748668}.chart-legend,.metric-label,.metric>small,.page-heading p,.panel-heading p,.report-filter .toolbar-group>span,.toolbar-group{color:#7c8d72}.field>span{color:#566e49}.field small{color:#829573}.document-info p,.prose p,.settings-aside .check-label,.settings-aside .small-text,.template-info p{color:#778d65}.detail-pairs,.detail-pairs strong,.document-info h3{color:#6c825a}.check-label,.modal-head p,.review-check{color:#788c68}.activity small,.app-footer,.project-progress small,.table-footer{color:#8b9b7e}@media(min-width:1600px){.main-content{padding:34px 46px}.topbar{padding:0 46px}.metric{padding:23px 26px}.metric>strong{font-size:31px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:1200px){:root{--sidebar:212px}.brand{padding-left:20px}.main-content{padding:25px 23px}.topbar{padding:0 23px}.metric{padding:16px}.metric>strong{font-size:24px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 255px}.pipeline-panel{padding:20px}.pipeline-panel h2{font-size:26px}.work-stat{padding:0 16px}.work-stat strong{font-size:19px}.document-flow{padding:16px 12px;gap:5px}.document-flow>div{gap:8px}.document-flow button{gap:6px;font-size:10px}.flow-icon{width:29px;height:34px}.template-card{gap:15px;padding:17px}.template-preview{width:125px;min-width:125px}.template-info h2{font-size:13px}.global-search{width:210px}.heading-actions .sync-status{display:none}}@media(max-width:1000px){:root{--sidebar:195px}.nav-item{font-size:11.5px;padding:10px}.sidebar nav{padding:0 9px}.workspace-switch{margin:5px 12px 20px}.workspace-switch small{font-size:8px}.brand{height:75px}.topbar-right{gap:6px}.global-search{width:180px}.topbar{gap:10px}.main-content{padding:22px 20px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.pipeline-panel{display:none}.dashboard-lower{grid-template-columns:1fr}.page-heading{gap:14px}.page-heading h1{font-size:23px}.page-heading p{font-size:10px}.work-stat{gap:8px;padding:0 12px}.work-stat .baht-icon,.work-stat svg{display:none}.work-stat strong{font-size:18px}.work-stat span:not(.baht-icon){font-size:9px}.settings-layout{grid-template-columns:1fr}.settings-aside{display:grid;grid-template-columns:1fr 1fr}.settings-aside>.full-button{grid-column:1/-1;grid-row:2}.template-grid{grid-template-columns:1fr}.template-card{padding:23px;gap:25px}.template-preview{width:155px;min-width:155px}.document-flow{overflow-x:auto;justify-content:flex-start}.document-flow>div{flex:none;gap:12px}.document-flow button{font-size:11px}.document-detail-body{grid-template-columns:1fr}.document-info{border-left:0;border-top:1px solid #e3ecd9}.pdf-preview{height:650px}.document-info .detail-pairs{max-width:400px}.document-calculation{gap:20px;grid-template-columns:1fr 270px}.global-search{width:170px}.toolbar{flex-wrap:wrap}.report-filter,.toolbar{align-items:flex-start}.report-filter .toolbar-group{gap:6px}.document-tabs{gap:15px}.outstanding-label{font-size:10px}}@media(max-width:760px){:root{--sidebar:0px}.sidebar{width:238px;transform:translateX(-100%);box-shadow:10px 0 50px #162d2220}.sidebar.open{transform:translateX(0)}.main-shell{margin-left:0}.topbar{height:58px;padding:0 16px}.mobile-menu{display:inline-flex}.breadcrumbs>span,.breadcrumbs>svg,.topbar-right>.icon-button{display:none}.topbar-right{gap:9px}.global-search{width:170px;padding:4px 9px}.main-content{padding:22px 16px}.page-heading{align-items:flex-start;margin-bottom:20px}.page-heading h1{font-size:23px}.page-heading p{max-width:220px;line-height:1.7}.heading-actions{padding-top:22px}.heading-actions .button{font-size:10px;padding:8px 10px}.page-eyebrow{font-size:9px}.metrics-grid{gap:10px;margin-bottom:16px}.metric{padding:13px}.metric-label{font-size:10px;margin-bottom:5px}.metric-icon{width:25px;height:25px}.metric-icon svg{width:16px}.metric>strong{font-size:23px}.metric>strong>span{font-size:15px}.metric>small{font-size:8px;min-height:25px;line-height:1.7}.report-filter{flex-wrap:wrap;margin-bottom:17px}.report-filter .toolbar-group{flex-wrap:wrap}.report-filter input{font-size:10px;width:118px;padding:6px}.report-filter .button{font-size:10px;padding:6px 10px}.dashboard-grid{gap:12px;margin-bottom:16px}.panel-heading{padding:17px 16px 14px}.panel-heading h2{font-size:14px}.panel-heading p{font-size:9px}.cash-chart{padding-left:12px;padding-right:15px}.chart-empty span{font-size:8px}.chart-legend{padding:0 17px}.project-finance{margin-bottom:16px}.project-finance .data-table{min-width:750px}.dashboard-lower{gap:16px}.app-footer{flex-direction:column;gap:3px;font-size:8px;margin-top:20px}.work-overview{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;gap:0}.work-stat{padding:15px;border-bottom:1px solid #e7ecdf}.work-stat:nth-child(2){border-right:0}.work-stat:nth-child(n+3){border-bottom:0}.work-stat strong{font-size:20px}.view-tabs{gap:20px;margin-bottom:15px}.view-tabs>button{font-size:11px}.tab-note{display:none}.toolbar-group select{max-width:170px;font-size:10px}.toolbar{gap:10px}.toolbar-group{gap:7px}.toolbar .button{font-size:10px;padding:6px 9px}.kanban{grid-template-columns:repeat(4,250px);gap:12px}.timeline-options{font-size:9px;align-items:flex-start}.timeline-options .check-label{font-size:9px}.document-flow{padding:14px;gap:14px}.document-flow button{font-size:10px}.document-tabs{gap:17px;flex-wrap:wrap}.document-tabs>button{font-size:11px}.outstanding-label{margin-left:0;padding:0 0 10px}.modal-backdrop{padding:12px 8px}.modal{max-height:calc(100vh - 24px);border-radius:8px}.modal-head{padding:17px}.modal-head h2{font-size:15px}.modal-head p{font-size:10px}.modal-body{padding:18px 17px}.form-grid{gap:15px 12px}.form-grid>.field{grid-column:1/-1}.form-footer{padding:14px 17px}.project-link-box{flex-wrap:wrap;padding:13px;gap:9px}.project-link-box select{width:100%;max-width:100%;margin:4px 0 0}.document-calculation{grid-template-columns:1fr}.document-calculation .form-grid>.field{grid-column:auto}.totals-box{padding:17px}.document-detail-actions{padding:12px 14px;gap:7px}.document-detail-actions .button{font-size:9px;padding:6px 9px}.pdf-area{padding:10px}.pdf-preview{height:580px}.document-info{padding:20px}.settings-aside{display:flex}.settings-fields{padding:18px}.settings-layout{gap:16px}.member-form{flex-direction:column}.template-card{gap:18px;padding:17px}.template-preview{width:120px;min-width:120px;height:195px;padding:12px 8px}.template-info h2{font-size:13px}.template-info p{font-size:9px}.template-info .button{font-size:8px;padding:7px}.notice{padding:11px 13px}.notice,.notice p{font-size:10px}.prose p,.toast{font-size:11px}.toast{bottom:17px;max-width:calc(100vw - 26px)}.table-footer{font-size:8px}.table-footer>span:last-child{display:none}.welcome h1{font-size:23px}.welcome p{font-size:11px}.empty{padding:40px 16px}.empty h3{font-size:13px}.empty p{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.font-setup{margin-bottom:20px;display:flex;flex-direction:column;gap:15px}.font-upload{position:relative;overflow:hidden}.font-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.brand .brand-logo{width:166px;height:70px;object-fit:contain;display:block;flex:none}.brand{height:96px;justify-content:center;padding:12px 24px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,430px);padding:32px}.auth-card h1{margin:20px 0 8px}.auth-card form{display:grid;gap:20px;margin-top:24px}.account-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.account-controls form{position:absolute;right:24px;top:75px;z-index:60;box-shadow:0 8px 30px #0002;display:grid;gap:12px;min-width:300px}.employee-shell{max-width:1400px;margin:auto;padding:32px}.employee-header{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:24px}.employee-header .account-controls{margin-left:auto}.employee-gantt-row{display:grid;grid-template-columns:250px 1fr;gap:16px;margin:12px 0}.employee-gantt-track{background:#edf2e4;border-radius:5px;overflow:hidden}.employee-gantt-track>div{background:#3c603b;color:white;padding:5px 2px;font-size:11px;min-height:26px;white-space:nowrap}.member-form{flex-wrap:wrap}.member-form input{min-width:170px}.notice input[readonly]{width:min(100%,800px)}@media(max-width:650px){.employee-shell{padding:16px}.employee-gantt-row{grid-template-columns:130px 1fr}.topbar-right .account-controls{display:none}}