/* dashboards.css — admin/organizer/attendee shared chrome + responsive */

/* ===== SHELL ===== */
.dash { display: grid; grid-template-columns: 264px 1fr; min-height: 100vh; background: var(--cream); color: var(--ink); }
.dash-side { background: var(--paper); border-right: 1px solid var(--line); display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow: hidden; }
.dash-side-head { padding: 20px 20px 16px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 12px; }
.dash-side-title { display: flex; flex-direction: column; line-height: 1.2; }
.dash-side-title strong { font-family: var(--serif); font-size: 15px; font-weight: 500; }
.dash-side-title span { font-size: 11px; color: var(--muted); }
.dash-nav { flex: 1; overflow-y: auto; padding: 12px 12px 20px; }
.dash-nav-group { margin-bottom: 18px; }
.dash-nav-group-h { font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); padding: 6px 12px; margin-bottom: 4px; }
.dash-nav-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 12px; border-radius: 8px; font-size: 13.5px; color: var(--ink); text-align: left; transition: 100ms; }
.dash-nav-item:hover { background: var(--cream); }
.dash-nav-item.is-on { background: var(--ink); color: var(--paper); }
.dash-nav-icon { width: 18px; text-align: center; font-size: 12px; opacity: 0.85; }
.dash-side-foot { padding: 14px 16px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 10px; }
.dash-side-user { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; flex: 1; }
.dash-side-user strong { font-size: 13px; }
.dash-side-user span { font-size: 11px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dash-signout { background: transparent; border: 1px solid var(--line); color: var(--muted); width: 32px; height: 32px; border-radius: 6px; cursor: pointer; font-size: 14px; transition: all 0.15s; }
.dash-signout:hover { color: var(--warn); border-color: var(--warn); background: rgba(217, 119, 87, 0.06); }
.dash-avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--brand); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; flex-shrink: 0; }
.dash-avatar-sm { width: 28px; height: 28px; font-size: 11px; }
.dash-avatar-lg { width: 56px; height: 56px; font-size: 18px; }

