:root{--brand:#2563EB;--ink:#0f172a;--mut:#64748b;--line:#e2e8f0;--bg:#f1f5f9;--ok:#16a34a;--bad:#dc2626;--warn:#d97706}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--brand);text-decoration:none}
.btn{display:inline-block;background:var(--brand);color:#fff;border:0;padding:10px 18px;border-radius:10px;cursor:pointer;font-size:15px}
.btn:hover{filter:brightness(1.1)}.btn.gray{background:#475569}.btn.red{background:var(--bad)}.btn.green{background:var(--ok)}.btn.sm{padding:6px 12px;font-size:13px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;font-size:15px;margin:4px 0 12px;background:#fff}
label{font-size:13px;color:var(--mut);font-weight:600}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:700;background:#e2e8f0}
.badge.paid,.badge.active,.badge.refunded{background:#dcfce7;color:#166534}.badge.failed,.badge.cancelled{background:#fee2e2;color:#991b1b}
.badge.pending,.badge.initiated,.badge.past_due,.badge.requested{background:#fef9c3;color:#854d0e}.badge.expired{background:#e5e7eb;color:#374151}
.badge.partially_refunded,.badge.trial,.badge.processing{background:#dbeafe;color:#1e40af}
.alert{padding:12px 16px;border-radius:10px;margin-bottom:14px;font-size:14px}.alert.ok{background:#dcfce7;color:#166534}.alert.err{background:#fee2e2;color:#991b1b}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.stat b{font-size:24px;display:block}.stat span{color:var(--mut);font-size:13px}
.small{font-size:12px;color:var(--mut)}.mono{font-family:ui-monospace,monospace;font-size:12px;word-break:break-all}
/* admin layout */
.shell{display:flex;min-height:100vh}.side{width:230px;background:#0f172a;color:#e2e8f0;padding:18px 14px;flex-shrink:0}
.side a{display:block;color:#e2e8f0;padding:9px 10px;border-radius:8px;font-size:14px}.side a:hover{background:#1e293b}
.side .logo{display:flex;gap:10px;align-items:center;margin-bottom:18px}.logo-badge{width:38px;height:38px;border-radius:10px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px}
.main{flex:1;padding:22px;max-width:1200px}
@media(max-width:800px){.side{display:none}.main{padding:14px}}
/* checkout */
.co-wrap{max-width:520px;margin:26px auto;padding:0 14px}
.method{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px;cursor:pointer;background:#fff}
.method:hover{border-color:var(--brand)}.method input{width:auto;margin:0}.method .ic{font-size:24px}
.timer{color:var(--warn);font-weight:700}
.center{text-align:center}.big-emoji{font-size:52px}
