:root{--primary:#2563eb;--primary-dark:#173b75;--primary-light:#eff6ff;--background:#f4f7fc;--white:#fff;--text:#1e293b;--muted:#718096;--border:#e5eaf2;--green:#16a34a;--red:#dc2626;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text);margin:0;font-family:Segoe UI,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}p{line-height:1.6}.app-container{min-height:100vh;display:flex}.sidebar{color:#fff;background:linear-gradient(#173b75 0%,#102c59 100%);flex-direction:column;width:250px;min-width:250px;min-height:100vh;padding:28px 18px;display:flex}.brand{align-items:center;gap:12px;margin-bottom:42px;padding:0 8px;display:flex}.brand-icon{color:#fff;background:#60a5fa;border-radius:14px;place-items:center;width:46px;height:46px;font-size:25px;font-weight:800;display:grid;box-shadow:0 6px 18px #071d3c55}.brand h2{letter-spacing:.3px;margin:0;font-size:21px}.brand p{color:#cbdaf3;margin:4px 0 0;font-size:12px}.menu-label{color:#a9c1e8;letter-spacing:1.5px;margin-bottom:14px;padding:0 12px;font-size:10px;font-weight:700}.navigation{flex-direction:column;gap:8px;display:flex}.nav-link{color:#d7e4fa;border-radius:11px;align-items:center;gap:13px;padding:14px 13px;font-size:13px;transition:background .2s,color .2s;display:flex}.nav-link span{text-align:center;width:22px;font-size:19px}.nav-link:hover,.nav-link.active{color:#fff;background:#ffffff1c}.nav-link.active{font-weight:700;box-shadow:inset 3px 0 #60a5fa}.sidebar-bottom{border-top:1px solid #ffffff25;align-items:center;gap:12px;margin-top:auto;padding:18px 8px 0;display:flex}.admin-avatar{color:#173b75;background:#dbeafe;border-radius:50%;place-items:center;width:40px;height:40px;font-size:17px;font-weight:800;display:grid}.sidebar-bottom strong{font-size:12px}.sidebar-bottom p{color:#cbdaf3;margin:4px 0 0;font-size:11px}.main-content{flex:1;min-width:0;padding:34px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:30px;display:flex}.breadcrumb{color:var(--muted);margin:0 0 10px;font-size:12px}.topbar h1{letter-spacing:-.7px;margin:0;font-size:29px;font-weight:750}.subtitle{color:var(--muted);margin:9px 0 0;font-size:13px}.profile-badge{border:1px solid var(--border);color:#475569;white-space:nowrap;background:#fff;border-radius:12px;align-items:center;gap:9px;padding:11px 15px;font-size:12px;display:flex}.status-dot{background:#22c55e;border-radius:50%;width:8px;height:8px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px;display:grid}.summary-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:22px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 5px 20px #1e3a5f08}.summary-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #1e3a5f12}.card-top{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.card-icon{background:var(--primary-light);width:42px;height:42px;color:var(--primary);border-radius:13px;flex-shrink:0;place-items:center;font-size:20px;font-weight:800;display:grid}.income-card .card-icon{color:var(--green);background:#dcfce7}.expense-card .card-icon{color:var(--red);background:#fee2e2}.balance-card .card-icon{color:#7c3aed;background:#ede9fe}.children-card .card-icon{color:#0891b2;background:#cffafe}.summary-card h2{letter-spacing:-.6px;overflow-wrap:anywhere;margin:22px 0 8px;font-size:clamp(19px,2vw,27px);font-weight:800}.summary-card>p{color:var(--muted);margin:0;font-size:11px}.content-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:25px;scroll-margin-top:20px;box-shadow:0 5px 20px #1e3a5f06}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;display:flex}.section-heading h2,.report-card h2{margin:0;font-size:18px;font-weight:750}.section-heading p,.report-card p{color:var(--muted);margin:7px 0 0;font-size:12px}.section-tag{background:var(--primary-light);color:var(--primary);white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:700}.empty-state{text-align:center;background:#f8faff;border:1px dashed #d5dfef;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:30px 15px;display:flex}.empty-icon{width:55px;height:55px;color:var(--primary);background:#e6efff;border-radius:17px;place-items:center;margin-bottom:14px;font-size:27px;display:grid}.empty-state h3{margin:0;font-size:15px}.empty-state p{max-width:350px;color:var(--muted);margin:8px 0 0;font-size:12px}.table-wrapper{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}thead{background:#f7f9fd}th{color:#64748b;border-bottom:1px solid var(--border);padding:15px 16px;font-size:11px;font-weight:700}td{border-bottom:1px solid #edf1f7;padding:17px 16px;font-size:12px}tbody tr:last-child td{border-bottom:none}.empty-table{text-align:center;color:var(--muted);padding:35px 15px}.report-card{background:linear-gradient(120deg,#fff,#eff6ff);justify-content:space-between;align-items:center;gap:20px;display:flex}.report-card p{max-width:520px}.report-icon{width:54px;height:54px;color:var(--primary);background:#dbeafe;border-radius:15px;flex-shrink:0;place-items:center;font-size:25px;display:grid}.footer{text-align:center;padding:8px 0 0}.footer p{color:#94a3b8;font-size:11px}@media (width<=1100px){.main-content{padding:25px}.sidebar{width:220px;min-width:220px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.app-container{display:block}.sidebar{width:100%;min-width:0;min-height:auto;padding:18px}.brand{margin-bottom:20px}.menu-label{margin-bottom:8px}.navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.nav-link{gap:8px;padding:12px 9px;font-size:12px}.sidebar-bottom{margin-top:20px}.main-content{padding:22px 15px}.topbar{flex-direction:column;margin-bottom:24px}.topbar h1{font-size:25px}.summary-grid{gap:12px}.summary-card{border-radius:14px;padding:16px}.card-top{align-items:flex-start;font-size:11px}.card-icon{border-radius:10px;width:34px;height:34px;font-size:16px}.summary-card h2{margin-top:18px;font-size:20px}.content-card{border-radius:14px;padding:18px 14px}.section-heading h2,.report-card h2{font-size:16px}.section-heading{align-items:flex-start}.section-tag{padding:7px 8px;font-size:10px}.report-card{align-items:flex-start}}@media (width<=380px){.summary-grid,.navigation{grid-template-columns:1fr}.profile-badge{white-space:normal}}.form-anak{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px;padding:22px;display:grid}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#334155;font-size:14px;font-weight:600}.form-group input{box-sizing:border-box;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;padding:12px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1f}.btn-simpan{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:9px;grid-column:1/-1;justify-self:start;padding:12px 20px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.btn-simpan:hover{background:#15803d;transform:translateY(-1px)}.pesan-anak{color:#15803d;grid-column:1/-1;margin:0;font-size:13px}.pesan-anak:empty{display:none}.daftar-anak-heading{justify-content:space-between;align-items:center;gap:12px;margin:28px 0 16px;display:flex}.daftar-anak-heading h3{color:#1e293b;margin:0;font-size:17px}.daftar-anak-heading span{color:#166534;background:#dcfce7;border-radius:20px;padding:6px 10px;font-size:12px;font-weight:600}.daftar-anak{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.anak-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:13px;padding:17px;transition:box-shadow .2s,transform .2s;display:flex}.anak-item:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0f172a12}.anak-avatar{color:#166534;background:#dcfce7;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:19px;font-weight:700;display:flex}.anak-info{flex:1;min-width:0}.anak-info h4{color:#1e293b;overflow-wrap:anywhere;margin:0 0 5px;font-size:14px}.anak-info p{color:#64748b;overflow-wrap:anywhere;margin:0;font-size:12px}.btn-hapus-anak{color:#dc2626;cursor:pointer;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;padding:8px 10px;font-size:12px}.btn-hapus-anak:hover{background:#fee2e2}@media (width<=600px){.form-anak{grid-template-columns:1fr;padding:16px}.btn-simpan,.pesan-anak{grid-column:1}.daftar-anak-heading{align-items:flex-start}.daftar-anak{grid-template-columns:1fr}}.form-transaksi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:25px;padding:22px;display:grid}.form-transaksi .form-group{flex-direction:column;gap:8px;min-width:0;display:flex}.form-transaksi .form-group label{color:#334155;font-size:14px;font-weight:600}.form-transaksi .form-group input,.form-transaksi .form-group select{box-sizing:border-box;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-transaksi .form-group input:focus,.form-transaksi .form-group select:focus{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1f}.form-group-full{grid-column:1/-1}.form-transaksi .btn-simpan{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:9px;grid-column:1/-1;justify-self:start;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.form-transaksi .btn-simpan:hover{background:#15803d;transform:translateY(-1px)}.form-transaksi .pesan-anak{margin:0;font-size:13px}.form-transaksi .pesan-anak:empty{display:none}@media (width<=600px){.form-transaksi{grid-template-columns:1fr;padding:16px}.form-transaksi .form-group,.form-transaksi .form-group-full,.form-transaksi .btn-simpan{grid-column:1}}
