/* Platform admin and the ideas board (workstream: platform ops). Tokens from brand/tokens.css. */
.po-section { margin-bottom: var(--s-6); }
.po-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--s-4); }
.po-stat .k { font-size: var(--fs-xs); text-transform: lowercase; letter-spacing: var(--tracking-label); color: var(--text-3); }
.po-stat .v { font-size: var(--fs-2xl); font-weight: 700; margin: 6px 0 4px; color: var(--text); }
.po-lists .card { min-width: 0; }
.po-item { display: flex; justify-content: space-between; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); border-top: 1px solid var(--line); color: inherit; text-decoration: none; min-width: 0; }
.po-item:hover { background: var(--surface-2); }
.po-orgs { display: grid; gap: var(--s-3); }
.po-org { padding: var(--s-4); display: grid; gap: var(--s-3); scroll-margin-top: 90px; }
.po-org-main { display: flex; justify-content: space-between; gap: var(--s-3); align-items: flex-start; flex-wrap: wrap; }
.po-org-main h3 a { color: inherit; text-decoration: none; }
.po-badges { gap: 6px; }
.po-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-3); margin: 0; }
.po-facts dt { font-size: var(--fs-xs); color: var(--text-3); text-transform: lowercase; }
.po-facts dd { margin: 2px 0 0; overflow-wrap: anywhere; }
.po-actions { display: flex; gap: var(--s-2); flex-wrap: wrap; align-items: center; }
.po-comp { display: flex; gap: var(--s-2); flex-wrap: wrap; align-items: center; flex: 1 1 320px; }
.po-comp .select { width: auto; min-height: 36px; }
.po-comp .input { flex: 1 1 160px; min-height: 36px; width: auto; }
.acc-active, .acc-comped { background: color-mix(in oklab, var(--ok) 18%, transparent); color: var(--ok); }
.acc-trial { background: var(--accent-soft); color: var(--accent); }
.acc-grace, .acc-trial_ended { background: color-mix(in oklab, var(--warn) 18%, transparent); color: var(--warn); }
.acc-read_only { background: color-mix(in oklab, var(--danger) 18%, transparent); color: var(--danger); }
@media (max-width: 720px) { .po-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Ideas board */
.ideas-head { display: flex; justify-content: space-between; align-items: end; gap: var(--s-4); flex-wrap: wrap; }
.ideas-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--s-5); align-items: start; }
.ideas-filters { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: var(--s-4); }
.ideas-filters .chip { text-decoration: none; }
.idea-list { display: grid; gap: var(--s-3); }
.idea-card { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: var(--s-4); padding: var(--s-4); align-items: start; }
.idea-card h3 { margin: 0 0 4px; font-size: var(--fs-md); line-height: var(--lh-snug); overflow-wrap: anywhere; }
.idea-card h3 a { color: inherit; text-decoration: none; }
.idea-card h3 a:hover { color: var(--brand); }
.idea-excerpt { color: var(--text-2); font-size: var(--fs-sm); margin: 0 0 8px; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.idea-meta { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; font-size: var(--fs-xs); color: var(--text-3); }
.vote { display: grid; justify-items: center; gap: 2px; width: 64px; padding: 8px 0; border-radius: var(--r-md); border: 1px solid var(--line); background: var(--surface-2); color: var(--text); font: inherit; cursor: pointer; }
.vote:hover { border-color: var(--brand); }
.vote[aria-pressed="true"] { border-color: var(--brand); background: var(--brand-soft); color: var(--brand); }
.vote .n { font: 700 var(--fs-lg)/1 var(--font-mono); }
.vote svg { width: 16px; height: 16px; }
.vote[disabled] { cursor: default; opacity: .8; }
.st { text-transform: lowercase; }
.st-new { background: var(--surface-3); }
.st-under_review, .st-needs_review { background: color-mix(in oklab, var(--warn) 18%, transparent); color: var(--warn); }
.st-approved, .st-in_progress { background: var(--accent-soft); color: var(--accent); }
.st-built { background: color-mix(in oklab, var(--pb) 22%, transparent); color: var(--pb); }
.st-shipped { background: color-mix(in oklab, var(--ok) 18%, transparent); color: var(--ok); }
.st-declined { background: color-mix(in oklab, var(--danger) 14%, transparent); color: var(--danger); }
.kind-bug { background: color-mix(in oklab, var(--danger) 14%, transparent); color: var(--danger); }
.pin { color: var(--leader); }
.idea-side .card { margin-bottom: var(--s-4); }
.idea-body { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text); line-height: var(--lh-body); }
.idea-shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--s-3); }
.idea-shots img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--r-md); border: 1px solid var(--line); background: var(--surface-2); }
.idea-video { width: 100%; max-height: 420px; border-radius: var(--r-md); background: #000; }
.idea-yt { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r-md); overflow: hidden; background: #000; }
.idea-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.comment { padding: var(--s-3) 0; border-top: 1px solid var(--line); }
.comment:first-child { border-top: 0; }
.comment .who { font-size: var(--fs-sm); font-weight: 650; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.comment .txt { white-space: pre-wrap; overflow-wrap: anywhere; margin: 4px 0 0; color: var(--text-2); font-size: var(--fs-sm); }
.comment.team { background: var(--brand-soft); border-radius: var(--r-md); padding: var(--s-3); border-top: 0; margin: var(--s-2) 0; }
.comment.internal { background: color-mix(in oklab, var(--warn) 10%, transparent); border-radius: var(--r-md); padding: var(--s-3); border-top: 0; margin: var(--s-2) 0; }
.similar { border: 1px dashed var(--line-strong); border-radius: var(--r-md); padding: var(--s-3); }
.similar[hidden] { display: none; }
.similar ul { margin: 6px 0 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.similar a { color: inherit; }
.notice-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.history { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: var(--fs-xs); color: var(--text-3); }
.admin-panel form { display: grid; gap: var(--s-2); }
.admin-panel .row .select, .admin-panel .row .input { flex: 1 1 140px; width: auto; }
@media (max-width: 900px) { .ideas-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .idea-card { grid-template-columns: 52px minmax(0, 1fr); gap: var(--s-3); padding: var(--s-3); } .vote { width: 52px; } }
.comment .who .logo { width: 20px; height: 20px; flex: none; }
.admin-panel .input, .admin-panel .textarea, .admin-panel .select { max-width: 100%; min-width: 0; box-sizing: border-box; }
.admin-panel .row { flex-wrap: nowrap; }
.admin-panel .row .btn { flex: none; }
.admin-panel .row > .input { width: 0; flex: 1 1 0; }
