/* ============================================================================
 * StaffEssentials public site — "Default" theme.
 *
 * HOW TO MAKE YOUR OWN THEME:
 *   1. Copy the whole themes/default folder to themes/myname
 *   2. Edit themes/myname/style.css (start with the variables below)
 *   3. Edit themes/myname/theme.json (display name / author)
 *   4. Set 'theme' => 'myname' in config.php and re-upload
 *
 * The quickest re-skin is just changing the --variables in :root.
 * Classes you can rely on: .navbar .brand .nav-search .container .card
 *   table th td .badge (.badge-active/.badge-expired/.badge-reversed)
 *   .btn .btn-primary .btn-secondary .alert (.alert-success/.alert-error)
 *   .tabs .pagination .avatar .cell-main .search-bar .form-group .footer
 *   .announcement (config announcement_html) .freshness (list freshness line)
 * ========================================================================== */

:root{
    --bg:#1a1a2e;            /* page background */
    --card:#16213e;          /* cards, navbar */
    --card-border:#0f3460;   /* card borders, inputs, table lines */
    --input-bg:#0f3460;      /* input background */
    --text:#e0e0e0;          /* body text */
    --muted:#888;            /* secondary text */
    --accent:#e94560;        /* headings, brand, primary buttons */
    --accent-hover:#c62828;  /* primary button hover */
    --link:#4fc3f7;          /* links */
    --row-hover:#1a2745;     /* table row hover */
    --danger:#c62828;        /* ACTIVE badge */
    --success:#2e7d32;       /* REVERSED badge */
    --grey:#555;             /* EXPIRED badge */
}

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
.navbar{display:flex;align-items:center;justify-content:space-between;background:var(--card);padding:12px 24px;border-bottom:2px solid var(--card-border);flex-wrap:wrap;gap:8px}
.brand{font-size:1.3em;font-weight:700;color:var(--accent)}
.nav-search{display:flex;gap:8px}
.nav-search input{background:var(--input-bg);color:var(--text);border:1px solid #233;padding:8px 12px;border-radius:4px;width:220px}
.container{max-width:900px;margin:24px auto;padding:0 16px}
.card{background:var(--card);border-radius:8px;padding:20px;margin-bottom:16px;border:1px solid var(--card-border)}
h1,h2,h3{margin-bottom:12px;color:var(--accent)}
table{width:100%;border-collapse:collapse;margin:12px 0}
th,td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--card-border)}
th{background:var(--input-bg);color:#ccc;font-weight:600}
tr:hover{background:var(--row-hover)}
.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.8em;font-weight:600}
.badge-active{background:var(--danger);color:#fff}
.badge-expired{background:var(--grey);color:#ccc}
.badge-reversed{background:var(--success);color:#fff}
.badge-revoked{background:var(--success);color:#fff} /* legacy alias */
input,select,textarea{background:var(--input-bg);color:var(--text);border:1px solid #233;padding:8px 12px;border-radius:4px;width:100%;margin:4px 0}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
.btn{display:inline-block;padding:8px 16px;border-radius:4px;border:none;cursor:pointer;font-weight:600;text-align:center;font-size:.9em;color:#ccc}
.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}
.btn-secondary{background:var(--input-bg);border:1px solid #233}.btn-secondary:hover{background:var(--row-hover)}
.form-group{margin-bottom:12px}
.form-group label{display:block;margin-bottom:4px;color:#aaa;font-size:.9em}
.alert{padding:12px;border-radius:4px;margin-bottom:12px}
.alert-success{background:#1b5e20;color:#a5d6a7;border:1px solid #2e7d32}
.alert-error{background:#b71c1c;color:#ef9a9a;border:1px solid #c62828}
.search-bar{display:flex;gap:8px}
.search-bar input{flex:1}
.footer{text-align:center;padding:16px;color:#555;font-size:.8em;margin-top:32px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.avatar{width:24px;height:24px;border-radius:6px;vertical-align:-6px;margin-right:8px;image-rendering:pixelated}
.cell-main{display:flex;align-items:center;min-width:0}
.announcement{margin-bottom:16px}
.freshness{color:var(--muted);font-size:.85em;margin:-8px 0 16px}
