:root{color:#243a33;font-synthesis:none;--green:#19785d;--dark:#123e32;--muted:#84918b;--border:#e7ece9;background:#f5f7f6;font-family:Inter,Noto Sans SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #70bb9a}input,textarea,select{outline:none}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px #19785d0b;border-color:#68a78f!important}input[type=checkbox]{accent-color:var(--green);cursor:pointer;width:15px;height:15px}input:disabled{color:#84918b;background:#f4f6f4!important}h1,h2,h3,p{margin:0}.app-shell{min-height:100vh}.sidebar{color:#b8d0c5;z-index:30;background:#123e32;flex-direction:column;width:244px;padding:31px 18px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;align-items:center;gap:11px;padding:0 6px 32px;display:flex}.brand-mark{color:#e1efdc;background:#ffffff06;border:1px solid #779f87;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:43px;height:47px;display:flex}.brand strong{letter-spacing:.7px;white-space:nowrap;font-size:15px}.brand small{letter-spacing:1px;color:#a4c2b3;margin-top:7px;font-size:10px;display:block}.space-label{letter-spacing:1px;color:#7caa95;padding:8px 14px 18px;font-size:10px}.space-label span{font-size:8px;display:none}.sidebar nav{flex-direction:column;gap:8px;display:flex}.nav-item{text-align:left;color:#bcd1c6;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:13px;width:100%;padding:13px 15px;font-size:13px;transition:background .16s;display:flex}.nav-item:hover{background:#ffffff09}.nav-item.active{color:#164c3b;background:#fff;font-weight:600;box-shadow:0 3px 6px #061f1310}.nav-item svg{opacity:.85;stroke-width:1.6px}.nav-item em{color:#153f31;text-align:center;background:#e8c783;border-radius:4px;min-width:21px;margin-left:auto;padding:3px;font-size:10px;font-style:normal}.nav-new{opacity:.55;letter-spacing:0;margin-left:auto;font-size:8px!important}.sidebar-bottom{margin-top:auto;padding-top:20px}.secure-note{color:#a6c6b5;border:1px solid #6f9a832c;border-radius:7px;align-items:center;gap:10px;margin:12px 8px 18px;padding:14px 10px;display:flex}.secure-note b{font-size:10px;font-weight:500;display:block}.secure-note small{color:#759e87;margin-top:6px;font-size:9px;display:block}.profile{text-align:left;background:0 0;border:0;border-top:1px solid #ffffff13;align-items:center;gap:10px;width:100%;margin-top:13px;padding:20px 7px;display:flex}.profile div{flex:1}.profile b{color:#eff7f1;font-size:12px;font-weight:500}.profile small{color:#86ab96;margin-top:6px;font-size:10px;display:block}.avatar{color:#3b6953;background:#dce9df;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:600;display:inline-flex}.profile .avatar{color:#e2ecdf;background:#3f6954}.avatar.mini{background:#edf0e9;border:1px solid #edf1e9;width:32px;height:32px;font-size:10px}.avatar.a1{color:#677e6d;background:#e9eeea}.avatar.a2{color:#978357;background:#f1ede3}.avatar.a3{color:#5e7e8b;background:#e6edef}.main-shell{margin-left:244px}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:15px;height:77px;padding:0 35px;display:flex}.breadcrumb{color:#8b9690;align-items:center;gap:14px;font-size:12px;display:flex}.breadcrumb b{color:#40584c;font-weight:500}.breadcrumb>.icon-btn{display:none}.top-right{align-items:center;gap:22px;display:flex}.sync{color:#7c8b82;align-items:center;gap:7px;font-size:10px;display:flex}.sync i{background:#37a175;border-radius:50%;width:6px;height:6px}.top-divider{background:var(--border);width:1px;height:19px}.notification{color:#657970;background:0 0;border:0;padding:0;display:flex;position:relative}.notification i{box-sizing:content-box;background:#c79743;border:1px solid #fff;border-radius:50%;width:5px;height:5px;position:absolute;top:-1px;right:1px}.top-avatar{width:30px;height:30px;font-size:10px}main{max-width:1660px;margin:auto;padding:33px 35px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px;display:flex}.eyebrow{letter-spacing:1.7px;color:#8b9b92;margin-bottom:10px;font-size:8px;font-weight:500}h1{letter-spacing:1px;color:#203e31;font-size:25px;font-weight:600}.page-heading p{color:#86958c;letter-spacing:.2px;margin-top:11px;font-size:11px}.heading-actions{align-items:center;gap:10px;display:flex}.button{white-space:nowrap;background:#fff;border:1px solid #dce5df;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:9px 14px;font-size:11px;font-weight:500;line-height:1.4;transition:all .15s;display:inline-flex}.button:hover{background:#f3f7f4;border-color:#b7cdc0}.button.primary{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 2px 2px #17644710}.button.primary:hover{background:#13624c}.button.danger{color:#ae4a46;background:#fff9f8;border-color:#efd3cf}.button.small{min-height:31px;padding:6px 10px;font-size:10px}.month-picker{color:#667d6f;background:#fff;border:1px solid #dde5df;border-radius:6px;align-items:center;gap:9px;height:38px;padding:8px 10px;font-size:11px;display:flex}.month-picker input{color:#42594b;background:0 0;border:0;width:116px;font-size:11px}.period-line{justify-content:space-between;align-items:center;margin-bottom:17px;font-size:11px;display:flex}.period-line>div{align-items:center;gap:10px;display:flex}.period-line b{color:#425b4c;font-weight:600}.period-line>div>span:not(.badge):not(.section-dot){color:#93a095}.section-dot{background:#2b8362;border-radius:2px;width:3px;height:10px}.text-btn{color:#267d5d;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:3px 0;font-size:10px;display:inline-flex}.text-btn:hover{color:#124732;text-decoration:underline}.badge{white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:9px;font-weight:400;line-height:1.4;display:inline-flex}.badge.approved{color:#34865d;background:#eaf4ed}.badge.pending{color:#af8533;background:#fff5df}.badge.returned{color:#b77365;background:#fbefed}.badge.draft{color:#7a8994;background:#edf0f3}.badge.neutral{color:#7e9285;background:#edf2ef}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 3px #213b2302}.stat-top{color:#7b8b81;justify-content:space-between;align-items:center;padding:18px 19px 0;font-size:11px;display:flex}.stat-icon{color:#6a9480;background:#f1f6f2;border-radius:7px;justify-content:center;align-items:center;width:27px;height:27px;display:flex}.stat-number{font-variant-numeric:tabular-nums;color:#273f31;letter-spacing:.1px;white-space:nowrap;padding:12px 19px 18px;font-family:Inter,Noto Sans SC,sans-serif;font-size:27px;font-weight:600}.stat-number small{color:#8b998f;margin-left:8px;font-size:10px;font-weight:400}.stat-footer{color:#96a096;border-top:1px solid #f0f3f0;align-items:center;gap:6px;padding:11px 19px;font-size:9px;display:flex}.tiny-dot{background:#94ad9c;border-radius:50%;flex-shrink:0;width:4px;height:4px;display:inline-block}.stat-card.accent{background:#edf5ef;border-color:#dfeae1}.stat-card.accent .stat-number{color:#216c4a}.stat-card.accent .stat-icon{color:#3b8a60;background:#dfeee2}.stat-card.accent .stat-footer{border-color:#e2ece4}.dashboard-middle{grid-template-columns:1.38fr 1fr;gap:20px;margin-bottom:23px;display:grid}.card{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 3px #213b2302}.card-title{justify-content:space-between;align-items:center;gap:12px;padding:21px 22px;display:flex}.card-title h2,h2{color:#314d3c;font-size:13px;font-weight:600}.card-title p{color:#96a096;margin-top:7px;font-size:10px}.legend{color:#91a094;align-items:center;gap:5px;font-size:9px;display:flex}.legend i{background:#43896b;border-radius:2px;width:6px;height:6px}.bar-chart{gap:15px;height:185px;padding:4px 26px 10px 21px;display:flex}.chart-grid{color:#a3b0a7;flex-direction:column;flex-shrink:0;justify-content:space-between;width:30px;padding-bottom:29px;font-size:8px;display:flex}.bars{background:repeating-linear-gradient(0deg,#0000 0 34px,#f1f4f1 35px 36px) content-box content-box;flex:1;justify-content:space-around;gap:28px;padding-bottom:29px;display:flex;position:relative}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;max-width:61px;display:flex;position:relative}.bar-track{background:#eff5f0;border-radius:4px 4px 0 0;align-items:flex-end;width:40px;max-width:100%;height:126px;display:flex;overflow:hidden}.bar{background:#3d8c69;border-radius:4px 4px 0 0;width:100%;min-height:1px}.bar1{background:#67a084}.bar2{background:#8bb49b}.bar3{background:#b1cbb8}.bar-value{font-variant-numeric:tabular-nums;color:#778c7d;font-size:9px;position:relative;top:-9px}.bar-label{white-space:nowrap;color:#8b9b91;font-size:9px;position:absolute;bottom:-24px}.chart-footer{color:#99a89b;border-top:1px solid #eef2ee;justify-content:space-between;align-items:center;padding:13px 22px;font-size:9px;display:flex}.chart-footer>span{align-items:center;gap:6px;display:flex}.icon-circle{color:#69917a;background:#f1f5f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.task-card .card-title{padding-bottom:14px}.task-list{padding:0 21px}.task-list>button{text-align:left;background:0 0;border:0;border-bottom:1px solid #f0f3ef;align-items:center;gap:11px;width:100%;padding:13px 0;display:flex}.task-list>button:last-child{border-bottom:0}.task-icon{border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.task-icon.amber{color:#b99b51;background:#fcf3df}.task-icon.pink{color:#c7947c;background:#f8eeea}.task-icon.green{color:#74957b;background:#edf4ed}.task-list div{flex:1}.task-list b{font-size:11px;font-weight:500}.task-list small{color:#9aa69c;margin-top:5px;font-size:9px;display:block}.task-list strong{color:#405c46;font-size:20px;font-weight:500}.task-list>button>svg{color:#b5beb7;margin-left:9px}.approval-note{color:#96a38f;background:#f5f8f3;border-radius:4px;align-items:center;gap:6px;margin:5px 21px 15px;padding:10px 9px;font-size:9px;display:flex}.card-actions{align-items:center;gap:17px;display:flex}.count-label{color:#7f9485;vertical-align:middle;background:#f1f5f0;border-radius:4px;margin-left:5px;padding:3px 7px;font-size:9px;font-weight:400}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:10px}thead{background:#f7f9f6}th{color:#8a9b8e;white-space:nowrap;border-bottom:1px solid var(--border);padding:13px 18px;font-weight:400}td{color:#5c7261;border-bottom:1px solid #edf1ed;padding:14px 18px}td b{color:#49614f;font-weight:500}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcf9}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.amount{color:#345a40;font-weight:500}.muted{color:#90a092}.nowrap{white-space:nowrap}.person-cell{white-space:nowrap;align-items:center;gap:9px;display:flex}.person-cell small{color:#a1ada3;margin-top:5px;font-size:8px;display:block}.person-cell b{font-size:10px}.content-cell{min-width:160px;max-width:270px;line-height:1.8}.content-cell>span{white-space:nowrap;text-overflow:ellipsis;max-width:250px;display:block;overflow:hidden}.content-cell small{font-size:9px;display:block}.inline{color:#9caaa0;font-size:9px}.row-actions{align-items:center;gap:9px;display:flex}.table-bottom{border-top:1px solid var(--border);color:#9cab9f;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;font-size:9px;display:flex}.table-bottom>span{align-items:center;gap:5px;display:flex}.bottom-panels{grid-template-columns:1.38fr 1fr;gap:20px;margin-top:21px;display:grid}.budget-panel,.export-panel{background:#f0f4ee;border:1px solid #e4ebe1;border-radius:7px;align-items:center;gap:13px;padding:17px 19px;font-size:11px;display:flex}.budget-panel div,.export-panel div{flex:1}.budget-panel b,.export-panel b{color:#5c755e;font-size:10px;font-weight:500}.budget-panel small,.export-panel small{color:#9aa995;margin-top:6px;font-size:8px;display:block}.budget-panel strong{color:#547452;white-space:nowrap;font-size:13px;font-weight:500}.budget-panel>span.muted,.budget-panel>span.red{font-size:9px}.export-panel{text-align:left;color:#819773;cursor:pointer;background:#f1f4eb}.export-panel:hover{background:#e9efe3}.footer{letter-spacing:.3px;color:#a5b0a6;justify-content:space-between;align-items:center;gap:15px;padding:28px 0 22px;font-size:8px;display:flex}.footer>span{align-items:center;gap:8px;display:flex}.footer i{background:#bdc7bc;border-radius:50%;width:3px;height:3px}.demo-banner{color:#9f8552;background:#fffaf0;border:1px solid #e8dfc3;border-radius:5px;align-items:center;gap:9px;margin:-12px 0 24px;padding:10px 13px;font-size:10px;display:flex}.demo-banner a{white-space:nowrap;align-items:center;gap:5px;margin-left:auto;display:flex}.info-banner{color:#69836b;background:#ecf4ee;border:1px solid #e1ede3;border-radius:6px;align-items:center;gap:9px;margin-bottom:20px;padding:13px 16px;font-size:11px;line-height:1.9;display:flex}.info-banner>svg{flex-shrink:0}.info-banner.warn{color:#a18a53;background:#fff9eb;border-color:#eee3c4}.list-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:0 20px;display:flex}.tabs{gap:22px;display:flex;overflow:auto}.tabs button{color:#8b9b8d;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:19px 0 16px;font-size:11px}.tabs button.active{color:#347853;border-color:#2b8157;font-weight:500}.tabs span{color:#95a48e;background:#f0f4ed;border-radius:4px;margin-left:6px;padding:2px 5px;font-size:9px}.filters{border-bottom:1px solid #f0f3ed;align-items:center;gap:12px;padding:17px 20px;display:flex}.search{border:1px solid var(--border);color:#a6b3a4;border-radius:5px;align-items:center;gap:8px;width:100%;max-width:270px;padding:8px 10px;display:flex;position:relative}.search input{color:#5c765c;background:0 0;border:0;width:100%;min-width:0;padding:0;font-size:10px}.search input:focus{box-shadow:none}.search input::placeholder{color:#acb7a8}.filters select,.sheet-select,.import-sheet select{border:1px solid var(--border);color:#6a826a;background:#fff;border-radius:5px;padding:8px 12px;font-size:10px}.filter-hint{color:#9cac96;white-space:nowrap;margin-left:auto;font-size:9px}.selection-bar{color:#64915b;background:#f0f7ed;align-items:center;gap:20px;padding:12px 20px;font-size:10px;display:flex}.checkbox-col{width:20px}.red{color:#bc7a6a!important}.green-text{color:#5e9772}.three{grid-template-columns:repeat(3,1fr)}tfoot{background:#f8faf6;font-weight:500}tfoot td{padding:16px 18px}.permission-grid{grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:23px;display:grid}.permission-card{border:1px solid var(--border);background:#fff;border-radius:7px;padding:18px 16px}.permission-card .level{color:#9bb49c;background:#eff5ec;border-radius:5px;margin-bottom:12px;padding:3px 6px;font-size:9px;display:inline-block}.permission-card b{font-size:12px;font-weight:500;display:block}.permission-card small{color:#9cab97;margin-top:8px;font-size:8px;line-height:1.8;display:block}.subtle-label{color:#9bab98;font-size:9px}.legacy-intro{border:1px solid var(--border);background:#fff;border-radius:7px;align-items:center;gap:15px;margin-bottom:18px;padding:21px;display:flex}.file-icon{color:#699661;background:#edf4e9;border-radius:7px;justify-content:center;align-items:center;width:49px;height:54px;display:flex}.legacy-intro>div:nth-child(2){flex:1}.legacy-intro h2{font-size:13px}.legacy-intro p{color:#9aab96;margin-top:9px;font-size:10px}.sheet-meta{color:#a0ac99;align-items:center;gap:18px;padding:0 22px 16px;font-size:10px;display:flex}.legacy-grid{border-top:1px solid var(--border);max-height:570px}.legacy-grid table{width:max-content;min-width:100%;font-family:Arial,Microsoft YaHei,sans-serif;font-size:10px}.legacy-grid td{white-space:nowrap;text-overflow:ellipsis;border-right:1px solid #eef2e9;width:110px;min-width:75px;max-width:230px;height:28px;padding:7px 9px;overflow:hidden}.legacy-grid th{z-index:2;text-align:center;background:#f4f7ef;border-right:1px solid #e7eddf;padding:7px 10px;position:sticky;top:0}.legacy-grid tbody th{z-index:1;width:36px;min-width:36px;font-size:9px;left:0}.legacy-grid thead th:first-child{z-index:3;left:0}.rules-layout{grid-template-columns:1fr 280px;align-items:start;gap:23px;display:grid}.prose{padding:28px}.prose h2{margin:0 0 16px;font-size:15px}.prose h2:not(:first-child){margin-top:30px}.prose p{color:#7f927a;margin:12px 0;font-size:12px;line-height:2.1}.prose table{border:1px solid var(--border);margin:20px 0;font-size:11px}.prose td{line-height:1.8}.guide{padding:25px}.guide h2{margin:18px 0 24px;font-size:15px}.guide-step{gap:11px;margin-bottom:22px;display:flex}.guide-step span{color:#7aa36c;text-align:center;border:1px solid #deead8;border-radius:50%;flex-shrink:0;width:20px;height:20px;font-size:10px;line-height:19px}.guide-step p{color:#8e9e86;font-size:10px;line-height:1.9}.guide .button{width:100%;margin-top:7px}.empty{color:#9fae96;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:210px;padding:30px;font-size:12px;display:flex}.empty b{text-align:center;font-weight:400}.empty-icon{color:#b5c4ab;background:#f4f7ee;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.onboard{background:#edf4e8;border:1px solid #e0ead6;border-radius:7px;align-items:center;gap:15px;margin-bottom:23px;padding:20px;display:flex}.onboard-icon{color:#91ac7f}.onboard>div:nth-child(2){flex:1}.onboard b{color:#6e8a5e;font-size:12px;font-weight:500}.onboard p{color:#9aac8c;margin-top:8px;font-size:10px;line-height:1.7}.loading{color:#9caf91;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:500px;font-size:12px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{color:inherit;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:5px;display:flex}.icon-btn:hover{background:#f2f5ec}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#142e2455;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;flex-direction:column;width:600px;max-width:100%;max-height:calc(100vh - 56px);display:flex;overflow:hidden;box-shadow:0 20px 90px #17391c35}.modal.wide{width:930px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:15px;padding:25px 27px 20px;display:flex}.modal-header h2{font-size:18px}.modal-header p{color:#9aab90;margin-top:11px;font-size:10px;line-height:1.9}.modal-body{padding:24px 27px;overflow:auto}.modal-footer{border-top:1px solid var(--border);background:#fcfdfb;justify-content:space-between;align-items:center;gap:12px;padding:17px 27px;display:flex}.modal-buttons{align-items:center;gap:9px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:19px 17px;display:grid}.field{flex-direction:column;gap:9px;min-width:0;display:flex}.field>span{color:#78916e;font-size:11px}.field input,.field textarea,.field select{color:#536f47;resize:vertical;background:#fff;border:1px solid #dfe7d8;border-radius:5px;width:100%;min-width:0;padding:11px 12px;font-size:12px}.field input::placeholder,.field textarea::placeholder{color:#b0bdab;font-size:11px}.full{grid-column:1/-1}.calc-preview{color:#839c74;background:#f1f7eb;border:1px solid #e4ecd9;border-radius:6px;justify-content:space-between;align-items:center;margin-top:23px;padding:17px 16px;font-size:11px;display:flex}.calc-preview strong{color:#4b7b39;font-size:24px;font-weight:500}.form-note{color:#a2b195;align-items:flex-start;gap:6px;margin-top:15px;font-size:10px;line-height:1.9;display:flex}.form-note>svg{flex-shrink:0;margin-top:2px}.form-grid p.form-note{margin:0}.detail-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.detail-grid>div{flex-direction:column;gap:7px;display:flex}.detail-grid span,.detail-block>span{color:#9cad8f;font-size:10px}.detail-grid b{color:#5e7952;font-size:12px;font-weight:400}.detail-block{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.detail-block p{color:#6c8660;white-space:pre-wrap;margin:9px 0 18px;font-size:12px;line-height:1.9}.review-summary{color:#82a16c;background:#f4f8ee;border-radius:6px;align-items:center;gap:16px;margin-bottom:23px;padding:18px;display:flex}.review-summary b{font-size:12px;font-weight:500}.review-summary p{color:#9eb08e;margin-top:8px;font-size:10px;line-height:1.9}.profile-card{align-items:center;gap:13px;display:flex}.profile-card>div{flex:1}.profile-card h3{font-size:14px;font-weight:500}.profile-card p{color:#9eaf90;margin-top:7px;font-size:11px}.import-steps{color:#a4b298;justify-content:center;align-items:center;gap:24px;margin-bottom:26px;font-size:11px;display:flex}.import-steps>span{align-items:center;gap:8px;display:flex}.import-steps .active{color:#698d54}.import-steps i{background:#f0f4ea;border-radius:50%;justify-content:center;align-items:center;width:21px;height:21px;font-size:10px;font-style:normal;display:flex}.import-steps .active i{color:#698d54;background:#e4efda}.upload-zone{text-align:center;cursor:pointer;background:#fafcf7;border:1px dashed #bdcdb1;border-radius:8px;padding:27px 20px}.upload-zone:hover{background:#f4f9ed;border-color:#7ea461}.upload-icon{color:#90ac79;background:#edf4e5;border-radius:12px;margin-bottom:13px;padding:13px;display:inline-flex}.upload-zone h3{color:#7c9869;font-size:13px;font-weight:500}.upload-zone p{color:#a4b396;margin:10px 0 18px;font-size:10px}.template-line{color:#a0b091;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 20px;font-size:10px;display:flex}.import-sheet{border-top:1px solid var(--border);color:#8da077;justify-content:space-between;align-items:center;margin-bottom:17px;padding-top:18px;font-size:11px;display:flex}.import-sheet select{max-width:300px;margin-left:10px}.error-box{color:#bb997b;background:#fff6ef;border:1px solid #efdfce;border-radius:5px;margin-bottom:20px;padding:17px;font-size:10px;line-height:1.9}.error-box b{margin-bottom:8px;font-size:11px;font-weight:500;display:block}.preview-title{justify-content:space-between;align-items:center;margin:20px 0 13px;font-size:11px;display:flex}.preview-title span{color:#a1b190;font-size:10px}.import-preview{border:1px solid var(--border);border-radius:5px;max-height:300px}.import-preview th,.import-preview td{white-space:nowrap;padding:11px}.import-preview td:nth-child(5){text-overflow:ellipsis;max-width:250px;overflow:hidden}.toast{z-index:200;color:#fff;background:#274832;border-radius:8px;align-items:center;gap:11px;max-width:calc(100% - 30px);padding:15px 19px;font-size:12px;line-height:1.8;display:flex;position:fixed;bottom:28px;left:calc(50% + 122px);transform:translate(-50%);box-shadow:0 5px 30px #16351c30}.toast>svg{color:#b3d494;flex-shrink:0}.toast>button{color:#b2c6a3;background:0 0;border:0;margin-left:15px;padding:0;display:flex}.mobile-overlay{display:none}@media (min-width:1600px){main{padding-top:40px}.dashboard-middle{grid-template-columns:1.5fr 1fr}.bar-chart{height:230px}.bar-track{height:168px}.bars{background-size:auto 42px}.chart-card .card-title{padding-top:25px;padding-bottom:26px}.task-list>button{padding:20px 0}.stat-number{font-size:32px}.stat-footer{font-size:10px}.card-title h2{font-size:14px}table,.person-cell b{font-size:11px}.person-cell small{font-size:9px}.content-cell{max-width:330px}.content-cell>span{max-width:320px}}@media (max-width:1200px){.sidebar{width:220px;padding-left:14px;padding-right:14px}.main-shell{margin-left:220px}.brand{gap:8px}.brand strong{font-size:13px}.brand small{font-size:9px}.brand-mark{width:35px;height:42px}main{padding:27px 23px 0}.topbar{padding:0 23px}.stat-number{padding-left:16px;padding-right:16px;font-size:23px}.stat-top,.stat-footer{padding-left:16px;padding-right:16px}.stats-grid{gap:12px}.bar-chart{gap:8px}.bars{gap:15px}.budget-panel{flex-wrap:wrap}.rules-layout{grid-template-columns:1fr 240px}.toast{left:calc(50% + 110px)}th,td{padding-left:13px;padding-right:13px}.page-heading p{font-size:10px}.topbar{height:70px}.permission-card{padding:15px 12px}.permission-card small{font-size:8px}.dashboard-middle{grid-template-columns:1.2fr 1fr;gap:16px}.card-title{padding:19px 17px}.task-list{padding:0 17px}.approval-note{margin-left:17px;margin-right:17px}.chart-footer{padding-left:17px;padding-right:17px}}@media (max-width:1000px){.sidebar{width:205px}.main-shell{margin-left:205px}.brand small{font-size:8px}.brand strong{font-size:12px}.nav-item{padding:12px;font-size:12px}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-heading{align-items:flex-start}.heading-actions{flex-direction:column;align-items:stretch;gap:8px}.page-heading p{max-width:350px;line-height:1.8}.dashboard-middle{grid-template-columns:1fr}.chart-card .bar-chart{height:210px}.bar-track{height:151px}.task-list{gap:15px;display:flex}.task-list>button{border-bottom:0}.task-list small{display:none}.task-list strong{font-size:17px}.task-list>button>svg{display:none}.task-icon{width:28px;height:28px}.task-list b{font-size:10px}.approval-note{margin-top:13px}.bottom-panels{grid-template-columns:1fr}.permission-grid{grid-template-columns:repeat(3,1fr)}.rules-layout{grid-template-columns:1fr}.guide{display:none}.three{grid-template-columns:repeat(3,1fr)}.three .stat-number{font-size:20px}.footer{font-size:7px}.onboard,.legacy-intro{flex-wrap:wrap}.legacy-intro h2{font-size:11px}.legacy-intro p{font-size:9px}.toast{left:calc(50% + 102px)}}@media (max-width:760px){.sidebar{width:244px;transition:transform .2s;transform:translate(-100%)}.sidebar.show{transform:translate(0)}.sidebar .brand strong{font-size:14px}.sidebar .brand small{font-size:10px}.sidebar .nav-item{padding:13px 15px;font-size:13px}.main-shell{margin-left:0}.topbar{height:62px;padding:0 19px}.breadcrumb{gap:9px;font-size:10px}.breadcrumb>.icon-btn{display:flex}.top-right{gap:14px}.sync{font-size:8px}.top-divider{display:none}main{padding:23px 17px 0}.page-heading{gap:10px;margin-bottom:23px}.page-heading h1{font-size:22px}.eyebrow{letter-spacing:1.2px;font-size:7px}.page-heading p{max-width:225px;margin-top:9px;font-size:9px;line-height:1.9}.heading-actions .button{min-height:33px;padding:7px 11px;font-size:10px}.month-picker{gap:4px;height:33px;padding:6px 7px;font-size:10px}.month-picker input{width:100px;font-size:10px}.stats-grid{gap:10px;margin-bottom:17px}.stat-number{padding:12px 15px 16px;font-size:24px}.stat-top{padding:14px 15px 0;font-size:10px}.stat-footer{padding:10px 13px;font-size:8px}.stat-icon{width:23px;height:23px}.dashboard-middle{gap:17px;margin-bottom:17px}.bar-chart{padding-left:17px;padding-right:19px}.task-list{gap:11px}.task-list>button{gap:7px}.task-list b{font-size:9px}.task-list strong{font-size:15px}.task-icon{width:26px;height:26px}.task-icon svg{width:15px}.approval-note{font-size:8px}.table-scroll table{min-width:800px;font-size:10px}.legacy-grid table{min-width:100%}.table-bottom{padding:12px 15px;font-size:8px}.table-bottom>span:last-child{display:none}.bottom-panels{gap:14px;margin-top:17px}.budget-panel,.export-panel{padding:16px}.footer{flex-direction:column;gap:8px;padding:26px 0 18px;font-size:8px}.toast{font-size:11px;left:50%}.modal-backdrop{padding:12px}.modal{border-radius:9px;max-height:calc(100dvh - 24px)}.modal-header{padding:21px 19px 17px}.modal-body{padding:21px 19px}.modal-footer{padding:16px 19px}.modal-header h2{font-size:17px}.modal-header p{font-size:9px}.form-grid{gap:17px 13px}.field>span{font-size:10px}.field input,.field select,.field textarea{padding:10px;font-size:11px}.modal-buttons{gap:6px}.modal-buttons .button{padding:8px 11px;font-size:10px}.info-banner{padding:12px 13px;font-size:10px;line-height:1.9}.permission-grid{grid-template-columns:repeat(2,1fr);gap:10px}.permission-card:last-child{grid-column:span 2}.permission-card small{font-size:9px}.filters{gap:9px;padding:14px}.filter-hint{display:none}.search{max-width:65%}.list-toolbar{flex-wrap:wrap;gap:4px;padding:0 14px}.tabs{gap:17px;width:100%}.tabs button{padding:17px 0 14px;font-size:10px}.list-toolbar .card-actions{padding:8px 0 12px}.three{grid-template-columns:1fr}.three .stat-card{flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.three .stat-top{padding:15px}.three .stat-icon{display:none}.three .stat-number{padding:15px;font-size:24px}.three .stat-footer{width:100%}.sheet-select{max-width:210px}.sheet-meta{flex-wrap:wrap;gap:10px;padding-left:17px;font-size:8px}.legacy-intro{gap:11px;padding:16px}.legacy-intro h2{overflow-wrap:anywhere;max-width:240px;line-height:1.8}.legacy-intro p{line-height:1.8}.legacy-intro>a{width:100%}.legacy-grid{max-height:550px}.prose{padding:22px 19px}.prose h2{font-size:14px}.prose p{font-size:11px}.prose table{width:100%;min-width:400px;display:block;overflow:auto}.prose td,.prose th{padding:11px;font-size:9px}.card-title{padding:17px 15px}.card-title h2{font-size:12px}.card-title p{font-size:9px}.card-actions{gap:11px}.card-actions .button,.card-title .text-btn{font-size:9px}.demo-banner{margin:-6px 0 22px;font-size:9px;line-height:1.8}.demo-banner svg{flex-shrink:0}.demo-banner a{font-size:8px}.demo-banner a svg{display:none}.import-steps{gap:12px;font-size:10px}.import-steps>span{gap:5px}.import-sheet{gap:10px;font-size:9px}.import-sheet select{max-width:210px;margin:8px 0 0}.template-line{font-size:9px;line-height:1.8}.upload-zone h3{overflow-wrap:anywhere;font-size:12px}.upload-zone p{font-size:9px}.mobile-overlay{z-index:25;background:#122e2555;display:block;position:fixed;inset:0}.onboard p{font-size:9px}.period-line{font-size:10px}.period-line .text-btn{font-size:9px}.period-line>div{gap:7px}.onboard .button{font-size:9px}.row-actions{gap:8px}}.member-date{color:#a0ad99;margin-top:6px;font-size:9px;line-height:1.7;display:block}.member-help{margin:22px 0 0;font-size:10px}.member-upload{color:#91ac79;border-radius:8px;width:100%;margin-bottom:16px}.member-upload svg{margin-bottom:12px}.change-reason{min-width:140px;max-width:300px;line-height:1.9}.revision-block{border:1px solid #e4ebdf;border-radius:6px;margin-top:13px;padding:14px 15px}.revision-block p{color:#718667;margin:8px 0;font-size:11px;line-height:1.9}.revision-block small{color:#a3b298;font-size:9px}.revision-values{color:#809572;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:10px;line-height:2;display:flex}.revision-values b{color:#4e7650;font-weight:500}.auth-screen{color:#4c6850;background:radial-gradient(at 15% 15%,#dfebe1 0,#0000 50%),#f3f6f1;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:38px 20px;display:flex}.auth-brand{text-align:center;flex-direction:column;align-items:center;margin-bottom:26px;display:flex}.auth-brand>span{color:#276e50;background:#fff5;border:1px solid #98b6a2;border-radius:15px;justify-content:center;align-items:center;width:61px;height:65px;margin-bottom:17px;display:flex}.auth-brand b{letter-spacing:2px;font-size:18px;font-weight:500}.auth-brand small{color:#9bad97;letter-spacing:1.5px;margin-top:10px;font-size:10px}.auth-card{background:#fff;border:1px solid #e1e9dc;border-radius:12px;width:100%;max-width:430px;padding:30px 33px;box-shadow:0 15px 60px #3857350b}.auth-icon{color:#7ca264;background:#eef5e7;border-radius:11px;justify-content:center;align-items:center;width:43px;height:43px;margin-bottom:20px;display:flex}.auth-card h1{letter-spacing:.5px;font-size:21px}.auth-card>p{color:#98aa8e;margin:11px 0 26px;font-size:11px;line-height:1.9}.auth-card .field{margin-top:20px}.auth-card .field input{padding:13px}.auth-submit{flex-direction:row-reverse;width:100%;min-height:43px;margin-top:28px;font-size:12px}.auth-error{color:#ac8059;background:#fff6ed;border:1px solid #eed9c4;border-radius:5px;margin-top:20px;padding:12px;font-size:11px;line-height:1.8}.auth-help{color:#a2b195;border-top:1px solid #eef2e7;margin-top:20px;padding-top:17px;font-size:10px;line-height:1.9}.auth-cancel{width:100%;margin-top:15px}.auth-footer{color:#a5b39b;letter-spacing:1px;margin-top:25px;font-size:9px}@media (max-width:480px){.auth-screen{padding:26px 17px}.auth-card{padding:25px}.auth-brand{margin-bottom:22px}.auth-card h1{font-size:20px}}@media (min-width:1000px){.permission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.admin-dashboard{gap:24px;display:grid}.dashboard-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.dashboard-toolbar>div:first-child{align-items:center;gap:12px;display:flex}.compact-tabs{border:1px solid var(--line,#e3e9e6);border-radius:8px;padding:0;overflow:hidden}.compact-tabs button{margin:0!important;padding:9px 14px!important}.dashboard-loading{color:#5f7368;align-items:center;gap:10px;padding:25px;display:flex}.month-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0 24px 24px;display:grid}.month-tile{text-align:left;color:#345244;cursor:pointer;background:#fcfdfc;border:1px solid #e0e8e3;border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;padding:15px;display:flex}.month-tile:hover,.month-tile.selected{background:#edf6f0;border-color:#2e7057}.month-tile strong{font-variant-numeric:tabular-nums;font-size:17px}.month-tile span,.month-tile small{color:#6b7e74;font-size:11px}.month-tile.selected b{color:#166246}.budget-table{min-width:1500px}.budget-table .total-col{color:#554506;background:#fff7c9}.budget-table .settlement-col{background:#fdf0f0}.budget-table thead th{color:#33543a;background:#e5f0df}.budget-table .num{font-variant-numeric:tabular-nums}.rate-cell{color:#26734b}.dashboard-note{white-space:pre-wrap;min-width:180px;max-width:260px}.dashboard-note>span{font-size:12px;line-height:1.6;display:block}.dashboard-note button{margin-top:5px}.settings-layout{gap:22px;display:grid}.settings-body{padding:0 24px 24px}.settings-card h2{align-items:center;gap:8px;display:flex}.assignment-row{border-bottom:1px solid #e5ece6;flex-wrap:wrap;align-items:center;gap:20px;padding:20px 0;display:flex}.assignment-row>div:first-child{min-width:125px}.assignment-row small{color:#77887d;margin-top:5px;font-size:11px;display:block}.department-checks{flex-wrap:wrap;flex:1;gap:12px;display:flex}.department-checks label{white-space:nowrap;align-items:center;gap:7px;font-size:13px;display:flex}.settings-fields{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.settings-fields .field{min-width:180px}.settings-fields .button{margin-bottom:2px}.archive-setting{border-top:1px solid #e5ece6;align-items:center;gap:14px;margin-top:24px;padding-top:26px;display:flex}.archive-setting>div{flex:1}.archive-setting p{color:#718277;margin-top:6px;font-size:12px;line-height:1.7}.account-settings{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.account-settings p{width:100%}.permission-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.dashboard-toolbar .month-picker input[type=number]{width:95px}.budget-table tfoot td{border-top:2px solid #c4d6c8;font-weight:700}.budget-table .member-date{white-space:normal;line-height:1.5}.admin-dashboard .red{color:#b34a46}@media (max-width:1200px){.month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-toolbar .card-actions{flex-wrap:wrap}}@media (max-width:700px){.month-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 16px}.settings-body{padding:0 16px 16px}.assignment-row{align-items:flex-start}.department-checks{flex-basis:100%;width:100%}.archive-setting{flex-wrap:wrap}.admin-dashboard{gap:16px}}.entry-excel-upload{color:#2d684d;background:#f4f9f5;border:1px dashed #9dbfa9;border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:24px;padding:18px;display:flex}.entry-excel-upload>div:first-of-type{flex:1;min-width:180px}.entry-excel-upload p{color:#728579;margin:5px 0 0;font-size:11px;line-height:1.7}.finance-workspace{gap:22px;display:grid}.finance-controls{background:#fff;border:1px solid #e1e8e3;border-radius:12px;overflow:hidden}.finance-controls>.tabs{overflow:auto}.finance-filters{flex-wrap:wrap}.finance-filters>input,.finance-filters select{border:1px solid #d9e3dd;border-radius:6px;max-width:180px;padding:8px;font-size:12px}.cutoff-label{color:#627569;align-items:center;gap:8px;font-size:11px;display:flex}.cutoff-label input{border:1px solid #d9e3dd;border-radius:6px;max-width:155px;padding:8px}.finance-alerts{gap:8px;display:grid}.finance-alerts .info-banner{margin:0}.finance-matrix th:first-child,.finance-matrix td:first-child{z-index:1;background:#fff;min-width:110px;position:sticky;left:0}.finance-matrix td{vertical-align:top;min-width:150px}.finance-matrix td small{color:#6b7f71;margin:5px 0;display:block}.allocation-editor,.migration-options,.migration-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:15px 0;display:flex}.allocation-editor input,.allocation-editor select{border:1px solid #d9e3dd;border-radius:7px;min-width:130px;max-width:220px;padding:9px}.allocation-line{padding:5px 0;font-size:11px}.migration-options .field{flex:1;min-width:145px}.migration-preview{border:1px solid #e1e8e3;max-height:480px;margin:15px 0}.migration-preview table{min-width:1000px}.migration-preview input:not([type=checkbox]),.migration-preview select{border:1px solid #d9e3dd;border-radius:5px;min-width:100px;max-width:190px;padding:7px;font-size:12px}.migration-confirm{align-items:center;gap:6px;margin-top:8px;font-size:11px;display:flex}.finance-workspace .card-title{flex-wrap:wrap;gap:12px}.finance-workspace details{max-width:330px;font-size:12px;line-height:1.8}.finance-workspace summary{cursor:pointer;color:#296b4b}.finance-workspace .stats-grid .stat-number{font-size:27px}@media (max-width:700px){.finance-controls>.tabs button{white-space:nowrap;padding:13px 10px}.allocation-editor>*{flex:1;min-width:100px}.migration-options .field{min-width:120px}.finance-filters{gap:8px}.finance-workspace .card-title{padding:17px}.finance-workspace .stats-grid .stat-number{font-size:24px}}@media print{.sidebar,.topbar,.heading-actions,.footer,button,.finance-controls,.finance-alerts{display:none!important}.main{margin:0!important}.table-scroll{overflow:visible!important}.card{box-shadow:none;break-inside:avoid;border:1px solid #ccc}.finance-workspace{display:block}.finance-workspace section{margin:15px 0}}.recovery-codes{background:#f6f8f5;border:1px solid #dbe5de;border-radius:8px;gap:10px;margin-top:20px;padding:20px;display:grid}.recovery-codes code{letter-spacing:1px;overflow-wrap:anywhere;background:#fff;padding:8px;font-size:13px}
