:root{color:#17201b;background:#f4f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:264px 1fr;min-height:100vh}.sidebar{background:#12352b;color:#eff7f1;display:flex;flex-direction:column;gap:32px;padding:24px 18px}.brand{align-items:center;display:flex;gap:12px}.brand-mark{align-items:center;background:#d7ef6e;border-radius:8px;color:#12352b;display:inline-flex;font-weight:800;height:42px;justify-content:center;width:42px}.brand strong,.brand small{display:block}.brand small{color:#b7cbbd;margin-top:3px}nav{display:grid;gap:6px}nav button{align-items:center;background:transparent;border-radius:8px;color:#cfe0d4;justify-content:flex-start;min-height:42px;padding:10px 12px;text-align:left}nav button.active,nav button:hover{background:#1e4a3d;color:#fff}.workspace{display:grid;gap:22px;padding:28px}.topbar{align-items:center;display:flex;gap:18px;justify-content:space-between}.topbar-actions{align-items:center;display:flex;justify-content:flex-end;max-width:min(640px,58vw)}h1,h2,p{margin:0}h1{font-size:30px;font-weight:760}.topbar p{color:#63746b;margin-top:6px}.status{background:#fff;border:1px solid #dbe5dd;border-radius:8px;color:#275344;font-weight:700;padding:10px 14px;white-space:nowrap}.auth-inline{align-items:center;background:#fff;border:1px solid #dbe5dd;border-radius:8px;display:grid;gap:8px;grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) auto;padding:10px;width:min(620px,100%)}.auth-inline input,.auth-inline button{min-height:38px}.user-pill{align-items:center;background:#fff;border:1px solid #dbe5dd;border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(190px,1fr) auto auto;padding:8px 10px}.user-pill span,.user-pill strong{display:block}.user-pill span{color:#275344;font-weight:750}.user-pill strong{color:#617068;font-size:13px}.icon-button{border-radius:8px;min-height:36px;padding:8px;width:38px}.metrics{display:grid;gap:14px;grid-template-columns:repeat(5,minmax(150px,1fr))}.dashboard-grid{align-items:stretch;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(360px,1fr))}.dashboard-panel{display:flex;flex-direction:column;height:440px;min-height:0}.dashboard-panel .site-pnl,.dashboard-panel .pnl-list{flex:1;min-height:0}.operations-scroll{display:grid;gap:14px;min-height:0;overflow:auto;padding-right:4px}.signed-out-board{display:grid;margin-left:auto;max-width:620px;width:100%}.metric,.panel{background:#fff;border:1px solid #dfe8e1;border-radius:8px}.metric{display:grid;gap:12px;min-height:138px;padding:18px}.metric svg{color:#2f6b57}.metric span,.metric small{color:#617068;display:block}.metric strong{display:block;font-size:24px;margin:6px 0}.work-grid{display:grid;gap:16px;grid-template-columns:minmax(280px,360px) 1fr}.panel{padding:20px}.panel-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.panel-header span,.panel-header svg{color:#617068}.form{display:grid;gap:12px}label{color:#516159;display:grid;font-size:14px;gap:6px}input,select,textarea{background:#fbfdfb;border:1px solid #d7e2da;border-radius:8px;color:#17201b;min-height:42px;padding:9px 11px;width:100%}input:focus,select:focus,textarea:focus{border-color:#4f8a6d;outline:3px solid #dcefe5}textarea{min-height:132px;resize:vertical}button{align-items:center;background:#235c49;border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:750;gap:8px;justify-content:center;min-height:42px;padding:10px 14px}button:disabled{background:#9aaba2;cursor:not-allowed}.secondary-button{background:#eef5f0;color:#255644}.secondary-button:hover{background:#dfece4}.message{color:#275344;font-weight:700;margin-top:14px}.period-toolbar{align-items:end;background:#fff;border:1px solid #dfe8e1;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(220px,320px) auto auto 1fr;padding:16px}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-form label:last-of-type,.grid-form button{grid-column:1 / -1}.content-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(420px,1.4fr) minmax(300px,.8fr)}.clients-grid,.sites-grid{align-items:stretch}.clients-list-panel,.site-list-panel,.site-card-panel{display:flex;flex-direction:column}.scroll-list{min-height:0;overflow:auto;padding-right:4px}.clients-scroll{max-height:420px}.directory-scroll{max-height:360px}.sites-grid>.site-list-panel,.sites-grid>.site-card-panel{min-height:620px}.sites-scroll{max-height:420px}.filters{display:grid;gap:12px;grid-template-columns:1.4fr minmax(150px,.7fr) minmax(150px,.7fr);margin-bottom:16px}.search-field{align-items:center;display:grid;grid-template-columns:18px 1fr;gap:8px}.search-field svg{color:#587066}.site-list{display:grid;gap:10px}.site-row{align-items:start;background:#fff;border:1px solid #e2ebe5;border-radius:8px;color:#17201b;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:initial;min-height:116px;overflow:visible;padding:12px 14px;text-align:left}.site-row:hover,.site-row.selected{border-color:#69a487;box-shadow:0 0 0 3px #dcefe5}.site-row strong,.site-row span{display:block}.site-row span{color:#62736a}.site-row-address{align-items:start;display:flex;gap:8px}.site-row-title,.site-row-address{min-width:0;width:100%}.site-row svg{color:#497463;flex:0 0 auto}.badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;min-width:0;position:static;width:100%}.site-row .badges mark{max-width:100%;overflow-wrap:anywhere;white-space:normal}mark{background:#edf6d3;border-radius:8px;color:#31513f;font-weight:750;padding:7px 10px;white-space:nowrap}.empty{border:1px dashed #cddad1;border-radius:8px;color:#65756d;padding:18px}.site-operations-panel{min-width:0}.compact-list{display:grid;gap:8px;margin-bottom:14px}.compact-row{align-items:center;border-bottom:1px solid #e2ebe5;display:flex;gap:12px;justify-content:space-between;min-width:0;padding:10px 0}.compact-row:last-child{border-bottom:0}.compact-row strong,.compact-row span{display:block;overflow-wrap:anywhere}.compact-row span{color:#65756d;margin-top:3px}.compact-row>div:last-child{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.compact-row>div:first-child,.pnl-line span,.site-pnl-row span{min-width:0}.compact-form{border-top:1px solid #e2ebe5;padding-top:14px}.expense-breakdown-filters{grid-template-columns:repeat(2,minmax(180px,1fr))}.expense-breakdown-grid{align-items:start;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.expense-breakdown-column{min-width:0}.expense-breakdown-column>strong{display:block;margin-bottom:10px}.finance-grid{align-items:start;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(280px,1fr))}.finance-grid.two-columns{grid-template-columns:minmax(320px,.78fr) minmax(420px,1.22fr)}.expense-breakdown-panel{order:-1}.expense-manual-panel{order:1}.expense-import-panel{order:2}.finance-report-grid{align-items:stretch;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(360px,1fr))}.finance-report-grid>.panel{min-width:0}.pnl-summary-panel,.legal-entity-pnl-panel{min-height:620px}.pnl-summary-panel{order:1}.legal-entity-pnl-panel{order:2}.pnl-expense-breakdown-panel{order:3}.tax-calculation-panel{order:4}.pnl-sites-panel{order:5}.wide-panel{grid-column:1 / -1}.settings-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(420px,1fr) minmax(420px,1fr)}.settings-grid .audit-panel{grid-column:1 / -1}.period-form{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.period-status{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.period-status span{color:#275344;font-weight:750}.period-actions{display:flex;gap:8px}.pnl-list{border-bottom:1px solid #e2ebe5;border-top:1px solid #e2ebe5}.pnl-line,.site-pnl-row{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.pnl-line{min-height:48px;padding:10px 0}.pnl-line-label{align-items:center;display:inline-flex;gap:8px}.pnl-line-label svg{color:#497463;flex:0 0 auto}.pnl-line+.pnl-line,.site-pnl-row+.site-pnl-row{border-top:1px solid #eef3ef}.pnl-line span,.site-pnl-row span{color:#617068}.pnl-line strong,.site-pnl-row strong{text-align:right}.pnl-line.accent strong{color:#275344}.pnl-line.result strong{color:#173f33;font-size:22px}.site-pnl{display:grid;gap:0;margin-top:16px;overflow:auto;padding-right:4px}.site-pnl-row{min-height:38px;padding:8px 0}.legal-entity-list{display:grid;gap:10px}.section-note{color:#617068;font-size:.88rem;margin:-4px 0 14px}.legal-entity-row{align-items:stretch;border:1px solid #e2ebe5;border-radius:8px;display:grid;gap:0;grid-template-columns:1fr;padding:12px}.legal-entity-row strong,.legal-entity-row span{display:block}.legal-entity-row span{color:#617068}.legal-entity-row div:not(:first-child){align-items:center;border-top:1px solid #eef3ef;display:flex;gap:12px;justify-content:space-between;padding:8px 0;text-align:left}.legal-entity-row div:first-child{padding-bottom:10px}.legal-entity-row div:not(:first-child) strong{text-align:right;white-space:nowrap}.tax-row{align-items:stretch;border:1px solid #e2ebe5;border-radius:8px;display:grid;gap:0;grid-template-columns:1fr;padding:12px}.tax-row strong,.tax-row span{display:block}.tax-row span{color:#617068}.tax-row div:not(:first-child){align-items:center;border-top:1px solid #eef3ef;display:flex;gap:12px;justify-content:space-between;padding:8px 0;text-align:left}.tax-row div:first-child{padding-bottom:10px}.tax-row div:not(:first-child) strong{text-align:right;white-space:nowrap}.tax-warning{background:#fff4d8;border:1px solid #efd28d;border-radius:8px;color:#6b4d00;display:grid;gap:4px;margin-bottom:14px;padding:12px}.tax-warning strong,.tax-warning span{display:block}.tax-warning span{line-height:1.45}.tax-adjustment-form{border-top:1px solid #e2ebe5;display:grid;gap:10px;grid-template-columns:minmax(180px,1fr) repeat(2,minmax(130px,.7fr)) minmax(220px,1.3fr) auto;margin-top:16px;padding-top:16px}.bank-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(520px,1.2fr) minmax(360px,.8fr)}.bank-grid .wide-panel{grid-column:1 / -1}.bank-summary{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(130px,1fr))}.bank-summary div{border:1px solid #e2ebe5;border-radius:8px;display:grid;gap:5px;min-height:92px;padding:12px}.bank-summary span,.bank-summary small{color:#617068}.bank-summary strong{font-size:22px}.bank-filters{display:grid;gap:12px;grid-template-columns:minmax(180px,.8fr) repeat(4,minmax(160px,1fr))}.bank-list-panel,.bank-details-panel{min-height:520px}.bank-row-list{display:grid;gap:8px;max-height:650px;overflow:auto}.bank-row{align-items:center;background:#fff;border:1px solid #e2ebe5;color:#17201b;display:grid;gap:12px;grid-template-columns:minmax(120px,.35fr) minmax(220px,1fr) auto;justify-content:initial;min-height:78px;padding:12px;text-align:left}.bank-row:hover,.bank-row.selected{border-color:#69a487;box-shadow:0 0 0 3px #dcefe5}.bank-row strong,.bank-row span,.bank-row small{display:block}.bank-row span,.bank-row small{color:#617068}.bank-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-statement-card{border:1px solid #e2ebe5;border-radius:8px;display:grid;gap:8px;margin-bottom:16px;padding:14px}.bank-statement-card strong{font-size:24px}.bank-statement-card span,.bank-statement-card small,.bank-statement-card p{color:#617068;line-height:1.45}.bank-classification-form{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-classification-form label:nth-of-type(3),.bank-classification-form label:last-of-type,.bank-classification-form button,.checkbox-row{grid-column:1 / -1}.checkbox-row{display:flex;flex-wrap:wrap;gap:12px}.checkbox-row label{align-items:center;border:1px solid #e2ebe5;border-radius:8px;display:flex;gap:8px;min-height:42px;padding:8px 11px}.checkbox-row input{min-height:auto;width:auto}.closed-periods{border-top:1px solid #e2ebe5;display:grid;gap:8px;margin-top:16px;padding-top:14px}.closed-periods>span{color:#617068}.periods-summary{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.periods-summary span{background:#eef5f0;border-radius:8px;color:#255644;font-weight:750;padding:6px 9px}.period-row{background:transparent;border-radius:0;color:#17201b;display:flex;justify-content:space-between;min-height:34px;padding:7px 0;text-align:left}.period-row:hover{color:#235c49}.period-row span{color:#617068}.period-row strong{text-align:right}.import-panel{max-width:none}.import-form{grid-template-columns:minmax(220px,.45fr) minmax(320px,1fr) minmax(140px,.25fr)}.import-form.vertical{grid-template-columns:1fr}.import-form button{align-self:end}.import-result{border-top:1px solid #eef3ef;color:#617068;display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;padding-top:12px}.import-result span{font-weight:700}.import-errors{border-top:1px solid #eef3ef;color:#8a3d2c;display:grid;gap:6px;margin-top:10px;padding-top:10px}.imports-history-panel{max-width:none}.import-history-list{display:grid;gap:0}.inline-history{border-top:1px solid #eef3ef;display:grid;gap:8px;margin-top:16px;padding-top:14px}.inline-history>strong{display:block}.list-kicker{color:#617068;display:block;font-size:12px;font-weight:760;letter-spacing:.02em;text-transform:uppercase}.compact-list{border-top:1px solid #eef3ef;margin-top:12px;padding-top:4px}.import-history-row{align-items:center;border-top:1px solid #eef3ef;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;min-height:62px;min-width:0;padding:10px 0}.import-history-row:first-child{border-top:0}.import-history-row strong,.import-history-row span,.import-history-row small{display:block;overflow-wrap:anywhere}.import-history-row span,.import-history-row small{color:#617068}.import-history-row small{margin-top:4px}.import-history-row>div:last-child{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:max-content}.error-mark{background:#fde7df;color:#8a3d2c}.audit-panel{max-width:none}.audit-list{display:grid;gap:0}.audit-row{align-items:center;border-top:1px solid #eef3ef;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;min-height:54px;min-width:0;padding:10px 0}.audit-row:first-child{border-top:0}.audit-row strong,.audit-row span{display:block;overflow-wrap:anywhere}.audit-row span,.audit-row time{color:#617068}.audit-row time{flex:0 0 auto;font-weight:700;white-space:nowrap}.checkbox-inline{align-items:center;display:flex;flex-direction:row;gap:8px;margin-top:22px}.checkbox-inline input{min-height:auto;width:auto}.readonly-field{border:1px solid #e2ebe5;border-radius:8px;display:grid;gap:5px;min-height:44px;padding:10px 12px}.readonly-field span{color:#617068;font-size:.84rem}.readonly-field strong{color:#17201b;font-size:.98rem;overflow-wrap:anywhere}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1060px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.work-grid,.content-grid,.dashboard-grid,.finance-report-grid,.finance-grid,.finance-grid.two-columns,.bank-grid,.settings-grid{grid-template-columns:1fr}.settings-grid .audit-panel{grid-column:auto}.finance-report-grid>.panel:last-child{grid-column:auto}.bank-grid .wide-panel,.wide-panel{grid-column:auto}.dashboard-panel{height:auto;min-height:360px}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{padding:18px}nav{grid-template-columns:repeat(3,minmax(0,1fr))}nav button{justify-content:center}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-actions{max-width:none;width:100%}.auth-inline,.user-pill{width:100%}}@media(max-width:620px){.workspace{padding:18px}.topbar,.panel-header{align-items:flex-start;flex-direction:column}.metrics,.auth-inline,.user-pill,.period-toolbar,.bank-filters,.bank-row,.bank-summary,.bank-classification-form,.legal-entity-row,.tax-adjustment-form,.tax-row,nav,.site-row,.filters,.grid-form,.period-form,.import-form{grid-template-columns:1fr}.grid-form label:last-of-type,.grid-form button{grid-column:auto}.status{white-space:normal}}
