@charset "UTF-8";
:root{--green:#176b56;--green-dark:#105340;--green-light:#edf6f1;--ink:#25352f;--text:#3d4c46;--muted:#87918c;--border:#e8ece9;--bg:#f6f8f7;--red:#c34b4b;--shadow:0 5px 25px rgba(29,53,42,.035);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;color:var(--text)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{min-width:0}button:focus-visible,a:focus-visible{outline:3px solid #92c3aa;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:0;border-color:#6ca58b!important;box-shadow:0 0 0 3px #176b5610}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;flex:none;cursor:pointer}input[type=month],input[type=date]{color-scheme:light}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink)}h1{font-size:29px;line-height:1.4;font-weight:660;letter-spacing:-.7px}h2{font-size:16px;font-weight:650}h3{font-size:15px}small{font-size:12px}.icon{flex-shrink:0;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}.text-green{color:var(--green)!important}.text-red{color:var(--red)!important}.font-semibold{font-weight:600}.number{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.nowrap{white-space:nowrap}.hidden,[hidden]{display:none!important}
.sidebar{width:232px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:32px 19px 18px;z-index:40}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:720;letter-spacing:1px;color:#233e31;padding:0 9px}.brand small{display:block;font-size:9px;letter-spacing:1.3px;color:#89928d;font-weight:500;margin-top:2px}.brand-mark{display:flex;gap:4px;width:38px;height:39px;align-items:flex-end;background:var(--green);border-radius:11px;padding:10px 8px;box-shadow:0 3px 7px #176b5618}.brand-mark span{display:block;background:white;width:5px;border-radius:3px}.brand-mark span:nth-child(1){height:10px}.brand-mark span:nth-child(2){height:21px}.brand-mark span:nth-child(3){height:15px}.workspace-label{margin:34px 5px 26px;padding:10px 9px;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:7px;font-size:11px;color:#68736c}.workspace-dot{width:8px;height:8px;background:var(--green);border-radius:3px}.tiny-label{font-size:8px;letter-spacing:.5px;background:#f1f4f1;padding:1px 4px;border-radius:3px;color:#85918a;margin-left:auto}.nav-caption{font-size:10px;font-weight:600;letter-spacing:1.2px;color:#a4aca6;margin:7px 16px 11px}.sidebar nav{display:grid;gap:6px;margin-bottom:28px}.nav-link{height:45px;display:flex;align-items:center;gap:13px;border-radius:8px;padding:0 15px;font-size:13px;font-weight:500;color:#748078;transition:background .15s,color .15s}.nav-link:hover{background:#f6f8f6;color:var(--green)}.nav-link.active{background:#eaf3ee;color:var(--green);font-weight:600}.nav-link.active:after{content:"";width:5px;height:5px;border-radius:50%;background:#39785b;margin-left:auto}.sidebar-bottom{margin-top:auto}.sidebar-note{padding:17px 13px;display:flex;gap:9px;background:#f6f9f6;border-radius:9px;color:#56826a;margin-bottom:20px}.sidebar-note p{font-size:11px;font-weight:550}.sidebar-note small{display:block;color:#9aa39b;font-size:10px;font-weight:400;margin-top:4px}.user-card{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);padding:17px 6px 0}.user-card strong{font-size:12px}.user-card small{display:block;color:var(--muted);font-size:10px}.user-card>.icon{margin-left:auto;color:#9ba69d}.avatar{width:36px;height:36px;background:#dcebe0;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;color:#467758;font-size:12px;font-weight:650;flex:none}.avatar-sm{width:33px;height:33px;font-size:11px}.avatar-lg{width:46px;height:46px;font-size:18px}.color-1{background:#e9e4f5;color:#8b73ac}.color-2{background:#f8ebda;color:#b78d55}.color-3{background:#e4eef8;color:#668ead}
.app-main{margin-left:232px;min-height:100vh}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{display:flex;align-items:center;gap:15px;font-size:12px;color:#9aa29c}.breadcrumb strong{font-weight:500;color:#4c5c52}.divider-slash{color:#c7cec9}.topbar-right{display:flex;align-items:center;gap:21px}.today{display:flex;align-items:center;gap:7px;color:#8d988f;font-size:11px}.online-dot{width:5px;height:5px;background:#62a27b;border-radius:50%}.icon-btn{border:0;background:transparent;width:32px;height:32px;color:#87948a;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.icon-btn:hover{background:#eef4ef;color:var(--green)}.menu-toggle{display:none}.page-content{max-width:1600px;margin:0 auto;padding:31px 38px 20px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.eyebrow{display:block;color:#8c9c90;font-size:9px;letter-spacing:2px;font-weight:600;margin-bottom:9px}.page-heading p{font-size:12px;color:#8b968e;margin-top:7px}.heading-dot{display:inline-block;width:6px;height:6px;background:#438661;border-radius:50%;margin:0 0 5px 10px}.heading-actions{display:flex;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 16px;border-radius:7px;font-weight:550;font-size:12px;line-height:1.4;border:1px solid transparent;white-space:nowrap;transition:background .15s,box-shadow .15s}.btn-primary{background:var(--green);color:white;border-color:var(--green);box-shadow:0 2px 5px #176b5612}.btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.btn-secondary{background:white;border-color:#dfe6e1;color:#4a5d50}.btn-secondary:hover{background:#f4f8f5;border-color:#b4c5b8}.btn-soft{background:#edf4ef;color:#4b755b}.btn-soft:hover{background:#deece2}.btn-danger{background:#fff1f0;border-color:#f3d8d5;color:var(--red)}.btn-sm{min-height:31px;padding:5px 10px;font-size:11px}.btn-link{border:0;background:none;padding:0;color:var(--green);font-size:12px}.text-link{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#738e7b}.text-link:hover{color:var(--green)}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#78927f;margin-bottom:16px}
.overview-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px;gap:14px}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-month,.filter-person{display:flex;align-items:center;gap:8px;border:1px solid #e0e6e1;background:white;border-radius:7px;padding:7px 11px;min-height:36px;color:#849185}.filter-month input,.filter-person select{border:0;outline:0;background:transparent;color:#536258;font-size:12px;width:auto;max-width:180px;box-shadow:none!important;padding:0}.filter-person select{min-width:95px}.filter-submit{min-height:35px;padding:7px 12px}.rate-pill{display:flex;gap:8px;align-items:center;color:#9da69f;font-size:11px;white-space:nowrap}.rate-pill strong{color:#5a7661;font-size:12px}.currency-symbol{border:1px solid #dce5dc;width:19px;height:19px;line-height:17px;text-align:center;border-radius:50%;color:#8a9e8b;font-size:11px}.search-field{display:flex;gap:9px;align-items:center;background:white;border:1px solid #e0e6e1;border-radius:7px;padding:6px 11px;color:#a1aaa3;min-height:37px}.search-field input{border:0;outline:0;box-shadow:none!important;width:210px;max-width:40vw;font-size:12px;color:var(--text)}.search-field input::placeholder{color:#b0b7b1}.search-field kbd{font:11px inherit;background:#f6f8f6;padding:0 4px;border:1px solid #edf0ed;border-radius:3px}
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{background:white;border:1px solid var(--border);border-radius:10px;padding:20px 21px 17px;box-shadow:var(--shadow)}.metric-featured{background:#f4faf6;border-color:#d6e8dc}.metric-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:500;color:#7e8c82}.metric-icon{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:8px}.green{background:#edf5ef;color:#52886b}.blue{background:#eef3fa;color:#7799bc}.purple{background:#f2eef8;color:#a08bbc}.metric-value{font-size:clamp(23px,2.1vw,33px);font-weight:620;letter-spacing:-1px;color:#2c4435;font-variant-numeric:tabular-nums;line-height:1.4;margin:17px 0 15px}.metric-bottom{display:flex;align-items:center;gap:5px;color:#9aa59c;font-size:10px;flex-wrap:wrap}.metric-bottom>span:last-child{margin-left:auto;color:#b0b9b2}.dot{width:5px;height:5px;border-radius:50%}.green-dot{background:#77a98c}.stats-caption{display:flex;align-items:center;justify-content:space-between;color:#9ca79d;font-size:10px;margin:13px 2px 23px;gap:10px}.stats-caption>span{display:flex;align-items:center;gap:5px}.stats-caption>a{color:#71947f;white-space:nowrap}
.action-strip{display:flex;align-items:center;gap:13px;padding:15px 20px;background:#fcfaf3;border:1px solid #eee8d6;border-radius:9px;margin-bottom:23px}.action-strip-icon{width:37px;height:37px;border-radius:8px;background:#f5efdb;color:#b09b62;display:flex;align-items:center;justify-content:center}.action-strip strong{font-size:12px;color:#857646;font-weight:550}.action-strip p{font-size:11px;color:#ada280;margin-top:3px}.action-strip>.btn{margin-left:auto;min-height:32px;background:#fffdf6;border-color:#e8dfc3;color:#928355;font-size:11px}
.card{background:white;border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:23px}.card-heading{min-height:77px;display:flex;align-items:center;justify-content:space-between;gap:13px;padding:20px 24px;border-bottom:1px solid #f0f2ef}.card-heading h2{font-size:14px;color:#45594a}.card-heading p{font-size:10px;color:#9ba69b;margin-top:4px}.card-body{padding:24px}.card-footer{border-top:1px solid var(--border);padding:15px 23px;display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:11px;color:#8f9b92}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:23px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.data-table th{font-size:10px;color:#9aa69d;background:#fafcf9;font-weight:500;padding:12px 22px;white-space:nowrap;border-bottom:1px solid #eef2ec}.data-table td{padding:17px 22px;border-bottom:1px solid #f1f3f0;vertical-align:middle;color:#66766a}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdfb}.data-table td strong{color:#506354;font-weight:550}.data-table td small{display:block;font-size:10px;color:#a0aaa2;margin-top:2px}.data-table tfoot td{background:#f4f8f4;border-top:1px solid #e1e9df;font-weight:600}.data-table .compact-cell{padding-left:9px;padding-right:9px}.person-cell{display:flex;align-items:center;gap:10px;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:3px 7px;font-size:10px;line-height:1.6;white-space:nowrap;color:#8c9890;background:#f2f5f2}.badge-dot{width:4px;height:4px;border-radius:50%;background:currentColor}.badge-complete,.badge-locked,.badge-assigned,.badge-approved{background:#eef6ef;color:#609272}.badge-incomplete,.badge-submitted,.badge-held,.badge-pending{background:#faf5e8;color:#b39a5a}.badge-void{background:#f7eeee;color:#b18a83}.progress-card .card-heading{border-bottom:0}.progress-card .card-heading>.icon{color:#93a893}.progress-ring{width:154px;height:154px;border-radius:50%;background:conic-gradient(#65a181 var(--progress),#eff4ef 0);padding:9px;margin:4px auto 25px;transform:rotate(-90deg)}.progress-ring>div{height:100%;border:7px solid white;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(90deg)}.progress-ring strong{font-size:36px;color:#36513f;font-weight:620;line-height:1.3;letter-spacing:-1px}.progress-ring strong small{font-size:15px;font-weight:450;margin-left:2px}.progress-ring span{font-size:10px;color:#9fa99e;margin-top:4px}.progress-items{padding:0 22px 20px;display:grid;gap:13px}.progress-items a{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#879a8b}.progress-items a>span{display:flex;gap:9px;align-items:center}.progress-items strong{font-size:12px;color:#4a6653;font-weight:550}.progress-items strong small{font-size:10px;color:#a6afa5;font-weight:400}.step-dot{height:6px;width:6px;border-radius:50%}.step-amber{background:#d6bd7f}.step-blue{background:#8eadd0}.step-green{background:#80ac8f}
.recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px 24px;gap:0 22px}.recent-item{display:flex;align-items:center;gap:11px;padding:19px 0;border-bottom:1px solid #f0f3ee;min-width:0}.recent-item:nth-last-child(-n+3){border-bottom:0}.recent-item>span:nth-child(2){min-width:0;flex:1}.recent-item strong{font-size:11px;color:#617967;font-weight:550;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-item small{font-size:9px;color:#a6b0a5;display:block;margin-top:4px}.recent-file{width:33px;height:38px;background:#f0f5ef;border:1px solid #e6ede3;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#84a284;flex:none}.recent-item .badge{font-size:9px;padding:2px 5px}.page-footer{display:flex;justify-content:space-between;color:#b3bbb4;font-size:10px;padding:7px 1px;margin-top:10px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:53px 23px;grid-column:1/-1}.empty-icon{color:#8cab94;background:#f1f6f1;padding:16px;display:inline-flex;border-radius:17px;margin-bottom:17px}.empty-state h3{font-size:14px;color:#738676;font-weight:500}.empty-state p{font-size:11px;color:#a1ada2;margin:7px 0 17px;max-width:350px}.notice{display:flex;align-items:flex-start;gap:9px;border:1px solid #dceadd;background:#f0f7f0;padding:12px 16px;border-radius:8px;font-size:12px;color:#5a8161;margin-bottom:20px}.notice .icon{margin-top:1px}.notice-error{background:#fff4f2;border-color:#f0d4ce;color:#b36155}.notice-info{background:#f1f6fa;border-color:#dce7ef;color:#7796a6}.notice-warning{background:#fcf8ed;border-color:#ede3c9;color:#a18c54}.tabs{display:flex;gap:21px;align-items:center;border-bottom:1px solid var(--border);margin-bottom:20px;overflow:auto;white-space:nowrap}.tab{padding:11px 0 13px;color:#99a39b;font-size:12px;position:relative}.tab.active{color:var(--green);font-weight:600}.tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green);border-radius:2px}.tab .count{background:#edf3ed;padding:1px 6px;border-radius:4px;margin-left:5px;font-size:10px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:19px;min-width:0}.field label,.field-label{font-size:12px;font-weight:550;color:#667a6b}.field input:not([type=checkbox]),.field select,.field textarea,.table-input{border:1px solid #dfe7df;border-radius:7px;background:#fff;min-height:39px;padding:9px 11px;font-size:12px;color:#405849;width:100%;transition:border-color .15s,box-shadow .15s}.field textarea{min-height:90px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#b1bdb2}.field input:disabled,.field select:disabled,.field textarea:disabled{background:#f7f9f6;color:#7b8d7d}.field small,.field-hint{font-size:10px;color:#a2afa1;line-height:1.7}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.span-all{grid-column:1/-1}.checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#798d7e}.field-inline{display:flex;gap:8px;align-items:center}.field-inline>input{flex:1}.field-inline>select{width:80px!important;flex:none}.form-section{padding:24px;border-bottom:1px solid var(--border)}.form-section:last-child{border:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-heading h2{font-size:14px;display:flex;align-items:center;gap:9px}.section-number{font-size:10px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:#edf4ef;color:#81a18b}.section-heading p{font-size:10px;color:#a1aea3;margin-top:4px}.narrow-card{max-width:540px}.form-container{max-width:1100px;margin:0 auto}.form-container>.card{overflow:visible}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:20px 24px;background:#fcfdfa;border-top:1px solid var(--border);border-radius:0 0 10px 10px}.form-errors:empty{display:none}.form-errors{margin:0 24px 15px}.readonly-banner{padding:13px 18px;margin-bottom:18px;border-radius:8px;background:#f3f6f1;color:#8b9e88;font-size:12px;display:flex;align-items:center;gap:10px}.input-table th{padding:11px;font-size:10px}.input-table td{padding:8px 6px!important}.input-table td:first-child{padding-left:20px!important}.input-table td:last-child{padding-right:16px!important}.input-table .table-input{padding:8px;font-size:12px;min-height:35px}.input-table .item-name{min-width:180px}.input-table .item-qty{width:83px}.input-table .item-price{width:112px}.input-table .item-type{width:110px}.input-table .line-amount{min-width:95px}.item-actions{display:flex;gap:8px;padding:15px 23px;border-bottom:1px solid var(--border)}.cost-total{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:19px 25px;background:#f6faf5}.cost-total>span{font-size:12px;color:#90a18d}.cost-total strong{font-size:25px;color:var(--green);font-weight:600;letter-spacing:-.7px}
.cost-selection{display:grid;gap:9px;max-height:300px;overflow:auto}.cost-option{display:flex;gap:11px;align-items:center;border:1px solid #e4ebe1;padding:12px 14px;border-radius:8px;cursor:pointer}.cost-option:has(input:checked){border-color:#9cbea5;background:#f5faf4}.cost-option>span{flex:1;min-width:0}.cost-option strong{display:block;font-size:11px;color:#658168}.cost-option small{display:block;color:#a3b09e;font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cost-option .cost-amount{font-size:13px;color:#496e4d;font-weight:600}.cost-option input:disabled{cursor:default}.selection-total{font-size:12px;color:#879e85;display:flex;justify-content:space-between;margin:14px 0 0}.selection-total strong{color:#396340}.receipt-row{border:1px solid #e3ebe1;border-radius:8px;background:#fcfefb;padding:16px;margin-bottom:13px}.repeater-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7e987e;margin-bottom:15px}.repeater-heading strong{font-weight:550}.receipt-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:0 13px}.receipt-grid .field{margin-bottom:12px}.receipt-grid .field label{font-size:10px}.fee-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:13px;padding-top:14px;border-top:1px dashed #dee8dc}.fee-row .field{margin-bottom:0}.field-caption{display:flex;align-items:center;justify-content:space-between}.zero-button{border:0;background:none;font-size:10px;color:#639e68;padding:0;white-space:nowrap;cursor:pointer}.expense-row{display:grid;grid-template-columns:1fr 1.2fr 28px;gap:13px;align-items:start}.expense-row .field{margin-bottom:12px}.expense-row .checkbox-label{font-size:10px;margin-top:4px}.expense-row>.icon-btn{margin-top:27px}.extra-details{font-size:11px;color:#92a58e}.extra-details>summary{cursor:pointer;padding:10px 0}.extra-details>div{padding:12px 0}.editor-header{padding-right:30px}.editor-header .eyebrow{margin-bottom:5px}.editor-header h1{font-size:25px}.editor-context{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:11px;color:#95a48f}.summary-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:20px;padding:18px 23px;background:#fff;border-top:1px solid #dce8d9;box-shadow:0 -5px 20px #344b3505;border-radius:0 0 9px 9px;flex-wrap:wrap}.summary-number{display:flex;flex-direction:column;gap:3px}.summary-number>span{font-size:10px;color:#9caa97}.summary-number>strong{font-size:16px;font-weight:550;color:#678a60;font-variant-numeric:tabular-nums}.summary-number.profit>strong{font-size:22px;color:var(--green)}.summary-bar .btn{margin-left:auto}.save-indicator{font-size:10px;color:#94a78d;display:flex;align-items:center;gap:5px}.save-indicator.error{color:var(--red)}.save-indicator.saving{color:#b8a060}.drawer{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:900px;max-width:96vw;border:0;padding:0;background:var(--bg);box-shadow:-15px 0 60px #173d3520;overflow:auto}.drawer::backdrop{background:#142f234f;backdrop-filter:blur(2px)}.drawer-content{padding:29px 26px 0;min-height:100%}.drawer .page-heading{margin-bottom:20px}.drawer-close{position:sticky;top:19px;float:right;margin:13px 15px -45px 0;z-index:10;background:white;border:1px solid var(--border);box-shadow:0 3px 10px #31493409}.drawer .summary-bar{bottom:0}.drawer .card{margin-bottom:0}.drawer-loading{padding:100px 20px;text-align:center;color:#91a28b}.toast{position:fixed;bottom:25px;left:calc(50% + 90px);transform:translateX(-50%);padding:13px 23px;border-radius:9px;background:#214d3b;color:#fff;box-shadow:0 10px 35px #173b3720;font-size:12px;z-index:100}.toast.error{background:#9c4b44}
.selection-toolbar{display:flex;align-items:center;gap:14px;background:#f2f7f0;border:1px solid #e0eadb;border-radius:8px;padding:11px 16px;margin:16px 0;color:#789071;font-size:12px}.selection-toolbar strong{color:#4d7549}.selection-toolbar .btn{margin-left:auto}.table-actions{display:flex;align-items:center;gap:8px}.data-table.full-table{min-width:1420px}.full-table .sticky-column{position:sticky;left:0;background:#fff;z-index:2;border-right:1px solid #edf2e9}.full-table thead .sticky-column{background:#fafcf9;z-index:3}.full-table td,.full-table th{padding-left:13px;padding-right:13px}.full-table th{position:sticky;top:0;z-index:1}.full-table .currency-line{display:block;white-space:nowrap;font-size:10px}.table-pagination{padding:17px 22px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;color:#9aa792;font-size:11px;gap:12px}.pagination-buttons{display:flex;gap:8px}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:22px 24px}.details-grid dt{font-size:10px;color:#9dac93;margin-bottom:5px}.details-grid dd{margin:0;font-size:13px;color:#597350}.detail-note{padding:20px 24px;border-top:1px solid var(--border);font-size:12px;color:#7c9074;white-space:pre-wrap}.attachment-list{display:grid;gap:9px}.attachment-item{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;background:#f7faf4;border-radius:7px;font-size:11px;color:#7b916e;gap:10px}.attachment-item>a{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}.attachment-upload{margin-top:15px;border:1px dashed #cadac0;border-radius:8px;padding:16px;display:flex;gap:12px;align-items:center;font-size:11px;color:#90a780;flex-wrap:wrap}.attachment-upload input{font-size:11px;max-width:240px}.action-group{display:flex;gap:10px;flex-wrap:wrap}.report-banner{background:#eff6ec;border:1px solid #dce9d3;display:flex;gap:13px;align-items:center;padding:17px 22px;border-radius:9px;margin-bottom:22px;color:#6c8c5b}.report-banner strong{display:block;font-size:13px}.report-banner small{display:block;color:#92a580;margin-top:3px}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.check-item{background:#f8faf5;border:1px solid #e6eddf;padding:16px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#829773}.check-item strong{font-size:20px;color:#5d8350}.check-item.warning{background:#fdf9ed;border-color:#eee3c9;color:#af995c}.check-item.warning strong{color:#ac9046}.reconciliation{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.reconciliation span{display:block;font-size:10px;color:#97a888;margin-bottom:8px}.reconciliation strong{font-size:18px;font-weight:550;color:#658051}.report-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.report-actions .field{flex:1;min-width:220px;margin:0}.inline-form{display:inline}.reason-form{display:flex;align-items:flex-end;gap:10px;margin-top:18px}.reason-form .field{flex:1;margin:0}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-grid .card{margin:0}.user-edit{padding:17px 23px;border-bottom:1px solid var(--border)}.user-edit summary{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:12px;color:#667f58;list-style:none}.user-edit summary .badge{margin-left:auto}.user-edit form{padding-top:22px}.permissions{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 20px}.permissions .checkbox-label{font-size:11px}.dictionary-tags{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.dictionary-tags form{display:inline-flex;align-items:center;gap:5px;background:#f3f7ee;color:#8a9f79;border:1px solid #e5eddd;border-radius:6px;padding:3px 8px;font-size:11px}.dictionary-tags button{border:0;background:transparent;color:#adb8a3;font-size:14px}.dictionary-tags .inactive{opacity:.55;text-decoration:line-through}.rate-preview{border-radius:7px;padding:15px;background:#f3f7ee;font-size:11px;color:#7b9668;margin:13px 0}.rate-preview table{width:100%;border-collapse:collapse;margin-top:8px}.rate-preview td,.rate-preview th{padding:5px;text-align:left;border-bottom:1px solid #e3ebda;font-size:10px}.audit-detail{white-space:pre-wrap;overflow-wrap:anywhere;max-width:750px;max-height:250px;overflow:auto;background:#f5f8f0;padding:13px;font-size:10px;border-radius:6px}.archive-table{font-size:10px}.archive-table th,.archive-table td{padding:8px 12px;min-width:90px;max-width:250px;overflow-wrap:anywhere}.import-options{display:flex;gap:15px;flex-wrap:wrap}
.login-body{background:#f5f8f4;display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:40px}.login-shell{display:grid;grid-template-columns:1fr 1fr;width:1040px;max-width:100%;min-height:650px;border-radius:18px;overflow:hidden;background:white;box-shadow:0 15px 80px #28482f0b;border:1px solid #e7eee1}.login-story{background:#154c3e;padding:44px 45px 28px;position:relative;overflow:hidden;display:flex;flex-direction:column}.brand-light{color:white;padding:0}.brand-light small{color:#89a394;font-size:8px}.brand-light .brand-mark{background:#ffffff14;box-shadow:none}.login-story-content{margin:auto 0;padding:43px 0 25px}.login-story .eyebrow{color:#9db7a7;font-size:10px;letter-spacing:2.5px;margin-bottom:19px}.login-story h1{font-size:38px;color:#f4f9f0;font-weight:560;letter-spacing:1px;line-height:1.5}.login-story-content>p{font-size:13px;color:#a0b8a8;margin-top:17px;line-height:1.95}.login-story-footer{color:#769983;font-size:10px;letter-spacing:2px}.login-visual{border:1px solid #ffffff20;border-radius:11px;background:#ffffff07;margin:35px 0 0;padding:19px 23px;width:310px;max-width:100%}.visual-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#b2c7b6}.visual-dot{width:5px;height:5px;border-radius:50%;background:#97b9a0}.visual-lines{display:grid;gap:18px;margin:23px 0}.visual-lines>div{display:flex;align-items:center;gap:13px;font-size:9px;color:#98b39e}.visual-lines span{flex:none}.visual-lines i{height:4px;flex:1;background:#ffffff09;position:relative;border-radius:3px;overflow:hidden}.visual-lines i:after{content:"";display:block;width:var(--bar);height:100%;background:#87b298;border-radius:3px}.visual-lines b{font-size:10px;color:#b0cab7;font-weight:400}.visual-bottom{font-size:9px;color:#8fad96;display:flex;gap:7px;align-items:center;border-top:1px solid #ffffff0e;padding-top:12px}.login-form-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 57px 25px}.login-form-inner{width:100%;max-width:340px;margin:auto 0}.login-form-inner h2{font-size:24px;font-weight:600;letter-spacing:-.3px;color:#35593d}.login-form-inner>.muted{font-size:12px;margin:12px 0 35px}.login-form-inner .field{margin-bottom:23px}.login-form-inner .field input{height:44px;background:#fcfdfb;font-size:13px}.login-form-inner .checkbox-label{font-size:11px;color:#98a28f}.login-submit{width:100%;height:44px;justify-content:space-between;margin-top:26px}.login-help{font-size:10px;color:#a5afa0;text-align:center;margin-top:23px}.login-copyright{font-size:9px;color:#b7bfb0;padding-top:35px}
@media(min-width:1600px){.page-content{padding-top:37px}.metric-value{font-size:34px}.card-heading{min-height:83px}.data-table td{padding-top:19px;padding-bottom:19px}}
@media(max-width:1250px){.sidebar{width:210px;padding-left:12px;padding-right:12px}.app-main{margin-left:210px}.topbar{padding:0 25px}.page-content{padding:27px 25px 18px}.metrics-grid{gap:12px}.metric-card{padding:17px 16px}.metric-value{font-size:25px}.metric-bottom{font-size:9px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 265px;gap:17px}.data-table th,.data-table td{padding-left:15px;padding-right:15px}.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recent-item:nth-last-child(-n+3){border-bottom:1px solid #f0f3ee}.recent-item:nth-last-child(-n+2){border-bottom:0}.metric-bottom>span:last-child{display:none}}
@media(max-width:1000px){.dashboard-columns{grid-template-columns:1fr}.progress-card{display:grid;grid-template-columns:1fr 170px 1fr;align-items:center}.progress-card .card-heading{border:0;padding:20px}.progress-card .card-heading>.icon{display:none}.progress-ring{width:125px;height:125px;margin:18px}.progress-ring strong{font-size:29px}.progress-items{padding:20px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:30px}.settings-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:repeat(2,1fr)}.receipt-grid{grid-template-columns:1fr 1fr}.fee-row{grid-template-columns:1fr 1fr}.fee-row>.field:last-child{grid-column:1/-1}.reconciliation{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:235px}.app-main{margin-left:0}.menu-toggle{display:inline-flex}.mobile-scrim{display:none;position:fixed;inset:0;background:#12372155;z-index:39}.menu-open .sidebar{transform:translateX(0)}.menu-open .mobile-scrim{display:block}.topbar{height:61px;padding:0 18px}.breadcrumb{gap:10px;font-size:11px}.topbar-right{gap:10px}.today{font-size:9px}.page-content{padding:24px 18px 17px}.page-heading{align-items:flex-start;gap:13px;margin-bottom:21px}.page-heading h1{font-size:24px}.page-heading .eyebrow{font-size:8px}.page-heading p{font-size:11px;max-width:270px}.heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px}.heading-actions .btn{font-size:11px;padding:7px 10px;min-height:34px}.heading-actions .btn-secondary{display:none}.overview-toolbar{align-items:flex-start;gap:7px;flex-direction:column}.rate-pill{font-size:10px;padding-left:2px}.filter-bar{gap:7px}.filter-month,.filter-person{padding:7px 9px}.search-field{width:100%}.search-field input{width:100%;max-width:none}.search-field kbd{margin-left:auto}.metrics-grid{gap:10px}.metric-card{padding:15px}.metric-top{font-size:11px}.metric-icon{width:27px;height:27px}.metric-icon .icon{width:17px;height:17px}.metric-value{font-size:25px;margin-top:15px;margin-bottom:12px}.metric-bottom{font-size:9px}.stats-caption{align-items:flex-start;font-size:9px;margin-bottom:19px}.stats-caption>span{align-items:flex-start}.action-strip{padding:13px;gap:10px;align-items:flex-start}.action-strip p{font-size:10px}.action-strip strong{font-size:11px}.action-strip-icon{width:30px;height:30px;flex:none}.action-strip>.btn{padding:6px 8px;min-height:30px;font-size:10px}.action-strip>.btn .icon{display:none}.card-heading{padding:17px 18px;min-height:70px}.card-heading h2{font-size:13px}.data-table td,.data-table th{padding:13px 13px}.data-table{font-size:11px}.dashboard-columns{gap:0}.progress-card{grid-template-columns:140px 1fr}.progress-card .card-heading{grid-column:1/-1;min-height:0;padding:18px 18px 0}.progress-ring{width:115px;height:115px;margin:15px}.progress-items{padding:20px 18px 20px 10px}.recent-grid{padding:0 17px;grid-template-columns:1fr}.recent-item:nth-last-child(-n+2){border-bottom:1px solid #f0f3ee}.recent-item:last-child{border-bottom:0}.recent-item strong{font-size:12px}.recent-item small{font-size:10px}.page-footer{font-size:9px}.page-footer>span:last-child{display:none}.field-grid.three,.field-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section,.card-body{padding:19px}.form-actions{padding:17px 19px}.summary-bar{padding:13px 15px;gap:13px}.summary-number>strong{font-size:14px}.summary-number.profit>strong{font-size:18px}.summary-bar .save-indicator{display:none}.summary-bar .btn{min-height:33px;padding:7px 10px;font-size:11px}.drawer{max-width:100vw;width:100%}.drawer-content{padding:25px 13px 0}.drawer .page-heading{padding-right:40px}.drawer-close{top:14px}.receipt-grid{grid-template-columns:1fr 1fr}.receipt-row{padding:13px}.fee-row{grid-template-columns:1fr 1fr}.expense-row{grid-template-columns:1fr 1fr 22px;gap:8px}.expense-row .field-inline>select{width:65px!important}.details-grid{grid-template-columns:repeat(2,1fr);padding:18px}.detail-note{padding:18px}.check-grid{gap:9px}.check-item{padding:11px;font-size:11px}.check-item strong{font-size:17px}.report-actions{align-items:stretch;gap:9px}.report-actions .field{min-width:100%;flex-basis:100%}.report-actions .btn{flex:1}.reconciliation{gap:20px 10px}.reconciliation strong{font-size:16px}.toast{left:50%;width:max-content;max-width:90vw;font-size:11px;bottom:16px}.selection-toolbar{padding:10px;font-size:10px;gap:7px}.selection-toolbar .btn{font-size:10px;padding:6px 9px}.tabs{gap:20px}.tab{font-size:11px}.login-body{padding:20px}.login-shell{grid-template-columns:1fr;min-height:auto;max-width:440px}.login-story{padding:27px 30px}.login-story .brand{font-size:18px}.login-story .brand small{font-size:7px}.login-story-content{padding:28px 0 8px}.login-story h1{font-size:29px}.login-story .eyebrow{font-size:8px;margin-bottom:12px}.login-story-content>p,.login-story-footer,.login-visual{display:none}.login-form-panel{padding:31px 30px 20px}.login-form-inner h2{font-size:21px}.login-form-inner>.muted{font-size:11px;margin:10px 0 25px}.login-form-inner>.eyebrow{display:none}.login-copyright{padding-top:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.confirm-dialog{border:1px solid #dce8df;border-radius:16px;padding:30px;width:440px;max-width:calc(100vw - 36px);box-shadow:0 24px 100px #142f2330;color:var(--text)}.confirm-dialog::backdrop{background:#142f2355;backdrop-filter:blur(3px)}.confirm-mark{display:inline-flex;background:var(--green-light);color:var(--green);padding:12px;border-radius:12px;margin-bottom:18px}.confirm-dialog h2{font-size:19px}.confirm-dialog p{margin:13px 0 26px;font-size:13px;line-height:1.9;color:#62736a;overflow-wrap:anywhere}.confirm-dialog .action-group{justify-content:flex-end}.confirm-dialog .btn{min-height:40px}.cell-sub{display:block;font-size:11px;color:#78877b;margin-top:4px}.field input:not([type=checkbox]),.field select,.field textarea{font-size:13px}.field label,.receipt-grid .field label{font-size:12px;color:#526959}.field small,.field-hint,.section-heading p{font-size:11px;color:#77897b}.readonly-banner,.editor-context{color:#637d6b}.save-indicator{font-size:11px;color:#607e68}.data-table small{color:#7d8c80}.text-amber{color:#a47e29}
@media(max-width:600px){.field-grid,.field-grid.three,.field-grid.four{grid-template-columns:minmax(0,1fr)}.field input:not([type=checkbox]),.field select,.field textarea{font-size:16px}.receipt-grid{grid-template-columns:1fr}.fee-row{grid-template-columns:1fr}.fee-row>.field:last-child{grid-column:auto}.expense-row{grid-template-columns:minmax(0,1fr) 26px}.expense-row>.field:nth-child(2){grid-column:1;grid-row:2}.expense-row>.icon-btn{grid-column:2;grid-row:1}.selection-toolbar{flex-wrap:wrap}.selection-toolbar select{max-width:100%}.summary-bar .save-indicator{display:flex;flex-basis:100%;order:5}.field-inline>select{width:84px!important}}
@media print{.sidebar,.topbar,.heading-actions,.filter-bar,.btn,.page-footer,.tabs,.stats-caption,.no-print{display:none!important}.app-main{margin:0}.page-content{padding:0}.card{box-shadow:none;break-inside:avoid}.data-table{font-size:10px}.data-table td,.data-table th{padding:8px}.table-wrap{overflow:visible}.metric-card{break-inside:avoid}}
