*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#2563eb;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--bg:#f1f5f9;--card:#fff;--sidebar:#0f172a;--text:#1e293b;--muted:#64748b;--border:#e2e8f0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text)}
.layout{display:flex;min-height:100vh}
.sidebar{width:220px;background:var(--sidebar);color:#e2e8f0;padding:20px 0;flex-shrink:0;position:fixed;height:100vh}
.sidebar h2{font-size:16px;padding:0 20px 20px;border-bottom:1px solid #1e293b;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.sidebar a{display:flex;align-items:center;gap:10px;padding:10px 20px;color:#94a3b8;font-size:14px;cursor:pointer;transition:.2s;text-decoration:none}
.sidebar a:hover,.sidebar a.active{background:#1e293b;color:#fff}
.main{margin-left:220px;padding:24px;flex:1}
.card{background:var(--card);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}
.stat{background:var(--card);border-radius:12px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.stat .label{font-size:13px;color:var(--muted);margin-bottom:4px}
.stat .value{font-size:24px;font-weight:700}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.topbar h1{font-size:20px}
table{width:100%;border-collapse:collapse;font-size:13px}
th{background:#f8fafc;padding:10px 12px;text-align:left;font-weight:600;color:var(--muted);font-size:12px;border-bottom:2px solid var(--border)}
td{padding:10px 12px;border-bottom:1px solid #f1f5f9}
tr:hover td{background:#f8fafc}
.btn{padding:6px 14px;border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px;background:#fff;transition:.2s;display:inline-flex;align-items:center;gap:6px}
.btn:hover{background:#f1f5f9}
.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.mono{font-family:'SF Mono',monospace;font-size:12px}
.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}
.badge-pending{background:#fef3c7;color:#d97706}
.badge-paid{background:#d1fae5;color:#16a34a}
.badge-closed{background:#fee2e2;color:#dc2626}
.badge-refunded{background:#e0e7ff;color:#4f46e5}
input,select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;width:100%}
.toast{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:8px;color:#fff;font-size:14px;z-index:99999;animation:slideIn .3s}
.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-info{background:var(--primary)}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#1e3a5f,#2563eb)}
.login-box{background:#fff;border-radius:16px;padding:40px;width:360px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.login-box h1{text-align:center;margin-bottom:24px;font-size:22px;color:var(--primary)}
.hidden{display:none!important}