.safe-assertion-list{margin:14px 0 0;padding-left:20px;display:grid;gap:10px}
.safe-assertion-list code{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
:root {
  --bg: #070707;
  --bg-2: #0c0c0d;
  --panel: #111113;
  --panel-2: #161619;
  --panel-3: #1b1b1e;
  --line: rgba(255,255,255,.09);
  --line-strong: rgba(205,171,101,.34);
  --text: #f7f4ee;
  --muted: #a4a19b;
  --subtle: #6f6c67;
  --gold: #c9a96b;
  --gold-2: #e3c991;
  --gold-3: #8f7444;
  --success: #86c8a0;
  --warning: #e6bd70;
  --danger: #ea8e88;
  --info: #8cb9df;
  --shadow: 0 18px 64px rgba(0,0,0,.44);
  --radius: 16px;
  --radius-sm: 10px;
  --sidebar: 260px;
  --font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: var(--font-sans); }
body { min-width: 320px; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
.hidden { display: none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Login */
.login-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(360px, 1.05fr) minmax(420px, .95fr);
  background:
    radial-gradient(circle at 20% 20%, rgba(201,169,107,.12), transparent 34%),
    radial-gradient(circle at 85% 80%, rgba(201,169,107,.08), transparent 30%),
    #070707;
}
.login-brand {
  padding: clamp(42px, 7vw, 96px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  border-right: 1px solid var(--line);
}
.login-brand::after {
  content: "";
  position: absolute;
  inset: 12% -24% -18% 32%;
  border: 1px solid rgba(201,169,107,.16);
  border-radius: 50%;
  transform: rotate(-18deg);
  box-shadow: 0 0 120px rgba(201,169,107,.04) inset;
}
.login-hero { max-width: 720px; position: relative; z-index: 1; }
.eyebrow { color: var(--gold); font-size: 11px; letter-spacing: .25em; font-weight: 700; text-transform: uppercase; }
.login-hero h1 { margin: 20px 0 22px; font: 500 clamp(48px, 7vw, 92px)/.96 var(--font-display); letter-spacing: -.045em; }
.login-hero p { max-width: 580px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.login-foot { color: var(--subtle); font-size: 12px; position: relative; z-index: 1; }
.login-panel { padding: clamp(36px, 7vw, 90px); display:flex; align-items:center; justify-content:center; }
.login-card { width: 100%; max-width: 470px; background: rgba(17,17,19,.86); border:1px solid var(--line); border-radius: 22px; padding: 38px; box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.login-card h2 { margin: 0 0 8px; font: 500 34px/1.1 var(--font-display); }
.login-card > p { color:var(--muted); margin:0 0 30px; line-height:1.6; }
.demo-note { margin-top: 20px; border:1px solid rgba(201,169,107,.24); background:rgba(201,169,107,.055); color:#d9c89f; padding:13px 14px; border-radius:10px; font-size:12px; line-height:1.55; }
.blocked-campaign-reviews { margin:10px 0 0; padding-left:20px; }
.blocked-campaign-reviews li { margin:8px 0; min-width:0; overflow-wrap:anywhere; }
.blocked-campaign-reviews a { display:inline; overflow-wrap:anywhere; }

/* App shell */
.shell { min-height:100vh; display:grid; grid-template-columns: var(--sidebar) 1fr; }
.sidebar { position:fixed; inset:0 auto 0 0; width:var(--sidebar); background:#09090a; border-right:1px solid var(--line); padding:26px 18px 18px; z-index:20; display:flex; flex-direction:column; overflow-y:auto; overscroll-behavior:contain; }
.brand-lockup { padding: 4px 10px 25px; border-bottom:1px solid var(--line); }
.brand-lockup small { color:var(--subtle); display:block; margin-top:9px; letter-spacing:.08em; }
.nav { margin:22px 0; display:grid; gap:6px; flex:none; }
.nav button { color:var(--muted); background:transparent; border:0; border-radius:9px; padding:11px 12px; text-align:left; display:flex; align-items:center; gap:11px; transition:color .18s ease, background-color .18s ease; }
.nav button:hover { color:var(--text); background:rgba(255,255,255,.035); }
.nav button.active { color:var(--gold-2); background:rgba(201,169,107,.10); box-shadow: inset 2px 0 0 var(--gold); }
.nav button:focus-visible, .user-block .link-button:focus-visible, .mobile-nav-button:focus-visible,
.sidebar.open [data-mobile-open-focus] { outline:3px solid #f2d28f; outline-offset:2px; }
.nav-icon { width:19px; height:19px; display:grid; place-items:center; font-size:15px; opacity:.95; }
.sidebar-spacer { flex:1; }
.skip-link { position:absolute; left:12px; top:-60px; z-index:100; background:var(--gold-2); color:#140f05; font-weight:700; padding:10px 14px; border-radius:var(--radius-sm); text-decoration:none; }
.skip-link:focus, .skip-link:focus-visible { top:12px; outline:3px solid #f2d28f; outline-offset:2px; }
.main:focus { outline:none; }
.account-early { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 10px; border-bottom:1px solid var(--line); font-size:11px; color:var(--muted); }
.account-early span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-early .link-button:focus-visible { outline:3px solid #f2d28f; outline-offset:2px; }
.app-footer { grid-column:2; padding:18px 34px 26px; color:var(--muted); font-size:11px; letter-spacing:.06em; border-top:1px solid var(--line); }
.user-block { border-top:1px solid var(--line); padding:18px 10px 0; flex:none; }
.user-block strong { display:block; font-size:13px; }
.user-block span { color:var(--subtle); font-size:11px; display:block; margin:4px 0 14px; }
.link-button { border:0; padding:0; background:none; color:var(--gold); font-size:12px; }
.main { grid-column:2; min-width:0; }
.topbar { height:76px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 34px; position:sticky; top:0; z-index:10; background:rgba(7,7,7,.87); backdrop-filter:blur(14px); }
.breadcrumb { color:var(--muted); font-size:13px; }
.breadcrumb strong { color:var(--text); }
.top-actions { display:flex; align-items:center; gap:10px; }
.env-pill { border:1px solid var(--line); color:var(--muted); border-radius:999px; padding:7px 10px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.mobile-nav-button { display:none; }
.content { padding:34px; max-width:1680px; margin:0 auto; }

/* Type and layout */
.page-header { display:flex; justify-content:space-between; gap:28px; align-items:flex-end; margin-bottom:28px; }
.page-header h1 { margin:7px 0 0; font:500 clamp(34px,4vw,52px)/1 var(--font-display); letter-spacing:-.025em; }
.page-header p { color:var(--muted); margin:10px 0 0; max-width:700px; line-height:1.65; }
.header-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.grid { display:grid; gap:18px; }
.grid.cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.grid.cols-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.grid.cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.stack { display:grid; gap:18px; }
.card { background:linear-gradient(180deg, rgba(21,21,23,.98), rgba(15,15,17,.98)); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 12px 42px rgba(0,0,0,.18); }
.card-pad { padding:22px; }
.card-header { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:18px 20px; border-bottom:1px solid var(--line); }
.card-header h2, .card-header h3 { margin:0; font-size:14px; letter-spacing:.02em; }
.card-body { padding:20px; }
.muted { color:var(--muted); }
.subtle { color:var(--subtle); }
.small { font-size:12px; }
.display-number { font:500 34px/1 var(--font-display); }
.divider { height:1px; background:var(--line); margin:20px 0; }

/* Controls */
.btn { min-height:40px; border-radius:9px; border:1px solid var(--line); background:var(--panel-2); color:var(--text); padding:10px 15px; font-weight:650; font-size:12px; letter-spacing:.01em; transition:background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.btn:hover { transform:translateY(-1px); border-color:rgba(255,255,255,.18); background:#202023; }
.btn:active { transform:none; }
.btn:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.btn-primary { color:#0a0907; background:linear-gradient(135deg,var(--gold-2),var(--gold)); border-color:var(--gold); box-shadow:0 10px 30px rgba(201,169,107,.15); }
.btn-primary:hover { background:linear-gradient(135deg,#efd8a5,#cfae6d); border-color:var(--gold-2); }
.btn-ghost { background:transparent; }
.btn-danger { color:#ffd5d2; background:rgba(181,59,53,.16); border-color:rgba(234,142,136,.28); }
.btn-success { color:#d7ffe4; background:rgba(61,143,93,.18); border-color:rgba(134,200,160,.28); }
.btn-sm { min-height:32px; padding:7px 10px; font-size:11px; }
.field { display:grid; gap:8px; }
#nextme-history-file { box-sizing:border-box; min-width:0; max-width:100%; }
.field label { color:#d7d3cc; font-size:12px; font-weight:650; }
.field-hint { color:var(--subtle); font-size:11px; line-height:1.5; }
.input, .textarea, .select { width:100%; color:var(--text); background:#0d0d0f; border:1px solid var(--line); border-radius:9px; padding:12px 13px; outline:none; transition:.18s ease; }
.input:focus, .textarea:focus, .select:focus { border-color:var(--gold-3); box-shadow:0 0 0 3px rgba(201,169,107,.08); }
.textarea { min-height:108px; resize:vertical; line-height:1.55; }
.select { appearance:none; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.form-grid .full { grid-column:1/-1; }
.checkbox-row { display:flex; gap:10px; flex-wrap:wrap; }
.check-chip input { position:absolute; opacity:0; pointer-events:none; }
.check-chip span { display:inline-flex; align-items:center; min-height:36px; border:1px solid var(--line); background:#0e0e10; border-radius:999px; padding:8px 12px; color:var(--muted); font-size:12px; transition:.18s ease; }
.check-chip input:checked + span { border-color:var(--gold-3); background:rgba(201,169,107,.1); color:var(--gold-2); }
.search-row { display:flex; gap:10px; align-items:center; }
.search-row .select { flex:0 0 min(280px,34%); width:auto; }
.search-row .input { flex:1 1 auto; min-width:0; }

/* KPI */
.kpi { padding:20px; min-height:142px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
.kpi::after { content:""; position:absolute; width:80px; height:80px; border:1px solid rgba(201,169,107,.12); border-radius:50%; right:-25px; bottom:-34px; }
.kpi-label { color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.kpi-value { font:500 42px/1 var(--font-display); }
.kpi-foot { color:var(--subtle); font-size:11px; }

/* Tables */
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; min-width:720px; }
th { color:var(--subtle); font-size:10px; letter-spacing:.11em; text-transform:uppercase; text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); font-weight:700; }
td { padding:14px; border-bottom:1px solid rgba(255,255,255,.055); font-size:12px; vertical-align:top; }
tr:last-child td { border-bottom:0; }
tr[data-clickable] { cursor:pointer; }
tr[data-clickable]:hover td { background:rgba(255,255,255,.022); }
.acceptance-schema-warning,
.acceptance-schema-warning .card-header > *,
.acceptance-schema-warning .card-body,
.acceptance-schema-table th,
.acceptance-schema-table td { min-width:0; }
.acceptance-schema-table th[scope="row"] { overflow-wrap:anywhere; word-break:break-word; text-transform:none; letter-spacing:normal; }
.acceptance-schema-table td { white-space:normal; overflow-wrap:anywhere; }

/* Status */
.badge { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:999px; padding:5px 8px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.badge::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.8; }
.badge.success { color:var(--success); border-color:rgba(134,200,160,.2); background:rgba(134,200,160,.055); }
.badge.warning { color:var(--warning); border-color:rgba(230,189,112,.2); background:rgba(230,189,112,.055); }
.badge.danger { color:var(--danger); border-color:rgba(234,142,136,.2); background:rgba(234,142,136,.055); }
.badge.info { color:var(--info); border-color:rgba(140,185,223,.2); background:rgba(140,185,223,.055); }
.badge.gold { color:var(--gold-2); border-color:rgba(201,169,107,.22); background:rgba(201,169,107,.06); }

/* Service library */
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.service-card { padding:17px; border:1px solid var(--line); border-radius:12px; background:#101012; min-height:180px; display:flex; flex-direction:column; }
.service-card .category { color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-size:9px; font-weight:750; }
.service-card h3 { font-size:14px; line-height:1.4; margin:10px 0 9px; }
.service-card p { color:var(--muted); font-size:11px; line-height:1.55; margin:0 0 14px; }
.service-delivery { color:#d4c29d; font-size:10px; line-height:1.45; padding:9px 10px; margin:0 0 12px; border:1px solid rgba(201,169,107,.15); border-radius:8px; background:rgba(201,169,107,.045); }
.service-meta { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--subtle); font-size:10px; border-top:1px solid var(--line); padding-top:12px; }
.service-link { appearance:none; border:0; background:transparent; color:var(--gold-2); font:inherit; cursor:pointer; padding:2px 0; text-align:right; }
.service-link:hover { color:#ead7af; }
.source-flag { display:inline-flex; align-items:center; border:1px solid rgba(230,189,112,.26); border-radius:999px; padding:4px 7px; color:var(--warning); background:rgba(230,189,112,.06); font-size:8px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.playbook-lead { padding-bottom:4px; }
.playbook-lead .category { color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-size:9px; font-weight:750; }
.playbook-lead p { color:var(--muted); font-size:12px; line-height:1.65; margin:10px 0 0; }
.playbook-section { border:1px solid var(--line); border-radius:11px; padding:16px; background:#0f0f11; }
.playbook-section label { display:block; color:var(--subtle); text-transform:uppercase; letter-spacing:.1em; font-size:9px; margin-bottom:8px; }
.playbook-section p { margin:0; color:#d7d4ce; font-size:12px; line-height:1.65; }
.playbook-section.data-quality { border-color:rgba(230,189,112,.28); background:rgba(230,189,112,.055); }
.playbook-section.data-quality p { color:#ead7af; }
.playbook-section.recommendation { border-color:rgba(201,169,107,.25); background:rgba(201,169,107,.055); }
.playbook-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

/* Campaign detail */
.campaign-hero { padding:26px; display:grid; grid-template-columns:1fr auto; gap:24px; }
.campaign-hero h1 { margin:8px 0 10px; font:500 42px/1.05 var(--font-display); }
.campaign-meta { display:flex; flex-wrap:wrap; gap:8px; }
.approval-rail { width:290px; border-left:1px solid var(--line); padding-left:24px; }
.approval-rail .display-number { color:var(--gold-2); }
.definition-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.definition { background:#101012; padding:18px; min-height:105px; }
.definition label { color:var(--subtle); text-transform:uppercase; letter-spacing:.1em; font-size:9px; display:block; margin-bottom:9px; }
.definition strong { font-size:12px; line-height:1.5; display:block; }
.deliverable { border:1px solid var(--line); border-radius:12px; background:#0f0f11; overflow:hidden; }
.deliverable-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--line); }
.deliverable-head h3 { margin:0; font-size:13px; }
.deliverable-body { padding:18px; white-space:pre-wrap; color:#d7d4ce; font-size:12px; line-height:1.72; max-height:460px; overflow:auto; }
.finding { padding:14px 16px; border:1px solid var(--line); border-radius:10px; display:grid; grid-template-columns:auto 1fr; gap:12px; background:#0e0e10; }
.finding-icon { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; font-weight:800; background:rgba(255,255,255,.045); }
.finding h3, .finding h4 { margin:0 0 5px; font-size:12px; }
.finding p { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.approval-box { border:1px solid var(--line-strong); background:linear-gradient(135deg,rgba(201,169,107,.08),rgba(17,17,19,.75)); border-radius:14px; padding:22px; }
.approval-box h2 { margin:6px 0 10px; font:500 28px/1.1 var(--font-display); }
.approval-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.chip-list { display:flex; gap:7px; flex-wrap:wrap; }
.chip { border:1px solid var(--line); border-radius:999px; padding:6px 9px; color:var(--muted); font-size:10px; }

/* Modal */
.modal-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:24px; background:rgba(0,0,0,.72); backdrop-filter:blur(8px); }
.modal { width:min(680px,100%); max-height:90vh; overflow:auto; background:#121214; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
.modal-head { padding:20px 22px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }
.modal-head h2 { margin:0; font:500 25px/1 var(--font-display); }
.modal-body { padding:22px; }
.modal-foot { padding:16px 22px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; gap:9px; }

/* Misc */
.empty { text-align:center; padding:54px 20px; }
.empty .symbol { width:54px; height:54px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; margin:0 auto 15px; color:var(--gold); font:500 24px/1 var(--font-display); }
.empty h3 { margin:0 0 8px; font-size:14px; }
.empty p { color:var(--muted); max-width:460px; margin:0 auto 18px; line-height:1.55; font-size:12px; }
.toast-root { position:fixed; right:22px; bottom:22px; z-index:200; display:grid; gap:9px; width:min(390px,calc(100vw - 44px)); }
.toast { background:#171719; border:1px solid var(--line); border-left:3px solid var(--gold); padding:14px 15px; border-radius:10px; box-shadow:var(--shadow); font-size:12px; line-height:1.5; animation:toast-in .22s ease both; }
.toast.error { border-left-color:var(--danger); }
.toast.success { border-left-color:var(--success); }
@keyframes toast-in { from { transform:translateY(10px); opacity:0; } }
.skeleton { min-height:100px; border-radius:12px; background:linear-gradient(90deg,#111113,#1b1b1e,#111113); background-size:200% 100%; animation:shimmer 1.4s infinite; }
@keyframes shimmer { to { background-position:-200% 0; } }
.loader { width:16px; height:16px; border:2px solid rgba(0,0,0,.25); border-top-color:currentColor; border-radius:50%; animation:spin .7s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

@media (max-width:1180px) {
  .grid.cols-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .definition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:880px) {
  :root { --sidebar: 0px; }
  .shell { display:block; }
  .sidebar { width:260px; transform:translateX(-102%); transition:.2s ease; box-shadow:var(--shadow); }
  .sidebar.open { transform:none; }
  .main { grid-column:auto; }
  .account-early { display:none; }
  .app-footer { padding:18px; }
  .mobile-nav-button { display:inline-flex; }
  .content { padding:24px 18px; }
  .topbar { padding:0 18px; }
  .login-shell { grid-template-columns:1fr; }
  .login-brand { min-height:48vh; border-right:0; border-bottom:1px solid var(--line); }
  .login-panel { padding:28px 18px 48px; }
  .campaign-hero { grid-template-columns:1fr; }
  .approval-rail { width:auto; border-left:0; border-top:1px solid var(--line); padding:18px 0 0; }
}
@media (max-width:680px) {
  .search-row { flex-direction:column; align-items:stretch; }
  .search-row .select { flex:0 0 auto; width:100%; }
  .grid.cols-2, .grid.cols-3, .grid.cols-4, .form-grid, .service-grid { grid-template-columns:1fr; }
  .form-grid .full { grid-column:auto; }
  .page-header { align-items:flex-start; flex-direction:column; }
  .header-actions { justify-content:flex-start; }
  .definition-grid { grid-template-columns:1fr; }
  .login-card { padding:26px 20px; }
  .login-brand { padding:36px 24px; }
  .login-hero h1 { font-size:51px; }
  .top-actions .env-pill { display:none; }
  .campaign-hero h1 { font-size:34px; }
  .acceptance-schema-warning .card-header { align-items:flex-start; flex-wrap:wrap; }
  .acceptance-schema-warning .table-wrap { overflow:visible; }
  .acceptance-schema-table { min-width:0; table-layout:fixed; }
  .acceptance-schema-table thead,
  .acceptance-schema-table tbody,
  .acceptance-schema-table tr { display:block; }
  .acceptance-schema-table thead tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .acceptance-schema-table tbody tr { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.055); }
  .acceptance-schema-table tbody tr:last-child { border-bottom:0; }
  .acceptance-schema-table th,
  .acceptance-schema-table td { display:block; width:100%; padding:5px 0; border-bottom:0; }
  .acceptance-schema-table td { color:var(--muted); }
}

/* App masthead uses the staff-supplied white original on dark backing. */
.master-logo {background:#080808; padding:12px; width:100%; max-width:280px; box-sizing:border-box;}
.master-logo img {display:block; width:100%; height:auto; object-fit:contain;}
.research-caption {white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; margin:18px 0;}
.research-record {min-width:0;}
.research-search {margin-top:20px;}
.research-search label {display:block; margin-bottom:8px;}
.research-search > div {display:flex; gap:12px;}
.research-search input {flex:1; min-width:0;}
@media (max-width:600px) {.research-search > div {flex-direction:column;}}

/* Official staff-supplied white wordmark; pixels and letterforms are unmodified. */
.master-logo img { filter:none!important; width:100%; height:auto; object-fit:contain; }

.asset-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.asset-card {min-width:0;overflow:hidden;}
.asset-preview {height:160px;display:flex;align-items:center;justify-content:center;padding:18px;background:#777;color:#fff;}
.asset-preview img {max-width:100%;max-height:124px;object-fit:contain;}
.asset-wrap {overflow-wrap:anywhere;word-break:break-word;}
.asset-actions {display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.asset-actions .input {flex:1;min-width:140px;}
.asset-note {border-left:2px solid var(--gold);}
#asset-upload-error, #asset-link-error {color:var(--danger);}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media (max-width:1100px){.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.asset-grid{grid-template-columns:1fr;}}

/* AI usage control screen */
.ai-fieldset{border:0;padding:0;margin:0;min-width:0}.ai-explanation{margin-bottom:20px}.ai-metrics{margin-bottom:20px}.ai-fieldset button{margin-top:18px}.ai-id{max-width:220px;overflow-wrap:anywhere}.ai-metrics h2{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ai-fieldset:disabled{opacity:.65}

/* Production Studio: work evidence, not an extra approval gate. */
.production-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}
.production-task{min-width:0;overflow-wrap:anywhere}.production-task h2{font-size:20px;line-height:1.35;margin:6px 0 12px}
.production-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.production-summary h2{margin:6px 0}
.production-progress{width:100%;height:12px;accent-color:var(--gold);margin-top:12px}
.production-warning{border-left:3px solid var(--warning);padding:2px 12px;margin:12px 0;font-size:13px}.production-warning p{margin:6px 0}
.production-evidence{background:rgba(255,255,255,.025);border:1px solid var(--border);padding:14px;border-radius:8px;margin:14px 0}.production-evidence p{white-space:pre-wrap}
.production-output-picker{border:1px solid var(--border);max-height:280px;overflow-y:auto;border-radius:8px;padding:14px}.production-output-picker label{display:flex;gap:9px;align-items:flex-start;padding:9px 0}.production-output-picker input{margin-top:5px}.production-output-picker small{color:var(--muted)}
.production-campaign-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
@media(max-width:800px){.production-grid{grid-template-columns:1fr}.production-summary{gap:8px}.production-output-picker{max-height:220px}}

/* Management brief: a bounded view of known internal work. */
.management { max-width:1320px; margin:0 auto; }
.management-hero { position:relative; overflow:hidden; padding:clamp(26px,4vw,52px); border:1px solid var(--line-strong); border-radius:var(--radius); background:linear-gradient(115deg,rgba(201,169,107,.105),rgba(201,169,107,.018) 55%),var(--panel); }
.management-hero::after { content:""; position:absolute; width:360px; height:360px; border:1px solid rgba(201,169,107,.13); border-radius:50%; right:-155px; top:-190px; pointer-events:none; }
.management-hero h1 { font:500 clamp(40px,5vw,74px)/.98 var(--font-display); letter-spacing:-.045em; margin:16px 0 14px; max-width:820px; }
.management-hero p { color:var(--muted); line-height:1.65; max-width:650px; margin:0; font-size:14px; }
.management-hero-meta { display:flex; gap:12px 24px; flex-wrap:wrap; align-items:center; margin-top:32px; padding-top:18px; border-top:1px solid var(--line-strong); color:var(--muted); font-size:11px; letter-spacing:.04em; }
.management-hero-meta strong { color:var(--gold-2); font-weight:600; }
.management-section { margin-top:clamp(30px,4vw,52px); }
.management-section-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:18px; }
.management-section-head h2 { font:500 clamp(27px,3vw,36px)/1.15 var(--font-display); letter-spacing:-.025em; margin:7px 0 0; }
.management-section-head p { color:var(--muted); font-size:12px; line-height:1.55; margin:0; max-width:440px; }
.management-priorities { list-style:none; margin:0; padding:0; border-top:1px solid var(--line-strong); }
.management-priority { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:20px; align-items:center; padding:25px 4px; border-bottom:1px solid var(--line); }
.management-priority[data-team-followup][hidden] { display:none; }
.management-brief-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.management-priority-index { color:var(--gold); font:500 27px/1 var(--font-display); align-self:start; padding-top:4px; }
.management-priority h3 { font-size:17px; letter-spacing:-.015em; margin:0 0 7px; }
.management-priority p { color:var(--muted); font-size:13px; line-height:1.6; margin:0; max-width:740px; }
.management-priority-meta { display:flex; flex-wrap:wrap; gap:7px 15px; color:var(--subtle); font-size:11px; margin-top:12px; }
.management-priority-meta span + span::before { content:"/"; color:var(--gold-3); margin-right:15px; }
.management-priority .btn { min-width:124px; }
.management-count { color:var(--gold-2); font-variant-numeric:tabular-nums; }
.management-pulse { border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); overflow:hidden; }
.management-pulse-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.management-pulse-item { padding:22px 24px; border-right:1px solid var(--line); min-width:0; }
.management-pulse-item:last-child { border-right:0; }
.management-pulse-item strong { display:block; font:500 32px/1 var(--font-display); color:var(--gold-2); font-variant-numeric:tabular-nums; margin-bottom:12px; }
.management-pulse-item span { color:var(--muted); font-size:11px; line-height:1.45; }
.management-pulse-note { padding:14px 24px; border-top:1px solid var(--line); color:var(--subtle); font-size:11px; line-height:1.55; }
.management-domain-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.management-domain { min-width:0; display:flex; flex-direction:column; padding:22px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--panel); }
.management-domain-top { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.management-domain h3 { margin:0; font-size:15px; }
.management-unavailable { flex:none; color:var(--warning); border:1px solid rgba(230,189,112,.3); border-radius:100px; padding:5px 8px; font-size:10px; letter-spacing:.04em; }
.management-domain p { margin:15px 0; color:var(--muted); font-size:12px; line-height:1.65; }
.management-domain-foot { margin-top:auto; padding-top:14px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:14px; }
.management-domain-foot small { color:var(--subtle); overflow-wrap:anywhere; line-height:1.45; }
.management-domain-foot .btn { flex:none; }
.management-time { margin:34px 0 12px; border-left:2px solid var(--gold); padding:6px 0 6px 22px; }
.management-time h2 { font:500 25px/1.2 var(--font-display); margin:0 0 8px; }
.management-time p { color:var(--muted); font-size:12px; line-height:1.65; margin:0; max-width:740px; }
.management-time-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.management-time-list span { padding:8px 12px; background:rgba(201,169,107,.06); border:1px solid var(--line); border-radius:7px; color:var(--muted); font-size:11px; }
.management-time-list strong { color:var(--gold-2); font-weight:600; }
.management a:focus-visible, .management button:focus-visible { outline:2px solid var(--gold-2); outline-offset:3px; }
@media(max-width:900px) { .management-priority { grid-template-columns:42px minmax(0,1fr); } .management-priority .btn { grid-column:2; justify-self:start; } .management-pulse-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .management-pulse-item:nth-child(2) { border-right:0; } .management-pulse-item:nth-child(-n+2) { border-bottom:1px solid var(--line); } }
@media(max-width:640px) { .management-hero { padding:26px 20px; } .management-section-head { align-items:start; flex-direction:column; } .management-priority { gap:10px 12px; padding:22px 0; } .management-priority-meta span + span::before { margin-right:8px; } .management-domain-grid { grid-template-columns:1fr; } .management-domain-foot { align-items:start; flex-direction:column; } .management-pulse-item { padding:18px 16px; } }

/* Conflict review: manual schedule evidence, not provider or approval authority. */
.conflicts { max-width:1320px; margin:0 auto; }
.conflicts-hero { padding:clamp(26px,4vw,48px); position:relative; overflow:hidden; border:1px solid var(--line-strong); border-radius:var(--radius); background:linear-gradient(115deg,rgba(201,169,107,.105),rgba(201,169,107,.015) 60%),var(--panel); }
.conflicts-hero:after { content:""; position:absolute; width:330px; height:330px; right:-150px; top:-210px; border:1px solid rgba(201,169,107,.16); border-radius:50%; pointer-events:none; }
.conflicts-hero h1 { font:500 clamp(40px,5vw,70px)/1 var(--font-display); letter-spacing:-.04em; margin:15px 0; }
.conflicts-hero p { max-width:680px; color:var(--muted); line-height:1.65; font-size:14px; margin:0; }
.conflicts-hero-foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line-strong); padding-top:20px; margin-top:30px; color:var(--muted); font-size:12px; }
.conflicts-nav { display:flex; flex-wrap:wrap; gap:8px; }
.conflicts-section { margin-top:38px; }
.conflicts-section-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.conflicts-section-head h2 { margin:6px 0 0; font:500 clamp(25px,3vw,34px)/1.15 var(--font-display); }
.conflicts-section-head p { margin:0; max-width:460px; color:var(--muted); font-size:12px; line-height:1.55; }
.conflicts-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.conflict-card { min-width:0; padding:23px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--panel); }
.conflict-card-head { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.conflict-card h3 { margin:0; font-size:17px; line-height:1.35; }
.conflict-card h3 a, .conflict-pair a { text-decoration:none; border-bottom:1px solid var(--gold-3); }
.conflict-card h3 a:hover, .conflict-pair a:hover { color:var(--gold-2); }
.conflict-card p, .conflict-pair p { color:var(--muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.conflict-data { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; padding:18px 0; margin:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.conflict-data dt { color:var(--subtle); text-transform:uppercase; letter-spacing:.1em; font-size:10px; margin-bottom:6px; }
.conflict-data dd { margin:0; color:var(--text); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.conflict-flags { display:flex; gap:7px; flex-wrap:wrap; }
.conflict-notice { margin:15px 0 0; border-left:2px solid var(--warning); padding:7px 12px; background:rgba(230,189,112,.045); }
.conflict-foot { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-top:20px; }
.conflict-pair { padding:20px 22px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--panel); min-width:0; }
.conflict-pair + .conflict-pair { margin-top:10px; }
.conflict-pair-head { display:flex; justify-content:space-between; align-items:start; gap:14px; }
.conflict-pair h3 { margin:0; font-size:15px; line-height:1.5; }
.conflict-scope { margin-top:30px; padding:18px 22px; border-left:2px solid var(--gold); background:rgba(201,169,107,.045); color:var(--muted); font-size:12px; line-height:1.65; }
.conflict-scope strong { color:var(--gold-2); }
.conflict-form-intro { color:var(--muted); font-size:12px; line-height:1.6; margin:0 0 18px; }
.conflict-form-error { color:var(--danger); font-size:12px; line-height:1.5; }
.conflicts a:focus-visible, .conflicts button:focus-visible, .conflict-review-modal :focus-visible { outline:2px solid var(--gold-2); outline-offset:3px; }
@media(max-width:760px) { .conflicts-grid { grid-template-columns:1fr; } .conflicts-section-head { align-items:start; flex-direction:column; } .conflict-card { padding:19px; } }
@media(max-width:480px) { .conflict-card-head,.conflict-pair-head { flex-direction:column; } .conflict-data { grid-template-columns:1fr; } .conflicts-hero { padding:25px 20px; } }
