/* Four Beams / Eight Pillars — local design edition */
:root{--navy:#102831;--navy2:#163f48;--teal:#158d88;--teal2:#0d746e;--ink:#173a43;--text:#425d65;--muted:#7a8e95;--line:#e1e9ea;--bg:#f3f6f6;--red:#ca6956;--shadow:0 5px 22px #1b3c4405}
body{letter-spacing:.1px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #4eafba;outline-offset:3px}button{transition:background .18s,box-shadow .18s,transform .18s}button:active:not(:disabled){transform:translateY(1px)}button[disabled]{cursor:not-allowed}.btn{min-height:38px;border-radius:9px;font-weight:550}.btn-primary{box-shadow:0 4px 10px #13877e1a}.btn-primary:hover{box-shadow:0 5px 14px #13877e33;transform:translateY(-1px)}.btn-sm{min-height:30px}.link{min-height:30px;border-radius:6px}.link:hover{background:#e8f4f1}.x{width:34px;height:34px;border-radius:8px}.x:hover{background:#eef3f4}.input{min-height:40px}.tag{border-radius:5px}
.sidebar{width:204px;padding:26px 14px 15px;background:linear-gradient(175deg,#142e36,#0c232b)}.sidebar .brand-lockup{gap:10px;padding:0 8px 30px;flex-wrap:nowrap}.sidebar .brand-name{font-size:19px;white-space:nowrap;letter-spacing:1px}.sidebar .brand-en{font-size:8px;letter-spacing:1.7px}.brand-mark{flex-shrink:0}.main-shell{margin-left:204px}.nav-btn{height:47px;border-radius:9px}.nav-btn.active{background:linear-gradient(90deg,#1c555b,#1d3f48);box-shadow:inset 0 0 0 1px #ffffff08}.topbar{height:72px;margin:0;padding:0 30px;position:sticky;top:0;z-index:70;background:#f8fafaf2;backdrop-filter:blur(12px)}.topbar-right{gap:16px}.content{padding:25px 30px 45px}.page-head h1{font-size:28px;letter-spacing:.5px}.page-head{margin-bottom:22px}.page-head .desc{color:#6f858e;font-size:13px}.panel,.stat-card,.mini-stat,.metric-strip{border-radius:15px;border:1px solid #e0e9e9}.section-title{font-size:17px}.eyebrow{font-size:9px;letter-spacing:2px;color:#6b8c95}.stat-label{font-size:12px;color:#71868f}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.7px}.stat-foot{color:#84979c}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:'';position:absolute;width:38px;height:3px;top:0;left:22px;background:#95bfb7;border-radius:0 0 3px 3px}.hero{min-height:218px;padding:30px 32px;background-position:center 53%;border-radius:18px}.hero h1{font-size:31px}.hero-art{opacity:.35}.hero p{font-size:13px;margin:12px 0 20px}.project-showcase{gap:14px}.project-card{border-radius:14px}.project-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #173c4b22}.project-card-content{padding:17px}.project-card-stats{font-size:10px}.project-card-title{font-size:16px}
.preview-ribbon{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;margin-bottom:22px;border:1px solid #d5e5df;border-radius:10px;background:#eaf3ef;font-size:11px;color:#58766d}.preview-ribbon strong{color:#237d68;font-size:12px;margin-right:10px}.preview-ribbon .btn{background:#ffffffa3;font-size:11px;min-height:30px;padding:4px 10px}.preview-ribbon.demo{background:#fff5e5;border-color:#eedbbd;color:#8a7049}.preview-ribbon.demo strong{color:#a87224}.preview-dot{display:inline-block;width:6px;height:6px;background:#29a07b;border-radius:50%;margin-right:7px}.preview-ribbon.demo .preview-dot{background:#d89d45}
.insight-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:18px;margin:20px 0}.insight-grid.equal{grid-template-columns:1fr 1fr}.insight-panel{padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:15px;min-width:0}.insight-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.insight-title h2{font-size:17px;font-weight:600;color:var(--ink)}.insight-title p{font-size:11px;color:var(--muted);margin-top:4px}.insight-kicker{color:#728e97;font-size:9px;letter-spacing:2px;margin-bottom:6px}.chart-legend{display:flex;gap:14px;font-size:10px;color:#71878f;align-items:center;flex-wrap:wrap}.swatch{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:6px;vertical-align:1px}.chart-unit{font-size:10px;color:#8aa0a5;margin:4px 0 0}.plot{display:flex;gap:8px;margin:10px 0 0;height:190px}.plot-axis{width:36px;display:flex;flex-direction:column;justify-content:space-between;padding-bottom:28px;font-size:10px;color:#8a9da4;text-align:right}.plot-bars{display:flex;flex:1;gap:8px;position:relative;align-items:stretch;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#edf2f3 calc(25% - 1px),#edf2f3 25%);margin-bottom:28px;border-bottom:1px solid #dde7e8}.bar-group{flex:1;min-width:0;display:flex;justify-content:center;gap:4px;align-items:flex-end;position:relative;border:0;background:transparent;padding:0 3px}.bar-group:hover{background:#eff6f6}.bar-group:focus-visible{outline-offset:1px;z-index:2}.bar-fill{display:block;width:35%;max-width:26px;min-height:0;border-radius:5px 5px 0 0;background:linear-gradient(#67b8b0,#2c938a);transition:height .3s}.bar-fill.secondary{background:linear-gradient(#bbd7d8,#92b9bf)}.bar-group-label{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);font-size:10px;color:#71878e;white-space:nowrap}.chart-help{font-size:10px;color:#81959a;margin-top:13px;line-height:1.8}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;color:#82979d;text-align:center;border-radius:12px;background:repeating-linear-gradient(0deg,#f8fafa,#f8fafa 40px,#eef3f3 41px);border:1px dashed #dce6e7;padding:24px}.chart-empty strong{font-size:13px;color:#66828b;margin-bottom:6px}.chart-empty small{font-size:11px;max-width:270px}.chart-empty .btn{margin-top:14px}
.ring-layout{display:flex;gap:22px;align-items:center;min-height:190px}.ring-graphic{width:168px;max-width:48%;position:relative;flex-shrink:0}.ring-graphic svg{width:100%;display:block;overflow:visible}.ring-graphic svg circle{transition:stroke-width .18s;cursor:pointer;outline:none}.ring-graphic svg circle:hover,.ring-graphic svg circle:focus{stroke-width:27;filter:brightness(1.03)}.ring-graphic svg circle[role=button]:focus{stroke:#153d4a}.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.ring-center b{font-size:27px;letter-spacing:-1px;color:var(--ink);font-variant-numeric:tabular-nums}.ring-center small{font-size:10px;color:#889aa1;margin-top:1px}.ring-legend{flex:1;min-width:0}.ring-item{display:flex;width:100%;align-items:center;text-align:left;border:0;background:transparent;padding:9px 5px;font-size:12px;color:#526e78;border-bottom:1px solid #f0f4f4;gap:5px;border-radius:5px}.ring-item:hover{background:#f0f6f4}.ring-item b{margin-left:auto;color:#264d57;font-weight:600}.ring-item em{font-style:normal;font-size:10px;color:#94a4aa;width:36px;text-align:right}.ring-item .swatch{margin-right:5px;flex-shrink:0}
.horizontal-chart{display:grid;gap:12px}.hbar-row{display:grid;grid-template-columns:90px 1fr 62px;gap:12px;align-items:center;border:0;background:transparent;padding:7px 5px;text-align:left;border-radius:7px;color:var(--text);font-size:11px}.hbar-row:hover{background:#f0f6f5}.hbar-track{height:10px;background:#edf3f2;border-radius:5px;overflow:hidden}.hbar-track i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#83bfb6,#208f87)}.hbar-row b{text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.hbar-row label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.smart-summary{display:flex;gap:12px;align-items:center;padding:16px 20px;border:1px solid #dce8e5;background:linear-gradient(100deg,#eff7f2,#f8fbfa);border-radius:13px;margin-bottom:20px}.smart-summary-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:#ddeee7;color:#338574;font-size:18px;flex:none}.smart-summary p{font-size:12px;color:#668277}.smart-summary strong{color:#2b6153}.smart-summary .link{margin-left:auto;white-space:nowrap}.metric-strip{padding:20px}.metric-value{font-size:26px}.customer-summary .mini-stat{cursor:pointer;transition:.2s}.customer-summary .mini-stat:hover{border-color:#88b8b1;box-shadow:0 5px 13px #173c440a}.customer-summary .mini-stat.selected{border-color:#469f94;background:#f0f8f5}.stage-funnel,.grade-band{display:none}.advanced-filters{padding:16px 0 0}.advanced-filters>summary{cursor:pointer;font-size:12px;color:#66858d;list-style:none}.advanced-filters>summary:before{content:'＋';margin-right:7px}.advanced-filters[open]>summary:before{content:'−'}.advanced-filters .filter-row{padding-top:14px}.customer-table{min-width:860px!important}.customer-table th{font-size:11px}.customer-table td{padding:15px 14px}.customer-name{display:flex;gap:11px;align-items:center}.customer-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:#edf4f3;color:#42887d;font-weight:600}.customer-actions{white-space:nowrap}.next-badge{font-size:10px;padding:2px 6px;border-radius:5px;display:inline-block;margin-top:3px;background:#f2f5f5;color:#83959b}.next-badge.overdue{color:#b96953;background:#fcf1ea}.pagination{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:14px 18px;gap:10px;font-size:11px;color:#83979f}.pagination-controls{display:flex;align-items:center;gap:10px}.pagination .btn{min-height:30px;padding:4px 11px;font-size:11px}.table-wrap{border-radius:0 0 14px 14px}th{background:#f7f9f9;color:#70868e;letter-spacing:.2px}tr.clickable:hover{background:#f1f7f5}td.num{font-variant-numeric:tabular-nums}.cell-title{font-size:12px}.cell-sub{line-height:1.7}
.finance-stats{gap:12px}.finance-stats .stat-card{padding:20px;min-height:120px}.finance-stats .stat-value{font-size:27px}.finance-filter{background:#fff;border:1px solid var(--line);padding:12px 16px;border-radius:12px;flex-wrap:wrap}.finance-filter .input{min-height:35px;padding:6px 10px}.outstanding{grid-template-columns:1.65fr 1fr;margin-top:20px;border-radius:16px;background:radial-gradient(ellipse at 100% 0,#276b6d,transparent 80%),#163c46}.outstanding-main{padding:24px 28px}.outstanding-title{font-size:14px;margin:8px 0}.outstanding-value{font-size:34px;letter-spacing:.5px;font-variant-numeric:tabular-nums}.outstanding-split{margin-top:16px;gap:40px}.outstanding-note{margin-top:16px;max-width:450px}.outstanding-side{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:26px}.side-metric{font-size:11px}.side-metric b{font-size:22px}.cash-line{display:flex;justify-content:space-between;align-items:center;margin:10px 0 20px;padding:15px 20px;border:1px solid #dbe8e4;border-radius:12px;background:#eaf3ee;gap:14px;font-size:12px;color:#5b7d6f}.cash-line b{font-size:22px;color:#327e67;font-variant-numeric:tabular-nums;margin:0 12px}.cash-line small{font-size:11px}.debt-age{margin-top:18px}.statement-year{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.statement-year strong{font-size:16px;color:var(--ink)}.statement-year span{font-size:10px;color:#80949d;display:block}.statement-year b{font-size:15px;font-variant-numeric:tabular-nums}.action-note{padding:12px 15px;background:#edf6f2;border-radius:9px;margin-top:14px;font-size:12px;color:#547c6e}.action-note b{color:#207e67}.filter-result{display:flex;align-items:center;gap:10px;font-size:11px;color:#7c9299;margin:12px 0}.filter-result .btn{padding:2px 8px;min-height:26px;font-size:10px}.drawer{width:760px;right:-800px;background:#f5f8f8}.drawer-head{padding:24px 26px}.drawer-title{font-size:20px}.drawer-section{border-radius:12px;padding:20px}.modal{border-radius:16px}.modal-head,.modal-foot{padding:18px 24px}.modal-foot{background:#f8fafa;border-radius:0 0 16px 16px}.modal-body{padding:24px}.form-grid{gap:18px}.field label{color:#58727d;font-size:12px}.modal-mask{backdrop-filter:blur(3px)}.drawer-mask{backdrop-filter:blur(2px)}.local-welcome{background:#e9f5ef;padding:17px;border-radius:10px;border:1px solid #cce1d8;color:#487c69;font-size:12px;margin:24px 0}.intro-count{display:flex;gap:25px;margin:20px 0;color:#3a6d5c}.intro-count b{font-size:24px;margin-right:6px}.contract-numbers b{font-variant-numeric:tabular-nums}.task-check{cursor:pointer}.task-check:focus-visible{outline:3px solid #87c3b6}.task-check:hover{border-color:#228b7b;background:#e4f3ee}.saved-flash{animation:saved .7s}@keyframes saved{0%{box-shadow:0 0 0 5px #42a88b44}100%{box-shadow:0 0 0 0 transparent}}
@media(min-width:1400px){.content{padding:30px 38px}.insight-panel{padding:25px 28px}.plot{height:210px}.ring-graphic{width:184px}}
@media(max-width:1180px){.sidebar{width:180px}.main-shell{margin-left:180px}.sidebar .brand-name{font-size:16px}.sidebar .brand-en{letter-spacing:1px}.topbar{padding:0 22px}.topbar-right{gap:10px}.content{padding:22px}.finance-stats .stat-value{font-size:22px}.insight-panel{padding:20px}.ring-layout{gap:12px}.ring-graphic{width:144px}.project-card-stats span:last-child{display:none}}
@media(max-width:980px){.insight-grid{grid-template-columns:1fr}.insight-grid.equal{grid-template-columns:1fr 1fr}.ring-graphic{width:170px}.ring-layout{gap:28px}.hero{min-height:205px}.hero h1{font-size:26px}.topbar #breadcrumb{max-width:150px}.topbar .global-search{max-width:180px}.grid-4{grid-template-columns:repeat(2,1fr)}.finance-stats{grid-template-columns:repeat(2,1fr)}.outstanding{grid-template-columns:1.45fr 1fr}.outstanding-side{grid-template-columns:1fr;padding:24px}.outstanding-split{gap:25px}.preview-ribbon{align-items:flex-start}.preview-ribbon .btn{flex:none}.stat-card{min-height:112px}.cash-line{flex-wrap:wrap}.project-showcase{grid-template-columns:repeat(2,1fr)!important}.page-head{align-items:flex-start;flex-wrap:wrap}.page-head .actions{margin-left:auto}.topbar-right #todayText{display:none}}
@media(max-width:800px){.sidebar{width:72px;padding:22px 10px}.sidebar .brand-lockup{padding:0 7px 30px}.sidebar .brand-lockup>div:not(.brand-mark){display:none}.sidebar .nav-btn{font-size:0;gap:0;justify-content:center;padding:0}.nav-btn svg{width:21px;height:21px;flex:none}.nav-badge{position:absolute;right:0;top:1px;font-size:9px}.sidebar-bottom{padding:14px 0}.sidebar-bottom .workspace-dot,.sidebar-bottom .workspace-sub,.sidebar-bottom .sync-card{display:none}.sidebar-btn{font-size:10px;line-height:1.4;padding:8px 2px;min-height:38px}.main-shell{margin-left:72px}.content{padding:20px}.topbar{padding:0 20px;height:66px}.topbar-right{gap:9px}.topbar #breadcrumb{font-size:10px;max-width:130px}.topbar .global-search{width:180px;max-width:180px}.topbar .global-search input{font-size:11px}.hero{padding:26px}.hero-art{display:none}.grid-2,.insight-grid.equal{grid-template-columns:1fr}.page-head h1{font-size:25px}.preview-ribbon span.preview-description{display:none}.project-card{height:175px!important}.customer-summary{gap:8px}.mini-stat{padding:14px 10px}.mini-stat .stat-label{font-size:10px}.mini-stat .stat-value{font-size:23px}.metric{padding:0 15px}.ring-layout{justify-content:center;gap:35px}.ring-legend{max-width:260px}.filter-row .search{min-width:180px}.filter-row .input{max-width:100%}.chart-help{font-size:10px}.outstanding-value{font-size:29px}.outstanding-main{padding:22px}.outstanding-split b{font-size:15px}.table-wrap{overscroll-behavior-x:contain}.drawer{max-width:96vw}.customer-table{min-width:820px!important}.cash-line b{font-size:19px}}
@media(max-width:560px){.content{padding:14px}.sidebar{width:58px;padding:20px 6px}.main-shell{margin-left:58px}.sidebar .brand-lockup{padding:0 5px 24px}.sidebar .brand-mark{width:34px;height:34px}.sidebar .nav-btn{height:44px}.topbar{padding:0 14px}.topbar .global-search{display:none}.topbar-right{gap:6px}.topbar-right .btn{font-size:11px;padding:7px 10px}.avatar{display:none}.preview-ribbon{padding:9px;gap:7px}.preview-ribbon strong{font-size:11px;margin-right:0}.preview-ribbon .btn{font-size:10px}.hero{padding:24px;min-height:225px}.hero h1{font-size:24px}.hero p{max-width:220px}.hero .actions .btn{font-size:11px;padding:7px 11px}.project-card-title{font-size:13px}.project-card-content{padding:12px}.project-card-sub{font-size:9px}.project-card-stats{gap:7px}.project-card{height:152px!important}.project-card-code{font-size:10px!important}.project-card-stats span:last-child{display:none}.metric-strip{padding:16px;grid-template-columns:1fr 1fr}.metric-strip .metric:last-child{display:none}.customer-summary{grid-template-columns:1fr 1fr}.insight-panel{padding:18px}.ring-graphic{width:138px}.ring-layout{gap:10px}.ring-center b{font-size:24px}.ring-item{font-size:11px}.ring-item em{width:28px}.plot{gap:5px;height:180px}.plot-bars{gap:3px}.bar-group{gap:2px;padding:0 1px}.bar-group-label{font-size:9px}.plot-axis{width:29px;font-size:9px}.insight-title h2{font-size:15px}.page-head .actions{margin-left:0}.page-head .btn{font-size:11px;padding:7px 11px}.outstanding{grid-template-columns:1fr}.outstanding-side{grid-template-columns:repeat(3,1fr);border-left:0;border-top:1px solid #ffffff16;gap:10px;padding:18px 22px}.side-metric b{font-size:18px}.finance-stats .stat-card{padding:16px}.finance-stats .stat-value{font-size:22px}.smart-summary{padding:13px;align-items:flex-start}.smart-summary .link{display:none}.finance-filter{gap:8px;padding:10px}.finance-filter .filter-spacer,.finance-filter>.muted{display:none}.pagination{flex-wrap:wrap}.modal-mask{padding:12px}.modal-body{padding:18px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.info-grid{grid-template-columns:1fr 1fr}.drawer-body{padding:16px}.statement-year{grid-template-columns:repeat(2,1fr)}.statement-year b{font-size:14px}.cash-line b{margin-left:0}.hbar-row{grid-template-columns:64px 1fr 60px}.customer-actions .link{min-height:36px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.modal-mask{z-index:1200}.drawer .table-wrap table{min-width:760px}.drawer td.num,.drawer th.num{white-space:nowrap}.drawer .table-wrap td{padding:12px}.drawer .cell-sub{max-width:180px}.drawer .link{white-space:normal;text-align:left}.stat-label:has(#financeYearText){justify-content:flex-start;gap:4px}
.preview-ribbon{position:sticky;top:82px;z-index:60;box-shadow:0 5px 15px #12362d06}
@media(max-width:800px){.preview-ribbon{top:76px}}
