/* Portal Admin Theme */
:root {
  --portal-bg: #05100f;
  --portal-surface: #0a1c1a;
  --portal-surface-hover: #0e2421;
  --portal-border: rgba(255, 236, 186, 0.2);
  --portal-gold: #f4ead6;
  --portal-gold-hover: #ffeec2;
  --portal-text: rgba(253, 247, 232, 0.85);
  --portal-text-muted: rgba(253, 247, 232, 0.5);
  --primary: #e2a842;
  --body-bg: #05100f;
  --body-fg: rgba(253, 247, 232, 0.85);
  --header-bg: #071615;
  --header-color: #f4ead6;
  --breadcrumbs-bg: #061413;
  --breadcrumbs-fg: rgba(253, 247, 232, 0.7);
  --hairline-color: rgba(255, 236, 186, 0.15);
  --border-color: rgba(255, 236, 186, 0.2);
}

body {
  background-color: var(--portal-bg);
  color: var(--portal-text);
  font-family: 'Jost', system-ui, sans-serif;
}

#container, #content, .content {
  background-color: var(--portal-bg);
  color: var(--portal-text);
}

/* Header */
#header {
  background: #071615;
  border-bottom: 1px solid var(--portal-border);
  color: var(--portal-gold);
}
#branding h1, #branding h1 a, #branding h1 a:visited {
  color: var(--portal-gold);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}
#user-tools {
  color: var(--portal-text-muted);
}
#user-tools a { color: var(--portal-gold); border-bottom: 1px solid transparent; }
#user-tools a:hover { color: var(--portal-gold-hover); border-bottom-color: var(--portal-gold-hover); }

/* Breadcrumbs & Navigation */
div.breadcrumbs {
  background: #061413;
  color: var(--portal-text-muted);
  border-bottom: 1px solid var(--portal-border);
  font-family: 'Jost', sans-serif;
  letter-spacing: 0.04em;
}
div.breadcrumbs a {
  color: var(--portal-gold);
}
div.breadcrumbs a:hover {
  color: var(--portal-gold-hover);
}

/* Sidebar (Django 4+ responsive nav sidebar) */
#nav-sidebar {
  background: var(--portal-surface);
  border-right: 1px solid var(--portal-border);
}
#nav-sidebar .current-app .section:link, #nav-sidebar .current-app .section:visited {
  color: var(--portal-gold);
}
#nav-sidebar tr:hover {
  background: var(--portal-surface-hover);
}

/* Modules (Sidebar & Boxes) */
.module {
  background: var(--portal-surface);
  border: 1px solid var(--portal-border);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 20px;
}
.module h2, .module caption {
  background: #0e2321;
  color: var(--portal-gold);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.15rem;
  letter-spacing: 0.06em;
}

/* Links & Tables */
a:link, a:visited { color: var(--portal-gold); }
a:hover { color: var(--portal-gold-hover); }
table { background: transparent; width: 100%; }
thead th { background: #0e2321; color: var(--portal-gold); border-bottom: 1px solid var(--portal-border); }
thead th a:link, thead th a:visited { color: var(--portal-gold); }
tr:nth-child(even) { background: rgba(255, 255, 255, 0.02); }
tr:hover { background: rgba(255, 236, 186, 0.05); }
td, th { border-bottom: 1px solid rgba(255, 236, 186, 0.08); }

/* Buttons */
.button, input[type=submit], input[type=button], .submit-row input, a.button {
  background: rgba(255, 236, 196, 0.1);
  border: 1px solid var(--portal-border);
  color: var(--portal-gold);
  border-radius: 2px;
  font-family: 'Jost', sans-serif;
  letter-spacing: 0.06em;
  transition: all 0.3s ease;
  padding: 8px 16px;
  text-transform: uppercase;
  font-size: 0.75rem;
}
.button:hover, input[type=submit]:hover, input[type=button]:hover, .submit-row input:hover, a.button:hover {
  background: rgba(255, 236, 196, 0.2);
  border-color: var(--portal-gold);
  color: #fff;
}
.button.default, input[type=submit].default {
  background: rgba(226, 168, 66, 0.25);
  border-color: rgba(226, 168, 66, 0.5);
  color: var(--portal-gold);
}
.button.default:hover, input[type=submit].default:hover {
  background: rgba(226, 168, 66, 0.4);
  border-color: var(--portal-gold);
  color: #fff;
}

/* Form Inputs */
input, textarea, select {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid var(--portal-border);
  color: var(--portal-text);
  border-radius: 2px;
  padding: 6px 10px;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--portal-gold);
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 236, 186, 0.15);
}

/* Fieldsets & Forms */
fieldset {
  background: var(--portal-surface);
  border: 1px solid var(--portal-border);
  border-radius: 4px;
}
fieldset h2 {
  background: #0e2321;
  color: var(--portal-gold);
  font-family: 'Cormorant Garamond', Georgia, serif;
}
.form-row {
  border-bottom: 1px solid rgba(255, 236, 186, 0.08);
}
.help, p.help {
  color: var(--portal-text-muted);
}

/* Pagination & Footer */
.paginator { background: var(--portal-surface); border-top: 1px solid var(--portal-border); color: var(--portal-text); }
.paginator a:link, .paginator a:visited { background: var(--portal-surface); border: 1px solid var(--portal-border); color: var(--portal-gold); }
#footer { color: var(--portal-text-muted); border-top: 1px solid var(--portal-border); }

/* Messages / Alerts */
ul.messagelist li.info { background: #0b2422; color: var(--portal-gold); border: 1px solid var(--portal-border); }
ul.messagelist li.success { background: #0c2b1e; color: #b7e3cc; border: 1px solid rgba(183, 227, 204, 0.3); }
ul.messagelist li.warning { background: #2f250e; color: #f7d287; border: 1px solid rgba(247, 210, 135, 0.3); }
ul.messagelist li.error { background: #2e1111; color: #f2a6a6; border: 1px solid rgba(242, 166, 166, 0.3); }
