.btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#0f2a4a,#1d4a7a);color:#fff;border:0;padding:10px 16px;border-radius:12px;cursor:pointer;text-decoration:none;font-size:14px;font-weight:700;box-shadow:0 6px 16px rgba(15,42,74,.22)}
.btn:hover{transform:translateY(-2px);filter:brightness(1.07)}
.btn.gold{background:linear-gradient(135deg,#c9a227,#f0d060);color:#0f2a4a}
.btn.teal{background:linear-gradient(135deg,#0f766e,#14b8a6)}
.btn.danger{background:linear-gradient(135deg,#991b1b,#ef4444)}
.btn.ghost{background:var(--card2);color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn.small{padding:6px 10px;font-size:12px;border-radius:9px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;margin:4px 0 10px;font-size:14px;background:var(--card);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(20,184,166,.4);border-color:var(--teal)}
label{font-size:13px;font-weight:600;color:var(--mut)}
.alert{padding:12px 14px;border-radius:12px;margin-bottom:12px;border:1px solid;font-weight:600}
.alert.success{background:#dcfce7;color:#166534;border-color:#86efac}
.alert.error{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.badge{padding:4px 11px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.b-unpaid{background:#fee2e2;color:#991b1b}.b-partial{background:#fef9c3;color:#854d0e}.b-paid{background:#dcfce7;color:#166534}
.b-admin{background:#0f2a4a;color:#fff}.b-staff{background:#ccfbf1;color:#0f766e}.b-cashier{background:#ccfbf1;color:#0f766e}.b-teacher{background:#ede9fe;color:#5b21b6}.b-student{background:#e2e8f0;color:#334155}
.b-pending{background:#fef3c7;color:#92400e}.b-active{background:#dcfce7;color:#166534}.b-suspended{background:#fee2e2;color:#991b1b}
.avatar{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:#0f2a4a;flex:none}
.avatar.a-admin{background:linear-gradient(135deg,#0f2a4a,#475569)}
.avatar.a-staff{background:linear-gradient(135deg,#0f766e,#14b8a6)}
.avatar.a-cashier{background:linear-gradient(135deg,#0f766e,#14b8a6)}
.avatar.a-teacher{background:linear-gradient(135deg,#6d28d9,#a78bfa)}
.avatar.a-student{background:linear-gradient(135deg,#64748b,#cbd5e1)}
.muted{color:var(--mut)}.right{text-align:right}.flex{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.meter{height:10px;background:var(--card2);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.meter>div{height:100%;background:linear-gradient(90deg,var(--teal),var(--gold))}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--card2);border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--mut)}
details.editrow{margin-top:8px;background:var(--card2);border:1px dashed var(--line);border-radius:12px;padding:10px 12px}
details.editrow summary{cursor:pointer;color:var(--teal-d);font-size:13px;font-weight:800}
.searchbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.searchbar>div{flex:1;min-width:160px}
.empty{padding:26px;text-align:center;color:var(--mut)}