.dash-main { display: flex; flex-direction: column; min-width: 0; }
.dash-topbar { display: flex; align-items: center; gap: 16px; padding: 14px 28px; background: var(--paper); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 10; }
.dash-crumbs { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); flex-wrap: wrap; }
.dash-crumbs button { color: var(--muted); }
.dash-crumbs button:hover { color: var(--ink); }
.dash-crumbs-active { color: var(--ink); font-weight: 500; text-transform: capitalize; }
.dash-topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.dash-search { display: flex; align-items: center; gap: 8px; padding: 7px 12px; background: var(--cream); border: 1px solid var(--line); border-radius: 8px; min-width: 320px; }
.dash-search input { background: transparent; border: none; outline: none; flex: 1; font-size: 13px; }
.dash-search kbd { font-family: var(--mono); font-size: 10px; padding: 2px 5px; background: var(--paper); border: 1px solid var(--line); border-radius: 4px; color: var(--muted); }
.dash-icon-btn { width: 36px; height: 36px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; color: var(--muted); position: relative; }
.dash-icon-btn:hover { background: var(--cream); color: var(--ink); }
.dash-pill { position: absolute; top: 4px; right: 4px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background: var(--warn); color: #fff; font-size: 9px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.dash-body { padding: 28px; display: flex; flex-direction: column; gap: 20px; max-width: 1600px; width: 100%; }

.dash-page-h { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.dash-page-h-actions { display: flex; gap: 10px; align-items: center; }
.dash-h1 { font-family: var(--serif); font-size: clamp(24px, 2.6vw, 32px); margin: 0; letter-spacing: -0.015em; font-weight: 500; }
.dash-sub { color: var(--muted); margin: 4px 0 0; font-size: 14px; }
.dash-h4 { font-family: var(--serif); font-size: 16px; margin: 16px 0 8px; font-weight: 500; }

/* ===== CARDS / GRIDS ===== */
.dash-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.dash-card-h { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.dash-card-h h3 { font-family: var(--serif); font-size: 17px; margin: 0; font-weight: 500; }
.dash-card-h span { color: var(--muted); font-size: 12px; }
.dash-card-actions { display: flex; gap: 6px; align-items: center; }
.dash-card-body { padding: 20px; }
.dash-grid { display: grid; gap: 20px; }
.dash-grid-2 { grid-template-columns: 1fr 1fr; }
.dash-grid-2-1 { grid-template-columns: 2fr 1fr; }
@media (max-width: 1100px) { .dash-grid-2, .dash-grid-2-1 { grid-template-columns: 1fr; } }

/* ===== KPI ===== */
.kpi-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.kpi-row-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1280px) { .kpi-row { grid-template-columns: repeat(3, 1fr); } .kpi-row-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .kpi-row { grid-template-columns: repeat(2, 1fr); } .kpi-row-4 { grid-template-columns: 1fr; } }
.kpi-tile { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; }
.kpi-tile-l { font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.kpi-tile strong { font-family: var(--serif); font-size: 26px; font-weight: 500; letter-spacing: -0.01em; }
.kpi-tile-d { font-size: 11px; color: var(--muted); }
.kpi-tile-good { color: var(--good); }

/* ===== TABLES ===== */
.dash-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.dash-table th { text-align: left; font-family: var(--mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); padding: 10px 12px; border-bottom: 1px solid var(--line); font-weight: 500; }
.dash-table td { padding: 12px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.dash-table tr:last-child td { border-bottom: none; }
.dash-table tr:hover td { background: var(--cream); }
.dash-table-rich td { padding: 14px 12px; }
.cell-stack { display: flex; flex-direction: column; line-height: 1.3; }
.cell-stack span { font-size: 11px; color: var(--muted); }
.row-actions { display: inline-flex; gap: 6px; }
.row-menu { width: 28px; height: 28px; border-radius: 6px; color: var(--muted); }
.row-menu:hover { background: var(--cream); color: var(--ink); }
.dash-pager { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; font-size: 12px; color: var(--muted); border-top: 1px solid var(--line); }
.pill { display: inline-block; padding: 3px 8px; background: var(--cream); border: 1px solid var(--line); border-radius: 4px; font-size: 11px; font-weight: 500; color: var(--ink); }
.pill-quiet { color: var(--muted); }
.status { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 999px; text-transform: capitalize; }
.status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-good { color: var(--good); background: rgba(31,138,91,0.1); }
.status-warn { color: var(--warn); background: rgba(217,119,87,0.1); }

/* ===== INPUTS / FILTERS ===== */
.filter-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 8px 0; }
.dash-input { padding: 9px 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); font-size: 13px; min-width: 320px; flex: 1; }
.dash-input-sm { min-width: 160px; flex: 0 1 auto; }
.dash-input:focus { outline: none; border-color: var(--brand); }

/* ===== CHARTS / SPARK ===== */
.spark { display: flex; align-items: flex-end; gap: 3px; height: 180px; }
.spark-stack { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 1px; min-width: 0; }
.spark-bar { border-radius: 2px 2px 0 0; }
.chart-legend { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 16px; font-size: 12px; color: var(--muted); }
.chart-legend > div { display: inline-flex; align-items: center; gap: 6px; }
.chart-legend .dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.bar-list { display: flex; flex-direction: column; gap: 10px; }
.bar-row { display: grid; grid-template-columns: 140px 1fr 40px; gap: 10px; align-items: center; font-size: 12px; }
.bar { height: 8px; background: var(--cream); border-radius: 4px; overflow: hidden; }
.bar-fill { height: 100%; background: linear-gradient(90deg, var(--brand), var(--accent)); border-radius: 4px; }

.health-list { display: flex; flex-direction: column; gap: 12px; }
.health-row { display: grid; grid-template-columns: 1fr 100px 40px; gap: 12px; align-items: center; }
.health-row > div:first-child { display: flex; flex-direction: column; }
.health-row strong { font-size: 13px; }
.health-row span { font-size: 11px; color: var(--muted); }
.health-bar { height: 6px; background: var(--cream); border-radius: 3px; overflow: hidden; }
.health-fill { height: 100%; }
.health-fill-good { background: var(--good); }
.health-fill-warn { background: var(--warn); }
.health-pct { font-family: var(--mono); font-size: 11px; color: var(--muted); text-align: right; }

.feed-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.feed-list li { display: flex; align-items: center; gap: 12px; font-size: 13px; padding: 6px 0; }
.feed-ico { width: 24px; height: 24px; border-radius: 50%; background: var(--cream); display: inline-flex; align-items: center; justify-content: center; font-size: 11px; flex-shrink: 0; }
.feed-t { flex: 1; }
.feed-list time { font-size: 11px; color: var(--muted); white-space: nowrap; }

/* ===== ADMIN — disputes, content, security ===== */
.case-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 1000px) { .case-list { grid-template-columns: 1fr; } }
.case-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.case-card-h { display: flex; align-items: center; justify-content: space-between; }
.case-card-h code { font-family: var(--mono); font-size: 11px; color: var(--muted); }
.case-card h4 { font-family: var(--serif); font-size: 16px; margin: 4px 0; font-weight: 500; }
.case-card p { margin: 0; font-size: 13px; color: var(--ink); }
.case-card-note { color: var(--muted); font-size: 12px; padding: 10px; background: var(--cream); border-radius: 6px; }

.mod-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.mod-row { display: grid; grid-template-columns: 100px 1fr 80px auto; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 8px; }
.mod-row-body { display: flex; flex-direction: column; gap: 2px; }
.mod-row-body strong { font-size: 13px; }
.mod-row-body span { font-size: 11px; color: var(--muted); }

.cert-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
@media (max-width: 720px) { .cert-grid { grid-template-columns: repeat(2, 1fr); } }
.cert-tile { padding: 14px; border: 1px solid var(--line); border-radius: 8px; display: flex; flex-direction: column; gap: 4px; }
.cert-tile strong { font-size: 13px; }
.cert-tile span { font-size: 11px; color: var(--muted); }
.cert-tile .status { align-self: flex-start; margin-top: 4px; }

.funnel { display: flex; flex-direction: column; gap: 10px; }
.funnel-row { display: grid; grid-template-columns: 180px 1fr 120px; gap: 12px; align-items: center; }
.funnel-row strong { font-size: 13px; }
.funnel-bar { height: 28px; background: var(--cream); border-radius: 6px; overflow: hidden; }
.funnel-bar-fill { height: 100%; background: linear-gradient(90deg, var(--brand), var(--accent)); }
.funnel-num { display: flex; align-items: baseline; gap: 8px; font-size: 13px; justify-content: flex-end; }
.funnel-num span { font-family: var(--mono); font-size: 11px; color: var(--muted); }

.cohort .cohort-cell { font-family: var(--mono); font-size: 12px; text-align: center; }
.cohort-cell-90, .cohort-cell-89, .cohort-cell-87, .cohort-cell-84, .cohort-cell-82 { background: rgba(27,111,181,0.85); color: #fff; }
.cohort-cell-66, .cohort-cell-64, .cohort-cell-61, .cohort-cell-58 { background: rgba(27,111,181,0.55); color: #fff; }
.cohort-cell-46, .cohort-cell-44, .cohort-cell-41 { background: rgba(27,111,181,0.32); }
.cohort-cell-36, .cohort-cell-34, .cohort-cell-32, .cohort-cell-29, .cohort-cell-28 { background: rgba(27,111,181,0.18); }

/* ===== ORGANIZER ===== */
.capacity-ring { position: relative; width: 200px; height: 200px; margin: 0 auto 16px; }
.capacity-ring svg { width: 100%; height: 100%; }
.capacity-ring-l { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.3; }
.capacity-ring-l strong { font-family: var(--serif); font-size: 38px; font-weight: 500; }
.capacity-ring-l span { font-size: 11px; color: var(--muted); text-align: center; }
.cap-breakdown { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; font-size: 12px; }
.cap-breakdown li { display: grid; grid-template-columns: 1fr 80px 30px; gap: 8px; align-items: center; }
.cap-bar { height: 6px; background: var(--cream); border-radius: 3px; overflow: hidden; }
.cap-bar div { height: 100%; background: var(--brand); }

.todo-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.todo-item { display: grid; grid-template-columns: 20px 1fr auto; gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; }
.todo-item div { display: flex; flex-direction: column; }
.todo-item strong { font-size: 13.5px; }
.todo-item span { font-size: 11.5px; color: var(--muted); }
.todo-due { font-family: var(--mono); font-size: 11px; color: var(--muted); }
.todo-high { border-left: 3px solid var(--warn); }
.todo-med { border-left: 3px solid var(--brand); }
.todo-low { border-left: 3px solid var(--line); }

.agenda-grid-builder { overflow-x: auto; }
.agenda-grid-times { display: grid; grid-template-columns: 80px repeat(5, 1fr); min-width: 800px; }
.agenda-grid-track { padding: 10px; border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); font-size: 12px; font-weight: 500; background: var(--cream); }
.agenda-grid-time { padding: 10px; border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 11px; color: var(--muted); }
.agenda-grid-cell { border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); position: relative; padding: 4px; min-height: 64px; }
.agenda-grid-block { background: var(--brand); color: #fff; border-radius: 6px; padding: 8px 10px; display: flex; flex-direction: column; gap: 2px; }
.agenda-grid-block strong { font-size: 12px; line-height: 1.2; }
.agenda-grid-block span { font-size: 10px; opacity: 0.85; text-transform: uppercase; letter-spacing: 0.08em; }
.agenda-grid-block-keynote { background: var(--ink); }
.agenda-grid-block-panel { background: var(--accent); color: var(--ink); }
.agenda-grid-block-workshop { background: var(--warn); }
.agenda-grid-block-session { background: var(--brand); }

.abstract-rev-list { display: flex; flex-direction: column; gap: 12px; }
.abstract-rev-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); padding: 18px; }
.abstract-rev-h { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.abstract-rev-h code { font-family: var(--mono); font-size: 11px; color: var(--muted); }
.abstract-rev-status { margin-left: auto; font-size: 11px; color: var(--muted); }
.abstract-rev-card h4 { font-family: var(--serif); font-size: 17px; margin: 8px 0 4px; font-weight: 500; }
.abstract-rev-card p { margin: 0; font-size: 13px; color: var(--muted); }
.abstract-rev-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }

