*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f172a;color:#e2e8f0;line-height:1.5}a{color:#93c5fd;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font:inherit}input,select,textarea{font:inherit;padding:9px 12px;border:1px solid #334155;border-radius:6px;width:100%;background:#1e293b;color:#e2e8f0}input:focus,select:focus,textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#020617;padding:24px 16px;border-right:1px solid #1e293b}.sidebar .logo{font-size:18px;font-weight:700;margin-bottom:24px;color:#fff}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{color:#94a3b8;padding:9px 12px;border-radius:6px;font-size:14px;transition:all .15s}.sidebar nav a:hover{background:#1e293b;color:#fff;text-decoration:none}.sidebar nav a.active{background:#1e3a8a;color:#fff}.sidebar .footer{margin-top:32px;padding-top:16px;border-top:1px solid #1e293b}.main{padding:28px 32px;overflow-y:auto}.page-title{font-size:24px;font-weight:600;margin-bottom:24px;color:#fff}.card{background:#1e293b;border:1px solid #334155;border-radius:10px;padding:20px}.card-title{font-weight:600;margin-bottom:12px;color:#fff;font-size:15px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat{background:#1e293b;border:1px solid #334155;border-radius:10px;padding:18px}.stat .label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.stat .value{font-size:28px;font-weight:700;color:#fff;margin-top:4px}.stat .delta{font-size:13px;color:#34d399;margin-top:4px}.stat .delta.neg{color:#f87171}.chart-row{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:24px}@media (max-width: 900px){.chart-row{grid-template-columns:1fr}}.alert{padding:10px 14px;border-radius:6px;margin-bottom:8px;font-size:14px}.alert.info{background:#1e3a8a;color:#dbeafe}.alert.warning{background:#78350f;color:#fef3c7}.alert.critical{background:#7f1d1d;color:#fee2e2}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:6px;border:1px solid transparent;font-weight:500;font-size:14px;transition:all .15s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#334155;color:#e2e8f0}.btn-secondary:hover{background:#475569}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.btn-success{background:#16a34a;color:#fff}.btn-success:hover{background:#15803d}.btn-sm{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:10px 12px;text-align:left;border-bottom:1px solid #334155}.table th{background:#0f172a;color:#94a3b8;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.table tbody tr:hover{background:#283447}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;text-transform:capitalize}.badge-pending{background:#78350f;color:#fef3c7}.badge-confirmed,.badge-paid,.badge-active{background:#064e3b;color:#d1fae5}.badge-declined,.badge-cancelled,.badge-failed,.badge-no_show,.badge-inactive{background:#7f1d1d;color:#fee2e2}.badge-rescheduled{background:#1e3a8a;color:#dbeafe}.badge-completed{background:#4338ca;color:#e0e7ff}.badge-refunded,.badge-partially_refunded{background:#581c87;color:#f3e8ff}.form{display:flex;flex-direction:column;gap:12px}.form label{font-size:12px;color:#94a3b8;margin-bottom:4px;display:block}.error{color:#fca5a5;padding:10px;background:#7f1d1d;border-radius:6px;font-size:14px}.success{color:#86efac;padding:10px;background:#064e3b;border-radius:6px;font-size:14px}.muted{color:#94a3b8}.flex{display:flex;gap:10px;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.spacer{flex:1}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}
