/* ── EventPro Dark Theme ────────────────────────────── */

:root {
    --accent:    #DDFF00;
    --accent-hv: #c8e600;
    --bg:        #0d0d0d;
    --surface:   #1a1a1a;
    --surface2:  #222222;
    --border:    #2a2a2a;
    --text:      #ffffff;
    --text-muted:#9ca3af;
    --text-dim:  #6b7280;
}

/* Base */
body { background: var(--bg); color: var(--text); }

/* Inputs */
.dark-input, .dark-select, .dark-textarea {
    width: 100%;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: .5rem;
    padding: .5rem .75rem;
    font-size: .875rem;
    color: var(--text);
    outline: none;
    transition: border-color .15s;
}
.dark-input::placeholder,
.dark-textarea::placeholder { color: #4b5563; }
.dark-input:focus,
.dark-select:focus,
.dark-textarea:focus { border-color: var(--accent); }
.dark-select option  { background: var(--surface); }

/* Buttons */
.btn-primary {
    background: var(--accent);
    color: var(--bg);
    font-weight: 700;
    padding: .5rem 1.25rem;
    border-radius: .5rem;
    border: none;
    cursor: pointer;
    font-size: .875rem;
    transition: background .15s;
    display: inline-block;
    text-decoration: none;
}
.btn-primary:hover { background: var(--accent-hv); }

.btn-ghost {
    background: transparent;
    color: var(--text-muted);
    font-weight: 500;
    padding: .5rem 1.25rem;
    border-radius: .5rem;
    border: 1px solid var(--border);
    cursor: pointer;
    font-size: .875rem;
    transition: all .15s;
    display: inline-block;
    text-decoration: none;
}
.btn-ghost:hover { border-color: #555; color: var(--text); }

/* Cards */
.card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: .75rem;
}

/* Tables */
.dark-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.dark-table thead tr { background: var(--surface2); border-bottom: 1px solid var(--border); }
.dark-table thead th { padding: .75rem 1rem; text-align: left; font-size: .75rem; font-weight: 600; color: var(--text-dim); text-transform: uppercase; letter-spacing: .05em; }
.dark-table tbody tr { border-bottom: 1px solid var(--border); transition: background .1s; }
.dark-table tbody tr:last-child { border-bottom: none; }
.dark-table tbody tr:hover { background: var(--surface2); }
.dark-table tbody td { padding: .75rem 1rem; color: var(--text-muted); }

/* Badges */
.badge-pending   { background: #3d2e00; color: #fbbf24; font-size:.75rem; font-weight:600; padding:.2rem .6rem; border-radius:999px; }
.badge-confirmed { background: #14532d; color: #86efac; font-size:.75rem; font-weight:600; padding:.2rem .6rem; border-radius:999px; }
.badge-cancelled { background: #450a0a; color: #fca5a5; font-size:.75rem; font-weight:600; padding:.2rem .6rem; border-radius:999px; }
.badge-draft     { background: #1f2937; color: #9ca3af; font-size:.75rem; font-weight:600; padding:.2rem .6rem; border-radius:999px; }
.badge-active    { background: #14532d; color: #86efac; font-size:.75rem; font-weight:600; padding:.2rem .6rem; border-radius:999px; }
.badge-closed    { background: #450a0a; color: #fca5a5; font-size:.75rem; font-weight:600; padding:.2rem .6rem; border-radius:999px; }

/* Flash messages */
.flash-success { background:#14532d; border-left:3px solid #22c55e; color:#86efac; padding:.75rem 1rem; border-radius:.5rem; font-size:.875rem; margin-bottom:1rem; }
.flash-error   { background:#450a0a; border-left:3px solid #ef4444; color:#fca5a5; padding:.75rem 1rem; border-radius:.5rem; font-size:.875rem; margin-bottom:1rem; }

/* Sidebar overlay fix */
#sidebar { transition: transform 0.2s ease-in-out; }
