:root{--bg: #0b1120;--bg-elevated: #020617;--bg-card: #020617;--bg-muted: #020617;--border-subtle: #1e293b;--accent: #3b82f6;--accent-soft: rgba(59, 130, 246, .15);--accent-strong: rgba(59, 130, 246, .2);--danger: #ef4444;--text: #e5e7eb;--text-muted: #9ca3af;--positive: #22c55e;--negative: #ef4444;--shadow-soft: 0 18px 40px rgba(15, 23, 42, .85)}:root[data-theme=light]{--bg: #f3f4f6;--bg-elevated: #ffffff;--bg-card: #ffffff;--bg-muted: #e5e7eb;--border-subtle: #e5e7eb;--accent: #2563eb;--accent-soft: rgba(37, 99, 235, .08);--accent-strong: rgba(37, 99, 235, .16);--danger: #dc2626;--text: #0f172a;--text-muted: #6b7280;--positive: #15803d;--negative: #b91c1c;--shadow-soft: 0 18px 40px rgba(15, 23, 42, .12)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;background:var(--bg);color:var(--text)}.app-shell{min-height:100vh;display:flex;flex-direction:column;max-width:560px;margin:0 auto;background:linear-gradient(to bottom,rgba(15,23,42,.96),rgba(15,23,42,1));box-shadow:var(--shadow-soft);position:relative}.app-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/assets/ssbandal-logo-b8763c36.jpeg);background-repeat:no-repeat;background-position:center;background-size:80%;opacity:.12;pointer-events:none;z-index:0}.app-main,.app-header{position:relative;z-index:1}.app-header{position:sticky;top:0;z-index:20;padding:14px 18px 10px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(to bottom,rgba(15,23,42,.9),rgba(15,23,42,.86),transparent)}.app-header-title{font-weight:600;font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:#e5e7eb}.app-main{flex:1 1 auto;padding:8px 14px 90px;overflow-y:auto}.screen{display:flex;flex-direction:column;gap:14px;padding-bottom:12px}.screen-auth{padding-top:18px}.screen-title{font-size:22px;margin:4px 2px;letter-spacing:-.02em}.card{background:radial-gradient(circle at top left,rgba(37,99,235,.12),var(--bg-card));border-radius:18px;padding:14px 14px 12px;border:1px solid rgba(148,163,184,.16);box-shadow:0 18px 40px #00000059}.card.highlight{background:radial-gradient(circle at top left,rgba(34,197,94,.16),#020617);border:1px solid rgba(34,197,94,.35)}.card-danger{border-color:#ef444466;background:radial-gradient(circle at top left,rgba(239,68,68,.18),#020617)}.section-title{margin:0 0 6px;font-size:15px;font-weight:600}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.summary-row{display:flex;justify-content:space-between;gap:14px;margin-bottom:8px}.summary-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.summary-value{font-size:17px;font-weight:600;margin-top:2px}.summary-balance{margin-top:6px;padding-top:8px;border-top:1px dashed rgba(148,163,184,.35);display:flex;align-items:center;justify-content:space-between;font-size:14px}.muted{color:var(--text-muted);font-size:13px}.grid-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{border-radius:16px;border:1px solid rgba(148,163,184,.2);padding:10px 12px;background:radial-gradient(circle at top left,rgba(59,130,246,.18),#020617);color:var(--text);display:flex;flex-direction:column;align-items:flex-start;gap:4px;box-shadow:0 12px 30px #0f172aa6}.card-grid-actions{background:radial-gradient(circle at top left,rgba(59,130,246,.16),rgba(15,23,42,.98))}.tile-icon{font-size:18px}.tile-label{font-size:13px;font-weight:500}.bottom-nav{position:fixed;left:50%;bottom:10px;transform:translate(-50%);width:100%;max-width:540px;display:flex;justify-content:space-around;padding:8px;background:linear-gradient(to top,rgba(15,23,42,.98),rgba(15,23,42,.96),rgba(15,23,42,.94));border-top:1px solid rgba(15,23,42,.9);box-shadow:0 -10px 30px #000000b3;z-index:40}.bottom-nav-item{flex:1;background:transparent;border:none;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;padding:4px 6px;border-radius:999px}.bottom-nav-item.active{color:var(--accent);background:rgba(37,99,235,.18)}.bottom-nav-icon{font-size:16px}.fab-add{position:fixed;right:22px;bottom:66px;width:54px;height:54px;border-radius:999px;border:none;background:radial-gradient(circle at top,#38bdf8,#2563eb);box-shadow:0 18px 40px #2563eba6;color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;z-index:45}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.field label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.field input,.field select,.field textarea{border-radius:11px;border:1px solid rgba(148,163,184,.4);padding:8px 10px;background:rgba(15,23,42,.8);color:var(--text);font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-strong)}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.filters-row{display:flex;gap:8px;margin-bottom:6px}.filters-row>*{flex:1}.btn-primary,.btn-secondary,.btn-danger,.list-item-button{border-radius:999px;padding:10px 14px;font-size:14px;border:none;cursor:pointer}.btn-primary{background:linear-gradient(to right,#22c55e,#16a34a);color:#fff;box-shadow:0 14px 30px #22c55e8c}.btn-secondary{background:rgba(15,23,42,.95);border:1px solid rgba(148,163,184,.5);color:var(--text)}.btn-danger{background:linear-gradient(to right,#ef4444,#b91c1c);color:#fff}.button-row{display:flex;flex-wrap:wrap;gap:8px}.full-width{width:100%}.list-compact{list-style:none;padding:0;margin:4px 0 0}.list-item,.list-item-button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 4px;margin-bottom:0;border-radius:0;background:transparent;border:none;border-bottom:1px solid rgba(148,163,184,.35)}.list-item-button{width:100%;text-align:left}.list-item-main{display:flex;flex-direction:column;gap:2px}.list-item-title{font-size:14px}.list-item-sub{font-size:11px;color:var(--text-muted)}.list-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.badge,.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:rgba(148,163,184,.14);color:var(--text-muted)}.pill-toggle{display:inline-flex;padding:2px;border-radius:999px;background:rgba(15,23,42,.8);border:1px solid rgba(148,163,184,.35)}.pill-toggle button{border-radius:999px;border:none;padding:6px 10px;font-size:13px;background:transparent;color:var(--text-muted)}.pill-toggle button.active{background:var(--accent);color:#fff}.suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.suggestions button{border-radius:999px;border:none;padding:4px 8px;font-size:12px;background:rgba(15,23,42,.92);border:1px solid rgba(148,163,184,.5);color:var(--text)}.link-button{border:none;background:transparent;color:var(--accent);font-size:12px}.positive{color:var(--positive)}.negative{color:var(--negative)}.button-row .btn-secondary{flex:1 1 auto}.checkbox-row{align-items:center}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.loader{width:26px;height:26px;border-radius:999px;border:3px solid rgba(148,163,184,.4);border-top-color:var(--accent);animation:spin .9s linear infinite;margin-bottom:10px}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width: 640px){.app-main{padding-inline:18px}}.date-group{margin-bottom:8px}.date-heading{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:4px 2px}:root[data-theme=light] .app-shell{background:linear-gradient(to bottom,#f9fafb,#e5e7eb)}:root[data-theme=light] body{background:#f9fafb}:root[data-theme=light] .app-header{background:linear-gradient(to bottom,rgba(249,250,251,.96),rgba(249,250,251,.92),transparent)}:root[data-theme=light] .app-header-title{color:#111827}:root[data-theme=light] .card{background:#ffffff;border-color:#e5e7eb;box-shadow:0 10px 25px #0f172a14}:root[data-theme=light] .card.highlight{background:linear-gradient(to bottom right,#ecfdf3,#ffffff);border-color:#bbf7d0}:root[data-theme=light] .field input,:root[data-theme=light] .field select,:root[data-theme=light] .field textarea,:root[data-theme=light] .beneficiary-display{background:#ffffff;color:#111827;border-color:#d1d5db}:root[data-theme=light] .btn-secondary{background:#ffffff;border-color:#d1d5db;color:#111827}:root[data-theme=light] .bottom-nav{background:linear-gradient(to top,rgba(243,244,246,.97),rgba(243,244,246,.94),rgba(249,250,251,.92));border-top-color:#e5e7eb}.type-buttons{display:flex;gap:8px}.type-btn{flex:1;border-radius:14px;padding:10px 0;font-size:14px;border:1px solid rgba(148,163,184,.6);background:transparent;color:var(--text-muted)}.type-btn.expense.active{background:rgba(239,68,68,.16);border-color:#ef4444cc;color:var(--negative);font-weight:600}.type-btn.income.active{background:rgba(34,197,94,.18);border-color:#22c55ecc;color:var(--positive);font-weight:600}.beneficiary-display{border-radius:11px;border:1px solid rgba(148,163,184,.4);padding:8px 10px;background:rgba(15,23,42,.8);color:var(--text);font-size:14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.beneficiary-chevron{font-size:12px;color:var(--text-muted)}.beneficiary-panel{margin-top:6px;max-height:220px;overflow:auto;border-radius:12px;border:1px solid rgba(148,163,184,.5);background:rgba(15,23,42,.96)}.beneficiary-panel table{width:100%;border-collapse:collapse}.beneficiary-panel td{padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.35);border-right:1px solid rgba(148,163,184,.35);font-size:13px;cursor:pointer}.beneficiary-panel tr:last-child td{border-bottom:none}.beneficiary-panel td:last-child{border-right:none}.beneficiary-panel td:hover{background:var(--accent-soft);color:var(--accent)}:root[data-theme=light] .beneficiary-panel{background:#ffffff}.month-switcher{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:13px}.month-switcher button{border-radius:999px;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.8);color:var(--text-muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer}.month-switcher button:disabled{opacity:.3;cursor:default}:root[data-theme=light] .month-switcher button{background:#ffffff}
