:root{
  --navy:#071c33;--navy2:#0d2947;--blue:#087ec1;--cyan:#12a6d7;--gold:#f3c64e;
  --ink:#13253a;--muted:#708096;--line:#e7edf4;--bg:#f4f7fb;--card:#fff;
  --green:#16a673;--red:#d9535f;--shadow:0 14px 40px rgba(7,28,51,.08);--radius:22px
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}
button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px 14px;outline:none;color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{border-color:#74bce0;box-shadow:0 0 0 3px rgba(18,166,215,.1)}
.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--blue);margin:0 0 7px}.mobile-only{display:none}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 75% 20%,rgba(18,166,215,.18),transparent 30%),linear-gradient(135deg,#f7fbff,#eaf3f9);position:relative;overflow:hidden}.auth-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(7,28,51,.04);right:-180px;bottom:-180px}.auth-card{width:min(470px,100%);background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);border-radius:30px;padding:34px;box-shadow:0 30px 80px rgba(7,28,51,.12);position:relative;z-index:1}.auth-card.compact{width:min(520px,100%)}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup img{width:64px;height:64px;object-fit:contain}.brand-lockup span{display:block;font-size:10px;font-weight:900;letter-spacing:.15em;color:var(--blue)}.brand-lockup small{color:var(--muted)}.auth-copy{margin:34px 0 22px}.auth-copy h1{font-size:38px;line-height:1.03;margin:0 0 12px;letter-spacing:-.04em}.auth-copy h1 em{font-style:normal;color:var(--blue)}.auth-copy p:last-child{color:var(--muted);line-height:1.6}.auth-form{display:grid;gap:14px}.auth-form label,.form-grid label,.custom-dates label{font-size:12px;font-weight:800;color:#506176;display:grid;gap:7px}.auth-links{display:flex;justify-content:space-between;margin-top:15px}.link-btn,.back-btn,.text-btn{background:none;color:var(--blue);font-weight:800;padding:5px}.back-btn{margin-bottom:18px;color:var(--muted)}.demo-note{margin-top:20px;background:#f0f8fc;border-radius:12px;padding:10px 12px;color:#587087;font-size:12px}.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px}.check input{width:16px}.primary-btn,.secondary-btn,.danger-btn{border-radius:13px;padding:12px 16px;font-weight:800;transition:.18s}.primary-btn{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 8px 20px rgba(8,126,193,.2)}.primary-btn:hover{transform:translateY(-1px)}.primary-btn.small,.secondary-btn.small{padding:10px 13px}.secondary-btn{background:#eef5f9;color:#175275}.danger-btn{background:#fff0f1;color:var(--red)}.primary-btn span{float:right}.toast{position:fixed;z-index:1000;right:20px;bottom:20px;background:var(--navy);color:#fff;padding:13px 16px;border-radius:14px;box-shadow:var(--shadow);transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s}.toast.show{transform:translateY(0);opacity:1}
.app{min-height:100vh;display:flex}.sidebar{width:250px;background:var(--navy);color:#fff;padding:23px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20}.side-brand{display:flex;align-items:center;gap:10px;padding:0 8px 28px}.side-brand img{width:47px;height:47px;object-fit:contain;background:#fff;border-radius:14px}.side-brand strong{display:block;font-size:18px}.side-brand span{font-size:10px;color:#8fb1ca;text-transform:uppercase;letter-spacing:.12em}.sidebar nav{display:grid;gap:6px}.nav-item{background:transparent;color:#b8c9d8;text-align:left;padding:13px 14px;border-radius:13px;font-weight:700;display:flex;gap:12px;align-items:center}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.1);color:#fff}.side-bottom{margin-top:auto}.security-badge{background:rgba(255,255,255,.07);padding:12px;border-radius:14px;font-size:11px;color:#d9e7f1;line-height:1.5}.security-badge span{color:#91aabd}.logout{margin-top:10px;width:100%;padding:11px;background:transparent;color:#9fb6c8;text-align:left;border-radius:12px}.logout:hover{background:rgba(255,255,255,.06);color:#fff}.main{margin-left:250px;flex:1;min-width:0}.topbar{height:76px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.global-search{display:flex;align-items:center;gap:10px;width:min(560px,60%);background:#f4f7fa;border:1px solid #edf1f5;border-radius:14px;padding:0 12px}.global-search input{border:0;background:transparent;padding:11px 0;box-shadow:none}.global-search kbd{font-size:10px;color:#93a0ae;background:#fff;border:1px solid #e5eaf0;border-radius:6px;padding:3px 6px}.top-actions{display:flex;align-items:center;gap:10px}.avatar{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}.content{padding:30px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.page-head h2{margin:0;font-size:30px;letter-spacing:-.035em}.period-wrap{display:flex;gap:8px}.period-wrap select{width:auto}.custom-dates{display:flex;gap:10px;align-items:end;justify-content:flex-end;margin:-10px 0 20px}.custom-dates label{width:180px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;gap:14px;align-items:center;box-shadow:0 5px 18px rgba(7,28,51,.03)}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:11px}.stat-card strong{display:block;font-size:25px;margin:5px 0}.stat-icon{width:44px;height:44px;border-radius:14px;background:#eef5f9;display:grid;place-items:center;font-weight:900;color:var(--blue);flex:none}.stat-icon.income{background:#eaf8f2;color:var(--green)}.stat-icon.expense{background:#fff0f1;color:var(--red)}.stat-icon.transfer{background:#f4f1ff;color:#7053bb}.dashboard-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:18px}.lower-grid{display:grid;grid-template-columns:1.6fr .7fr;gap:18px;margin-top:18px}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 5px 18px rgba(7,28,51,.03)}.panel h3{margin:0;font-size:16px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:18px}.icon-btn{background:#f2f6f9;border-radius:10px;width:34px;height:34px;color:#587087}.donut-wrap{position:relative;max-width:250px;margin:0 auto}.donut-wrap canvas{width:100%;height:auto}.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}.donut-center strong{font-size:21px}.donut-center span{font-size:10px;color:var(--muted)}.legend{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.legend div{font-size:11px;color:#5f7082;display:flex;align-items:center;gap:7px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.transaction-list{display:grid}.tx-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef2f5}.tx-row:last-child{border-bottom:0}.tx-icon{width:39px;height:39px;border-radius:12px;background:#f1f6f9;display:grid;place-items:center;font-weight:900}.tx-name{font-weight:800;font-size:13px}.tx-meta{font-size:10px;color:var(--muted);margin-top:3px}.tx-amount{font-weight:900;font-size:13px}.tx-amount.expense{color:var(--red)}.tx-amount.income{color:var(--green)}.insight{background:linear-gradient(145deg,#071c33,#123e62);color:#fff;display:flex;flex-direction:column;align-items:flex-start}.insight .muted,.insight p{color:#b8cbd9;line-height:1.6}.insight-mark{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.1);display:grid;place-items:center;margin-bottom:15px}.insight .secondary-btn{margin-top:auto;background:rgba(255,255,255,.12);color:#fff}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px}.inline-search{display:flex;gap:8px;align-items:center;flex:1;background:#f7f9fb;border:1px solid var(--line);border-radius:12px;padding:0 10px}.inline-search input{border:0;background:transparent}.toolbar select{width:auto}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#8290a0;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #eff3f6;white-space:nowrap}.amount-expense{color:var(--red);font-weight:900}.amount-income{color:var(--green);font-weight:900}.amount-transfer{color:#7053bb;font-weight:900}.row-actions button{background:#f2f5f7;padding:7px;border-radius:8px}.report-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.bars{display:grid;gap:14px}.bar-item{display:grid;gap:7px}.bar-label{display:flex;justify-content:space-between;font-size:12px}.bar-track{height:10px;background:#eef3f6;border-radius:10px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:10px}.rank-list{display:grid;gap:10px}.rank{display:flex;justify-content:space-between;padding:12px;background:#f7f9fb;border-radius:12px;font-size:12px}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.report-summary div{background:#f7f9fb;border-radius:14px;padding:16px}.report-summary span{display:block;color:var(--muted);font-size:11px}.report-summary strong{display:block;margin-top:5px;font-size:20px}.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.account-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;position:relative;overflow:hidden}.account-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--blue),var(--cyan))}.account-top{display:flex;justify-content:space-between}.provider-logo{width:42px;height:42px;border-radius:12px;background:#edf5fa;display:grid;place-items:center;font-weight:900;color:var(--blue)}.account-card strong{display:block;font-size:24px;margin-top:18px}.account-card small{color:var(--muted)}.directory-tabs{display:flex;gap:7px;margin-bottom:18px;overflow:auto}.dir-tab{padding:10px 14px;border-radius:11px;background:#eaf0f4;color:#5b6d7e;font-weight:800;white-space:nowrap}.dir-tab.active{background:var(--navy);color:#fff}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.directory-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px}.directory-card .tag{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-weight:900}.directory-card h3{margin:8px 0 6px}.directory-card p{font-size:12px;line-height:1.55;color:#68798b}.ussd{display:inline-block;background:#071c33;color:#fff;border-radius:10px;padding:7px 10px;font-weight:900;font-family:ui-monospace,monospace;margin:5px 0}.legal-note{font-size:11px;color:#8a97a5;margin:17px 3px}.share-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.qr-card{text-align:center}.qr-card #qrCode{min-height:290px;display:grid;place-items:center}.qr-card canvas,.qr-card svg{max-width:280px;width:100%;height:auto;background:#fff;padding:10px;border-radius:16px}.qr-card button{margin:5px}.share-layout textarea{resize:vertical;margin:12px 0}.share-tips{display:grid;grid-template-columns:auto 1fr;gap:9px 12px;margin-top:20px}.share-tips div{width:27px;height:27px;border-radius:50%;background:#eaf6fb;color:var(--blue);display:grid;place-items:center;font-weight:900}.share-tips p{margin:3px 0;color:#68798b;font-size:12px}.settings-grid{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.modal{position:fixed;inset:0;z-index:100;background:rgba(7,28,51,.5);display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0}.modal-card{position:relative;background:#fff;border-radius:24px;padding:25px;width:min(650px,100%);max-height:90vh;overflow:auto;box-shadow:0 30px 90px rgba(0,0,0,.2)}.modal-close{position:absolute;right:16px;top:13px;background:#f1f4f6;width:32px;height:32px;border-radius:50%;font-size:20px}.modal-card h2{margin:0 0 10px}.modal-form{display:grid;gap:13px}.modal-form label{display:grid;gap:7px;font-size:11px;font-weight:800;color:#586b7d}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.sms-box{display:grid;gap:10px}.sms-box textarea{min-height:150px}.parsed{background:#f5f9fb;border-radius:14px;padding:12px;font-size:12px}.search-results{display:grid;gap:8px}.search-result{padding:12px;background:#f6f8fa;border-radius:12px}.search-result b{display:block}.search-result small{color:var(--muted)}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.lower-grid,.report-grid,.share-layout{grid-template-columns:1fr}.account-grid,.directory-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.mobile-only{display:grid}.topbar{padding:0 14px;gap:10px}.global-search{width:auto;flex:1}.global-search kbd{display:none}.content{padding:18px}.page-head{display:block}.page-head>div{margin-bottom:12px}.stat-grid{grid-template-columns:1fr 1fr}.account-grid,.directory-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar .inline-search{min-width:100%}.toolbar select,.toolbar button{flex:1}.report-summary{grid-template-columns:1fr 1fr}.auth-card{padding:25px}.auth-copy h1{font-size:32px}}
@media(max-width:520px){.stat-grid{grid-template-columns:1fr}.period-wrap{width:100%}.period-wrap select,.period-wrap button{flex:1}.custom-dates{justify-content:stretch;flex-wrap:wrap}.custom-dates label{width:calc(50% - 5px)}.custom-dates .primary-btn{width:100%}.top-actions .primary-btn{display:none}.page-head h2{font-size:26px}.legend{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.report-summary{grid-template-columns:1fr 1fr}.table-panel{padding:10px}.table-scroll{margin:0 -10px}}
