/* ============================================================
   SMG PORTAL — Front-end Dashboard (matches style-smg.css tokens)
   ============================================================ */
.smg-panel{
  --ivory: #FAF8F4; --ivory-deep:#F3EFE6; --navy:#0B1426; --navy-light:#1B2C4A;
  --navy-slate:#3D4F6B; --gold:#C8972B; --gold-light:#D4AF37; --card:#EFEAE0;
  --line: rgba(11,20,38,0.12); --line-gold: rgba(200,151,43,0.35);
  --font-display:'Fraunces','Georgia',serif; --font-body:'Inter',-apple-system,sans-serif; --font-mono:'JetBrains Mono',monospace;
  font-family:var(--font-body);
  color:var(--navy);
  max-width:1100px;
  margin:3rem auto;
  padding:0 1.5rem;
}
.smg-panel h2{ font-family:var(--font-display); font-weight:500; font-size:clamp(1.6rem,1.2rem+1.6vw,2.2rem); margin:0.2rem 0 0; color:var(--navy); }
.smg-panel h3{ font-family:var(--font-display); font-weight:600; color:var(--navy); }
.smg-eyebrow{
  font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--gold); margin:0 0 0.4rem;
}
.smg-muted{ color:var(--navy-slate); font-size:0.92rem; }

/* Login */
.smg-login-panel{ max-width:440px; background:var(--ivory); border:1px solid var(--line); padding:2.6rem; border-radius:2px; }
.smg-form label{ display:flex; flex-direction:column; gap:0.4rem; font-size:0.78rem; font-weight:600; letter-spacing:0.03em; text-transform:uppercase; color:var(--navy); margin-bottom:1.2rem; }
.smg-form input[type=text], .smg-form input[type=email], .smg-form input[type=password], .smg-form input[type=date], .smg-form input[type=url], .smg-form input[type=number], .smg-form select, .smg-form textarea{
  font-family:var(--font-body); font-size:1rem; padding:0.85rem 1rem; border:1px solid var(--line); border-radius:2px; background:#fff; color:var(--navy);
}
.smg-form input:focus, .smg-form select:focus, .smg-form textarea:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,151,43,0.15); }
.smg-alert{ padding:0.8rem 1rem; border-radius:2px; font-size:0.9rem; margin-bottom:1.2rem; }
.smg-alert-error{ background:#FBEAEA; color:#9B2C2C; border:1px solid #E7B4B4; }

.smg-btn{ display:inline-flex; align-items:center; justify-content:center; padding:0.85rem 1.8rem; font-size:0.9rem; font-weight:600; border-radius:2px; transition:all .3s; cursor:pointer; text-decoration:none; }
.smg-btn-primary{ background:var(--navy); color:var(--ivory); border:none; }
.smg-btn-primary:hover{ background:var(--gold-light); color:var(--navy); }
.smg-btn-ghost{ background:transparent; color:var(--navy); border:1px solid var(--line); }
.smg-btn-ghost:hover{ border-color:var(--navy); }
.smg-btn:disabled{ opacity:0.6; cursor:not-allowed; }

/* Dashboard header */
.smg-dash-header{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:2rem; padding-bottom:1.6rem; border-bottom:1px solid var(--line); }

/* Tabs */
.smg-tabs{ display:flex; flex-wrap:wrap; gap:0.4rem; margin-bottom:2.2rem; border-bottom:1px solid var(--line); }
.smg-tab{ background:none; border:none; padding:0.9rem 1.2rem; font-family:var(--font-body); font-weight:600; font-size:0.9rem; color:var(--navy-slate); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; }
.smg-tab.is-active{ color:var(--navy); border-bottom-color:var(--gold); }
.smg-tab-panel{ display:none; }
.smg-tab-panel.is-active{ display:block; }

/* Stat row */
.smg-stat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin-bottom:2.4rem; }
.smg-mini-stat{ background:var(--navy); color:var(--ivory); padding:1.6rem; border-radius:2px; display:flex; flex-direction:column; gap:0.3rem; }
.smg-mini-stat-num{ font-family:var(--font-mono); font-size:1.9rem; font-weight:500; color:var(--gold-light); }
.smg-mini-stat-label{ font-size:0.8rem; color:rgba(250,248,244,0.65); }
@media (max-width:760px){ .smg-stat-row{ grid-template-columns:repeat(2,1fr); } }

.smg-sub-title{ margin:0 0 1rem; font-size:1.2rem; }

/* Release submission form */
.smg-release-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 1.4rem; }
.smg-fieldset-full{ grid-column:1 / -1; }
.smg-release-form-grid fieldset{ border:1px solid var(--line); padding:1.2rem; border-radius:2px; margin-bottom:1.2rem; }
.smg-release-form-grid legend{ font-family:var(--font-mono); font-size:0.72rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--gold); padding:0 0.4rem; }
.smg-platform-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0.6rem; }
.smg-checkbox-label{ flex-direction:row !important; align-items:center; gap:0.5rem !important; text-transform:none !important; font-weight:500 !important; }
.smg-checkbox-label input{ width:auto; }
#smgTrackRows{ display:flex; flex-direction:column; gap:0; border:1px dashed var(--line-gold); padding:1rem; border-radius:2px; margin-bottom:1rem; }
.smg-form-note{ font-size:0.88rem; min-height:1.2rem; color:var(--gold); grid-column:1/-1; }
@media (max-width:760px){ .smg-release-form-grid{ grid-template-columns:1fr; } .smg-platform-grid{ grid-template-columns:repeat(2,1fr); } }

/* Tables (front-end) */
.smg-front-table{ width:100%; border-collapse:collapse; font-size:0.9rem; }
.smg-front-table th{ text-align:left; font-family:var(--font-mono); font-size:0.7rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--navy-slate); padding:0.7rem 0.6rem; border-bottom:1px solid var(--line); }
.smg-front-table td{ padding:0.8rem 0.6rem; border-bottom:1px solid var(--line); vertical-align:middle; }
.smg-admin-note-row{ background:var(--ivory-deep); font-size:0.85rem; color:var(--navy-slate); }
.smg-cover-thumb{ width:44px; height:44px; object-fit:cover; border-radius:2px; }
.smg-cover-placeholder{ width:44px; height:44px; background:var(--card); border-radius:2px; display:flex; align-items:center; justify-content:center; color:var(--navy-slate); }

.smg-badge{ display:inline-block; padding:0.3rem 0.7rem; border-radius:20px; font-size:0.74rem; font-weight:600; font-family:var(--font-mono); }
.smg-badge-pending, .smg-badge-pending_review{ background:#FCF1DA; color:#8a6112; }
.smg-badge-in_review{ background:#E5EEFB; color:#1B4C9C; }
.smg-badge-approved{ background:#E3F3E6; color:#1E6B36; }
.smg-badge-live{ background:var(--navy); color:var(--gold-light); }
.smg-badge-rejected, .smg-badge-takedown{ background:#FBEAEA; color:#9B2C2C; }
.smg-empty{ color:var(--navy-slate); font-style:italic; padding:1.4rem 0; }
