:root{--navy:#112844;--blue:#1677f2;--green:#0aa04f;--red:#ef2638;--orange:#ff9b0b;--purple:#7b43e5;--muted:#68758c;--line:#e1e8f0;--bg:#f7f9fc;--panel:#fff;--shadow:0 6px 22px rgba(22,45,80,.05)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:#12213a;background:var(--bg);font-size:13px}.app-shell{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;margin:3px 6px 30px}.brand strong{display:block;font-size:17px}.brand small{display:block;color:var(--muted);margin-top:4px}.brand-mark{width:50px;height:44px;position:relative}.brand-mark .bar{position:absolute;bottom:1px;width:7px;border-radius:1px 1px 0 0;background:#58a5f5}.brand-mark .b1{left:4px;height:10px}.brand-mark .b2{left:15px;height:17px}.brand-mark .b3{left:26px;height:24px}.brand-mark .b4{left:37px;height:31px;background:#1e7ce8}.brand-mark svg{position:absolute;left:0;top:-5px;width:50px;fill:none;stroke:#0ca34b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.nav-item{border:0;background:transparent;width:100%;height:48px;border-radius:8px;display:flex;align-items:center;gap:14px;padding:0 12px;color:#2b4668;font-weight:600;cursor:pointer;margin-bottom:3px}.nav-item img{width:22px;height:22px}.nav-item.active,.nav-item:hover{background:#eaf4ff;color:#0d68df}.db-card{margin-top:auto;background:linear-gradient(145deg,#f4fff8,#effbf5);border:1px solid #cfeadc;border-radius:9px;padding:17px;color:#19482d}.db-file{display:flex;align-items:center;gap:10px;margin:18px 0}.db-file img{width:34px}.db-file small{display:block;color:#66756d;margin-top:3px}.connected{display:flex;justify-content:space-between;color:#079443;font-size:12px}.main{padding:18px 24px 28px;min-width:0}.topbar{display:flex;align-items:center;gap:17px;margin-bottom:17px}.title-wrap h1{font-size:27px;margin:0 0 2px}.title-wrap p{margin:0;color:var(--muted)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.icon-btn,.soft-btn,.month-arrow{border:1px solid var(--line);background:#fff;border-radius:8px;box-shadow:var(--shadow);cursor:pointer;height:43px}.icon-btn{width:43px;padding:10px}.icon-btn img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.soft-btn{display:flex;align-items:center;gap:8px;padding:0 15px;font-weight:650;color:#10223d}.soft-btn img{width:18px}.currency-label{display:flex;align-items:center;gap:12px;font-weight:650}.currency-label select,.year-select{height:43px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 14px;font-weight:650;color:#142642}.month-strip{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 12px;box-shadow:var(--shadow);margin-bottom:16px}.month-arrow{width:38px;height:38px;min-width:38px;flex:0 0 38px;border-radius:50%;box-shadow:none;padding:9px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.month-arrow img{display:block;width:18px;height:18px;max-width:18px;max-height:18px;object-fit:contain;pointer-events:none}.month-tabs{display:grid;grid-template-columns:repeat(12,1fr);flex:1;gap:5px;margin:0 10px}.month-tab{border:0;background:transparent;border-radius:6px;padding:10px 4px;font-weight:650;cursor:pointer}.month-tab.active{background:linear-gradient(#2481f7,#0868e4);color:#fff;box-shadow:0 4px 10px rgba(22,119,242,.25)}.year-select{margin-left:12px;width:94px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.kpi{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px 15px;display:flex;align-items:center;gap:15px;min-height:100px;box-shadow:var(--shadow)}.kpi-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;flex:none}.kpi-icon img{width:34px;height:34px}.kpi-icon.blue{background:#e8f3ff}.kpi-icon.green{background:#e7f8ee}.kpi-icon.red{background:#fff0f1}.kpi-icon.orange{background:#fff7e7}.kpi span{font-size:12px;color:#45536a}.kpi strong{display:block;font-size:21px;margin:6px 0}.kpi small{color:var(--muted)}.content-grid{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(300px,1fr);gap:14px}.left-stack,.right-stack{display:flex;flex-direction:column;gap:14px}.panel,.side-panel{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.panel{overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px 9px}.panel-head h2{font-size:15px;margin:0;display:flex;align-items:center;gap:9px}.round-symbol{width:21px;height:21px;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:12px}.green-text{color:var(--green)}.red-text{color:var(--red)}.add-btn{border:0;color:#fff;border-radius:6px;padding:9px 13px;font-weight:700;cursor:pointer;box-shadow:0 3px 8px rgba(0,0,0,.12)}.green-bg{background:linear-gradient(#18b05a,#078f43)}.red-bg{background:linear-gradient(#fb4050,#e7192c)}.table-wrap{overflow:auto;padding:0 8px 8px}table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}th,td{border-right:1px solid var(--line);border-top:1px solid var(--line);padding:9px 10px;text-align:left;white-space:nowrap}th:first-child,td:first-child{border-left:1px solid var(--line)}thead th{background:#fbfcfe;color:#43516a;font-size:11px}tbody td{background:#fff}tfoot td{font-weight:700}.income-panel tfoot td{background:#f0fbf5;color:#078b42}.expense-panel tfoot td{background:#fff3f4;color:#e7192c}.tag{display:inline-flex;align-items:center;border-radius:5px;padding:5px 10px;font-weight:650}.tag.green{background:#e7f7ed;color:#078b42}.tag.orange{background:#fff6e8;color:#ec8a00}.tag.blue{background:#eaf3ff;color:#0868e4}.tag.purple{background:#f2eafd;color:#7541d8}.status-cell{min-width:106px}.date-status{display:flex;align-items:center;gap:7px}.received-badge{background:#e7f7ed;color:#078b42;border-radius:6px;padding:4px 8px;text-align:center;line-height:1.25}.pending-badge{border:1px solid #ff97a1;color:#ef2638;border-radius:5px;padding:4px 17px;text-align:center}.actions{display:flex;gap:7px}.action-btn{width:29px;height:29px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:6px;cursor:pointer}.action-btn img{width:100%;height:100%}.action-btn.toggle.on{background:#effbf4;border-color:#caecd8}.received-foot{color:#079443;margin-right:24px}.pending-foot{color:#f08b00}.side-panel{padding:15px 16px}.side-panel h3{font-size:14px;margin:0 0 14px}.side-panel h3 small{font-weight:500;color:#66758d}.summary-line{display:flex;justify-content:space-between;padding:7px 0}.summary-line strong{font-weight:700}.summary-line.divider{border-top:2px solid #9caac0;margin-top:4px;padding-top:12px}.summary-line .blue{color:#0d68df}.summary-line .green{color:#079443}.summary-line .red{color:#ef2638}.chart-row{display:flex;align-items:center;gap:18px}.donut{width:86px;height:86px;border-radius:50%;position:relative;flex:none;background:conic-gradient(var(--green) 0 60%,var(--orange) 60% 100%)}.donut:after{content:"";position:absolute;inset:15px;border-radius:50%;background:#fff}.donut.expense{background:conic-gradient(var(--green) 0 73%,var(--red) 73% 100%)}.legend{flex:1}.legend-line{display:grid;grid-template-columns:12px 1fr auto auto;gap:8px;align-items:center;padding:6px 0}.dot{width:9px;height:9px;border-radius:50%}.legend-line small{color:#78869d}.tip-card{display:flex;gap:12px;border:1px solid #f3dfac;background:#fffaf0;border-radius:9px;padding:14px 15px}.tip-card img{width:20px;height:20px}.tip-card b{color:#d68500}.tip-card p{margin:6px 0 0;line-height:1.45}.bottom-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin-top:16px}.how-card,.data-card{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);padding:14px 17px;display:flex;align-items:center;gap:13px}.how-card>img,.data-card img{width:24px}.how-copy{width:220px}.how-copy p,.data-card p{margin:4px 0;color:#526079;line-height:1.35;font-size:11px}.flow{display:flex;align-items:center;gap:8px;flex:1}.flow-box{border:1px solid var(--line);border-radius:7px;padding:9px 12px;text-align:center;min-width:125px}.flow-box small{display:block;color:#53617a;margin-bottom:5px}.flow-arrow{color:#8490a1;font-size:20px}.data-card{justify-content:space-between}.data-card>div{min-width:0}.privacy{border-left:1px solid var(--line);padding-left:18px;margin-left:12px}.modal{position:fixed;inset:0;background:rgba(10,24,43,.35);display:none;align-items:center;justify-content:center;z-index:20;backdrop-filter:blur(3px)}.modal.show{display:flex}.modal-card{width:min(620px,94vw);max-height:90vh;overflow:auto;background:#fff;border-radius:15px;padding:24px;box-shadow:0 25px 80px rgba(10,24,43,.25);position:relative}.modal-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:28px;cursor:pointer}.modal-card h2{margin:0 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:7px;padding:10px 11px;font:inherit}.field textarea{min-height:80px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.cancel-btn,.save-btn{border:0;border-radius:7px;padding:10px 18px;font-weight:700;cursor:pointer}.cancel-btn{background:#edf1f6}.save-btn{background:#1677f2;color:#fff}.toast{position:fixed;right:24px;bottom:24px;background:#142844;color:#fff;border-radius:8px;padding:12px 16px;opacity:0;transform:translateY(15px);transition:.2s;pointer-events:none;z-index:30}.toast.show{opacity:1;transform:none}@media(max-width:1200px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.content-grid{grid-template-columns:1fr}.right-stack{display:grid;grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.bottom-grid{grid-template-columns:1fr}.top-actions{flex-wrap:wrap}.month-tabs{overflow:auto;display:flex}.month-tab{min-width:55px}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.db-card{margin-top:16px}.main{padding:14px}.topbar{align-items:flex-start;flex-wrap:wrap}.top-actions{margin-left:0}.kpi-grid,.right-stack{grid-template-columns:1fr}.content-grid{display:block}.right-stack{margin-top:14px}.bottom-grid{display:block}.data-card{margin-top:14px}.how-card,.data-card{align-items:flex-start;flex-wrap:wrap}.flow{overflow:auto}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}

body.modal-open{overflow:hidden}.status-date-hidden{display:none}.field span{font-weight:650;color:#35435a}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(22,119,242,.12);border-color:#1677f2}.save-btn{min-width:130px;box-shadow:0 5px 14px rgba(22,119,242,.22)}.save-btn:hover{filter:brightness(.96);transform:translateY(-1px)}.cancel-btn:hover{background:#e2e8f0}
.summary-line.muted-line{color:#7a879a;background:#f8fafc;margin:2px -6px;padding:7px 6px;border-radius:5px}.summary-line.muted-line strong{color:#7a879a}


/* Reminders and duplication */
.notification-button{position:relative}
.bell-glyph{font-size:22px;line-height:1;transform:rotate(180deg);display:block;color:#17324d}
.notification-badge{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font:700 11px/18px Arial;text-align:center;box-shadow:0 2px 7px rgba(239,68,68,.3)}
.notification-badge:empty,.notification-badge[data-count="0"]{display:none}
.action-btn img{width:16px;height:16px;display:block}
.duplicate-card{max-width:680px}
.reminder-card{max-width:760px}
.modal-intro{margin:-7px 0 18px;color:#64748b;font-size:14px}
.month-check-grid{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:9px;margin-top:7px}
.month-choice{position:relative}
.month-choice input{position:absolute;opacity:0;pointer-events:none}
.month-choice span{display:flex;justify-content:center;align-items:center;min-height:42px;border:1px solid #d8e1ec;border-radius:10px;background:#f8fafc;color:#17324d;font-weight:700;cursor:pointer;transition:.18s ease}
.month-choice input:checked+span{background:#e7f0ff;border-color:#2563eb;color:#1768df;box-shadow:0 0 0 2px rgba(37,99,235,.08)}
.checkbox-field{display:flex!important;align-items:center;gap:10px;padding-top:25px}
.checkbox-field input{width:18px;height:18px}
.duplicate-note{margin:13px 0 3px;padding:12px 14px;border-radius:10px;background:#fff8e7;color:#805b00;font-size:13px;line-height:1.45}
.reminder-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.reminder-count{display:grid;place-items:center;min-width:48px;height:48px;border-radius:50%;background:#fff1f2;color:#e11d48;font-size:20px;font-weight:800}
.reminder-controls{display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px;margin:14px 0 18px}
.reminder-list{max-height:440px;overflow:auto;display:flex;flex-direction:column;gap:9px;padding-right:4px}
.reminder-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.reminder-item.overdue{border-color:#fecaca;background:#fff7f7}
.reminder-item.today{border-color:#fed7aa;background:#fffaf2}
.reminder-kind{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-weight:800}
.reminder-kind.income{background:#e8f8ef;color:#079447}
.reminder-kind.expense{background:#fff0f1;color:#ef233c}
.reminder-copy b{display:block;color:#102a43;margin-bottom:3px}
.reminder-copy small{color:#64748b}
.reminder-due{text-align:right;font-size:12px;font-weight:700}
.reminder-due.overdue-text{color:#dc2626}
.reminder-due.soon-text{color:#d97706}
.reminder-empty{padding:28px;text-align:center;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;background:#f8fafc}
@media(max-width:700px){
  .month-check-grid{grid-template-columns:repeat(3,1fr)}
  .reminder-controls{grid-template-columns:1fr}
  .reminder-item{grid-template-columns:auto 1fr}
  .reminder-due{grid-column:2;text-align:left}
}

/* Service projections use the standard income action controls. */
.actions .action-btn[title*="projection"]{background:#f7fbff;border-color:#bfdbfe}

.table-pagination{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-top:1px solid #e2e8f0;background:#fff}.page-buttons{display:flex;gap:5px;align-items:center}.page-btn{min-width:32px;height:32px;border:1px solid #d8e1ec;border-radius:7px;background:#fff;color:#17324d;font-weight:700;cursor:pointer}.page-btn.active{background:#1677f2;color:#fff;border-color:#1677f2}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-info,.page-dots{font-size:12px;color:#64748b}.service-projection-row{background:#f4f8ff}.received-income-row{background:#f5fcf7}.duplicate-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:7px}.duplicate-mode-grid label{position:relative}.duplicate-mode-grid input{position:absolute;opacity:0}.duplicate-mode-grid span{display:block;padding:13px;border:1px solid #d8e1ec;border-radius:9px;text-align:center;font-weight:700;cursor:pointer}.duplicate-mode-grid input:checked+span{border-color:#2563eb;background:#eaf2ff;color:#1768df}

/* Shared visibility utility for context-aware dialogs */
.hidden{display:none!important}

.duplicate-context-note{margin:10px 0 0;padding:10px 12px;border-radius:9px;background:#f1f7ff;color:#315b88;font-size:13px;line-height:1.45}

/* Reliable duplicate-dialog visibility: use the native hidden attribute, not utility classes. */
[hidden]{display:none!important}
.duplicate-mode-wrap:not([hidden]){display:block!important;margin-bottom:14px}
#duplicateClientField:not([hidden]){display:flex!important;margin-top:12px}
.duplicate-mode-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin-top:7px}
.duplicate-mode-grid label{display:block!important;position:relative}
.duplicate-mode-grid label input{position:absolute!important;opacity:0!important;pointer-events:none}
.duplicate-mode-grid label span{display:block!important;padding:13px;border:1px solid #d8e1ec;border-radius:9px;text-align:center;font-weight:700;cursor:pointer;background:#fff}
.duplicate-mode-grid label input:checked + span{display:block!important;border-color:#2563eb;background:#eaf2ff;color:#1768df;box-shadow:0 0 0 2px rgba(37,99,235,.08)}


/* Compact fixed-width transaction tables: no desktop horizontal scrollbar */
.income-panel .table-wrap,
.expense-panel .table-wrap{overflow-x:hidden}
.income-panel table,
.expense-panel table{table-layout:fixed;width:100%}
.income-panel th,.income-panel td,
.expense-panel th,.expense-panel td{overflow:hidden;text-overflow:ellipsis}
.income-panel th:nth-child(1),.income-panel td:nth-child(1){width:14%}
.income-panel th:nth-child(2),.income-panel td:nth-child(2){width:10%}
.income-panel th:nth-child(3),.income-panel td:nth-child(3){width:9%}
.income-panel th:nth-child(4),.income-panel td:nth-child(4){width:8%}
.income-panel th:nth-child(5),.income-panel td:nth-child(5){width:11%}
.income-panel th:nth-child(6),.income-panel td:nth-child(6){width:13%}
.income-panel th:nth-child(7),.income-panel td:nth-child(7){width:auto}
.income-panel th:nth-child(8),.income-panel td:nth-child(8){width:144px}
.expense-panel th:nth-child(1),.expense-panel td:nth-child(1){width:24%}
.expense-panel th:nth-child(2),.expense-panel td:nth-child(2){width:12%}
.expense-panel th:nth-child(3),.expense-panel td:nth-child(3){width:14%}
.expense-panel th:nth-child(4),.expense-panel td:nth-child(4){width:16%}
.expense-panel th:nth-child(5),.expense-panel td:nth-child(5){width:auto}
.expense-panel th:nth-child(6),.expense-panel td:nth-child(6){width:144px}
.income-panel .actions,.expense-panel .actions{gap:5px;justify-content:flex-start;white-space:nowrap}
.income-panel .action-btn,.expense-panel .action-btn{flex:0 0 28px;width:28px;height:28px;padding:5px}
.cell-ellipsis{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.income-notes-cell{min-width:0}
@media(max-width:900px){
  .income-panel .table-wrap,.expense-panel .table-wrap{overflow-x:auto}
  .income-panel table{min-width:850px}
  .expense-panel table{min-width:720px}
}

/* Action-priority table counters */
.table-pagination{gap:14px;flex-wrap:wrap}
.priority-counts{display:inline-flex;align-items:center;gap:10px;margin-right:auto;font-size:12px;color:#64748b}
.priority-counts b{color:#d97706;background:#fff7e8;border:1px solid #fed7aa;border-radius:999px;padding:5px 9px}
.priority-counts span{color:#16834a;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:999px;padding:5px 9px}

.month-tab:disabled,.top-arrow:disabled,#yearBack:disabled,#prevMonth:disabled,#prevMonthTop:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
/* Eleviq web additions */
#dashboardRoot[hidden]{display:none}.user-pill{padding:8px 10px;border:1px solid #dce4ee;border-radius:7px;background:#fff;color:#334155;font-weight:700;white-space:nowrap}.auth{min-height:100vh;display:grid;place-items:center;background:#f4f7fb;padding:20px}.auth-card{width:min(420px,100%);background:#fff;border:1px solid #dfe7f0;border-radius:14px;padding:28px;box-shadow:0 16px 45px rgba(20,40,68,.1)}.auth-card h1{margin:25px 0 4px}.auth-card p{color:#64748b}.auth-card form{display:grid;gap:14px;margin-top:22px}.auth-card label{display:grid;gap:6px;font-weight:700;color:#35435a}.auth-card input{padding:11px;border:1px solid #d8e1ec;border-radius:8px;font:inherit}.auth-card button{border:0;border-radius:8px;background:#1677f2;color:#fff;padding:12px;font-weight:800;cursor:pointer}.auth-card .error{color:#dc2626;min-height:20px}.modal.open{display:flex}.empty{text-align:center;color:#64748b;padding:28px!important}.type-pill{display:inline-block;border-radius:5px;background:#e9f2ff;color:#1768df;padding:4px 7px;font-size:11px;font-weight:700;text-transform:capitalize}.status{display:inline-block;border-radius:5px;padding:4px 7px;font-size:11px;font-weight:700;text-transform:capitalize}.status.agreed{background:#eaf8ef;color:#11813f}.status.potential{background:#fff5df;color:#b26b00}.received-date{display:inline-block;border:1px solid #86efac;color:#16834a;background:#f0fdf4;border-radius:5px;padding:4px 7px}.pending-date{display:inline-block;border:1px solid #fda4af;color:#ef233c;background:#fff7f8;border-radius:5px;padding:4px 7px}.action-btn.danger{border-color:#fecaca;background:#fff7f7}.legend>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;margin:8px 0}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.legend strong{font-size:12px}.legend small{color:#64748b}.donut{background:conic-gradient(#16a34a 0 50%,#f59e0b 50% 100%)}

/* Module 1 reference-match patch: summary, breakdowns and tip */
.right-stack{gap:14px}
.side-panel{padding:18px 17px;border:1px solid #d9e1eb;border-radius:9px;box-shadow:none}
.side-panel h3{font-size:14px;line-height:1.2;margin:0 0 17px;color:#06162f}
.side-panel h3 small{font-size:11px;color:#607089}
.summary-line{min-height:31px;padding:7px 0;display:flex;align-items:center;gap:12px;font-size:12px}
.summary-line span{flex:1}
.summary-line strong{font-size:13px;white-space:nowrap}
.summary-line small{font-size:10px;font-weight:600}
.summary-line.current{border-top:2px solid #91a6c3;margin-top:1px;padding-top:13px;font-weight:800}
.summary-line.pending{background:#f5f7fa;color:#778399;margin:2px -7px;padding:7px;border-radius:5px}
.summary-line.ending{border-top:2px solid #91a6c3;margin-top:2px;padding-top:13px;font-weight:800}
.summary-line .blue{color:#0564df}.summary-line .green{color:#009b43}.summary-line .red{color:#f0182c}
.chart-row{gap:18px;min-height:105px}
.donut{width:86px;height:86px}
.donut:after{inset:15px}
.legend{min-width:0}
.legend>div,.legend-line{display:grid;grid-template-columns:10px minmax(58px,1fr) auto;gap:8px;align-items:center;margin:9px 0;padding:0}
.legend strong{font-size:12px;color:#071b37;white-space:nowrap}
.legend strong small{font-size:10px;color:#71809a;font-weight:500}
.legend-dot{width:9px;height:9px;display:inline-block;border-radius:50%}
.legend-dot.green-bg{background:#16a34a}
.legend-dot.red-bg{background:#ef233c}
.legend-dot.orange-bg{background:#f59e0b}
.tip-card{border-color:#efcf82;background:#fff9ec;padding:16px 17px;border-radius:9px}
.tip-card b{color:#db8300;font-size:13px}
.tip-card p{color:#10233e;font-size:12px;margin-top:9px}

/* Income table reference alignment and corrected action icons */
.income-panel th,.income-panel td{padding-top:10px;padding-bottom:10px}
.income-panel .actions{gap:6px;justify-content:flex-start}
.income-panel .action-btn,.expense-panel .action-btn{
  width:29px;height:29px;flex:0 0 29px;padding:5px;border-color:#d8e2ef;background:#fff;
}
.income-panel .action-btn:hover,.expense-panel .action-btn:hover{background:#f7fbff;border-color:#b9d4fb}
.income-panel .action-btn.status-action.pending{border-color:#f7d59a;background:#fffdf7}
.expense-panel .action-btn.status-action.pending{border-color:#fecaca;background:#fff8f8}
.income-panel .action-btn.status-action.done,.expense-panel .action-btn.status-action.done{border-color:#d8e2ef;background:#fff}
.income-panel .action-btn img,.expense-panel .action-btn img{width:17px;height:17px}
.income-panel .pending-date{min-width:78px}
.income-panel .received-date{min-width:78px;text-align:center}
.income-panel tfoot td{background:#edf9f2;font-weight:800}


/* Dashboard detail alignment fix */
.summary-line.current{border-top:2px solid #91a6c3;margin-top:2px;padding-top:12px;font-weight:800}
.summary-line.ending{border-top:2px solid #91a6c3;margin-top:2px;padding-top:12px;font-weight:800}
.summary-line.pending{background:#f5f7fa;color:#778399;margin:2px -7px;padding:7px;border-radius:4px}
.summary-line.current small{font-size:10px;font-weight:700}
.summary-line .blue{color:#0564df}.summary-line .green{color:#009b43}.summary-line .red{color:#f0182c}

/* Dashboard correction: force summary separators even when older shared CSS loads later. */
#summaryRows .summary-line.current{border-top:2px solid #91a6c3 !important;margin-top:2px !important;padding-top:12px !important;font-weight:800 !important}
#summaryRows .summary-line.ending{border-top:2px solid #91a6c3 !important;margin-top:2px !important;padding-top:12px !important;font-weight:800 !important}
#summaryRows .summary-line.pending{background:#f5f7fa !important;color:#778399 !important;margin:2px -7px !important;padding:7px !important;border-radius:4px !important}

/* Eleviq branded authentication screen */
#authRoot{min-height:100vh}
.auth{min-height:100vh;display:grid;place-items:center;padding:32px;background:#f4f7fb}
.auth-shell{width:min(1300px,100%);min-height:min(920px,calc(100vh - 64px));display:grid;grid-template-columns:minmax(420px,47%) minmax(480px,53%);overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(15,36,66,.14)}
.auth-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:72px 84px;background:radial-gradient(circle at 76% 86%,rgba(8,126,111,.32),transparent 32%),linear-gradient(145deg,#082957 0%,#031b3e 58%,#04294b 100%);color:#fff}
.auth-logo-wrap{position:relative;z-index:2;width:310px;padding:16px 22px;border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 14px 38px rgba(0,0,0,.14)}
.auth-logo{display:block;width:100%;height:auto;margin:-36px 0;pointer-events:none}
.auth-message{position:relative;z-index:2;margin-top:90px;max-width:480px}
.auth-message h2{margin:0;font-size:clamp(30px,3vw,46px);line-height:1.24;letter-spacing:-1.4px;color:#fff}
.auth-message h2 span{color:#34b557}
.auth-message i{display:block;width:46px;height:4px;margin:30px 0 28px;border-radius:99px;background:#39bd5a}
.auth-message p{max-width:430px;margin:0;color:rgba(255,255,255,.82);font-size:18px;line-height:1.75}
.auth-growth{position:absolute;left:72px;right:64px;bottom:78px;height:310px;opacity:.78}
.growth-bar{position:absolute;bottom:0;width:42px;border-radius:7px 7px 0 0;background:linear-gradient(to top,rgba(15,93,100,.2),rgba(26,154,111,.45));border:1px solid rgba(61,196,126,.15)}
.growth-bar.g1{left:16%;height:42px}.growth-bar.g2{left:30%;height:72px}.growth-bar.g3{left:44%;height:108px}.growth-bar.g4{left:58%;height:148px}.growth-bar.g5{left:72%;height:196px}
.growth-line{position:absolute;left:0;right:8%;bottom:22px;height:230px;border-bottom:4px solid #35c15d;border-radius:0 0 70% 0;transform:skewY(-25deg);transform-origin:left bottom;filter:drop-shadow(0 0 7px rgba(52,193,92,.35))}
.growth-arrow{position:absolute;right:4%;top:27px;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:30px solid #35c15d;transform:rotate(43deg)}
.auth-panel{display:grid;place-items:center;padding:70px 78px;background:#fff}
.auth-card{width:min(520px,100%);padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.auth-card h1{margin:0;color:#0a2854;font-size:43px;line-height:1.15;letter-spacing:-1.4px}
.auth-card h1 span{color:#279e45}
.auth-card>p{margin:14px 0 0;color:#748198;font-size:19px}
.auth-card form{display:grid;gap:24px;margin-top:54px}
.auth-field{display:grid;gap:11px;color:#10284d;font-weight:750;font-size:15px}
.auth-input{height:64px;display:flex;align-items:center;gap:14px;padding:0 18px;border:1px solid #d4dde9;border-radius:9px;background:#fff;transition:border-color .2s,box-shadow .2s}
.auth-input:focus-within{border-color:#2aa653;box-shadow:0 0 0 4px rgba(42,166,83,.1)}
.auth-input-icon{width:24px;color:#63738b;font-size:20px;text-align:center;font-weight:500}
.auth-input input{min-width:0;flex:1;height:100%;padding:0;border:0;outline:0;background:transparent;color:#10223f;font:inherit;font-size:16px}
.auth-input input::placeholder{color:#8793a7}
.password-toggle{width:36px;height:36px;border:0;background:transparent;color:#5f7089;font-size:19px;cursor:pointer}
.auth-options{display:flex;align-items:center;justify-content:space-between;margin-top:-4px;color:#66758b;font-size:14px}
.remember-option{display:flex;align-items:center;gap:10px;font-weight:500;cursor:pointer}
.remember-option input{width:19px;height:19px;accent-color:#249c47}
.forgot-link{color:#209643;font-weight:700}
.auth-submit{height:64px;border:0;border-radius:9px;background:linear-gradient(90deg,#31a950,#168e38);color:#fff;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(31,153,68,.22)}
.auth-submit:hover{filter:brightness(1.04)}
.auth-submit span{display:inline-block;margin-right:11px;font-size:21px}
.auth-card .error{min-height:20px;margin-top:-10px;color:#dc2626;font-weight:650;text-align:center}
.auth-divider{display:flex;align-items:center;gap:18px;margin:28px 0;color:#7b879a}
.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#d9e0e9}
.google-button{width:100%;height:61px;border:1px solid #d4dde9;border-radius:9px;background:#fff;color:#34455f;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.google-button b{display:inline-grid;place-items:center;margin-right:12px;color:#4285f4;font-size:22px}
.auth-signup{margin:38px 0 0!important;text-align:center;color:#708096!important;font-size:15px!important}
.auth-signup span{color:#219b45;font-weight:800}
@media(max-width:980px){.auth{padding:0}.auth-shell{min-height:100vh;border-radius:0;grid-template-columns:1fr}.auth-visual{min-height:340px;padding:46px 52px}.auth-logo-wrap{width:245px}.auth-message{margin-top:46px}.auth-message h2{font-size:31px}.auth-message p{font-size:15px;max-width:390px}.auth-growth{left:auto;width:45%;height:220px;right:28px;bottom:22px}.auth-panel{padding:58px 34px}.auth-card{max-width:540px}}
@media(max-width:620px){.auth-visual{min-height:285px;padding:32px 26px}.auth-logo-wrap{width:210px;padding:12px 18px}.auth-message{margin-top:34px}.auth-message h2{font-size:25px}.auth-message p{display:none}.auth-message i{margin:20px 0}.auth-growth{opacity:.36;width:55%;height:170px}.auth-panel{padding:42px 22px}.auth-card h1{font-size:34px}.auth-card>p{font-size:16px}.auth-card form{margin-top:38px}.auth-input,.auth-submit{height:58px}}


/* Final login alignment — scoped to authentication screen only */
html:has(#authRoot:not(:empty)),
body:has(#authRoot:not(:empty)){
  width:100%;
  height:100%;
  overflow:hidden;
}
#authRoot:not(:empty){
  width:100%;
  height:100dvh;
  overflow:hidden;
}
#authRoot:not(:empty) .auth{
  width:100%;
  height:100dvh;
  min-height:0;
  padding:30px;
  overflow:hidden;
  background:#f3f6fa;
}
#authRoot:not(:empty) .auth-shell{
  width:min(1320px,calc(100vw - 60px));
  height:min(900px,calc(100dvh - 60px));
  min-height:0;
  grid-template-columns:40% 60%;
  border-radius:26px;
  overflow:hidden;
}
#authRoot:not(:empty) .auth-visual{
  min-height:0;
  padding:48px 70px 54px;
}
#authRoot:not(:empty) .auth-logo-wrap{
  width:300px;
  height:300px;
  padding:0;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self: anchor-center;
}
#authRoot:not(:empty) .auth-logo{
  width:65%;
  height:100%;
  margin:0;
  object-fit:contain;
}
#authRoot:not(:empty) .auth-message{
  margin-top:22px;
  max-width:470px;
}
#authRoot:not(:empty) .auth-message h2{
  font-size:clamp(30px,1.35vw,42px);
  line-height:1.22;
  letter-spacing:1.3px;
  font-weight:600;
}
#authRoot:not(:empty) .auth-message i{
  width:45px;
  height:3px;
  margin:24px 0 22px;
}
#authRoot:not(:empty) .auth-message p{
  max-width:445px;
  font-size:16px;
  line-height:1.65;
  font-weight:400;
}
#authRoot:not(:empty) .auth-growth{
  left:62px;
  right:48px;
  bottom:42px;
  height:250px;
}
#authRoot:not(:empty) .auth-panel{
  min-height:0;
  padding:48px 74px;
}
#authRoot:not(:empty) .auth-card{
  width:min(520px,100%);
}
#authRoot:not(:empty) .auth-card h1{
  font-size:42px;
  line-height:1.12;
  letter-spacing:-1.25px;
  font-weight:800;
}
#authRoot:not(:empty) .auth-card>p{
  margin-top:12px;
  font-size:18px;
  line-height:1.45;
  font-weight:400;
}
#authRoot:not(:empty) .auth-card form{
  gap:18px;
  margin-top:42px;
}
#authRoot:not(:empty) .auth-field{
  gap:9px;
  font-size:14px;
  font-weight:700;
}
#authRoot:not(:empty) .auth-input{
  height:58px;
  padding:0 17px;
  border-radius:9px;
}
#authRoot:not(:empty) .auth-input input{
  font-size:15px;
  font-weight:400;
}
#authRoot:not(:empty) .password-toggle{
  width:38px;
  height:38px;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#63738b;
  box-shadow:none;
}
#authRoot:not(:empty) .auth-options{
  margin-top:-2px;
  font-size:13px;
}
#authRoot:not(:empty) .auth-card .auth-submit{
  width:100%;
  height:58px;
  padding:0;
  border:0;
  border-radius:9px;
  background:linear-gradient(90deg,#2fa54e,#168c37);
  color:#fff;
  font-size:16px;
  font-weight:800;
  box-shadow:0 8px 18px rgba(31,153,68,.20);
}
#authRoot:not(:empty) .auth-divider{
  margin:22px 0;
}
#authRoot:not(:empty) .auth-card .google-button{
  width:100%;
  height:56px;
  padding:0;
  border:1px solid #d7dee8;
  border-radius:9px;
  background:#fff;
  color:#233650;
  font-size:15px;
  font-weight:700;
  box-shadow:none;
}
#authRoot:not(:empty) .auth-signup{
  margin-top:28px!important;
  font-size:14px!important;
}

@media(max-height:820px) and (min-width:981px){
  #authRoot:not(:empty) .auth{padding:20px}
  #authRoot:not(:empty) .auth-shell{
    width:min(1240px,calc(100vw - 40px));
    height:calc(100dvh - 40px);
  }
  #authRoot:not(:empty) .auth-visual{padding:30px 58px 36px}
  #authRoot:not(:empty) .auth-logo-wrap{width:220px;height:220px}
  #authRoot:not(:empty) .auth-message{margin-top:8px}
  #authRoot:not(:empty) .auth-message h2{font-size:32px}
  #authRoot:not(:empty) .auth-message i{margin:16px 0}
  #authRoot:not(:empty) .auth-message p{font-size:14px;line-height:1.5}
  #authRoot:not(:empty) .auth-growth{height:190px;bottom:22px}
  #authRoot:not(:empty) .auth-panel{padding:30px 64px}
  #authRoot:not(:empty) .auth-card h1{font-size:36px}
  #authRoot:not(:empty) .auth-card>p{font-size:16px}
  #authRoot:not(:empty) .auth-card form{margin-top:28px;gap:13px}
  #authRoot:not(:empty) .auth-input,
  #authRoot:not(:empty) .auth-card .auth-submit{height:52px}
  #authRoot:not(:empty) .auth-divider{margin:15px 0}
  #authRoot:not(:empty) .auth-card .google-button{height:50px}
  #authRoot:not(:empty) .auth-signup{margin-top:18px!important}
}

@media(max-width:980px){
  html:has(#authRoot:not(:empty)),
  body:has(#authRoot:not(:empty)),
  #authRoot:not(:empty){
    height:auto;
    min-height:100%;
    overflow:auto;
  }
  #authRoot:not(:empty) .auth{
    height:auto;
    min-height:100dvh;
    padding:0;
    overflow:visible;
  }
  #authRoot:not(:empty) .auth-shell{
    width:100%;
    height:auto;
    min-height:100dvh;
    border-radius:0;
  }
  #authRoot:not(:empty) .auth-logo-wrap{
    width:220px;
    height:220px;
  }
}


/* Login growth illustration — approved SVG reconstruction */
#authRoot:not(:empty) .auth-growth{
  left:48px;
  right:38px;
  bottom:28px;
  height:260px;
  opacity:1;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 620 300' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='bar' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%23084a63' stop-opacity='.30'/%3E%3Cstop offset='1' stop-color='%231c9a71' stop-opacity='.58'/%3E%3C/linearGradient%3E%3ClinearGradient id='line' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%2334bf5a' stop-opacity='.72'/%3E%3Cstop offset='.58' stop-color='%2338c75f' stop-opacity='.92'/%3E%3Cstop offset='1' stop-color='%233fcf66'/%3E%3C/linearGradient%3E%3Cfilter id='glow' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeGaussianBlur stdDeviation='2.1' result='b'/%3E%3CfeMerge%3E%3CfeMergeNode in='b'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M-35 275 C85 220 220 220 350 254 S545 322 665 286' fill='none' stroke='%2334a96c' stroke-opacity='.28' stroke-width='1.6'/%3E%3Cg fill='url(%23bar)' stroke='%2332b979' stroke-opacity='.22'%3E%3Crect x='180' y='243' width='38' height='31' rx='5'/%3E%3Crect x='235' y='226' width='38' height='48' rx='5'/%3E%3Crect x='290' y='204' width='38' height='70' rx='5'/%3E%3Crect x='345' y='177' width='38' height='97' rx='5'/%3E%3Crect x='400' y='143' width='38' height='131' rx='5'/%3E%3Crect x='455' y='102' width='38' height='172' rx='5'/%3E%3C/g%3E%3Cpath d='M30 247 C126 235 214 217 293 187 C371 158 432 124 474 82 C504 52 525 31 546 17' fill='none' stroke='url(%23line)' stroke-width='3.2' stroke-linecap='round' filter='url(%23glow)'/%3E%3Cpath d='M30 247 C126 235 214 217 293 187 C371 158 432 124 474 82 C504 52 525 31 546 17' fill='none' stroke='%233fcf66' stroke-opacity='.92' stroke-width='1.35' stroke-linecap='round'/%3E%3Cpath d='M537 18 L563 5 L557 34 Z' fill='%233fcf66' filter='url(%23glow)'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

#authRoot:not(:empty) .auth-growth .growth-bar,
#authRoot:not(:empty) .auth-growth .growth-line,
#authRoot:not(:empty) .auth-growth .growth-arrow{
  display:none!important;
}

@media(max-height:820px) and (min-width:981px){
  #authRoot:not(:empty) .auth-growth{
    left:42px;
    right:32px;
    bottom:18px;
    height:195px;
  }
}

@media(max-width:980px){
  #authRoot:not(:empty) .auth-growth{
    left:auto;
    right:20px;
    bottom:16px;
    width:48%;
    height:205px;
  }
}

/* PNG growth illustration */
#authRoot:not(:empty) .auth-growth{
 left:34px;right:22px;bottom:0;height:auto;opacity:1;background:none!important;
}
#authRoot:not(:empty) .auth-growth-image{
    display: block;width: 120%;height: auto;left: -35px;bottom: -20px;pointer-events: none;position: relative;
}
#authRoot:not(:empty) .auth-growth .growth-bar,
#authRoot:not(:empty) .auth-growth .growth-line,
#authRoot:not(:empty) .auth-growth .growth-arrow{display:none!important;}

/* Eleviq AI loading transition and dashboard entrance */
#authRoot:empty{display:none!important;min-height:0!important}
#dashboardRoot{min-height:100vh}
#dashboardRoot.dashboard-enter{animation:dashboardBlendIn .72s cubic-bezier(.2,.75,.25,1) both}
@keyframes dashboardBlendIn{
  from{opacity:0;transform:translateY(18px);filter:blur(5px)}
  to{opacity:1;transform:none;filter:none}
}
.app-loader[hidden]{display:none!important}
.app-loader{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(circle at 50% 43%,#0d3c68 0,#082b53 34%,#041b39 72%,#03142c 100%);
  color:#fff;opacity:1;transition:opacity .55s ease,visibility .55s ease;
}
.app-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.loader-ambient{position:absolute;border-radius:50%;filter:blur(8px);opacity:.32;animation:ambientFloat 6s ease-in-out infinite alternate}
.loader-ambient-one{width:540px;height:540px;left:-190px;top:-210px;background:radial-gradient(circle,rgba(43,184,91,.38),transparent 66%)}
.loader-ambient-two{width:620px;height:620px;right:-250px;bottom:-300px;background:radial-gradient(circle,rgba(26,126,221,.34),transparent 67%);animation-delay:-2s}
@keyframes ambientFloat{to{transform:translate3d(28px,18px,0) scale(1.08)}}
.loader-card{position:relative;width:min(480px,calc(100vw - 44px));padding:42px 42px 36px;text-align:center;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.115),rgba(255,255,255,.045));box-shadow:0 32px 100px rgba(0,0,0,.32);backdrop-filter:blur(18px)}
.loader-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:30px;color:rgba(255,255,255,.82);font-size:12px;font-weight:800;letter-spacing:2.2px}
.loader-brand img{width:34px;height:34px;object-fit:contain}
.ai-orb{position:relative;width:126px;height:126px;margin:0 auto 28px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 38% 32%,#4fd875 0,#21a64b 28%,#0e713a 58%,rgba(6,47,53,.85) 100%);box-shadow:0 0 0 12px rgba(45,195,94,.07),0 0 65px rgba(48,203,99,.35);animation:orbBreathe 2.2s ease-in-out infinite}
.ai-orb:before,.ai-orb:after{content:"";position:absolute;inset:-12px;border:1px solid rgba(82,224,127,.45);border-radius:50%;animation:orbRing 2.4s ease-out infinite}
.ai-orb:after{inset:-28px;animation-delay:.8s}
.ai-orb span{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 16px #fff;animation:nodePulse 1.8s ease-in-out infinite}
.ai-orb span:nth-child(1){left:31px;top:48px}.ai-orb span:nth-child(2){right:31px;top:38px;animation-delay:.35s}.ai-orb span:nth-child(3){left:59px;bottom:26px;animation-delay:.7s}
.ai-orb i{width:42px;height:3px;border-radius:99px;background:rgba(255,255,255,.8);box-shadow:0 -13px 0 rgba(255,255,255,.42),0 13px 0 rgba(255,255,255,.42);transform:rotate(-28deg)}
@keyframes orbBreathe{50%{transform:scale(1.045);box-shadow:0 0 0 18px rgba(45,195,94,.055),0 0 85px rgba(48,203,99,.46)}}
@keyframes orbRing{0%{transform:scale(.78);opacity:0}35%{opacity:.7}100%{transform:scale(1.35);opacity:0}}
@keyframes nodePulse{50%{transform:scale(1.65);opacity:.55}}
.loader-card h2{margin:0;color:#fff;font-size:27px;line-height:1.25;letter-spacing:-.5px}
.loader-card p{min-height:24px;margin:13px 0 26px;color:rgba(255,255,255,.72);font-size:15px;transition:opacity .18s ease,transform .18s ease}
.loader-card p.is-changing{opacity:0;transform:translateY(5px)}
.loader-progress{height:7px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.12)}
.loader-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#24a94b,#55db7b);box-shadow:0 0 18px rgba(74,218,118,.65);transition:width .55s cubic-bezier(.2,.8,.25,1)}
.loader-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;color:rgba(255,255,255,.5);font-size:11px}
.loader-status b{color:#62df83;font-size:12px}
@media(max-width:620px){.loader-card{padding:34px 25px 30px}.ai-orb{width:108px;height:108px}.loader-card h2{font-size:23px}.loader-status span{display:none}}
@media(prefers-reduced-motion:reduce){.app-loader *{animation:none!important}.app-loader,.loader-progress span,#dashboardRoot.dashboard-enter{transition:none!important;animation:none!important}}


/* Modal centering and repeat-save reliability patch */
.modal{
  padding:24px;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.modal.open,.modal.show{
  display:flex;
  align-items:center;
  justify-content:center;
}
.modal-card{
  margin:auto;
  max-height:calc(100dvh - 48px);
  overflow-y:auto;
}
.save-btn:disabled{
  opacity:.65;
  cursor:wait;
  transform:none;
}
@media(max-width:620px){
  .modal{padding:12px}
  .modal-card{max-height:calc(100dvh - 24px)}
}


/* Official Eleviq sidebar branding */
.sidebar .brand{display:flex;align-items:center;justify-content:center;padding:4px 8px 25px;margin:0}
.sidebar .brand-logo{display:block;width:min(184px,100%);height:auto;max-height:120px;object-fit:contain}
@media(max-width:800px){.sidebar .brand-logo{width:min(170px,100%);max-height:82px}}

/* Eleviq compact navigation and workspace menu */
.app-shell{transition:grid-template-columns .32s cubic-bezier(.22,1,.36,1)}
.sidebar{transition:padding .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1);overflow:visible;z-index:12}
.sidebar .brand{height:120px;padding:0;margin:0 0 18px;position:relative;overflow:hidden;transition:height .32s cubic-bezier(.22,1,.36,1)}
body.sidebar-collapsed .sidebar .brand{height:62px}
.sidebar .brand-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transition:opacity .2s ease,transform .32s cubic-bezier(.22,1,.36,1),filter .32s ease}
.sidebar .brand-logo-full{width:184px;opacity:1}
.sidebar .brand-logo-icon{width:43px;opacity:0;transform:translate(-50%,-50%) scale(.55) rotate(-8deg)}
.sidebar .nav-item{overflow:hidden;white-space:nowrap;transition:padding .28s ease,gap .28s ease,background .2s ease}
.sidebar .nav-item img{flex:0 0 22px}
.sidebar .db-card,.sidebar .report-balance-card{transition:opacity .18s ease,transform .28s ease}
body.sidebar-collapsed .app-shell{grid-template-columns:82px minmax(0,1fr)}
body.sidebar-collapsed .sidebar{padding-left:13px;padding-right:13px}
body.sidebar-collapsed .sidebar .brand-logo-full{opacity:0;transform:translate(-50%,-50%) scale(.72) rotate(7deg)}
body.sidebar-collapsed .sidebar .brand-logo-icon{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}
body.sidebar-collapsed .sidebar .nav-item{font-size:0;gap:0;justify-content:center;padding:0}
body.sidebar-collapsed .sidebar .nav-item img{width:23px;height:23px}
body.sidebar-collapsed .sidebar .db-card,body.sidebar-collapsed .sidebar .report-balance-card{opacity:0;transform:translateY(12px);pointer-events:none;height:0;min-height:0;padding:0;border:0;margin:0;overflow:hidden}
body.sidebar-collapsed .sidebar .nav-item{position:relative}
body.sidebar-collapsed .sidebar .nav-item:hover:after{content:attr(data-tooltip);position:absolute;left:58px;top:50%;transform:translateY(-50%);font-size:12px;line-height:1;white-space:nowrap;background:#102a43;color:#fff;padding:8px 10px;border-radius:7px;box-shadow:0 8px 24px rgba(15,35,60,.2);z-index:50}
.redesigned-topbar{display:grid;grid-template-columns:auto minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;gap:14px}
.sidebar-toggle{box-shadow:none}
.sidebar-toggle img{transition:transform .3s ease}
body.sidebar-collapsed .sidebar-toggle img{transform:rotate(90deg)}
.date-nav{justify-self:center;display:flex;align-items:center;padding:4px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
.date-nav .icon-btn,.date-nav .soft-btn{border:0;box-shadow:none;height:35px}
.date-nav .icon-btn{width:35px;padding:9px}
.date-nav .soft-btn{padding:0 12px}
.redesigned-topbar .top-actions{margin-left:0;justify-self:end}
.notification-button>img{width:20px;height:20px;margin:auto}
.compact-currency select{height:43px;min-width:62px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 26px 0 13px;font-weight:750;color:#142642;box-shadow:var(--shadow);cursor:pointer}
.account-menu{position:relative}
.account-trigger{height:45px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px 0 7px;box-shadow:var(--shadow);cursor:pointer;color:#172b46;font-weight:750}
.account-avatar{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(145deg,#e9f3ff,#d8e9ff);color:#0868e4;font-weight:850}
.account-trigger .user-pill{padding:0;background:transparent;white-space:nowrap;max-width:145px;overflow:hidden;text-overflow:ellipsis}
.account-chevron{font-size:16px;color:#65758b;transition:transform .2s ease}
.account-trigger[aria-expanded="true"] .account-chevron{transform:rotate(180deg)}
.account-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:248px;padding:8px;background:#fff;border:1px solid #dfe7f0;border-radius:14px;box-shadow:0 22px 60px rgba(20,43,74,.18);z-index:60;animation:accountIn .18s ease}
.account-dropdown[hidden]{display:none!important}
@keyframes accountIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
.account-heading{padding:10px 11px 12px;border-bottom:1px solid #edf1f5;margin-bottom:5px}
.account-heading strong,.account-heading small{display:block}
.account-heading small{color:#7a8798;margin-top:3px;font-size:11px}
.account-dropdown button{width:100%;height:40px;border:0;background:transparent;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 11px;color:#29405f;font-weight:650;text-align:left;cursor:pointer}
.account-dropdown button:hover{background:#f3f7fb;color:#0968db}
.account-dropdown button img{width:18px;height:18px}
.account-separator{height:1px;background:#e8edf3;margin:6px 4px}
.account-dropdown .danger-menu-item{color:#d92c3a}
.account-dropdown .danger-menu-item:hover{background:#fff0f2;color:#c61f30}
@media(max-width:1200px){.redesigned-topbar{grid-template-columns:auto 1fr auto}.redesigned-topbar .date-nav{grid-column:2;grid-row:2;justify-self:start}.redesigned-topbar .top-actions{grid-column:3;grid-row:1/3}.account-trigger .user-pill{max-width:90px}}
@media(max-width:760px){body.sidebar-collapsed .app-shell{display:block}.redesigned-topbar{display:flex}.date-nav{order:4;width:100%}.redesigned-topbar .top-actions{width:100%;justify-content:flex-start}.account-trigger .user-pill{display:none}}

/* Multi-profile finance selector */
.entity-switcher{position:relative}.entity-switch-btn{height:44px;min-width:176px;border:1px solid #d9e2f1;background:#fff;border-radius:12px;padding:6px 12px;display:flex;align-items:center;gap:9px;color:#0b1f42;cursor:pointer;box-shadow:0 5px 16px rgba(28,55,94,.05)}.entity-switch-btn small{display:block;font-size:9px;color:#7b8aa5;text-align:left;text-transform:uppercase;letter-spacing:.06em}.entity-switch-btn strong{display:block;max-width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.entity-switch-icon{width:28px;height:28px;border-radius:9px;background:#eef2ff;color:#5b45e6;display:grid;place-items:center;font-weight:800}.entity-switch-chevron{margin-left:auto}.entity-switch-menu{position:absolute;right:0;top:52px;width:284px;background:#fff;border:1px solid #dbe3f0;border-radius:14px;box-shadow:0 18px 48px rgba(20,39,76,.18);z-index:90;padding:8px}.entity-menu-title{padding:8px 10px 6px;font-size:10px;font-weight:800;color:#8793a9;text-transform:uppercase;letter-spacing:.08em}.entity-menu-item{width:100%;border:0;background:transparent;border-radius:10px;padding:9px 10px;display:flex;align-items:center;gap:10px;text-align:left;color:#15284a;cursor:pointer}.entity-menu-item:hover,.entity-menu-item.active{background:#f0f3ff}.entity-menu-dot{width:10px;height:10px;border-radius:50%;flex:none}.entity-menu-copy{display:flex;flex-direction:column}.entity-menu-copy strong{font-size:12px}.entity-menu-copy small{font-size:10px;color:#8491a8}.entity-menu-divider{height:1px;background:#edf0f6;margin:6px}.entity-menu-add{color:#5b45e6;font-weight:700}.entity-overview{margin-bottom:14px;background:linear-gradient(135deg,#fbfbff,#f7f8ff);border:1px solid #dedff8;border-radius:14px;padding:14px}.entity-overview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.entity-overview-head span{font-size:9px;letter-spacing:.1em;font-weight:800;color:#7767df}.entity-overview-head h2{font-size:15px;margin:2px 0 0}.entity-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.entity-summary-card{background:#fff;border:1px solid #e2e8f3;border-radius:11px;padding:12px;cursor:pointer;transition:.2s}.entity-summary-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(34,52,92,.1)}.entity-summary-card-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}.entity-summary-card-head i{width:9px;height:9px;border-radius:50%}.entity-summary-card-head strong{font-size:12px}.entity-summary-card-head small{margin-left:auto;color:#8994aa;text-transform:capitalize}.entity-summary-values{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.entity-summary-values span{font-size:9px;color:#8994aa}.entity-summary-values b{display:block;font-size:11px;margin-top:2px}.entity-inline-badge{display:block;width:max-content;margin-top:4px;padding:2px 6px;border-radius:999px;background:#f0f3ff;color:#6554d9;font-size:9px;font-weight:700}.entity-modal-card{max-width:620px}.entity-manage-list{display:grid;gap:8px;margin:14px 0}.entity-manage-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e1e7f0;border-radius:10px}.entity-manage-row i{width:12px;height:12px;border-radius:50%}.entity-manage-row div{flex:1}.entity-manage-row strong,.entity-manage-row small{display:block}.entity-manage-row small{color:#8490a5;font-size:10px;text-transform:capitalize}.entity-manage-row button{border:0;background:#f1f4fa;border-radius:7px;padding:5px 8px;cursor:pointer}.entity-field-note{font-size:10px;color:#8792a8;margin-top:4px}
@media(max-width:1100px){.entity-switch-btn{min-width:44px;width:44px;padding:7px}.entity-switch-btn>span:nth-child(2),.entity-switch-chevron{display:none}}

/* KPI active financial profile context */
.kpi-section{margin-bottom:14px}
.kpi-profile-context{margin:0 0 10px;padding:0 2px}
.kpi-profile-context span{display:block;color:#7767df;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.kpi-profile-context h2{margin:3px 0 0;color:#15284a;font-size:15px;line-height:1.25}
.kpi-section .kpi-grid{margin-bottom:0}


/* Financial profile edit controls */
.entity-manage-actions{display:flex;align-items:center;gap:7px;flex:none}
.entity-manage-row .entity-manage-actions button{min-width:48px}
.entity-manage-row .entity-edit-btn{background:#eaf2ff;color:#1768df}
.entity-manage-row .entity-edit-btn:hover{background:#dceaff}
.entity-form-mode{margin:4px 0 13px;padding:9px 11px;border-radius:9px;background:#f4f7fb;color:#52627a;font-size:12px;font-weight:700}


/* Restore and standardize dropdown chevrons */
.entity-switch-chevron,
.account-chevron{
  width:8px;
  height:8px;
  border-right:2px solid #52627a;
  border-bottom:2px solid #52627a;
  transform:rotate(45deg);
  flex:0 0 8px;
  margin-left:auto;
  margin-right:2px;
  margin-top:-4px;
}
.entity-switch-btn[aria-expanded="true"] .entity-switch-chevron,
.account-trigger[aria-expanded="true"] .account-chevron{
  transform:rotate(225deg);
  margin-top:4px;
}

/* Correct and align transaction table column widths */
.income-panel table,
.expense-panel table{
  table-layout:fixed;
  width:100%;
}
.income-panel th:nth-child(1),.income-panel td:nth-child(1),
.expense-panel th:nth-child(1),.expense-panel td:nth-child(1){width:24%}
.income-panel th:nth-child(2),.income-panel td:nth-child(2),
.expense-panel th:nth-child(2),.expense-panel td:nth-child(2){width:12%}
.income-panel th:nth-child(3),.income-panel td:nth-child(3),
.expense-panel th:nth-child(3),.expense-panel td:nth-child(3){width:11%}
.income-panel th:nth-child(4),.income-panel td:nth-child(4),
.expense-panel th:nth-child(4),.expense-panel td:nth-child(4){width:13%}
.income-panel th:nth-child(5),.income-panel td:nth-child(5),
.expense-panel th:nth-child(5),.expense-panel td:nth-child(5){width:14%}
.income-panel th:nth-child(6),.income-panel td:nth-child(6),
.expense-panel th:nth-child(6),.expense-panel td:nth-child(6){width:auto}
.income-panel th:nth-child(7),.income-panel td:nth-child(7),
.expense-panel th:nth-child(7),.expense-panel td:nth-child(7){width:144px}
.income-panel th:nth-child(n+8),.income-panel td:nth-child(n+8),
.expense-panel th:nth-child(n+8),.expense-panel td:nth-child(n+8){width:auto}


/* Account-menu profile image */
.account-avatar{
  overflow:hidden;
  flex:0 0 31px;
}
.account-avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}
.account-avatar.has-image{
  background:#e7eef8;
  color:transparent;
}

/* Eleviq Navigation 2.0 */
.sidebar{overflow:hidden}.nav-accordion{display:flex;flex-direction:column;gap:5px;min-height:0;overflow-y:auto;overflow-x:hidden;padding:1px 2px 12px;scrollbar-width:thin}.nav-group{display:block}.nav-section,.nav-accordion .nav-direct{width:100%;border:0;background:transparent;border-radius:10px;color:#33435c;min-height:44px;padding:10px 12px;display:flex;align-items:center;gap:11px;text-align:left;font-weight:750;transition:background .18s ease,color .18s ease}.nav-section img,.nav-accordion .nav-direct img{width:20px;height:20px;flex:0 0 20px}.nav-section span,.nav-accordion .nav-direct span{flex:1}.nav-section i{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .22s ease;margin:0 3px 4px 8px}.nav-group.open>.nav-section i{transform:rotate(225deg);margin-top:6px}.nav-section:hover,.nav-group.active>.nav-section,.nav-group.open>.nav-section,.nav-accordion .nav-direct:hover,.nav-accordion .nav-direct.active{background:#edf4ff;color:#1167e8}.nav-submenu{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .24s ease,opacity .2s ease}.nav-submenu>*{min-height:0}.nav-group.open>.nav-submenu{grid-template-rows:1fr;opacity:1}.nav-submenu::before{content:"";display:block}.nav-submenu{overflow:hidden}.nav-submenu .nav-item{margin:2px 0 2px 31px;width:calc(100% - 31px);min-height:38px;padding:8px 10px 8px 16px;border-radius:8px;border:0;background:transparent;color:#52627a;display:flex;align-items:center;gap:8px;text-align:left;font-weight:650;position:relative}.nav-submenu .nav-item::before{content:"";position:absolute;left:2px;width:5px;height:5px;border-radius:50%;background:#b7c2d1}.nav-submenu .nav-item span{flex:1}.nav-submenu .nav-item small{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#8491a5;background:#f1f4f8;border-radius:999px;padding:3px 5px}.nav-submenu .nav-item:hover,.nav-submenu .nav-item.active{background:#edf4ff;color:#0965ee}.nav-submenu .nav-item.active::before{background:#0965ee}.sidebar-collapsed .nav-section span,.sidebar-collapsed .nav-section i,.sidebar-collapsed .nav-submenu{display:none}.sidebar-collapsed .nav-section{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .nav-group{position:relative}

/* Shared topbar business-profile selector */
.global-entity-switcher{position:relative;display:flex;align-items:center}.global-entity-button{min-width:190px;max-width:260px;height:42px;border:1px solid #dce5ef;border-radius:10px;background:#fff;padding:5px 10px;display:flex;align-items:center;gap:9px;color:#263a56;text-align:left}.global-entity-button:hover{border-color:#a9c8f7;background:#f9fbff}.global-entity-dot{width:10px;height:10px;border-radius:50%;background:#5968e8;flex:0 0 auto}.global-entity-copy{min-width:0;flex:1;display:flex;flex-direction:column}.global-entity-copy small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#7a879a}.global-entity-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-entity-chevron{width:7px;height:7px;border-right:2px solid #65748a;border-bottom:2px solid #65748a;transform:rotate(45deg);margin:0 3px 4px}.global-entity-menu{position:absolute;right:0;top:calc(100% + 8px);width:270px;max-height:340px;overflow:auto;background:#fff;border:1px solid #dce5ef;border-radius:12px;box-shadow:0 16px 38px rgba(19,42,75,.16);padding:7px;z-index:80}.global-entity-menu[hidden]{display:none}.global-entity-option{width:100%;border:0;background:transparent;border-radius:8px;padding:9px;display:flex;align-items:center;gap:9px;text-align:left;color:#34445d}.global-entity-option:hover,.global-entity-option.active{background:#edf4ff;color:#0965ee}.global-entity-option span:nth-child(2){flex:1;min-width:0}.global-entity-option strong,.global-entity-option small{display:block}.global-entity-option strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-entity-option small{font-size:10px;color:#8290a4}.global-entity-manage{border-top:1px solid #edf1f5;margin-top:5px;padding-top:10px}
@media(max-width:800px){.nav-accordion{overflow:visible}.nav-submenu .nav-item{margin-left:24px;width:calc(100% - 24px)}.global-entity-button{min-width:0;width:44px;padding:0;justify-content:center}.global-entity-copy,.global-entity-chevron{display:none}}

/* Navigation 2.0 alignment and compact-spacing correction */
.sidebar .brand{
  height:82px;
  min-height:82px;
  margin:0 0 12px;
  padding:0;
}
.sidebar .brand-logo-full{
  width:154px;
  max-width:calc(100% - 12px);
  max-height:72px;
}
body.sidebar-collapsed .sidebar .brand{
  height:62px;
  min-height:62px;
  margin-bottom:12px;
}
.nav-accordion{
  flex:0 1 auto;
  width:100%;
  gap:5px;
  justify-content:flex-start;
  align-content:start;
}
.nav-group{
  flex:0 0 auto;
  width:100%;
  min-height:0;
}
.nav-submenu{
  display:block;
  max-height:0;
  opacity:0;
  overflow:hidden;
  visibility:hidden;
  transition:max-height .24s ease,opacity .18s ease,visibility 0s linear .24s;
}
.nav-group.open>.nav-submenu{
  max-height:300px;
  opacity:1;
  visibility:visible;
  transition:max-height .24s ease,opacity .2s ease,visibility 0s;
}
.nav-submenu::before{display:none}
body.sidebar-collapsed .nav-accordion{
  align-items:center;
  padding-left:0;
  padding-right:0;
}
body.sidebar-collapsed .nav-accordion .nav-direct,
body.sidebar-collapsed .nav-section{
  width:52px;
  min-width:52px;
  height:52px;
  min-height:52px;
  margin:0 auto 3px;
  padding:0;
  display:grid;
  place-items:center;
  gap:0;
}
body.sidebar-collapsed .nav-group{
  width:52px;
  margin:0 auto;
}
body.sidebar-collapsed .nav-section img,
body.sidebar-collapsed .nav-accordion .nav-direct img{
  display:block;
  width:22px;
  height:22px;
  margin:0;
  object-fit:contain;
  justify-self:center;
  align-self:center;
}
body.sidebar-collapsed .nav-accordion .nav-direct.active,
body.sidebar-collapsed .nav-group.active>.nav-section,
body.sidebar-collapsed .nav-group.open>.nav-section{
  border-radius:11px;
}
@media(max-width:800px){
  .sidebar .brand{height:76px;min-height:76px}
  .sidebar .brand-logo-full{width:146px;max-height:66px}
}


/* Prevent the sidebar scrollbar from flashing during accordion transitions. */
.nav-accordion{
  scrollbar-gutter:stable;
}
.nav-accordion.is-animating{
  overflow-y:hidden;
}