.checkin-stations { display: flex; flex-direction: column; gap: 10px; }
.checkin-station { display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 8px; }
.checkin-station-meta { font-size: 12px; color: var(--muted); display: flex; gap: 6px; }

.badge-mock { background: linear-gradient(180deg, #fff, var(--cream)); border: 2px solid var(--ink); border-radius: 12px; padding: 18px; text-align: center; aspect-ratio: 3/4; display: flex; flex-direction: column; align-items: center; justify-content: space-between; max-width: 240px; margin: 0 auto; }
.badge-mock-head { display: flex; align-items: center; gap: 8px; font-size: 11px; font-family: var(--mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line); padding-bottom: 8px; width: 100%; justify-content: center; }
.badge-mock-head img { height: 20px; }
.badge-mock strong { font-family: var(--serif); font-size: 18px; }
.badge-mock > span { font-size: 11px; color: var(--muted); }
.badge-mock-tags { display: flex; gap: 6px; }
.badge-mock-qr { width: 80px; height: 80px; background: repeating-linear-gradient(45deg, var(--ink) 0 4px, transparent 4px 8px); color: transparent; border-radius: 4px; }

.stream-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 1100px) { .stream-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) { .stream-grid { grid-template-columns: 1fr; } }
.stream-card { color: #fff; border-radius: var(--r-md); padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.stream-card-h { display: flex; justify-content: space-between; align-items: center; }
.stream-card-mock { aspect-ratio: 16/9; background: rgba(0,0,0,0.3); border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 12px; opacity: 0.7; }
.stream-card-meta { display: flex; justify-content: space-between; font-size: 11px; opacity: 0.8; }
.stream-good { font-size: 11px; color: #6FFFB0; }
.stream-warn { font-size: 11px; color: rgba(255,255,255,0.7); }

.kanban { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 1000px) { .kanban { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .kanban { grid-template-columns: 1fr; } }
.kanban-col { background: var(--cream); border-radius: var(--r-md); padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.kanban-col-h { display: flex; justify-content: space-between; padding: 4px 4px 8px; }
.kanban-col-h strong { font-size: 13px; }
.kanban-col-h span { font-size: 11px; color: var(--muted); }
.kanban-card { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; cursor: grab; }
.kanban-card strong { font-size: 13px; }
.kanban-card span { font-size: 11px; color: var(--muted); }
.kanban-card-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 4px; }
.kanban-add { padding: 8px; font-size: 12px; color: var(--muted); border: 1px dashed var(--line); border-radius: 6px; }

.campaign-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.campaign-row { display: grid; grid-template-columns: 100px 1fr auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }

/* ===== ATTENDEE ===== */
.att-next { display: grid; grid-template-columns: 320px 1fr; gap: 24px; align-items: stretch; }
@media (max-width: 880px) { .att-next { grid-template-columns: 1fr; } }
.att-next-img { background-size: cover; background-position: center; border-radius: var(--r-md); min-height: 220px; }
.att-next-body { display: flex; flex-direction: column; gap: 10px; }
.att-next-body h3 { font-family: var(--serif); font-size: 24px; margin: 0; font-weight: 500; line-height: 1.15; }
.att-next-body p { margin: 0; color: var(--muted); font-size: 13px; }
.att-next-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 8px 0; }
@media (max-width: 600px) { .att-next-stats { grid-template-columns: repeat(2, 1fr); } }
.att-next-stats div { display: flex; flex-direction: column; }
.att-next-stats strong { font-family: var(--serif); font-size: 18px; font-weight: 500; }
.att-next-stats span { font-size: 11px; color: var(--muted); }
.att-next-actions { display: flex; flex-wrap: wrap; gap: 8px; }

.match-list { display: flex; flex-direction: column; gap: 10px; }
.match-row { display: grid; grid-template-columns: 40px 1fr 80px auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.match-reason { color: var(--muted); font-size: 11px; font-style: italic; }
.match-score { display: flex; flex-direction: column; align-items: center; }
.match-score strong { font-family: var(--serif); font-size: 18px; color: var(--good); }
.match-score span { font-size: 10px; color: var(--muted); }

.match-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 1000px) { .match-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .match-grid { grid-template-columns: 1fr; } }
.match-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); padding: 18px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; position: relative; }
.match-card-score { position: absolute; top: 12px; right: 12px; font-family: var(--serif); font-size: 13px; color: var(--good); padding: 2px 8px; background: rgba(31,138,91,0.1); border-radius: 999px; }
.match-card strong { font-family: var(--serif); font-size: 16px; margin-top: 4px; font-weight: 500; }
.match-card span { font-size: 12px; color: var(--muted); }
.match-card-tags { color: var(--brand); font-size: 11px; font-family: var(--mono); }
.match-card-when { font-size: 11px; padding: 6px 10px; background: var(--cream); border-radius: 6px; width: 100%; margin-top: 4px; }

.cme-ring { position: relative; width: 160px; height: 160px; margin: 0 auto 12px; }
.cme-ring svg { width: 100%; height: 100%; }
.cme-recent { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; font-size: 12px; }
.cme-recent li { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--line); }

