@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box}body{color:#20392f;background:#f6f8f7;margin:0;font:14px Inter,IBM Plex Sans Thai,sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:flex}aside{background:#fff;border-right:1px solid #e5eae7;flex-direction:column;width:224px;padding:36px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1px;align-items:center;gap:12px;margin:0 7px 54px;font-size:25px;font-weight:800;display:flex}.brand span:not(.logo){letter-spacing:1.5px;color:#8b9991;margin-top:3px;font-size:8px;font-weight:500;display:block}.logo{color:#fff;background:#14765e;border-radius:12px;place-items:center;width:39px;height:39px;display:grid}.nav-label{letter-spacing:1.6px;color:#99a69e;margin:0 15px 17px;font-size:10px}.nav{color:#7d8b83;border-radius:8px;align-items:center;gap:11px;margin-bottom:7px;padding:14px;font-size:12px;display:flex}.nav.active{color:#176b50;background:#eaf4ee;font-weight:600}.nav-dot{background:#2b8667;border-radius:50%;width:5px;height:5px;margin-left:auto}.side-bottom{border-top:1px solid #edf0ee;align-items:center;gap:9px;margin-top:auto;padding-top:24px;font-size:10px;display:flex}.side-bottom small{color:#89978e;margin-top:5px;font-size:9px;display:block}.source-icon{background:#f0f4f1;border-radius:8px;padding:8px}.dot{background:#33966e;border-radius:50%;width:6px;height:6px;display:inline-block}.side-bottom .dot{margin-left:auto}.workspace{width:calc(100% - 224px);margin-left:224px}header{background:#fff;border-bottom:1px solid #e5eae7;justify-content:space-between;align-items:center;height:70px;padding:0 38px;font-size:11px;display:flex}.breadcrumb{color:#99a59e}.breadcrumb span{color:#c9d0cc;margin:0 14px}.breadcrumb b{color:#4c6055;font-weight:500}.private{color:#809086;align-items:center;gap:7px;font-size:10px;display:flex}main{max-width:1600px;margin:auto;padding:36px 38px 22px}.page-title{justify-content:space-between;align-items:center;margin-bottom:29px;display:flex}.eyebrow{letter-spacing:2.1px;color:#7c9184;margin-bottom:8px;font-size:9px;font-weight:600}h1{letter-spacing:-.8px;margin:0;font-size:29px;font-weight:600;line-height:1.5}.title-dot{color:#53a17b;margin-left:3px}.page-title p{color:#8b998f;margin:6px 0 0;font-size:12px}.top-actions{gap:9px;display:flex}.button{color:#5b6d61;background:#fff;border:1px solid #dfe6e1;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:11px;display:inline-flex}.button:hover{border-color:#92b5a0}.button.primary{color:#fff;background:#186c53;border-color:#186c53}.filter-panel{background:#fff;border:1px solid #e4eae6;border-radius:10px;align-items:center;gap:18px;padding:15px 17px;display:flex}.presets,.mini-tabs{background:#f2f5f3;border-radius:6px;gap:2px;padding:4px;display:flex}.presets button,.mini-tabs button{color:#8a988e;white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:7px 12px;font-size:10px}.presets .selected,.mini-tabs .selected{color:#32634c;background:#fff;box-shadow:0 1px 4px #0000000a}.date-controls{color:#9aa69f;align-items:center;gap:10px;margin-left:auto;display:flex}.date-controls input{color:#5c6e62;background:0 0;border:0;width:115px;min-width:105px;font-size:11px}.branch-control{color:#8b9b90;border-left:1px solid #e6ebe8;align-items:center;gap:8px;padding-left:18px;display:flex}.branch-control select{color:#4a6253;background:#fff;border:0;padding:7px 2px;font-size:11px}.period{color:#94a197;justify-content:space-between;margin:20px 1px 13px;font-size:10px;display:flex}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px;display:grid}.kpi{background:#fff;border:1px solid #e3eae5;border-radius:11px;padding:20px 21px 16px;overflow:hidden}.kpi.hero{color:#fff;background:#174d3d;border-color:#174d3d}.kpi-heading{color:#84968a;justify-content:space-between;align-items:center;font-size:11px;display:flex}.kpi.hero .kpi-heading{color:#bed9ca}.kpi-heading span{color:#88a393}.kpi.hero .kpi-heading span{color:#8ab89f}.kpi-value{letter-spacing:-1px;font-variant-numeric:tabular-nums;margin-top:16px;font-size:clamp(21px,2.1vw,33px);font-weight:600}.kpi-unit{color:#94a297;margin-top:4px;font-size:10px}.hero .kpi-unit{color:#9ebfae}.kpi-note{color:#99a69e;border-top:1px solid #eef1ef;margin-top:17px;padding-top:12px;font-size:9px;line-height:1.6}.hero .kpi-note{color:#bed9ca;border-color:#ffffff15}.positive{color:#b3e0c4}.negative{color:#ffc5b7}.charts{grid-template-columns:minmax(0,1.95fr) minmax(260px,1fr);gap:19px;display:grid}.panel{background:#fff;border:1px solid #e3eae5;border-radius:11px;min-width:0;padding:22px 23px}.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}h2{color:#2d4a39;margin:0;font-size:14px;font-weight:600}.panel-head p{color:#9aa69e;margin:6px 0 0;font-size:10px;line-height:1.5}.mini-tabs button{padding:5px 9px;font-size:9px}.chart{height:270px;margin-top:20px}.branch-total{letter-spacing:-.8px;margin-top:34px;font-size:27px;font-weight:600}.branch-total small{color:#a0aaa3;letter-spacing:0;margin-top:7px;font-size:10px;font-weight:400;display:block}.share-track{background:#f2f5f3;border-radius:4px;height:9px;margin:22px 0 27px;display:flex;overflow:hidden}.branch-row{border-top:1px solid #edf1ee;justify-content:space-between;align-items:center;padding:17px 0;font-size:11px;display:flex}.branch-row>div:last-child{text-align:right}.branch-row small{color:#98a59b;margin-top:7px;font-size:9px;display:block}.branch-row strong{font-weight:600}.legend-dot{border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.bottom-grid{grid-template-columns:minmax(250px,1fr) minmax(0,1.95fr);align-items:start;gap:19px;margin-top:20px;display:grid}.weekday-chart{height:210px;margin-top:28px}.footnote{color:#9aa69f;margin:17px 0 0;font-size:9px}.records{padding-bottom:0}.export{padding:7px 10px;font-size:10px}.table-scroll{margin-top:22px;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:10px}th{text-align:left;color:#9aa79e;background:#f7f9f7;padding:11px 9px;font-weight:500}td{color:#718276;border-bottom:1px solid #f0f3f0;padding:12px 9px}th:nth-child(n+3),td:nth-child(n+3){text-align:right}.strong{color:#3c5745;font-variant-numeric:tabular-nums;font-weight:500}.badge{color:#66816d;background:#eff5ef;border-radius:4px;padding:4px 7px;font-size:9px}.pagination{color:#96a39a;justify-content:space-between;align-items:center;padding:15px 0;font-size:9px;display:flex}.pagination>div{align-items:center;gap:10px;display:flex}.pagination button{color:#708a77;background:#fff;border:1px solid #e6ebe7;border-radius:4px;place-items:center;padding:4px;display:grid}footer{color:#a1aca4;justify-content:space-between;align-items:center;gap:16px;margin-top:23px;font-size:9px;display:flex}footer span:first-child{align-items:center;gap:6px;display:flex}.empty{color:#9aa79d;justify-content:center;align-items:center;height:170px;font-size:12px;display:flex}td.empty{text-align:center;display:table-cell}.alert{color:#846435;background:#fff4e5;border:1px solid #f3d9b6;border-radius:8px;margin:16px 0;padding:17px;font-size:12px;line-height:1.7}.alert p{overflow-wrap:anywhere;margin:7px 0 10px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:1600px){main{padding-top:43px}.chart{height:310px}.kpi-value{font-size:36px}}@media (max-width:1200px){aside{width:185px;padding:30px 12px}.workspace{width:calc(100% - 185px);margin-left:185px}main{padding:27px 23px}header{padding:0 23px}.filter-panel{flex-wrap:wrap;gap:10px}.date-controls{margin-left:auto}.branch-control{padding-left:8px}.kpi{padding:17px 14px}.charts{grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr)}.bottom-grid{grid-template-columns:minmax(230px,1fr) minmax(0,1.7fr)}}@media (max-width:950px){aside{width:72px;padding:28px 12px}.brand{margin:0 auto 35px}.brand>div,.nav-label,.nav,.side-bottom{display:none}.workspace{width:calc(100% - 72px);margin-left:72px}.page-title{gap:20px}.top-actions{flex-direction:column}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-value{font-size:30px}.charts,.bottom-grid{grid-template-columns:1fr}.branch-total{margin-top:20px}.branch-row{padding:14px 0}.weekday-chart{height:180px}.date-controls{margin-left:0}.branch-control{margin-left:auto}.panel{padding:20px}.chart{height:300px}}@media (max-width:600px){aside{display:none}.workspace{width:100%;margin-left:0}header{height:54px;padding:0 18px}.private{font-size:9px}main{padding:23px 16px}.page-title{align-items:flex-start}h1{font-size:25px}.eyebrow{font-size:8px}.top-actions .button:first-child{display:none}.button{padding:10px;font-size:10px}.page-title p{font-size:10px}.filter-panel{padding:12px}.presets{flex:1;order:0}.presets button{flex:1}.date-controls{border-top:1px solid #edf1ee;order:2;justify-content:space-between;width:100%;padding-top:10px}.date-controls input{width:38%;font-size:10px}.branch-control{border:0;order:1;padding-left:0}.branch-control select{max-width:85px;font-size:10px}.period{gap:12px;font-size:8px;line-height:1.6}.kpis{gap:10px}.kpi{padding:16px 13px 12px}.kpi-heading{font-size:10px}.kpi-value{margin-top:14px;font-size:26px}.kpi-unit{font-size:9px}.kpi-note{min-height:37px;margin-top:12px;font-size:8px}.panel{padding:18px 14px}.chart{height:260px}.panel-head p{font-size:9px}.mini-tabs button{padding:5px 6px;font-size:8px}.panel-head h2{font-size:13px}.bottom-grid{gap:14px;margin-top:14px}.charts{gap:14px}.table-scroll{margin-top:16px}footer{flex-direction:column;align-items:flex-start;gap:5px;font-size:8px;line-height:1.7}}button.nav{text-align:left;background:0 0;border:0;width:100%;font-family:inherit}button.nav.active{background:#eaf4ee}.links-main{max-width:none;padding:0}.legacy-frame{background:#f6f7f4;border:0;width:100%;height:calc(100vh - 70px);min-height:700px;display:block}.mobile-nav{display:none}@media (max-width:950px){.mobile-nav{background:#fff;border-bottom:1px solid #e5eae7;gap:8px;padding:12px 23px;display:flex}.mobile-nav button{color:#708376;background:#f4f7f4;border:0;border-radius:6px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;display:flex}.mobile-nav button.selected{color:#176b50;background:#eaf4ee}.legacy-frame{height:calc(100vh - 126px)}}@media (max-width:600px){.mobile-nav{padding:10px 16px}.legacy-frame{height:calc(100vh - 112px)}.kpi-value{font-size:clamp(18px,4.6vw,26px)}}
