/* Media Desk shared shell — tokens and chrome derived from the Federal Desk reference. */
:root{
  --navy:#1b2334; --navy-2:#26314b; --navy-line:#2c3850;
  --brand:#2447d8; --brand-2:#1d3ab8;
  --bg:#f7f8fb; --card:#ffffff; --border:#e4e8ef;
  --ink:#141b26; --muted:#5f6b7c; --muted-2:#98a2b1;
  --chip:#eceff5; --tint:#eef2fb; --amber:#9a6b00;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:'Inter',sans-serif;font-size:14px;color:var(--ink);
  background:var(--bg);display:flex;min-height:100vh}
::selection{background:var(--brand);color:#fff}

/* sidebar */
aside{width:236px;flex:0 0 236px;background:var(--navy);color:#c6cede;
  display:flex;flex-direction:column;padding:22px 16px}
.logo{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.logo .tile{width:38px;height:38px;border-radius:9px;background:var(--brand);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.logo .tile svg{width:20px;height:20px;stroke:#fff}
.logo .word{font-size:16px;letter-spacing:.02em;color:#fff}
.logo .word b{font-weight:800}
.logo .word span{font-weight:400}
.tagline{font-size:9.5px;font-weight:600;letter-spacing:.14em;color:#8791a6;
  text-transform:uppercase;margin:8px 0 26px}
.navlbl{font-size:10px;font-weight:700;letter-spacing:.16em;color:#7c879d;
  text-transform:uppercase;margin:0 10px 10px}
nav a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:8px;
  color:#b9c2d4;text-decoration:none;font-weight:500;font-size:13.5px;margin-bottom:2px}
nav a svg{width:16px;height:16px;stroke:currentColor;flex:0 0 auto}
nav a.active{background:var(--navy-2);color:#fff;box-shadow:inset 3px 0 0 var(--brand)}
nav a.soon{color:#6d7890;cursor:default}
nav a.soon .badge{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:#7c879d;border:1px solid var(--navy-line);
  border-radius:99px;padding:1px 7px}
aside .foot{margin-top:auto;font-size:10.5px;color:#6d7890;padding:0 10px}
.navlbl.second{margin-top:24px}
nav a .count{margin-left:auto;font-size:11px;font-weight:600;color:#7c879d}
nav a.active .count{color:#c6cede}
.rchip{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);background:var(--chip);border-radius:5px;padding:2px 7px}

/* content shell */
.content{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{background:var(--card);border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;position:sticky;top:0;z-index:5}
.crumb{font-size:12.5px;color:var(--muted)}
.crumb b{font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink);font-size:11.5px}
.crumb .sep{margin:0 8px;color:var(--muted-2)}
.topbar .right{display:flex;align-items:center;gap:10px}
.chip{border:1px solid var(--border);border-radius:9px;background:var(--card);
  padding:7px 14px;font-size:12.5px;font-weight:600;color:var(--ink);
  font-variant-numeric:tabular-nums}
.wrap{padding:26px 28px 40px;max-width:1240px;width:100%;margin:0 auto}
.eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:#5561d8;margin-bottom:8px}
h1{font-size:28px;font-weight:700;letter-spacing:-.01em}
.sub{color:var(--muted);margin:6px 0 20px;font-size:14.5px}

/* shared components */
.notice{display:flex;gap:12px;align-items:flex-start;background:var(--chip);
  border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:14px}
.notice svg{width:16px;height:16px;stroke:var(--muted);flex:0 0 auto;margin-top:2px}
.notice p{font-size:13.5px;color:var(--muted)}
.notice b{color:var(--ink)}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;align-items:center}
.tab{font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);
  background:var(--chip);border:1px solid transparent;border-radius:9px;
  padding:8px 16px;cursor:pointer}
.tab.on{background:var(--card);border-color:var(--border);color:var(--ink)}
.tabs .spacer{flex:1}
.tab.toggle.on{background:var(--brand);border-color:var(--brand);color:#fff}

@media (max-width:840px){aside{display:none}}