.replay-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 880px) { .replay-row { grid-template-columns: 1fr; } }
.replay-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 1100px) { .replay-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { .replay-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .replay-grid { grid-template-columns: 1fr; } }
.replay-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; }
.replay-card-img { aspect-ratio: 16/9; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.85); font-size: 28px; }
.replay-card-body { padding: 12px; display: flex; flex-direction: column; gap: 2px; }
.replay-card-body strong { font-size: 13px; line-height: 1.3; }
.replay-card-body span { font-size: 11px; color: var(--muted); }
.replay-card-pos { color: var(--brand) !important; }

.upcoming-list { display: flex; flex-direction: column; gap: 10px; }
.upcoming-row { display: grid; grid-template-columns: 6px 1fr auto auto auto; gap: 16px; align-items: center; padding: 14px 18px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); }
.upcoming-stripe { width: 6px; height: 40px; border-radius: 3px; }
.upcoming-body { display: flex; flex-direction: column; }
.upcoming-body strong { font-family: var(--serif); font-size: 16px; font-weight: 500; }
.upcoming-body span { font-size: 12px; color: var(--muted); }

.att-agenda-list { display: flex; flex-direction: column; gap: 0; }
.agenda-row { display: grid; grid-template-columns: 70px 4px 1fr auto; gap: 14px; align-items: stretch; padding: 14px 0; border-bottom: 1px solid var(--line); }
.agenda-row:last-child { border-bottom: none; }
.agenda-time { display: flex; flex-direction: column; line-height: 1.2; }
.agenda-time strong { font-family: var(--serif); font-size: 18px; font-weight: 500; }
.agenda-time span { font-size: 11px; color: var(--muted); }
.agenda-bar { background: var(--brand); border-radius: 2px; }
.agenda-row-keynote .agenda-bar { background: var(--ink); }
.agenda-row-panel .agenda-bar { background: var(--accent); }
.agenda-row-workshop .agenda-bar { background: var(--warn); }
.agenda-body { display: flex; flex-direction: column; gap: 2px; padding: 4px 0; }
.agenda-type { font-family: var(--mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.agenda-title { font-family: var(--serif); font-size: 16px; font-weight: 500; }
.agenda-speaker { font-size: 12px; color: var(--muted); }
.agenda-add { align-self: center; padding: 6px 12px; font-size: 12px; color: var(--good); border: 1px solid var(--good); border-radius: 999px; background: rgba(31,138,91,0.05); }

.messages-grid { display: grid; grid-template-columns: 320px 1fr; gap: 16px; min-height: 500px; }
@media (max-width: 880px) { .messages-grid { grid-template-columns: 1fr; } }
.messages-list { display: flex; flex-direction: column; gap: 4px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); padding: 8px; }
.messages-item { display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; align-items: center; padding: 10px; border-radius: 8px; text-align: left; position: relative; }
.messages-item:hover { background: var(--cream); }
.messages-item.is-on { background: var(--cream); }
.messages-time { font-size: 10px; color: var(--muted); }
.messages-unread { position: absolute; right: 8px; top: 12px; width: 8px; height: 8px; border-radius: 50%; background: var(--brand); }
.messages-thread { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); display: flex; flex-direction: column; }
.messages-thread-h { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.messages-thread-h strong { display: block; font-size: 14px; }
.messages-thread-h span { font-size: 11px; color: var(--muted); }
.messages-bubbles { flex: 1; padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.msg-bubble { padding: 10px 14px; border-radius: 16px; max-width: 70%; font-size: 13px; line-height: 1.4; }
.msg-them { background: var(--cream); border-bottom-left-radius: 4px; align-self: flex-start; }
.msg-you { background: var(--brand); color: #fff; border-bottom-right-radius: 4px; align-self: flex-end; }
.messages-input { display: flex; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--line); }
.messages-input input { flex: 1; padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; }
.chat-send { width: 40px; height: 40px; border-radius: 50%; background: var(--ink); color: #fff; }

.trip-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 880px) { .trip-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .trip-grid { grid-template-columns: 1fr; } }
.trip-tile { padding: 16px; border: 1px solid var(--line); border-radius: var(--r-md); display: flex; flex-direction: column; gap: 4px; }
.trip-tile-l { font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.trip-tile strong { font-family: var(--serif); font-size: 17px; font-weight: 500; }
.trip-tile span { font-size: 12px; color: var(--muted); }
.trip-pill { align-self: flex-start; padding: 3px 8px; background: var(--cream); border-radius: 4px; font-size: 11px; color: var(--ink) !important; margin-top: 4px; }
.trip-pill-good { background: rgba(31,138,91,0.1); color: var(--good) !important; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 600px) { .form-grid { grid-template-columns: 1fr; } }
.field { display: flex; flex-direction: column; gap: 4px; }
.field-full { grid-column: 1 / -1; }
.field label { font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.field input, .field select { padding: 9px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); font-size: 13px; }

.pref-list { display: flex; flex-direction: column; gap: 8px; }
.pref-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; }
.pref-row strong { font-size: 13px; display: block; }
.pref-row span { font-size: 11px; color: var(--muted); }
.switch { width: 36px; height: 20px; background: var(--line); border-radius: 999px; position: relative; cursor: pointer; transition: 200ms; flex-shrink: 0; }
.switch span { position: absolute; left: 2px; top: 2px; width: 16px; height: 16px; background: #fff; border-radius: 50%; transition: 200ms; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
.switch.is-on { background: var(--good); }
.switch.is-on span { left: 18px; }

.placeholder-panel { padding: 80px 20px; text-align: center; color: var(--muted); }
.placeholder-panel h2 { font-family: var(--serif); font-size: 28px; color: var(--ink); text-transform: capitalize; margin: 0 0 8px; }

/* ===== WIZARD MODAL ===== */
.wiz-back { position: fixed; inset: 0; background: rgba(10,37,64,0.55); backdrop-filter: blur(6px); z-index: 500; display: flex; align-items: center; justify-content: center; padding: 20px; animation: megaIn 200ms ease; }
.wiz { background: var(--paper); border-radius: var(--r-lg); width: 100%; max-width: 760px; max-height: 90vh; display: flex; flex-direction: column; overflow: hidden; box-shadow: var(--shadow-lg); }
.wiz-h { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px 26px 12px; }
.wiz-h h2 { font-family: var(--serif); font-size: 24px; margin: 4px 0 0; font-weight: 500; }
.wiz-close { width: 32px; height: 32px; border-radius: 50%; background: var(--cream); font-size: 20px; }
.wiz-steps { display: flex; gap: 4px; padding: 0 26px 14px; flex-wrap: wrap; font-size: 11px; color: var(--muted); }
.wiz-step { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; }
.wiz-step span { width: 18px; height: 18px; border-radius: 50%; background: var(--cream); display: inline-flex; align-items: center; justify-content: center; font-size: 10px; font-family: var(--mono); }
.wiz-step.is-on { background: var(--ink); color: var(--paper); }
.wiz-step.is-on span { background: var(--paper); color: var(--ink); }
.wiz-step.is-done span { background: var(--good); color: #fff; }
.wiz-body { flex: 1; padding: 18px 26px 24px; overflow-y: auto; }
.wiz-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 26px; border-top: 1px solid var(--line); background: var(--cream); }
.wiz-tier-list { display: flex; flex-direction: column; gap: 8px; }
.wiz-tier { display: grid; grid-template-columns: 1.4fr 1fr 2fr 30px; gap: 8px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; align-items: center; }
.wiz-tier input { padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; font-size: 13px; }
@media (max-width: 600px) { .wiz-tier { grid-template-columns: 1fr 1fr; } .wiz-tier > :last-child { grid-column: 2; justify-self: end; } }

/* ===== PROFILE MENU + MOBILE NAV ===== */
.profile-wrap { position: relative; }
.profile-trigger { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px 4px 4px; border-radius: 999px; border: 1px solid var(--line); }
.profile-trigger:hover { border-color: var(--ink); }
.profile-avatar { width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg, var(--brand), var(--accent)); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; }
.profile-caret { font-size: 9px; color: var(--muted); }
.profile-menu { position: absolute; top: calc(100% + 8px); right: 0; min-width: 280px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); box-shadow: var(--shadow-lg); padding: 8px; z-index: 200; animation: megaIn 160ms ease; }
.profile-menu-h { padding: 12px; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 2px; margin-bottom: 6px; }
.profile-menu-h strong { font-family: var(--serif); font-size: 15px; font-weight: 500; }
.profile-menu-h span { font-size: 11px; color: var(--muted); }
.profile-menu-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border-radius: 8px; text-align: left; }
.profile-menu-item:hover { background: var(--cream); }
.profile-menu-item > span { width: 28px; height: 28px; border-radius: 6px; background: var(--cream); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; flex-shrink: 0; }
.profile-menu-item div { display: flex; flex-direction: column; line-height: 1.2; }
.profile-menu-item strong { font-size: 13px; font-weight: 500; }
.profile-menu-item span:not(:first-child) { font-size: 11px; color: var(--muted); width: auto; height: auto; background: transparent; padding: 0; }
.profile-menu-item-quiet:hover { background: rgba(217,119,87,0.08); color: var(--warn); }
.profile-menu-sep { height: 1px; background: var(--line); margin: 6px 0; }

