: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:start;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(280px,1fr))}.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)}.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:center;background:#fff;border:1px solid #e2ebe5;border-radius:8px;color:#17201b;cursor:pointer;display:grid;gap:14px;grid-template-columns:minmax(170px,1fr) minmax(190px,1.2fr);justify-content:initial;min-height:66px;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 div:nth-child(2){align-items:center;display:flex;gap:8px}.site-row svg{color:#497463;flex:0 0 auto}.badges{display:flex;flex-wrap:wrap;gap:8px;grid-column:1 / -1;justify-content:flex-start}mark{background:#edf6d3;border-radius:8px;color:#31513f;font-weight:750;padding:7px 10px}.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;padding:10px 0}.compact-row:last-child{border-bottom:0}.compact-row strong,.compact-row span{display:block}.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-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)}.finance-report-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr)}.finance-report-grid>.panel:last-child{grid-column:1 / -1}.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}.pnl-line{min-height:48px;padding:10px 0}.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}.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:center;border:1px solid #e2ebe5;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(180px,1.4fr) repeat(6,minmax(104px,.7fr));min-height:76px;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){text-align:right}.tax-row{align-items:center;border:1px solid #e2ebe5;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(180px,1.2fr) repeat(8,minmax(112px,.7fr));min-height:76px;padding:12px}.tax-row strong,.tax-row span{display:block}.tax-row span{color:#617068}.tax-row div:not(:first-child){text-align:right}.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>strong{display:block}.closed-periods>span{color:#617068}.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}.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:flex;gap:14px;justify-content:space-between;min-height:62px;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}.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}.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:flex;gap:14px;justify-content:space-between;min-height:54px;padding:10px 0}.audit-row:first-child{border-top:0}.audit-row strong,.audit-row span{display:block}.audit-row span,.audit-row time{color:#617068}.audit-row time{flex:0 0 auto;font-weight:700}.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}}@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}}
