
:root{--ink:#152c2a;--sub:#71817c;--muted:#a0aaa6;--green:#087d67;--green-dark:#076653;--green-soft:#e7f4ee;--line:#e9eeeb;--bg:#f5f7f5;--orange:#ba6c40;--red:#c25454;--shadow:0 14px 55px #17392b12;--radius:18px;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #69bfac;outline-offset:3px}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:#43a58c!important;box-shadow:0 0 0 3px #087d6710}a{color:var(--green)}button{color:inherit}svg{vertical-align:middle;flex-shrink:0}button svg{pointer-events:none}h1,h2,h3,h4,p{margin:0}h1{font-size:28px;letter-spacing:-1px;font-weight:650}h2{font-size:18px;font-weight:650}h3{font-size:15px;font-weight:650}.muted{color:var(--sub)}.tiny{font-size:11px}.small{font-size:12px}.num{font-variant-numeric:tabular-nums;letter-spacing:-.3px}.flex{display:flex;align-items:center}.between{display:flex;align-items:center;justify-content:space-between;gap:14px}.gap6{gap:6px}.gap8{gap:8px}.gap12{gap:12px}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:8px}.mt8{margin-top:8px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mb16{margin-bottom:16px}.full{width:100%}.positive{color:var(--green)}.negative{color:var(--orange)}.danger-text{color:var(--red)}.text-right{text-align:right}.hidden{display:none!important}.dot{width:7px;height:7px;background:currentColor;border-radius:50%;display:inline-block;flex-shrink:0}.sep{width:1px;height:22px;background:var(--line)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:9px 15px;border:1px solid #dfe7e2;background:white;border-radius:9px;font-weight:550;font-size:13px;white-space:nowrap;transition:.15s}.btn:hover{background:#f4f8f5;border-color:#cbdcd1}.btn.primary{color:white;background:var(--green);border-color:var(--green)}.btn.primary:hover{background:var(--green-dark)}.btn.soft{background:var(--green-soft);border-color:transparent;color:var(--green)}.btn.danger{color:var(--red);border-color:#efd9d9;background:#fff9f8}.btn.sm{padding:6px 10px;min-height:30px;font-size:12px}.btn.text{border-color:transparent;background:transparent;padding:6px 2px;color:var(--green)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);background:white;border-radius:9px;color:var(--sub)}.icon-btn:hover{background:var(--bg);color:var(--green)}.tag{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:6px;background:#f0f3f1;color:#65776f;font-size:11px;line-height:1.4;white-space:nowrap}.tag.green{background:#e8f5ee;color:#258664}.tag.amber{background:#fff3e4;color:#b17d32}.tag.blue{background:#edf2fa;color:#5a7da7}.tag.red{background:#fff0ed;color:#b86459}.tag.outline{border:1px solid var(--line);background:white}.pill{border-radius:20px;padding:5px 10px}
.sidebar{position:fixed;inset:0 auto 0 0;width:222px;background:#fff;border-right:1px solid var(--line);padding:28px 17px 18px;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:10px;color:#183c32}.brand-icon{display:grid;place-items:center;width:36px;height:36px;background:var(--green);border-radius:11px;color:white}.brand-title{font-size:22px;font-weight:750;letter-spacing:1px}.brand-sub{font-size:10px;color:var(--sub);letter-spacing:1.2px;margin-top:3px}.workspace-name{margin-top:30px;padding:12px 9px;background:#f8faf8;border:1px solid #edf1ed;border-radius:10px;display:flex;align-items:center;gap:9px}.workspace-symbol{width:29px;height:29px;border-radius:8px;background:#e9efea;display:grid;place-items:center;color:#5b7465;font-weight:700}.nav-label{font-size:10px;letter-spacing:1px;color:#a3afa7;padding:26px 13px 9px}.nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;height:44px;padding:0 13px;border:0;background:transparent;border-radius:9px;color:#6d7d73;text-align:left;font-size:13px}.nav-item.active{color:var(--green);background:#eaf5ee;font-weight:650}.nav-item:hover{background:#f3f7f3}.nav-item .nav-badge{margin-left:auto;font-size:10px;color:#708676;background:#eef1ee;padding:2px 6px;border-radius:5px}.nav-bottom{margin-top:auto}.sidebar-note{padding:14px 12px;background:linear-gradient(135deg,#f1f8ed,#f0f6f1);border-radius:11px;margin:15px 0;color:#64806a;font-size:11px;line-height:1.7}.sidebar-note strong{color:#3e6251;font-size:12px;display:block;margin-bottom:5px}.profile{display:flex;align-items:center;gap:10px;background:transparent;border:none;width:100%;padding:12px 7px;text-align:left;border-top:1px solid var(--line)}.avatar{width:34px;height:34px;border-radius:50%;background:#e7e7da;color:#62734e;display:grid;place-items:center;font-size:13px;font-weight:650}.profile-name{font-size:12px;font-weight:600}.profile-role{font-size:10px;color:var(--sub);margin-top:3px}
.main{margin-left:222px;min-height:100vh}.topbar{height:74px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);gap:16px}.breadcrumb{font-size:12px;color:#86948b;display:flex;align-items:center;gap:12px}.breadcrumb strong{font-weight:500;color:#536a5c}.topbar-right{display:flex;align-items:center;gap:14px}.save-status{font-size:11px;color:#7d8c80;display:flex;align-items:center;gap:6px}.mobile-menu{display:none}.content{max-width:1560px;margin:auto;padding:29px 32px 35px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:25px}.eyebrow{font-size:10px;color:#88a08e;letter-spacing:1.5px;font-weight:650;margin-bottom:9px}.page-head p{color:var(--sub);font-size:12px;margin-top:9px;line-height:1.8}.head-actions{display:flex;align-items:center;gap:10px;padding-top:14px}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filter-bar select,.filter-bar input,.filter-select{height:37px;border:1px solid #e1e8e1;border-radius:8px;background:#fff;color:#4c6255;padding:0 12px;font-size:12px;min-width:120px}.filter-bar .caption{margin-left:auto;font-size:11px;color:#91a095}.filter-bar .search{min-width:230px;padding-left:34px}.search-wrap{position:relative}.search-wrap svg{position:absolute;left:11px;top:11px;color:#91a095}.card{background:#fff;border-radius:var(--radius);border:1px solid #edf1ec;overflow:hidden}.card-pad{padding:23px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.card-title{font-size:15px;font-weight:650}.card-sub{font-size:11px;color:var(--sub);margin-top:6px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.chart-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:20px;margin-top:21px}.metric{padding:21px 22px 18px;min-height:154px;position:relative}.metric.hero{background:var(--green);color:white;border-color:transparent}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#7d9082;font-size:12px}.metric.hero .metric-top{color:#c1dfd3}.metric-icon{width:30px;height:30px;border-radius:9px;background:#f0f5ef;display:grid;place-items:center;color:#739779}.metric.hero .metric-icon{background:#ffffff15;color:#b6dbcc}.metric-value{font-size:29px;letter-spacing:-1.1px;font-weight:650;margin:18px 0 13px;line-height:1}.metric-value .currency{font-size:18px;margin-right:5px;font-weight:400;opacity:.65}.metric-foot{font-size:10px;color:#90a091;display:flex;align-items:center;gap:5px}.metric.hero .metric-foot{color:#b6d5c8}.metric-arc{position:absolute;right:-34px;bottom:-63px;width:140px;height:140px;border:1px solid #ffffff12;border-radius:50%;pointer-events:none}.metric-arc:after{content:"";position:absolute;inset:15px;border:1px solid #ffffff10;border-radius:50%}.legend{display:flex;align-items:center;gap:16px;font-size:11px;color:#8a998e}.legend .dot{width:6px;height:6px}.chart-svg{display:block;width:100%;height:210px}.chart-axis{font-size:10px;fill:#a0aca3}.chart-labels{display:flex;justify-content:space-between;padding:0 12px 0 42px;font-size:10px;color:#9caaa0;margin-top:3px}.ring-wrap{display:flex;align-items:center;gap:24px;margin-top:18px}.ring{width:132px;height:132px;border-radius:50%;position:relative;flex-shrink:0;display:grid;place-items:center}.ring:before{content:"";position:absolute;inset:16px;border-radius:50%;background:white}.ring-center{position:relative;text-align:center}.ring-center strong{display:block;font-size:19px;margin-top:4px}.ring-legend{display:flex;flex-direction:column;gap:13px;flex:1;font-size:11px}.ring-legend-row{display:flex;align-items:center;justify-content:space-between;gap:9px}.insight{margin-top:21px;border-top:1px solid var(--line);padding-top:15px;font-size:11px;color:#829183;line-height:1.8}.section-title{display:flex;align-items:center;justify-content:space-between;margin:26px 0 15px}.project-card{padding:21px;transition:.15s}.project-card:hover{border-color:#c9ddcf;box-shadow:0 5px 15px #143e2010}.project-logo{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:15px}.project-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:23px}.project-stats span{font-size:10px;color:#8b9c8e}.project-stats strong{display:block;font-size:18px;font-weight:600;margin-top:6px}.progress-track{height:5px;background:#edf2ec;border-radius:9px;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:9px}.project-foot{font-size:10px;color:#96a196;display:flex;justify-content:space-between;margin:17px 0 9px}.project-net{margin-top:17px;border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;font-size:11px;color:#829384}.project-net strong{font-size:13px;color:var(--green)}
.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.data-table th{text-align:left;background:#f8faf7;color:#85968a;font-size:10px;font-weight:500;padding:13px 18px;border-bottom:1px solid var(--line)}.data-table td{padding:16px 18px;border-bottom:1px solid #f0f3ee;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdf9}.data-table .subline{font-size:10px;color:#9aa89c;margin-top:5px}.data-table .amount{font-size:13px;font-weight:650}.data-table th.text-right,.data-table td.text-right{text-align:right}.transaction-type{width:31px;height:31px;border-radius:9px;background:#eaf5ee;color:#4e9e77;display:grid;place-items:center}.transaction-type.expense{background:#fbf0e9;color:#c88760}.transaction-type.transfer{background:#eef1fa;color:#798ab1}.transaction-type.otherIn,.transaction-type.otherOut{background:#f5effa;color:#987bb5}.table-footer{padding:14px 19px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#8a9b8d}.tab-bar{display:flex;gap:23px;border-bottom:1px solid var(--line);padding:0 23px}.tab-btn{border:0;background:none;padding:17px 0 13px;font-size:12px;color:#89998c;border-bottom:2px solid transparent}.tab-btn.active{border-bottom-color:var(--green);color:var(--green);font-weight:650}.mini-totals{display:flex;gap:24px;padding:18px 23px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap;font-size:11px;color:#8b9b8e}.mini-totals strong{font-size:16px;color:#314c39;margin-left:8px}.note{padding:13px 16px;background:#eef5ed;color:#617b60;line-height:1.85;font-size:12px;border-radius:10px}.note.amber{background:#fff7e9;color:#a08348}.note.blue{background:#edf4f9;color:#67819b}.note.red{background:#fff1ed;color:#a95c50}.empty{padding:60px 20px;text-align:center;color:#8b9b8b}.empty svg{width:38px;height:38px;margin-bottom:16px;color:#b9cbbb}.empty h3{color:#70896f;margin-bottom:8px}.empty p{line-height:1.8;font-size:12px}.account-card{padding:23px;background:linear-gradient(135deg,#fff,#f7faf5)}.account-bank{color:#78927d;font-size:12px}.account-title{font-size:15px;margin:13px 0 8px}.account-number{font-size:11px;color:#9aaa9c;letter-spacing:2px}.account-amount{font-size:28px;margin-top:26px;font-weight:600}.account-footer{margin-top:20px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8c9f8c}.member-card{padding:21px}.member-avatar{width:44px;height:44px;font-size:16px;background:#edf2e8;color:#78895f}.member-info{margin-top:18px;display:flex;flex-direction:column;gap:10px;font-size:11px;color:#81947f}.member-info strong{font-weight:500;color:#496043}.member-actions{margin-top:21px;padding-top:15px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);gap:18px}.settings-row:last-child{border:0}.settings-row h3{font-size:13px}.settings-row p{font-size:11px;color:#849680;margin-top:7px;line-height:1.7}.category-row{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.category-row:last-child{border:0}.log-row{display:flex;align-items:flex-start;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.log-dot{width:7px;height:7px;border-radius:50%;background:#9fc5ac;margin-top:5px}.log-row small{display:block;margin-top:6px;color:#9aac9c;font-size:10px}
.overlay{position:fixed;inset:0;background:#112f2660;backdrop-filter:blur(3px);z-index:80;display:flex;justify-content:flex-end}.drawer{width:min(870px,96vw);height:100%;background:#f8faf7;box-shadow:-15px 0 70px #122e2925;display:flex;flex-direction:column;animation:slideIn .23s ease}.drawer.small-drawer{width:min(560px,96vw)}.drawer-head{background:white;border-bottom:1px solid var(--line);padding:24px 29px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.drawer-head h2{font-size:20px}.drawer-head p{font-size:11px;color:#8b9e8c;margin-top:8px}.drawer-body{padding:24px 29px;overflow-y:auto;flex:1}.drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 29px;background:white;border-top:1px solid var(--line);flex-wrap:wrap}.form-columns{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:24px}.field{margin-bottom:18px;min-width:0}.field label{display:block;font-size:12px;color:#5b725f;font-weight:550;margin-bottom:8px}.field label em{color:#be7d65;font-style:normal}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid #dfe7db;background:white;border-radius:9px;color:#2a4431;min-width:0;line-height:1.4;font-size:13px}.field textarea{resize:vertical;min-height:78px}.field input::placeholder,.field textarea::placeholder{color:#afbaad}.field .help{font-size:10px;color:#93a38d;margin-top:7px;line-height:1.7}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.amount-field{position:relative}.amount-field input{font-size:29px;font-weight:600;letter-spacing:-.6px;padding:17px 18px 17px 43px;background:#fff}.amount-field>span{position:absolute;left:17px;top:21px;color:#6c866b;font-size:20px}.segmented{display:flex;padding:4px;background:#e9eee5;border-radius:10px;margin-bottom:22px;gap:3px}.segment{padding:10px 8px;flex:1;font-size:12px;border:0;background:none;border-radius:7px;color:#78916e}.segment.active{color:var(--green);background:white;box-shadow:0 1px 4px #143c1620;font-weight:600}.receipt-panel{background:white;border:1px solid #e6eddf;border-radius:13px;padding:17px;align-self:start;position:sticky;top:0}.receipt-title{font-size:13px;font-weight:600}.upload-zone{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1.5px dashed #cbdac4;border-radius:10px;min-height:175px;margin-top:15px;background:#f9fbf6;gap:11px;padding:20px 12px;text-align:center;color:#859c78;cursor:pointer;transition:.15s}.upload-zone.dragging{background:#e5f4e8;border-color:var(--green)}.upload-zone strong{font-size:12px;color:#57794e}.upload-zone p{font-size:10px;line-height:1.8}.key{font-size:10px;border:1px solid #dde6d5;padding:3px 6px;border-radius:4px;background:white;color:#6d8963}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.receipt-thumb{position:relative}.receipt-thumb img{width:100%;height:104px;object-fit:cover;border:1px solid #e4e9df;border-radius:8px;cursor:zoom-in}.receipt-thumb button{position:absolute;right:4px;top:4px;border:0;width:21px;height:21px;border-radius:50%;background:#133b2699;color:white;font-size:14px;line-height:1}.receipt-thumb p{font-size:9px;color:#9aaa93;margin-top:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px;margin-top:24px}.detail-item span{display:block;font-size:10px;color:#8b9d86;margin-bottom:7px}.detail-item strong{font-size:12px;font-weight:550;color:#365130;line-height:1.7}.detail-amount{font-size:40px;font-weight:650;letter-spacing:-1.5px;margin-top:18px}.detail-amount small{font-size:23px;opacity:.6;font-weight:400;margin-right:6px}.checkbox-group{display:flex;gap:9px;flex-wrap:wrap}.check-chip{display:flex;align-items:center;gap:7px;padding:10px;background:white;border:1px solid #dde7d6;border-radius:8px;font-size:11px}.check-chip input{accent-color:var(--green)}.switch{position:relative;display:inline-block;width:34px;height:20px;vertical-align:middle}.switch input{opacity:0;width:0;height:0}.switch i{position:absolute;inset:0;background:#dce4d6;border-radius:30px}.switch i:before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:white;top:3px;left:3px;transition:.2s}.switch input:checked+i{background:var(--green)}.switch input:checked+i:before{transform:translateX(14px)}.modal-center{justify-content:center;align-items:center;padding:25px}.modal{background:#fff;border-radius:18px;padding:28px;max-width:500px;width:100%;box-shadow:var(--shadow)}.modal h2{margin-bottom:13px}.modal p{font-size:13px;color:#72836b;line-height:1.9}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.lightbox{background:#102b24e8}.lightbox img{max-height:85vh;max-width:86vw;object-fit:contain;border-radius:10px}.lightbox .close-lightbox{position:absolute;top:24px;right:25px;background:#ffffff15;border:1px solid #ffffff30;color:white}.toast-stack{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:160;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{max-width:min(600px,90vw);background:#173e2f;color:white;box-shadow:0 8px 28px #102f2b28;border-radius:10px;padding:13px 20px;display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.7;animation:pop .2s ease}.toast.error{background:#9c4f3f}
.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-story{padding:50px 65px;background:#ecf3e9;position:relative;overflow:hidden}.login-story .brand{position:relative;z-index:1}.login-headline{margin-top:13vh;position:relative;z-index:1}.login-headline h1{font-size:46px;line-height:1.4;font-weight:550;letter-spacing:-2px}.login-headline p{font-size:13px;line-height:2.1;margin-top:21px;color:#7e947c}.login-preview{background:#fff;border:1px solid #dce8d8;padding:27px;border-radius:18px;margin-top:40px;max-width:440px;box-shadow:0 20px 60px #47634012;position:relative;z-index:1;transform:rotate(-2deg)}.login-preview .preview-number{font-size:33px;letter-spacing:-1px;margin:16px 0 25px}.mini-chart{height:65px;display:flex;gap:10px;align-items:flex-end}.mini-chart span{background:#c8dfbd;flex:1;border-radius:4px 4px 0 0}.login-circle{position:absolute;width:700px;height:700px;border:1px solid #d8e6d4;border-radius:50%;left:120px;bottom:-300px}.login-circle:before,.login-circle:after{content:"";position:absolute;inset:50px;border:1px solid #d8e6d4;border-radius:50%}.login-circle:after{inset:100px}.login-copyright{position:absolute;bottom:29px;font-size:10px;color:#93a58a}.login-form-area{display:flex;align-items:center;justify-content:center;padding:40px}.login-box{max-width:390px;width:100%}.login-box h2{font-size:28px;letter-spacing:-.8px}.login-description{color:#899a83;font-size:12px;line-height:1.9;margin:13px 0 28px}.login-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 25px}.login-role{border:1px solid #e2e9dc;background:#fff;border-radius:10px;padding:12px;text-align:left;display:flex;gap:10px;align-items:center}.login-role.active{border-color:#6bab81;background:#f3f9ef}.login-role strong{font-size:11px;display:block}.login-role span{font-size:10px;color:#90a086;display:block;margin-top:5px}.login-note{font-size:10px;line-height:1.9;color:#9ba995;text-align:center;margin-top:21px}
.plan-doc{max-width:1000px;margin:auto}.plan-section{padding:29px 32px;background:#fff;border:1px solid #e8eee3;border-radius:16px;margin-bottom:18px}.plan-section h2{font-size:20px;margin-bottom:18px;color:#23492f}.plan-section h3{margin:23px 0 10px;font-size:14px;color:#3b6545}.plan-section p,.plan-section li{font-size:12px;line-height:2.05;color:#71856a;margin:10px 0}.plan-section ul,.plan-section ol{padding-left:22px}.plan-section table{border-collapse:collapse;width:100%;font-size:11px;margin:17px 0;line-height:1.9}.plan-section th{background:#f3f7f0;color:#5b7b52;text-align:left;padding:12px}.plan-section td{padding:12px;border-bottom:1px solid #eef2e9;color:#708769;vertical-align:top}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-card{padding:17px;background:#f7faf4;border-radius:10px;font-size:12px;line-height:1.9}.mini-card strong{display:block;color:#4d7445;margin-bottom:5px}.no-access{max-width:600px;margin:100px auto;text-align:center}.salary-summary{padding:20px 23px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-bottom:1px solid var(--line)}.salary-summary span{font-size:11px;color:#8b9d83}.salary-summary strong{font-size:22px;display:block;margin-top:10px;color:#34582a}.scope-note{font-size:10px;color:#8b9b86;margin-bottom:18px;line-height:1.8}.footer-note{text-align:center;margin-top:26px;font-size:10px;color:#a4b09b;line-height:1.9}.file-input{display:none}.permission-grid{width:100%;font-size:11px;border-collapse:collapse}.permission-grid th,.permission-grid td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}.permission-grid th{color:#8b9d80;font-weight:500}.inline-error{padding:10px 13px;border-radius:8px;background:#fff0ea;color:#af6349;font-size:12px;margin-bottom:15px;line-height:1.8}.skeleton{width:90%;margin:50px auto;padding:50px;color:#7d8b78;text-align:center}
@keyframes slideIn{from{transform:translateX(60px);opacity:.4}to{transform:translateX(0);opacity:1}}@keyframes pop{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}
@media(min-width:1600px){.content{padding-top:35px}.metric{min-height:163px}.metric-value{font-size:33px}.chart-svg{height:235px}}
@media(max-width:1200px){.sidebar{width:194px;padding-left:12px;padding-right:12px}.main{margin-left:194px}.topbar{padding:0 24px}.content{padding:24px}.metric{padding:19px 17px}.metric-value{font-size:24px}.grid4{gap:12px}.grid3{gap:13px}.ring-wrap{gap:15px}.ring{width:110px;height:110px}.chart-grid{grid-template-columns:1.5fr 1fr}.project-stats strong{font-size:15px}.card-pad{padding:20px}.login-story{padding:40px}.login-headline h1{font-size:39px}}
@media(max-width:980px){.grid4{grid-template-columns:1fr 1fr}.chart-grid{grid-template-columns:1fr}.chart-svg{height:230px}.ring-wrap{justify-content:center;gap:50px;max-width:480px;margin:20px auto}.ring{width:140px;height:140px}.grid3{grid-template-columns:1fr 1fr}.topbar .save-status{display:none}.login-story{padding:30px}.login-headline h1{font-size:33px}.login-form-area{padding:30px}.login-preview{padding:21px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s;width:224px;box-shadow:10px 0 30px #14391e20}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.mobile-menu{display:inline-flex}.topbar{height:64px;padding:0 17px}.topbar-right{gap:8px}.topbar .breadcrumb{gap:8px}.topbar .breadcrumb>span:first-child{display:none}.topbar-right .tag{font-size:9px}.content{padding:23px 17px}.page-head{margin-bottom:19px;gap:12px}.page-head h1{font-size:24px}.page-head p{font-size:11px}.head-actions{gap:7px;padding-top:5px}.head-actions .btn{padding:9px 10px;font-size:11px}.head-actions .optional{display:none}.filter-bar{gap:7px}.filter-bar select,.filter-bar input{min-width:unset;max-width:150px;font-size:11px;padding:0 9px;height:35px}.filter-bar .caption{width:100%;margin:4px 0 0}.filter-bar .search{max-width:none;width:100%;min-width:0}.search-wrap{flex:1;min-width:140px}.grid4{gap:11px}.metric{padding:16px;min-height:143px;border-radius:13px}.metric-value{font-size:23px;margin-top:21px}.metric-value .currency{font-size:14px;margin-right:3px}.metric-top{font-size:10px}.metric-icon{height:25px;width:25px;border-radius:7px}.metric-foot{font-size:9px}.chart-grid{gap:15px;margin-top:15px}.card-pad{padding:18px}.card-header .legend{font-size:9px;gap:11px}.chart-svg{height:190px}.grid3,.grid2{grid-template-columns:1fr}.project-stats strong{font-size:19px}.project-card{padding:20px}.section-title{margin-top:22px}.section-title h2{font-size:16px}.data-table td{padding:15px 13px}.data-table th{padding:12px 13px}.data-table{font-size:11px}.form-columns{grid-template-columns:1fr}.receipt-panel{position:static}.drawer{width:100vw}.drawer-head{padding:20px}.drawer-body{padding:20px}.drawer-footer{padding:15px 20px}.receipt-grid{grid-template-columns:repeat(3,1fr)}.upload-zone{min-height:135px}.field input,.field select,.field textarea{font-size:14px}.field-row{gap:11px}.drawer-footer .btn{padding:10px 13px}.detail-amount{font-size:35px}.login-page{grid-template-columns:1fr}.login-story{padding:26px 30px 33px}.login-headline{margin-top:30px}.login-headline h1{font-size:29px;line-height:1.5;letter-spacing:-1px}.login-headline p{font-size:11px;margin-top:13px}.login-preview,.login-copyright{display:none}.login-form-area{padding:30px 27px}.login-box{max-width:440px}.login-box h2{font-size:23px}.login-description{margin:10px 0 21px}.login-roles{margin-top:17px}.plan-section{padding:22px 19px;overflow:auto}.plan-section table{min-width:560px}.feature-grid{grid-template-columns:1fr}.salary-summary{grid-template-columns:1fr 1fr 1fr;gap:10px;padding:18px}.salary-summary strong{font-size:16px}.salary-summary span{font-size:10px}.scope-note{font-size:10px}.settings-row .btn{font-size:11px;padding:8px 10px}.tag{font-size:10px}.tab-bar{padding:0 16px;gap:20px;overflow-x:auto}.mini-totals{gap:17px;padding:15px}.mini-totals strong{font-size:14px}.ring-legend{gap:14px}.ring-wrap{gap:30px}.modal{padding:22px}.table-footer{font-size:10px;padding:13px}.plan-section h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.sidebar,.topbar,.page-head,.filter-bar,.footer-note{display:none}.main{margin:0}.content{padding:0}.plan-section{break-inside:avoid;border:0}.overlay{display:none}}