.mobile-toggle { display: none; flex-direction: column; gap: 4px; padding: 8px; }
.mobile-toggle span { width: 20px; height: 2px; background: var(--ink); border-radius: 2px; }

/* ===== RESPONSIVE — main site ===== */
@media (max-width: 1100px) {
  .nav-links { display: none; }
  .search-trigger { min-width: 200px; }
}
@media (max-width: 880px) {
  .topnav-inner { gap: 12px; height: 60px; }
  .brand-logo { height: 30px; }
  .search-trigger { display: none; }
  .nav-signin { display: none; }
  .nav-list { display: none; }
  .mobile-toggle { display: inline-flex; }
  .hero { padding: 32px var(--pad-x) 40px; gap: 32px; }
  .hero-slide-content { left: 20px; right: 20px; bottom: 76px; }
  .hero-slide-rail { left: 20px; right: 20px; }
  .search-bar { grid-template-columns: 1fr; padding: 12px; gap: 8px; border-radius: var(--r-lg); }
  .search-field { border-right: none; border-bottom: 1px solid var(--line); padding: 8px 12px; }
  .search-field:last-of-type { border-bottom: none; }
  .search-bar .btn { margin: 4px 0 0; }
  .display { font-size: clamp(36px, 8vw, 48px); }
  .h2 { font-size: clamp(26px, 6vw, 34px); }
}
@media (max-width: 720px) {
  .dash { grid-template-columns: 1fr; }
  .dash-side { display: none; }
  .dash-topbar { padding: 12px 16px; flex-wrap: wrap; }
  .dash-search { min-width: 0; flex: 1; }
  .dash-body { padding: 16px; gap: 16px; }
  .dash-card-body { padding: 14px; }
  .agenda-row { grid-template-columns: 60px 4px 1fr; }
  .agenda-add { grid-column: 3; justify-self: start; margin-top: 6px; }
  .upcoming-row { grid-template-columns: 6px 1fr; gap: 10px; }
  .upcoming-row .pill, .upcoming-row > span:nth-of-type(2) { grid-column: 2; }
  .match-row { grid-template-columns: 40px 1fr 60px; }
  .match-row .row-actions { grid-column: 1 / -1; justify-self: end; }
  .funnel-row { grid-template-columns: 1fr; gap: 4px; }
  .bar-row { grid-template-columns: 100px 1fr 32px; }
}

/* dash topbar shrink */
@media (max-width: 600px) {
  .dash-topbar-actions .btn { display: none; }
  .dash-topbar-actions .dash-icon-btn { display: inline-flex; }
  .filter-bar { gap: 8px; }
  .filter-bar .seg { overflow-x: auto; max-width: 100%; flex-wrap: nowrap; white-space: nowrap; }
  .dash-input { min-width: 0; width: 100%; }
  .dash-table-rich th:nth-child(n+5), .dash-table-rich td:nth-child(n+5) { display: none; }
  .kanban-col { padding: 8px; }
}
