/* CEO Desk (PH1-CEO-DESK). Separate file so the Marketing Workspace stylesheet (styles.css, edited in the CMO candidate)
   is untouched. Simple surface: large tap targets, one column on a phone, detail behind <details>. */
.dk-sub { padding-top:0; font-size:13px; }
.dk-sub[hidden] { display:none; }
.dk-list { list-style:none; margin:0; padding:0; }
.dk-list > li { padding:10px 0; border-bottom:1px solid var(--line); }
.dk-list > li:last-child { border-bottom:0; }
.dk-need a { text-decoration:none; color:var(--ink); display:block; }
.dk-need b { color:var(--brand); }
.dk-r0 b, .dk-r1 b { color:var(--bad); }
.dk-next { display:block; font-size:14px; margin-top:2px; }
.dk-lanes { font-size:14px; }
.dk-biz { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:10px; }
.dk-bz { display:flex; flex-direction:column; gap:2px; padding:14px; border:1px solid var(--line); border-radius:10px; text-decoration:none; color:var(--ink); background:#fbfaf7; min-height:44px; }
.dk-bz span { color:var(--muted); font-size:13px; }
.dk-wsh { font-size:15px; margin:18px 0 8px; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; }
details.dk-item { padding:0; }
details.dk-item > summary.dk-sum { display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline; padding:14px 16px; margin:0; color:var(--ink); font-size:15px; min-height:44px; }
details.dk-item[open] > summary.dk-sum { border-bottom:1px solid var(--line); }
.dk-sum .dk-next { flex-basis:100%; color:var(--ink); }
.dk-flags { flex-basis:100%; display:flex; flex-wrap:wrap; gap:6px; }
.dk-flag { font-size:12px; padding:2px 8px; border-radius:999px; background:#f1eee6; color:var(--muted); }
.dk-flag.dk-deadline_risk, .dk-flag.dk-blocked, .dk-flag.dk-past_planned_end { background:#fde2e0; color:var(--bad); }
.dk-flag.dk-missing_estimate, .dk-flag.dk-missing_dates, .dk-flag.dk-unrecorded_dependency { background:#fff3cd; color:var(--warn); }
.dk-body { padding:12px 16px 16px; }
.dk-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px 12px; }
.dk-body label.field { display:block; font-size:13px; font-weight:600; margin:6px 0; }
.dk-body input[type=number] { width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; background:#fff; min-height:42px; }
.dk-body .btn { min-height:44px; }
.dk-msg { font-size:13px; color:var(--brand); }
.dk-over { color:var(--bad); font-weight:600; }
.dk-mods { list-style:none; margin:0; padding:0; }
.dk-mods .dk-mods { padding-left:14px; border-left:2px solid var(--line); }
.dk-mod { padding:8px 0; border-bottom:1px dashed var(--line); }
.dk-mod .badge { margin-left:4px; }
.badge.dk-l-production { color:var(--ok); } .badge.dk-l-preview { color:var(--warn); } .badge.dk-l-in_development { color:var(--brand); }
.badge.dk-l-proposed, .badge.dk-l-unknown, .badge.dk-l-legacy { color:var(--muted); }
.dk-conn { font-size:12px; color:var(--muted); white-space:nowrap; }
.dk-conn.dk-c-connected { color:var(--ok); font-weight:600; }
.dk-prog { font-size:13px; margin-top:2px; }
.dk-hl { padding-left:18px; font-size:13px; }
.dk-id { margin-top:4px; }
@media (max-width: 760px) {
  .dk-grid { grid-template-columns:1fr; }
  .dk-biz { grid-template-columns:1fr 1fr; }
  #view { padding-left:12px; padding-right:12px; }
}
