/* Platform Admin theme - dark by default, cool light alternative (no beige). */

:root,
[data-theme="dark"] {
    --bg: #0a0e14;
    --bg-light: #121826;
    --bg-card: #121826;
    --bg-accent: #1a2234;
    --bg-elevated: #1c2538;

    --border: #243044;
    --border-strong: #334155;

    --text-primary: #f1f5f9;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;
    --text-light: #475569;

    --primary: #3b82f6;
    --primary-hovers: #60a5fa;
    --primary-dark: #2563eb;
    --primary-light: #93c5fd;

    --accent: #06090f;
    --accent2: #3b82f6;

    --white: #121826;
    --black: #f8fafc;

    --green: #34d399;
    --green-dim: rgba(52, 211, 153, 0.15);
    --amber: #fbbf24;
    --amber-dim: rgba(251, 191, 36, 0.15);
    --red: #f87171;
    --red-dim: rgba(248, 113, 113, 0.15);
    --cyan: #22d3ee;
    --cyan-dim: rgba(34, 211, 238, 0.15);
    --violet: #a78bfa;
    --violet-dim: rgba(167, 139, 250, 0.15);
    --rose: #fb7185;
    --rose-dim: rgba(251, 113, 133, 0.15);

    --shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
    --glow-primary: 0 0 0 1px rgba(59, 130, 246, 0.25), 0 8px 28px rgba(59, 130, 246, 0.12);
}

[data-theme="light"] {
    --bg: #eef2f7;
    --bg-light: #ffffff;
    --bg-card: #ffffff;
    --bg-accent: #e2e8f0;
    --bg-elevated: #f8fafc;

    --border: #d0d7e2;
    --border-strong: #94a3b8;

    --text-primary: #0f172a;
    --text-secondary: #475569;
    --text-muted: #64748b;
    --text-light: #94a3b8;

    --primary: #2563eb;
    --primary-hovers: #1d4ed8;
    --primary-dark: #1e40af;
    --primary-light: #93c5fd;

    --accent: #0f172a;
    --accent2: #2563eb;

    --white: #ffffff;
    --black: #0f172a;

    --green: #059669;
    --green-dim: rgba(5, 150, 105, 0.12);
    --amber: #d97706;
    --amber-dim: rgba(217, 119, 6, 0.12);
    --red: #dc2626;
    --red-dim: rgba(220, 38, 38, 0.12);
    --cyan: #0891b2;
    --cyan-dim: rgba(8, 145, 178, 0.12);
    --violet: #7c3aed;
    --violet-dim: rgba(124, 58, 237, 0.12);
    --rose: #e11d48;
    --rose-dim: rgba(225, 29, 72, 0.12);

    --shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    --glow-primary: 0 0 0 1px rgba(37, 99, 235, 0.15), 0 8px 24px rgba(37, 99, 235, 0.08);
}

.status-pending { background: var(--amber-dim); color: var(--amber); }
.status-confirmed { background: var(--cyan-dim); color: var(--cyan); }
.status-completed { background: var(--green-dim); color: var(--green); }
.status-overdue { background: var(--red-dim); color: var(--red); }
.status-paid { background: var(--green-dim); color: var(--green); }

.btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-family: "DM Sans", sans-serif;
    font-weight: 500;
    cursor: pointer;
    border: none;
    transition: all 0.15s;
}

.btn-primary {
    background: var(--primary);
    color: #fff;
}

.btn-sm {
    padding: 5px 11px;
    font-size: 12px;
}

.btn-outline {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text-secondary);
}

.btn-outline:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.btn-blue {
    background: var(--accent2);
    color: #fff;
}

.btn-ghost {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.theme-toggle,
[data-theme-toggle] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    cursor: pointer;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #fff;
    transition: background 0.15s, border-color 0.15s, transform 0.15s;
    flex-shrink: 0;
    padding: 0;
    line-height: 1;
}

.theme-toggle:hover,
[data-theme-toggle]:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-1px);
}
