:root{--app-grad: linear-gradient(90deg, #534ab7, #378add);--blue-grad: linear-gradient(135deg, #378add, #185fa5);--pink-grad: linear-gradient(135deg, #d4537e, #993556);--bg: #f4f5fb;--surface: #ffffff;--surface-soft: #f1f2f9;--text: #1f2233;--text-muted: #6b7086;--border: #e6e7f0;--success: #1d9e75;--success-bg: #e1f5ee;--danger: #e24b4a;--danger-bg: #fcebeb;--warning: #ba7517;--warning-bg: #faeeda;--radius: 14px;--radius-sm: 10px;--shadow: 0 6px 20px rgba(40, 40, 90, .07)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font-family:inherit}.grad-blue{background:var(--blue-grad)}.grad-pink{background:var(--pink-grad)}.grad-app{background:var(--app-grad)}.page{max-width:760px;margin:0 auto;padding:12px 14px 40px}.navbar{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:16px;border-radius:var(--radius);color:#fff;margin-bottom:18px}.navbar .brand{display:flex;align-items:center;gap:10px;min-width:0}.navbar .brand .logo{width:40px;height:40px;border-radius:11px;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:20px}.navbar .brand h1{font-size:18px;margin:0;font-weight:700;white-space:nowrap}.navbar .brand .sub{font-size:12px;opacity:.85}.navbar .nav-actions{display:flex;align-items:stretch;gap:10px;width:100%}.navbar .nav-actions button{flex:1 1 0;background:#ffffff2e;color:#fff;border:none;padding:11px 10px;border-radius:999px;font-size:14px;cursor:pointer;min-height:44px;white-space:nowrap}.navbar .nav-actions button.active{background:#ffffff52;font-weight:600}.navbar .nav-actions button:hover{background:#ffffff4d}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.grid-children{display:grid;grid-template-columns:1fr;gap:16px}.child-card .head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;flex-shrink:0}.avatar.has-photo,.big-avatar.has-photo{background-size:cover;background-position:center;background-repeat:no-repeat}.avatar-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.btn-mini{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;min-height:36px}.btn-mini:hover{background:var(--surface-soft)}.btn-mini.danger{border-color:var(--danger);color:var(--danger)}.btn-mini:disabled{opacity:.55;cursor:not-allowed}.child-card .head .name{font-weight:700;font-size:16px}.name-alias{font-weight:400;font-size:13px;color:var(--text-muted);margin-left:6px}.child-card .head .role{font-size:12px;color:var(--text-muted)}.balance-pill{border-radius:12px;padding:16px 18px;color:#fff;margin-bottom:14px}.balance-pill .label{font-size:12px;opacity:.85}.balance-pill .value{font-size:30px;font-weight:700;line-height:1.1}.balance-pill .value .unit{font-size:15px;font-weight:500;opacity:.9}.balance-hero{border-radius:16px;padding:22px 24px;color:#fff;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.balance-hero .value{font-size:40px;font-weight:700;line-height:1.05}.balance-hero .value .unit{font-size:18px;opacity:.9}.balance-hero .big-avatar{width:62px;height:62px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700}.btn-row{display:flex;gap:8px;margin-bottom:8px}.btn{flex:1;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);color:var(--text);padding:11px 12px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{background:var(--surface-soft)}.btn.credit{border-color:var(--success);color:var(--success)}.btn.credit.active{background:var(--success);color:#fff}.btn.debit{border-color:var(--danger);color:var(--danger)}.btn.debit.active{background:var(--danger);color:#fff}.btn.primary{background:var(--app-grad);color:#fff;border:none}.btn.link{border:none;background:transparent;color:var(--text-muted);text-decoration:underline}.btn:disabled{opacity:.55;cursor:not-allowed}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 13px}.stat .label{font-size:12px;color:var(--text-muted)}.stat .value{font-size:20px;font-weight:700}.stat .value.pos{color:var(--success)}.stat .value.neg{color:var(--danger)}.section-title{font-weight:700;font-size:15px;margin:0 0 12px;display:flex;align-items:center;gap:6px}.tx{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.tx:last-child{border-bottom:none}.tx .icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.tx .icon.pos{background:var(--success-bg);color:var(--success)}.tx .icon.neg{background:var(--danger-bg);color:var(--danger)}.tx .body{flex:1;min-width:0}.tx .body .reason{font-size:14px}.tx .body .meta{font-size:12px;color:var(--text-muted)}.tx .amount{font-size:15px;font-weight:700}.tx .amount.pos{color:var(--success)}.tx .amount.neg{color:var(--danger)}.empty{text-align:center;color:var(--text-muted);padding:24px 8px;font-size:14px}.form-field{margin-bottom:12px}.form-field label{display:block;font-size:13px;color:var(--text-muted);margin-bottom:6px}.form-field input{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:16px;min-height:46px}.form-field input:focus{outline:none;border-color:#378add}.form-error{color:var(--danger);font-size:13px;margin:6px 0 0}.wip-banner{display:flex;align-items:center;gap:12px;background:var(--warning-bg);border:1px solid #f0d29a;border-radius:var(--radius);padding:18px 20px;color:var(--warning)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:380px;background:var(--surface);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.login-header{background:var(--app-grad);color:#fff;padding:28px 24px;text-align:center}.login-header .logo{font-size:34px}.login-header h1{margin:8px 0 2px;font-size:22px}.login-header p{margin:0;opacity:.9;font-size:13px}.login-body{padding:22px 24px 26px}.center-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}@media (min-width: 700px){.grid-children{grid-template-columns:1fr 1fr}.navbar{flex-direction:row;align-items:center;justify-content:space-between}.navbar .brand h1{font-size:20px}.navbar .nav-actions{width:auto}.navbar .nav-actions button{flex:0 0 auto;padding:9px 14px}}
