/* New Beginnings Finance v4 enhancements */
.nb-icon{width:22px;height:22px;display:inline-block;flex:0 0 auto}.company-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;position:relative;background:color-mix(in srgb,var(--company-accent) 13%,white);border:1px solid color-mix(in srgb,var(--company-accent) 24%,#e5e7eb);color:var(--company-accent);overflow:hidden;flex:0 0 auto}.company-mark img{width:23px;height:23px;object-fit:contain;z-index:2}.company-mark b{font-size:12px;letter-spacing:.02em;position:absolute}.company-mark img+b{display:none}.wizard-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 0 18px}.wizard-bar button{border:1px solid #e5e7eb;background:#f8fafc;color:#64748b;border-radius:12px;padding:9px 8px;font:inherit;font-size:12px;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.wizard-bar button span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e2e8f0;color:#475569;font-weight:800}.wizard-bar button.active{border-color:#8b5cf6;background:#f5f3ff;color:#5b21b6}.wizard-bar button.active span{background:#7c3aed;color:white}.wizard-hidden,.conditional-hidden{display:none!important}.icon-picker-grid{display:grid;grid-template-columns:1fr 48px;gap:10px;align-items:center}.icon-preview{height:46px;border:1px solid #e2e8f0;border-radius:12px;display:grid;place-items:center;background:#fafafa}.deduction-builder{display:grid;gap:9px;margin-bottom:10px}.deduction-row{display:grid;grid-template-columns:1.5fr .75fr .8fr 1fr 1fr 38px;gap:8px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.deduction-row input,.deduction-row select{min-width:0}.compact{padding:8px 12px!important;font-size:12px!important}.formula-builder{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:14px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px}.formula-builder label{min-width:110px;display:grid;gap:5px;font-size:12px;color:#64748b}.formula-builder input[type=number]{width:120px}.formula-chip{padding:9px 12px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-weight:800}.formula-or{font-weight:900;color:#64748b;padding-bottom:10px}.checkbox-inline{display:flex!important;align-items:center;gap:7px;min-width:auto!important;padding-bottom:10px}.budget-hero{display:grid;grid-template-columns:1fr 2fr;gap:22px;padding:28px;border-radius:22px;background:linear-gradient(135deg,#312e81,#7c3aed);color:white;box-shadow:0 16px 40px rgba(76,29,149,.18)}.budget-hero span,.budget-hero p{color:#ddd6fe}.budget-hero h2{font-size:28px;margin:5px 0}.budget-hero-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.budget-hero-metrics>div{padding:15px;border-radius:15px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.15)}.budget-hero-metrics span{display:block;font-size:12px}.budget-hero-metrics strong{display:block;font-size:20px;margin-top:5px}.budget-table{display:grid}.budget-table-head,.budget-table-row{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr 60px;gap:14px;align-items:center;padding:12px 6px;border-bottom:1px solid #edf0f5}.budget-table-head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800}.budget-table-row>span:first-child{display:grid}.budget-table-row small{color:#8b5cf6}.negative{color:#be123c!important}.positive{color:#047857!important}.record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.record-card{border:1px solid #e2e8f0;border-radius:16px;padding:16px;background:#fff}.record-card.selected-record{border-color:#8b5cf6;box-shadow:0 0 0 3px #ede9fe}.record-card-top{display:flex;justify-content:space-between;gap:10px}.record-card-top>div{display:flex;align-items:center;gap:9px}.record-card p{color:#64748b;font-size:12px}.ledger-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ledger-summary>div{border:1px solid #e2e8f0;background:#fff;padding:17px;border-radius:15px}.ledger-summary span{display:block;color:#64748b;font-size:12px}.ledger-summary strong{font-size:23px;margin-top:5px;display:block}.ledger-toolbar{display:grid;grid-template-columns:1fr 220px auto;gap:10px;margin-bottom:14px}.ledger-toolbar input,.ledger-toolbar select{border:1px solid #dbe1ea;border-radius:11px;padding:10px 12px;font:inherit}.ledger-list{display:grid}.ledger-row{display:grid;grid-template-columns:130px 44px 1fr 130px auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid #edf0f5}.ledger-date,.ledger-main{display:grid}.ledger-date span,.ledger-main span{font-size:12px;color:#64748b}.ledger-amount{text-align:right;font-weight:900}.ledger-amount.incoming{color:#047857}.ledger-amount.outgoing{color:#334155}.subscription-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.subscription-card{border:1px solid #e2e8f0;border-radius:18px;padding:18px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04);border-top:3px solid var(--item-accent)}.subscription-top{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:start}.subscription-top h3{margin:5px 0 2px}.subscription-top p{margin:0;color:#64748b;font-size:12px}.subscription-price{display:flex;align-items:baseline;gap:4px;margin:18px 0 12px}.subscription-price strong{font-size:28px}.subscription-price span{color:#64748b}.subscription-stats{display:grid;gap:4px;font-size:12px;color:#64748b}.subscription-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0f5;margin-top:14px;padding-top:12px;font-size:12px;color:#64748b}.status-pill.trial{background:#fef3c7;color:#92400e}.status-pill.paused{background:#e2e8f0;color:#475569}.status-pill.cancelled{background:#fee2e2;color:#991b1b}.status-pill.active{background:#dcfce7;color:#166534}.dashboard-budget{margin-top:18px}.budget-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.budget-mini-grid>div{background:#f8fafc;border:1px solid #e2e8f0;padding:13px;border-radius:12px}.budget-mini-grid span{display:block;color:#64748b;font-size:12px}.budget-mini-grid strong{font-size:18px}.payroll-table{display:grid}.payroll-row{display:grid;grid-template-columns:1.5fr repeat(3,1fr) auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f5}.payroll-row>div{display:flex;align-items:center;gap:10px}.payroll-row>div span{display:grid}.payroll-row small{color:#64748b}.fine-print{font-size:11px;color:#64748b;line-height:1.5}.smart-debt-card{border-top:3px solid var(--item-accent)}.debt-title-wrap{display:flex;gap:11px}.debt-title-wrap h3{margin:5px 0 2px}.debt-title-wrap p{margin:0;color:#64748b;font-size:12px}.debt-smart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.debt-smart-grid span{display:grid;padding:9px;border-radius:10px;background:#f8fafc;color:#64748b;font-size:11px}.debt-smart-grid b{color:#0f172a;font-size:13px}.bill-card{border-top:3px solid var(--item-accent)}.bill-name{display:flex;gap:10px;align-items:center}.bill-name span{display:grid}.bill-name small{color:#64748b}.bill-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:#64748b}.bill-meta span{padding:5px 8px;background:#f8fafc;border-radius:999px}.clickable-project{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;border-top:3px solid var(--item-accent)}.clickable-project:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.09)}.project-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--item-accent) 12%,white);color:var(--item-accent)}.project-icon.large{width:56px;height:56px}.detail-dialog{max-width:min(980px,94vw)}.detail-dialog .dialog-shell{max-height:88vh;overflow:auto}.detail-body{display:grid;gap:18px}.detail-hero{display:flex;align-items:center;gap:16px;padding:20px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--item-accent) 13%,white),#fff);border:1px solid color-mix(in srgb,var(--item-accent) 20%,#e2e8f0)}.detail-hero span,.detail-hero p{color:#64748b}.detail-hero h3{font-size:26px;margin:4px 0}.detail-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.detail-metric-grid>div{padding:14px;border:1px solid #e2e8f0;border-radius:13px;background:#fff}.detail-metric-grid span{display:block;color:#64748b;font-size:11px}.detail-metric-grid strong{display:block;font-size:16px;margin-top:5px}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.comparison-grid>div{display:grid;gap:6px;padding:14px;border:1px solid #e2e8f0;border-radius:13px}.comparison-grid span{color:#64748b;font-size:12px}.comparison-grid b{font-size:18px}.timeline{display:grid}.timeline-row{display:grid;grid-template-columns:18px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid #edf0f5}.timeline-dot{width:10px;height:10px;border-radius:50%;background:#8b5cf6;margin-top:5px}.timeline-row>div{display:grid}.timeline-row small,.timeline-row p{color:#64748b;margin:2px 0}.invoice-list{display:grid}.invoice-row{display:grid;grid-template-columns:1fr 180px auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0f5}.invoice-row>div{display:grid}.invoice-row span{color:#64748b;font-size:12px}.stats-budget-panel{margin-top:18px}
@media(max-width:900px){.budget-hero{grid-template-columns:1fr}.budget-hero-metrics,.detail-metric-grid{grid-template-columns:repeat(2,1fr)}.ledger-summary,.budget-mini-grid{grid-template-columns:repeat(2,1fr)}.ledger-row{grid-template-columns:90px 40px 1fr auto}.ledger-row .ledger-amount{grid-column:3}.ledger-toolbar{grid-template-columns:1fr}.payroll-row{grid-template-columns:1fr 1fr}.payroll-row>span:nth-of-type(2),.payroll-row>span:nth-of-type(3){display:none}.deduction-row{grid-template-columns:1fr 1fr}.comparison-grid{grid-template-columns:1fr}.invoice-row{grid-template-columns:1fr auto}.wizard-bar button{font-size:0}.wizard-bar button span{font-size:12px}}
@media(max-width:600px){.detail-metric-grid,.budget-hero-metrics,.ledger-summary,.budget-mini-grid{grid-template-columns:1fr}.budget-table-head{display:none}.budget-table-row{grid-template-columns:1fr 1fr}.ledger-row{grid-template-columns:70px 36px 1fr}.ledger-row>.edit-button{grid-column:3}.subscription-grid{grid-template-columns:1fr}.payroll-row{grid-template-columns:1fr}.deduction-row{grid-template-columns:1fr}.detail-dialog{max-width:100vw;width:100vw}.detail-dialog .dialog-shell{max-height:100vh}.wizard-bar{gap:4px}}

.formula-logic { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; margin-bottom:.75rem; }
.formula-blocks { display:grid; gap:.55rem; }
.formula-block { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.65rem; padding:.7rem; border:1px solid var(--border); border-radius:12px; background:var(--surface); cursor:grab; }
.formula-block.dragging { opacity:.45; }
.formula-block .drag-handle { color:var(--muted); font-weight:800; letter-spacing:-.2rem; }
.formula-block label { margin:0; }
.formula-block input[type="number"] { margin-top:.35rem; }


.company-mark .company-logo{width:24px;height:24px;background:var(--company-accent);-webkit-mask:var(--company-logo) center/contain no-repeat;mask:var(--company-logo) center/contain no-repeat;z-index:2}.company-mark.brand-logo b{display:none}.company-mark.generic-logo .company-logo{opacity:.34;width:28px;height:28px}.company-mark.generic-logo b{z-index:3;color:var(--company-accent);font-size:10px;text-shadow:0 1px 0 white}

.ledger-row{grid-template-columns:130px 44px minmax(0,1fr) 130px minmax(92px,auto)}.ledger-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.ledger-amount.non-cash{color:#64748b}.reconciliation-current{display:grid;gap:4px;margin-bottom:18px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-alt)}.reconciliation-current span,.reconciliation-current small{color:var(--muted);font-size:.75rem}.reconciliation-current strong{font-size:1rem}
@media(max-width:900px){.ledger-row{grid-template-columns:90px 40px minmax(0,1fr) auto}.ledger-row .ledger-amount{grid-column:3}.ledger-row-actions{grid-column:4;grid-row:1/3;flex-direction:column;align-items:stretch}}
@media(max-width:600px){.ledger-row{grid-template-columns:70px 36px minmax(0,1fr)}.ledger-row-actions{grid-column:3;grid-row:auto;flex-direction:row;justify-content:flex-start}.ledger-row-actions button{min-height:40px}.ledger-row .ledger-amount{grid-column:3}}
