/* Tavren Admin — editorial control desk, sharing the public archive palette. */
:root {
  --bg: oklch(0.905 0.008 70); --surface: oklch(0.935 0.005 70); --surface-strong: oklch(0.968 0.003 70);
  --ink: oklch(0.13 0.004 285); --muted: oklch(0.39 0.045 46); --line: oklch(0.58 0.012 65);
  --line-soft: oklch(0.80 0.008 68); --accent: oklch(0.26 0.14 18); --accent-dark: oklch(0.20 0.11 18);
  --accent-soft: oklch(0.89 0.025 18); --coral: oklch(0.25 0.07 190); --coral-soft: oklch(0.89 0.012 190);
  --cognac: oklch(0.44 0.11 46); --shadow: 5px 5px 0 oklch(0.13 0.004 285 / .16);
}
body { background: var(--bg); color: var(--ink); font-family: 'Urbanist', ui-sans-serif, system-ui, sans-serif; font-weight: 500; }
body::before, body::after { display: none; }
.admin-shell { width: min(1520px, 100%); padding: 24px 32px 48px; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.login-card, .panel, .stats-grid div { border-color: var(--ink); border-radius: 0; background: var(--surface); box-shadow: none; backdrop-filter: none; }
.login-card { position: relative; width: min(980px, 100%); min-height: 520px; margin: 7vh auto; padding: 54px max(36px, 7vw); overflow: hidden; }
.login-card::after { content: 'CONTROL\A DESK'; position: absolute; inset: 0 0 0 auto; display: grid; align-content: end; width: 44%; padding: 38px; color: var(--surface-strong); background: var(--coral); white-space: pre; font-size: clamp(3rem, 7vw, 6rem); font-weight: 400; line-height: .78; letter-spacing: -.04em; }
.login-card > * { position: relative; z-index: 1; width: 48%; }
.login-card img { width: 146px; }
.login-card h1 { margin: 28px 0 30px; font-size: clamp(3rem, 6vw, 5rem); font-weight: 500; line-height: .78; letter-spacing: -.04em; }
.eyebrow { color: var(--cognac); font-size: 10px; letter-spacing: .08em; }

label { color: var(--ink); font-size: 12px; font-weight: 800; }
input, textarea { min-height: 44px; border-color: var(--line); border-radius: 2px; background: var(--surface-strong); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
input:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 2px oklch(0.26 0.14 18 / .13); }
button, .header-actions a, .row-actions a { border-radius: 2px; background: var(--accent); color: var(--surface-strong); font-size: 12px; font-weight: 800; }
button:hover, .header-actions a:hover, .row-actions a:hover { background: var(--accent-dark); }
button.secondary, .star-clear-btn { color: var(--accent); background: var(--accent-soft); }
.brand-button { background: transparent; }

.dashboard { border-top: 2px solid var(--ink); }
.admin-header { align-items: start; margin: 0; padding: 26px 0 30px; border-bottom: 1px solid var(--ink); }
.admin-header img { width: 128px; filter: brightness(0) saturate(100%); }
.admin-header .eyebrow { margin-top: 34px; }
.admin-header h1 { max-width: 840px; margin: 0; font-size: clamp(3.6rem, 8vw, 8rem); font-weight: 400; line-height: .78; letter-spacing: -.04em; }
.header-actions { padding-top: 4px; }
.header-actions a, .header-actions button { min-height: 40px; }
.header-actions a { background: var(--coral); }

.stats-grid { grid-template-columns: repeat(4, 1fr); gap: 0; margin: 0 0 28px; border-bottom: 2px solid var(--ink); }
.stats-grid div { min-height: 128px; padding: 24px 22px; border: 0; border-right: 1px solid var(--ink); background: transparent; }
.stats-grid div:last-child { border-right: 0; }
.stats-grid strong { font-size: 56px; font-weight: 400; letter-spacing: -.04em; }
.stats-grid span { color: var(--cognac); font-size: 11px; }

.admin-grid { grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr); gap: 22px; margin-bottom: 22px; }
.panel { padding: 0; }
.panel-heading { align-items: center; min-height: 82px; margin: 0; padding: 16px 18px; border-bottom: 1px solid var(--ink); }
.panel-heading .eyebrow { margin: 0 0 3px; }
.panel-heading h2 { font-size: 24px; font-weight: 800; letter-spacing: -.025em; }
.panel-heading input { background: transparent; border-width: 0 0 1px; border-color: var(--ink); border-radius: 0; }
.project-form { padding: 20px; }
.project-table, .compact-list, .log-list { gap: 0; }
.row, .log-item { border: 0; border-bottom: 1px solid var(--line-soft); border-radius: 0; padding: 14px 18px; background: transparent; }
.row:hover, .log-item:hover { background: var(--coral-soft); }
.row strong { font-size: 15px; }
.row small, .log-item small { color: var(--muted); }
.row-actions button, .row-actions a, .mini-actions button { border: 1px solid var(--ink); background: transparent; color: var(--ink); }
.row-actions button:hover, .row-actions a:hover, .mini-actions button:hover { color: var(--surface-strong); background: var(--accent); border-color: var(--accent); }

.tag-chip { border-radius: 2px; background: var(--coral); }
.tag-chip-remove { background: oklch(1 0 0 / .18); }
.star-btn { border-radius: 2px; color: var(--line); background: transparent; }
.star-btn.active, .star-btn:hover { color: oklch(0.67 0.16 55); background: oklch(0.94 0.035 55); border-color: oklch(0.67 0.16 55); }
.shot-item, .shot-empty { border-radius: 0; }
.panel-description { margin: 0; padding: 16px 18px; border-bottom: 1px solid var(--line-soft); color: var(--muted); }
.suggestion-badge { border-radius: 2px; background: var(--coral); }
.suggestion-keyword { color: var(--accent); }
.toast { border-radius: 2px; color: var(--surface-strong); background: var(--ink); box-shadow: var(--shadow); }
.brand-menu { border-color: var(--ink); border-radius: 2px; box-shadow: var(--shadow); }
.brand-menu a:hover { color: var(--surface-strong); background: var(--accent); }

@media (max-width: 900px) {
  .admin-shell { padding: 18px; }
  .admin-header h1 { font-size: clamp(3.2rem, 12vw, 6rem); }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stats-grid div:nth-child(2) { border-right: 0; }
  .stats-grid div:nth-child(-n+2) { border-bottom: 1px solid var(--ink); }
  .admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .admin-shell { padding: 10px; }
  .login-card { margin: 2vh auto; min-height: 0; padding: 28px 22px; }
  .login-card::after { display: none; }
  .login-card > * { width: 100%; }
  .login-card h1 { font-size: 3.6rem; }
  .admin-header h1 { font-size: 3.8rem; }
  .stats-grid strong { font-size: 42px; }
  .stats-grid div { min-height: 104px; padding: 18px 14px; }
  .project-form { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; } }
