/* ============================================================
   carpin dark-theme overlay (admin pages)
   Loaded after the inline <style> block in each admin page so
   it wins specificity ties. Surfaces flip from white/light to
   black + #C8FF00 lime green.

   Public user pages (/<code>) are NOT included — they keep
   per-user theme colours from the Design tab.
   ============================================================ */

:root {
    --c-bg:      #000000;
    --c-elev:    #0a0a0a;
    --c-card:    #161616;
    --c-card-2:  #1f1f1f;
    --c-border:  #2a2a2a;
    --c-text:    #ffffff;
    --c-text-2:  #b8b8b8;
    --c-muted:   #888888;
    --c-accent:  #C8FF00;
    --c-accent-soft: rgba(200, 255, 0, 0.08);
}

html, body {
    background: var(--c-bg) !important;
    color: var(--c-text);
}

/* ---------- Navbar ---------- */
.navbar, .topbar, header.main-header {
    background: var(--c-elev) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.55) !important;
    color: var(--c-text);
}
.navbar h2, .navbar-logo, .navbar-right span, .navbar-right a {
    color: var(--c-text) !important;
}
.navbar h2 { color: var(--c-accent) !important; }

/* ---------- Cards / containers ---------- */
.card, .stat-card, .info-box, .premium-box, .panel, .auth-box,
.contact-card, .container > .card, .form-card,
.theme-card, .code-tier, .pricing-card-inner {
    background: var(--c-card) !important;
    color: var(--c-text) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45) !important;
    border-color: var(--c-border) !important;
}

.stat-card h3 { color: var(--c-text-2) !important; }
.stat-card .value { color: var(--c-accent) !important; }
.card h2, .card h3, .card h4 { color: var(--c-text) !important; }
.card p, .card label, .card small { color: var(--c-text-2); }

/* ---------- Tabs ---------- */
.tabs { border-bottom-color: var(--c-border) !important; }
.tab-btn, .tabs a, .tabs button {
    color: var(--c-text-2) !important;
}
.tab-btn.active, .tabs .active {
    color: var(--c-accent) !important;
    border-bottom-color: var(--c-accent) !important;
}

/* ---------- Buttons ---------- */
/* Generic .btn on the auth pages (login, register, forgot-password) has only
   the one variant — a lime-green primary action — so we treat plain .btn as
   the primary style here. */
.btn,
.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary,
input[type="submit"].btn,
button.btn {
    background: var(--c-accent) !important;
    color: #000 !important;
    font-weight: 700;
    border: none !important;
}
.btn-secondary, button.btn-secondary {
    background: #2a2a2a !important;
    color: var(--c-text) !important;
    border: 1px solid var(--c-border) !important;
}
.btn-danger { background: #dc2626 !important; color: #fff !important; }
.btn:hover, .btn-primary:hover { filter: brightness(1.08); }

/* ---------- Form inputs ---------- */
.card input[type="text"], .card input[type="email"], .card input[type="password"],
.card input[type="tel"], .card input[type="url"], .card input[type="number"],
.card textarea, .card select,
input.form-control, textarea.form-control, select.form-control,
.form-group input, .form-group textarea, .form-group select {
    background: #0d0d0d !important;
    border: 1px solid var(--c-border) !important;
    color: var(--c-text) !important;
}
input::placeholder, textarea::placeholder { color: var(--c-muted) !important; }

/* Focus state on inputs */
input:focus, textarea:focus, select:focus {
    outline: 2px solid var(--c-accent) !important;
    outline-offset: 0;
    border-color: var(--c-accent) !important;
}

/* ---------- Labels / form text ---------- */
.card label, label, .form-label {
    color: var(--c-text) !important;
}

/* ---------- Generic links ---------- */
a { color: var(--c-accent); }
a:hover { color: var(--c-accent); }

/* ---------- Tables (owner/users page) ---------- */
table { background: var(--c-card) !important; color: var(--c-text) !important; }
table thead { background: var(--c-card-2) !important; }
table th { color: var(--c-text) !important; border-color: var(--c-border) !important; }
table td { border-color: var(--c-border) !important; }
table tr:hover { background: var(--c-card-2) !important; }

/* ---------- Specific overrides for known orange-tinted backgrounds ---------- */
/* These were the warm/peach tints (#fff8f3, #fff3e6, #fff) that paired with the
   old orange accent. Force them dark so they don't glow on the new theme. */
[style*="#fff8f3"], [style*="#FFF8F3"],
[style*="background: #fff8f3"], [style*="background:#fff8f3"],
[style*="background-color: #fff8f3"], [style*="background-color:#fff8f3"] {
    background: var(--c-card) !important;
    background-color: var(--c-card) !important;
}

/* ---------- Modals / popovers (cropper.js, theme picker) ---------- */
.modal, .modal-content, .modal-dialog {
    background: var(--c-card) !important;
    color: var(--c-text) !important;
    border-color: var(--c-border) !important;
}
.modal-header, .modal-footer {
    background: var(--c-card-2) !important;
    border-color: var(--c-border) !important;
}

/* ---------- Theme gallery preview cards ---------- */
.theme-tile, .theme-preview {
    background: var(--c-card) !important;
    color: var(--c-text) !important;
    border: 1px solid var(--c-border) !important;
}
.theme-tile h3 { color: var(--c-accent) !important; }

/* ---------- Owner / admin tables ---------- */
.alert-success { background: #133b1f !important; color: #b6f0c4 !important; border-color: #16a34a !important; }
.alert-error,
.alert-danger   { background: #3b1313 !important; color: #f0b6b6 !important; border-color: #dc2626 !important; }
.alert-warning  { background: #3b3013 !important; color: #f0d6b6 !important; border-color: #f59e0b !important; }
.alert-info     { background: #13283b !important; color: #b6d4f0 !important; border-color: #3b82f6 !important; }

/* ---------- Footer ---------- */
footer, .footer, .page-footer {
    background: var(--c-elev) !important;
    color: var(--c-text-2) !important;
}

/* ---------- Small text fixes ---------- */
small, .muted, .text-muted, .hint, .help-text {
    color: var(--c-muted) !important;
}

/* ---------- Map / leaflet overrides (keep the map itself readable) ---------- */
.leaflet-container { background: #1a1a1a !important; }

/* ---------- Auth screens (login, register, forgot-password) ---------- */
.auth-wrap, .auth-page {
    background: var(--c-bg) !important;
    color: var(--c-text);
}
.auth-card, .auth-box {
    background: var(--c-card) !important;
    color: var(--c-text);
    border: 1px solid var(--c-border);
}

/* ---------- "Premium" highlight boxes that had warm tints ---------- */
.premium-warning, .premium-feature, .upgrade-prompt {
    background: var(--c-card) !important;
    border: 1px solid var(--c-accent) !important;
    color: var(--c-text) !important;
}
