:root{color:#1f2924;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:#f5f7f4}button,input,select{font:inherit}button{border:0}input,select{min-width:0}.finance-app{min-height:100vh;padding:24px}.lock-screen{min-height:100vh;padding:24px;display:grid;place-items:center;background:linear-gradient(180deg,#f5f7f4f0,#ebf1edfa),#f5f7f4}.lock-panel{width:min(440px,100%);padding:28px;display:grid;gap:14px;background:#fff;border:1px solid #dfe7e2;border-radius:8px;box-shadow:0 24px 70px #212a251f}.lock-panel .brand-mark{margin-bottom:4px}.lock-panel span{color:#66707a;font-weight:900}.lock-panel h1,.lock-panel p{margin:0}.lock-panel h1{color:#18221d;font-size:2rem;line-height:1.08}.lock-panel p{color:#536059;font-weight:700}.unlock-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:6px}.unlock-form input{width:100%;min-height:52px;padding:0 14px;color:#18221d;background:#f8fbf9;border:1px solid #cfdad3;border-radius:8px;outline:0;font-size:1.35rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.unlock-form button{min-height:52px;padding:0 18px;color:#fff;background:#2f7d59;border-radius:8px;font-weight:900;cursor:pointer}.unlock-form button:disabled{cursor:not-allowed;opacity:.5}.lock-warning{color:#a64535;background:#fff0e8;border-radius:8px;padding:10px 12px;font-size:.92rem}.app-header{width:min(1480px,100%);min-height:64px;margin:0 auto 20px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px}.brand-mark,.kpi-icon{display:grid;place-items:center;border-radius:8px}.brand-mark{width:48px;height:48px;color:#fff;background:#2f7d59;box-shadow:0 16px 30px #2f7d5938}.app-title{display:grid;gap:2px}.app-title span{color:#66707a;font-size:.9rem;font-weight:800}.app-title strong{color:#18221d;font-size:1.8rem;line-height:1.1}.app-title small{color:#66707a;font-size:.78rem;font-weight:900}.header-actions{display:flex;align-items:center;gap:8px}.icon-button,.compact-button{min-height:40px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#1f2924;background:#fff;border:1px solid #dde4df;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}.icon-button{width:40px}.icon-button:hover,.compact-button:hover{background:#edf5ef;border-color:#b7cec0;transform:translateY(-1px)}.icon-button.danger{color:#a83d3d}.overview-band{width:min(1480px,100%);margin:0 auto 18px;padding:22px;display:grid;grid-template-columns:minmax(560px,720px) minmax(0,1fr);gap:22px;align-items:center;color:#fff;background:#24362d;border-radius:8px;box-shadow:0 20px 60px #202d272e}.income-editor{padding:18px;display:grid;gap:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:8px}.income-editor>label,.section-heading,.section-heading>div,.allocation-label,.month-label,.status-item{display:flex;align-items:center}.income-editor>label{gap:9px;color:#e6efe9;font-weight:850}.billing-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);border-radius:8px}.billing-tabs button{min-height:36px;padding:0 10px;color:#dce7df;background:transparent;border-radius:6px;font-weight:900;cursor:pointer}.billing-tabs button.is-active{color:#203027;background:#fff}.customer-input-grid{display:grid;grid-template-columns:minmax(96px,.32fr) minmax(260px,1fr) minmax(136px,.42fr);gap:10px}.customer-input-grid.single-customer{grid-template-columns:minmax(360px,1fr) minmax(136px,.36fr)}.mini-field{min-width:0;display:grid;grid-template-rows:auto 1fr;gap:5px}.mini-field span{color:#e6efe9;font-size:.78rem;font-weight:900}.mini-field input,.mini-field select{width:100%;min-height:52px;padding:0 10px;color:#18221d;background:#fff;border:1px solid #dfe7e2;border-radius:8px;outline:0;font-size:1.4rem;font-weight:900}.mini-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:.95rem;background:linear-gradient(45deg,transparent 50%,#66707a 50%),linear-gradient(135deg,#66707a 50%,transparent 50%),#fff;background-position:calc(100% - 16px) 23px,calc(100% - 11px) 23px,0 0;background-repeat:no-repeat;background-size:5px 5px,5px 5px,100% 100%}.money-input,.amount-field{display:grid;align-items:center;background:#fff;border:1px solid #dfe7e2;border-radius:8px}.money-input{grid-template-columns:70px minmax(0,1fr)}.money-input span,.amount-field span{color:#66707a;font-size:.76rem;font-weight:900;text-align:center}.money-input input,.amount-field input{width:100%;min-height:48px;color:#18221d;background:transparent;border:0;outline:0;font-weight:900}.money-input input{padding-right:12px;font-size:clamp(1.45rem,2.25vw,2.25rem)}.overview-copy{min-width:0}.overview-copy p,.overview-copy h1{margin:0}.overview-copy p{color:#a8d6bc;font-size:.85rem;font-weight:900;text-transform:uppercase}.overview-copy h1{margin-top:4px;font-size:2.7rem;line-height:1.04}.overview-copy span{display:block;margin-top:10px;color:#dce7df;font-weight:700}.kpi-grid{width:min(1480px,100%);margin:0 auto 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi-card,.planner-section{background:#fff;border:1px solid #dfe7e2;border-radius:8px;box-shadow:0 16px 40px #212a2512}.kpi-card{min-height:132px;padding:18px;display:grid;grid-template-rows:34px auto auto;gap:8px}.kpi-card span{color:#66707a;font-size:.9rem;font-weight:800}.kpi-card strong{color:#15211b;font-size:1.55rem;line-height:1.1;overflow-wrap:anywhere}.kpi-card.is-critical strong{color:#b64242}.kpi-icon{width:34px;height:34px}.kpi-icon.income{color:#2f7d59;background:#e7f3eb}.kpi-icon.cost{color:#d8823b;background:#fff0df}.kpi-icon.reserve{color:#4677b8;background:#e7f0fb}.kpi-icon.cash{color:#9b5b9d;background:#f4e9f5}.workspace-grid{width:min(1480px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(330px,430px) minmax(0,1.35fr);gap:18px;align-items:start}.planner-section{min-width:0;padding:18px}.expenses-section{grid-row:span 2}.section-heading{min-height:40px;gap:10px;margin-bottom:14px;color:#203027}.section-heading h2{margin:0;font-size:1.15rem;line-height:1.2}.section-heading.with-action{justify-content:space-between}.section-heading.with-action>div{min-width:0;gap:10px}.compact-button{min-width:104px;padding:0 12px;color:#fff;background:#2f7d59;border-color:#2f7d59;font-weight:850}.compact-button:hover{color:#fff;background:#276b4b;border-color:#276b4b}.control-list{display:grid;gap:14px}.control-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;color:#334039;font-weight:800}.control-row strong{color:#18221d}.control-row input[type=range]{grid-column:1 / -1;width:100%;accent-color:#2f7d59}.tax-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}.tax-chip{min-width:0;min-height:72px;padding:11px;display:grid;align-content:center;gap:5px;background:#f7faf8;border:1px solid #dfe7e2;border-radius:8px}.tax-chip span{color:#66707a;font-size:.75rem;font-weight:900}.tax-chip strong{color:#18221d;font-size:1.05rem;line-height:1.15;overflow-wrap:anywhere}.control-row.field-control,.control-row.select-control{grid-template-columns:minmax(0,1fr) minmax(130px,170px);align-items:center}.control-row.field-control input,.control-row.select-control select{width:100%;min-height:40px;padding:0 10px;color:#18221d;background:#f7faf8;border:1px solid #dfe7e2;border-radius:8px;outline:0;font-weight:850}.control-row.select-control select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(45deg,transparent 50%,#66707a 50%),linear-gradient(135deg,#66707a 50%,transparent 50%),#f7faf8;background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px,0 0;background-repeat:no-repeat;background-size:5px 5px,5px 5px,100% 100%}.status-list{display:grid;gap:9px;margin-top:18px}.status-item{min-height:42px;gap:9px;padding:0 11px;border-radius:8px}.status-item span{flex:1;min-width:0;font-weight:800}.status-item strong{white-space:nowrap}.status-item.is-ok{color:#246747;background:#e9f5ed}.status-item.is-warning{color:#9b452f;background:#fff0e8}.expense-table{display:grid;gap:8px}.expense-group{display:grid;gap:10px;padding-top:16px;margin-top:16px;border-top:1px solid #e5ece7}.section-heading+.expense-group{padding-top:0;margin-top:0;border-top:0}.expense-group-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center}.expense-group-header h3{margin:0;color:#18221d;font-size:1rem;line-height:1.2}.expense-group-header span{display:block;margin-top:3px;color:#66707a;font-size:.84rem;font-weight:750}.expense-group-header>strong{color:#18221d;font-size:1.05rem;white-space:nowrap}.expense-head,.expense-row{display:grid;grid-template-columns:minmax(150px,1.32fr) minmax(112px,.72fr) minmax(84px,.52fr) minmax(108px,.62fr) minmax(116px,.62fr) 40px;gap:8px;align-items:center}.expense-head{min-height:32px;color:#66707a;font-size:.78rem;font-weight:900;text-transform:uppercase}.expense-row{min-height:48px}.expense-row input,.expense-row select{width:100%;min-height:40px;padding:0 10px;color:#1f2924;background:#f8fbf9;border:1px solid #dfe7e2;border-radius:8px;outline:0;font-weight:760}.cycle-badge{width:100%;min-height:40px;padding:0 10px;display:flex;align-items:center;justify-content:center;color:#66707a;background:#eef3ef;border:1px solid #dfe7e2;border-radius:8px;font-size:.9rem;font-weight:850}.expense-row .name-field{font-weight:850}.amount-field{grid-template-columns:42px minmax(0,1fr);background:#f8fbf9}.amount-field input{min-height:38px;padding:0 8px 0 0;font-size:.95rem}.empty-expense-row{min-height:42px;padding:0 12px;display:flex;align-items:center;color:#66707a;background:#f8fbf9;border:1px dashed #cfdad3;border-radius:8px;font-weight:780}.allocation-list,.projection-list{display:grid;gap:13px}.tax-breakdown{display:grid;gap:9px}.tax-breakdown-row{min-height:42px;padding:0 11px;display:flex;align-items:center;gap:12px;background:#f8fbf9;border:1px solid #e4ebe6;border-radius:8px}.tax-breakdown-row span{flex:1;min-width:0;color:#334039;font-weight:800}.tax-breakdown-row strong{color:#18221d;text-align:right;white-space:nowrap}.tax-breakdown-row.total{color:#fff;background:#24362d;border-color:#24362d}.tax-breakdown-row.total span,.tax-breakdown-row.total strong{color:#fff}.allocation-row{display:grid;gap:8px}.allocation-label{gap:9px;color:#334039}.allocation-label span{flex:1;min-width:0;font-weight:850}.allocation-label strong{white-space:nowrap}.meter,.projection-track{overflow:hidden;background:#edf1ee;border-radius:999px}.meter{height:10px}.meter span,.projection-track span{display:block;height:100%;border-radius:inherit}.category-stack{height:34px;margin-top:18px;display:flex;overflow:hidden;border-radius:8px;background:#edf1ee}.category-stack span{min-width:28px}.projection-row{display:grid;grid-template-columns:66px minmax(0,1fr) minmax(92px,auto);gap:10px;align-items:center;min-height:36px}.month-label{gap:6px;color:#66707a;font-weight:900}.projection-track{height:14px}.projection-track .positive{background:#2f7d59}.projection-track .negative{background:#c94b4b}.projection-row strong{color:#18221d;text-align:right;white-space:nowrap}@media(max-width:1120px){.kpi-grid,.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expenses-section{grid-row:auto;grid-column:1 / -1}}@media(max-width:780px){.finance-app{padding:14px}.app-header{grid-template-columns:44px minmax(0,1fr) auto}.brand-mark{width:44px;height:44px}.app-title strong{font-size:1.35rem}.overview-band,.kpi-grid,.workspace-grid,.customer-input-grid{grid-template-columns:1fr}.overview-copy h1{font-size:2rem}.expense-head{display:none}.expense-row{grid-template-columns:minmax(0,1fr) 40px;padding:10px;background:#f8fbf9;border:1px solid #dfe7e2;border-radius:8px}.expense-row .name-field,.expense-row .amount-field,.expense-row select,.expense-row .cycle-badge{grid-column:1}.expense-row .icon-button.danger{grid-column:2;grid-row:1;align-self:start}.expense-group-header{grid-template-columns:1fr}.expense-group-header .compact-button{width:100%}.tax-summary-grid{grid-template-columns:1fr}.projection-row{grid-template-columns:56px minmax(0,1fr)}.projection-row strong{grid-column:2}}@media(max-width:520px){.lock-panel{padding:20px}.unlock-form{grid-template-columns:1fr}.header-actions{gap:6px}.overview-band,.planner-section,.income-editor{padding:14px}.money-input input{font-size:1.45rem}.kpi-card{min-height:112px}.section-heading.with-action{align-items:flex-start;gap:10px}.section-heading.with-action,.section-heading.with-action>div{flex-wrap:wrap}.compact-button{width:100%}}
