:root{--bg-main: #0B0F19;--bg-card: #111827;--bg-card-hover: #1A2234;--bg-input: #1F293D;--border-subtle: #2D3748;--border-focus: #6366F1;--primary: #6366F1;--primary-hover: #4F46E5;--primary-glow: rgba(99, 102, 241, .25);--success: #10B981;--warning: #F59E0B;--danger: #EF4444;--text-main: #F9FAFB;--text-muted: #9CA3AF;--text-dim: #6B7280;--font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Space Grotesk", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-main);min-height:100vh;font-size:13px;line-height:1.4;-webkit-font-smoothing:antialiased}.admin-app{min-height:100vh;display:flex;flex-direction:column}.admin-header{background:#111827f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-subtle);padding:.5rem 1.5rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:40;height:52px}.logo-badge{display:flex;align-items:center;gap:.5rem}.logo-icon{width:28px;height:28px;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.95rem;box-shadow:0 2px 8px #6366f166}.logo-title{font-size:1.05rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(to right,#fff,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-tag{background:#6366f126;color:#818cf8;border:1px solid rgba(99,102,241,.3);font-size:.65rem;font-weight:700;text-transform:uppercase;padding:.15rem .45rem;border-radius:9999px;margin-left:.35rem;letter-spacing:.03em}.admin-nav-actions{display:flex;align-items:center;gap:.75rem}.admin-user-info{display:flex;align-items:center;gap:.5rem;background:#1f293799;padding:.25rem .65rem;border-radius:9999px;border:1px solid var(--border-subtle)}.admin-avatar{width:22px;height:22px;border-radius:50%;background:#6366f1;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.65rem}.admin-name{font-size:.78rem;font-weight:600;color:var(--text-main)}.btn-secondary{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-subtle);padding:.35rem .75rem;border-radius:6px;font-weight:600;font-size:.78rem;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--text-muted)}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:.45rem 1rem;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;box-shadow:0 2px 8px var(--primary-glow);transition:all .15s ease}.btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px)}.btn-danger{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3);padding:.25rem .55rem;border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-danger:hover{background:#ef44444d;border-color:#ef4444}.btn-success{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3);padding:.25rem .55rem;border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-success:hover{background:#10b9814d;border-color:#10b981}.admin-content{flex:1;max-width:1320px;width:100%;margin:0 auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.metrics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}@media (max-width: 1100px){.metrics-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}.metric-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:.75rem .9rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 2px 4px #00000026;transition:transform .15s ease,border-color .15s ease}.metric-card:hover{transform:translateY(-1px);border-color:var(--primary)}.metric-card.mrr-highlight{background:linear-gradient(135deg,#6366f11f,#a855f70f);border:1px solid rgba(99,102,241,.4)}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.metric-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.metric-icon{font-size:.95rem}.metric-value{font-size:1.45rem;font-weight:800;font-family:var(--font-mono);color:var(--text-main);line-height:1.1;margin-bottom:.2rem}.metric-sub{font-size:.7rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plans-breakdown{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:.6rem 1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.plans-title{font-size:.8rem;font-weight:700;display:flex;align-items:center;gap:.4rem}.plans-pills{display:flex;flex-wrap:wrap;gap:.5rem}.plan-pill{display:flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:5px;font-size:.72rem;font-weight:600}.plan-pill.basic{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.plan-pill.pro{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.plan-pill.premium{background:#eab30826;color:#facc15;border:1px solid rgba(234,179,8,.3)}.plan-pill.free{background:#9ca3af26;color:#9ca3af;border:1px solid rgba(156,163,175,.3)}.directory-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.directory-toolbar{padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem}.directory-title{font-size:.95rem;font-weight:700;display:flex;align-items:center;gap:.4rem}.directory-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.search-input{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-main);padding:.35rem .75rem;font-size:.78rem;outline:none;min-width:220px;height:32px}.search-input:focus{border-color:var(--border-focus)}.filter-select{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-main);padding:.35rem .65rem;font-size:.78rem;outline:none;cursor:pointer;height:32px}.filter-select:focus{border-color:var(--border-focus)}.table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:.78rem}.admin-table th{background:#1f293799;padding:.55rem .85rem;color:var(--text-muted);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle)}.admin-table td{padding:.55rem .85rem;border-bottom:1px solid rgba(55,65,81,.4);vertical-align:middle}.admin-table tr:hover td{background:var(--bg-card-hover)}.tenant-identity{display:flex;flex-direction:column}.tenant-name{font-weight:700;color:var(--text-main);font-size:.85rem}.tenant-slug{font-size:.68rem;color:var(--text-dim);font-family:var(--font-mono)}.owner-info{display:flex;flex-direction:column;font-size:.75rem}.owner-phone{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;border-radius:4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.badge.plan-basic{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.badge.plan-pro{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.badge.plan-premium{background:#eab30826;color:#facc15;border:1px solid rgba(234,179,8,.3)}.badge.plan-free{background:#9ca3af26;color:#9ca3af;border:1px solid rgba(156,163,175,.3)}.badge.status-active{background:#10b98126;color:#34d399}.badge.status-trialing{background:#3b82f626;color:#60a5fa}.badge.status-past_due{background:#ef444426;color:#f87171}.badge.status-canceled{background:#6b728033;color:#9ca3af}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.status-dot.green{background:#10b981;box-shadow:0 0 6px #10b98180}.status-dot.red{background:#ef4444}.actions-cell{display:flex;gap:.35rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;max-width:440px;width:100%;padding:1.25rem;box-shadow:0 16px 20px -5px #00000080;animation:modalIn .15s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-title{font-size:1.05rem;font-weight:700}.form-group{margin-bottom:.85rem;display:flex;flex-direction:column;gap:.25rem}.form-label{font-size:.75rem;font-weight:600;color:var(--text-muted)}.form-input,.form-select{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:6px;padding:.45rem .65rem;color:var(--text-main);font-size:.78rem;outline:none}.form-input:focus,.form-select:focus{border-color:var(--border-focus)}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.15rem}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(circle at top,rgba(99,102,241,.12) 0%,transparent 60%),var(--bg-main)}.login-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;max-width:380px;width:100%;padding:1.75rem;box-shadow:0 20px 30px -10px #00000080}.login-header{text-align:center;margin-bottom:1.5rem}.login-logo{display:inline-flex;width:44px;height:44px;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:10px;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:.75rem;box-shadow:0 4px 12px #6366f166}.login-title{font-size:1.25rem;font-weight:800;letter-spacing:-.02em}.login-subtitle{font-size:.78rem;color:var(--text-muted);margin-top:.2rem}.error-banner{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:.5rem .75rem;border-radius:6px;font-size:.75rem;margin-bottom:1rem;display:flex;align-items:center;gap:.4rem}
