.dashboard-body{min-height:100vh;background:#edf2f8}.dashboard{width:min(1200px,calc(100% - 32px));margin:30px auto}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.dashboard-header h1{margin:0}.dashboard-header .button{padding:9px 14px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{padding:20px;border-radius:18px;background:#fff;border:1px solid var(--line)}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:8px;font-size:28px}.panel{margin-top:18px;padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line);overflow:auto}.panel h2{margin:0 0 17px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}th{color:var(--muted);font-size:12px}.status{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf4ff;color:#246bfd;font-size:12px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(400px,100%);padding:30px;border-radius:24px;background:#fff;box-shadow:var(--shadow)}.login-card h1{margin:0 0 6px}.login-card form{margin-top:22px}.field{display:grid;gap:7px;margin-bottom:15px}.field input,.field textarea{width:100%;border:1px solid #d8e0eb;border-radius:12px;padding:12px;outline:0}.field textarea{min-height:90px}.stack{display:grid;gap:12px}.question-admin{padding:16px;border-radius:15px;background:#f6f8fb}.question-admin h3{margin:0 0 7px}.answer-admin{padding:12px;margin-top:10px;border-left:3px solid #246bfd;background:#fff}.actions{display:flex;gap:8px;margin-top:10px}.button.danger{background:#fff0f2;color:#d43d51}@media(max-width:720px){.metric-grid{grid-template-columns:1fr 1fr}.dashboard{width:min(100% - 20px,1200px);margin:18px auto}.dashboard-header{align-items:flex-start}.dashboard-header h1{font-size:22px}}


.banner-editor{margin:8px 0 2px;padding-top:18px;border-top:1px solid var(--line)}.banner-editor h3{margin:0 0 5px}.banner-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.banner-editor-item{min-width:0;margin:0;padding:14px;border:1px solid #d8e0eb;border-radius:16px;background:#f8fafc}.banner-editor-item legend{padding:0 7px;color:#246bfd;font-weight:800}.banner-editor-item .field:last-child{margin-bottom:0}@media(max-width:900px){.banner-editor-grid{grid-template-columns:1fr}}

/* Desktop admin shell: sidebar + workspace. */
.dashboard-shell.dashboard {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 20px;
  display: grid;
  grid-template-columns:260px minmax(0,1fr);
  gap: 18px;
  box-sizing: border-box;
}
.dashboard-sidebar {
  position: sticky;
  top: 20px;
  height: calc(100vh - 40px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 18px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 20px 60px rgba(31,45,61,.10);
}
.dashboard-brand { display: grid; gap: 6px; }
.dashboard-brand small { color: #246bfd; font-weight: 900; letter-spacing: .08em; }
.dashboard-brand strong { font-size: 24px; line-height: 1.15; }
.dashboard-brand span { color: var(--muted); font-size: 13px; }
.dashboard-nav { display: grid; align-content: start; gap: 9px; }
.dashboard-nav button {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 14px;
  padding: 0 14px;
  color: #344054;
  background: transparent;
  text-align: left;
  font-weight: 800;
  cursor: pointer;
}
.dashboard-nav button.is-active { color: #246bfd; background: #eaf2ff; box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.dashboard-workspace { min-width: 0; display: grid; align-content: start; gap: 16px; }
.dashboard-workspace .dashboard-header { margin: 0; padding: 4px 2px 0; }
.admin-section:not(.is-active) { display: none; }
.admin-section.is-active { display: block; }
.admin-section { min-width: 0; }
.admin-two-col { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.82fr); gap: 16px; align-items: start; }
.admin-card-grid,
.agent-control-grid,
.inherit-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 12px; }
.agent-control-card,
.inherit-card {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.agent-control-card small { color: #246bfd; font-weight: 900; }
.agent-control-card h3 { margin: 6px 0 4px; }
.agent-control-card p { margin: 0; color: var(--muted); }
.agent-control-card dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 14px 0 0; }
.agent-control-card dt { color: var(--muted); font-size: 11px; }
.agent-control-card dd { margin: 4px 0 0; font-weight: 900; }
.inherit-card { display: grid; gap: 10px; }
.inherit-card label { display: flex; align-items: center; gap: 8px; color: #344054; }
.panel-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.panel-title-row h2 { margin: 0; }
.compact-panel { position: sticky; top: 20px; }
.admin-form-grid { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: end; }
.admin-form-grid .wide { grid-column: 1 / -1; }
.admin-inline-form { grid-template-columns: repeat(4,minmax(0,1fr)) auto; align-items: end; }
.field select,
.question-admin select,
.answer-admin select {
  width: 100%;
  border: 1px solid #d8e0eb;
  border-radius: 12px;
  padding: 12px;
  outline: 0;
  background: #fff;
}
.admin-question-list { display: grid; gap: 10px; }
.question-admin { padding: 0; overflow: hidden; background: #fff; border: 1px solid var(--line); }
.question-admin summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  cursor: pointer;
  font-weight: 900;
}
.question-admin summary em { font-style: normal; color: #246bfd; font-size: 12px; }
.question-admin > form { margin: 0 16px 14px; }
.question-admin[open] summary { border-bottom: 1px solid var(--line); margin-bottom: 14px; }
.answer-admin { border-radius: 14px; border-left: 3px solid #246bfd; background: #f7f9fc; }
.metric em { display: block; margin-top: 6px; color: var(--muted); font-style: normal; font-size: 12px; }
@media(max-width:980px){
  .dashboard-shell.dashboard { grid-template-columns: 1fr; padding: 12px; }
  .dashboard-sidebar { position: static; height: auto; grid-template-rows: auto; }
  .dashboard-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-two-col,.admin-form-grid,.admin-inline-form { grid-template-columns: 1fr; }
  .compact-panel { position: static; }
}

/* Scalable admin agent control: table first, detail panel second. */
.agent-master-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 16px;
  align-items: start;
}
.agent-table-panel { min-width: 0; }
.agent-detail-panel {
  position: sticky;
  top: 20px;
  display: grid;
  gap: 16px;
}
.agent-search {
  min-width: 260px;
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.agent-search input {
  height: 40px;
  border: 1px solid #d8e0eb;
  border-radius: 12px;
  padding: 0 12px;
  outline: 0;
  background: #fff;
}
.agent-control-table {
  min-width: 920px;
}
.agent-control-table td:first-child {
  display: grid;
  gap: 4px;
}
.agent-control-table td:first-child strong {
  color: #1d2939;
  font-size: 14px;
}
.agent-control-table td:first-child small {
  color: var(--muted);
  font-size: 12px;
}
.agent-control-table tr[hidden] { display: none; }
@media(max-width:1180px){
  .agent-master-layout { grid-template-columns: 1fr; }
  .agent-detail-panel { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px){
  .agent-detail-panel { grid-template-columns: 1fr; }
  .agent-search { min-width: 0; width: 100%; }
}

/* Per-agent entry routing controls: desktop-first, scalable to many agents. */
.agent-detail-panel {
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
}
.agent-detail-panel > [data-agent-detail] { display: grid; gap: 16px; }
.agent-control-table { min-width: 1120px; }
.agent-control-table tr[data-agent-select] { cursor: pointer; transition: background .18s ease, box-shadow .18s ease; }
.agent-control-table tr[data-agent-select]:hover { background: #f6f9ff; }
.agent-control-table tr.is-selected { background: #edf4ff; box-shadow: inset 3px 0 0 #246bfd; }
.agent-control-table tr[data-agent-select]:focus-visible { outline: 2px solid #246bfd; outline-offset: -2px; }
.agent-config-button { padding: 7px 11px; }
.entry-mode-badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; color: #475467; background: #f2f4f7; font-size: 12px; font-weight: 800; }
.entry-mode-badge.is-agent { color: #175cd3; background: #eaf2ff; }
.selected-agent-panel { overflow: visible; }
.selected-agent-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding-bottom: 16px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.selected-agent-heading div { display: grid; gap: 5px; }
.selected-agent-heading span:not(.status) { color: var(--muted); font-size: 12px; font-weight: 800; }
.selected-agent-heading h2 { margin: 0; }
.selected-agent-heading code { color: #246bfd; font-weight: 900; }
.entry-mode-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.entry-mode-option { position: relative; display: flex; min-width: 0; padding: 14px; border: 1px solid #d8e0eb; border-radius: 16px; background: #fff; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.entry-mode-option.is-selected { border-color: #246bfd; background: #f4f8ff; box-shadow: 0 0 0 3px rgba(36,107,253,.10); }
.entry-mode-option input { position: absolute; opacity: 0; pointer-events: none; }
.entry-mode-option span { display: grid; gap: 5px; }
.entry-mode-option strong { color: #1d2939; }
.entry-mode-option small { color: var(--muted); line-height: 1.5; }
.entry-route-preview { display: grid; gap: 10px; padding: 14px; border: 1px solid #dbe6f6; border-radius: 16px; background: #f8fbff; }
.entry-route-preview > span { color: #246bfd; font-size: 12px; font-weight: 900; }
.entry-route-preview p { margin: 0; color: #475467; font-size: 13px; line-height: 1.6; }
.entry-route-flow { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 8px; }
.entry-route-flow code { min-width: 0; padding: 9px; border-radius: 10px; color: #344054; background: #fff; overflow-wrap: anywhere; text-align: center; }
.entry-route-flow b { color: #246bfd; }
@media(max-width:1180px){ .agent-detail-panel { max-height: none; overflow-y: visible; } }
@media(max-width:520px){ .entry-mode-options { grid-template-columns: 1fr; } .entry-route-flow { grid-template-columns: 1fr; } .entry-route-flow b { transform: rotate(90deg); text-align: center; } }
.agent-stable-entry{display:grid;grid-template-columns:minmax(0,1fr) 148px;gap:24px;align-items:center}
.agent-entry-copy small{display:block;color:#2563eb;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.agent-entry-copy h2{margin:0 0 8px}
.agent-entry-url{display:flex;gap:10px;align-items:center;margin-top:16px;flex-wrap:wrap}
.agent-entry-url input{min-width:min(100%,420px);flex:1;background:#f8fafc;border:1px solid #dbe3ef;border-radius:12px;padding:11px 13px;color:#263348}
.agent-entry-url .button{text-decoration:none;white-space:nowrap}
.agent-entry-qr{width:148px;height:148px;object-fit:contain;border-radius:18px;border:1px solid #e2e8f0;background:#fff;padding:8px;box-shadow:0 12px 30px rgba(34,61,96,.10)}
@media(max-width:760px){.agent-stable-entry{grid-template-columns:1fr}.agent-entry-qr{order:-1;width:128px;height:128px}.agent-entry-url{align-items:stretch}.agent-entry-url .button{justify-content:center}}
/* Admin workflow polish: unified scrolling, entry funnel and answer links. */
.panel-kicker,
.panel-heading small { color:#246bfd; font-size:11px; font-weight:900; letter-spacing:.09em; }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.panel-heading h2 { margin:4px 0 0; }
.panel-heading p { max-width:480px; margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.table-scroll { width:100%; min-width:0; overflow-x:auto; overscroll-behavior-x:contain; border-radius:14px; }
.overview-metric-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.overview-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:start; }
.overview-grid > .panel,
.entry-flow-panel,
.agent-table-panel { min-width:0; overflow:visible; }
.overview-span-2 { grid-column:1 / -1; }
.entry-flow-panel { background:linear-gradient(135deg,#f8fbff,#fff); }
.entry-flow-grid { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(150px,.72fr); align-items:center; gap:12px; }
.entry-flow-step,
.entry-flow-rate { min-width:0; padding:16px; border:1px solid #dbe6f6; border-radius:18px; background:#fff; }
.entry-flow-step.is-landing { border-color:#cfe2ff; background:#f4f8ff; }
.entry-flow-step span,
.entry-flow-rate span { display:block; color:var(--muted); font-size:12px; font-weight:800; }
.entry-flow-step strong,
.entry-flow-rate strong { display:block; margin:7px 0 4px; color:#1d2939; font-size:28px; line-height:1; }
.entry-flow-step small,
.entry-flow-rate small { color:var(--muted); font-size:11px; }
.entry-flow-rate { color:#fff; border-color:#246bfd; background:linear-gradient(145deg,#246bfd,#5c8fff); }
.entry-flow-rate span,
.entry-flow-rate small,
.entry-flow-rate strong { color:#fff; }
.entry-flow-arrow { color:#246bfd; font-size:24px; }
.analytics-url { max-width:320px; white-space:normal; overflow-wrap:anywhere; }
.analytics-url code { color:#344054; white-space:normal; overflow-wrap:anywhere; }

.agent-table-panel { margin-top:0; }
.agent-control-table { min-width:820px; }
.agent-cell-stack,
.agent-trial-summary { display:grid; justify-items:start; gap:6px; }
.agent-stat-pair { display:flex; gap:16px; }
.agent-stat-pair span { display:grid; gap:3px; }
.agent-stat-pair small { color:var(--muted); font-size:10px; }
.agent-stat-pair strong { color:#1d2939; font-size:16px; }
.agent-trial-summary span { padding:4px 7px; border-radius:999px; color:#475467; background:#f2f4f7; font-size:11px; }
.agent-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; }
.agent-detail-grid > .panel { min-width:0; margin-top:0; overflow:visible; }
.agent-detail-grid > .selected-agent-panel { grid-column:1 / -1; }
.agent-admin-lower { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:16px; align-items:start; }
.agent-admin-lower > .panel { min-width:0; overflow:visible; }
.create-agent-panel summary { display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; list-style:none; }
.create-agent-panel summary::-webkit-details-marker { display:none; }
.create-agent-panel summary span { display:grid; gap:4px; }
.create-agent-panel summary small { color:#246bfd; font-size:11px; font-weight:900; letter-spacing:.09em; }
.create-agent-panel summary strong { font-size:20px; }
.create-agent-panel summary b { padding:7px 10px; border-radius:999px; color:#246bfd; background:#eaf2ff; font-size:12px; }
.create-agent-panel[open] summary { padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid var(--line); }
.create-agent-panel[open] summary b { color:#475467; background:#f2f4f7; }

.question-admin-title { min-width:0; display:grid; gap:4px; }
.question-admin-title strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.question-admin-title small { color:var(--muted); font-size:11px; font-weight:700; }
.question-admin-meta { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.question-link-badge { display:inline-flex; padding:4px 8px; border-radius:999px; color:#475467; background:#f2f4f7; font-size:11px; font-weight:850; }
.question-link-badge.is-configured { color:#087443; background:#e8f8ef; }
.question-link-badge.is-pending { color:#9a6700; background:#fff5d8; }
.question-edit-form { padding-bottom:14px; border-bottom:1px solid var(--line); }
.answer-admin { display:grid; gap:12px; padding:15px; }
.answer-admin-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.answer-admin-heading span { color:var(--muted); font-size:11px; }
.answer-link-editor { min-width:0; margin:0; padding:13px; border:1px solid #dbe6f6; border-radius:15px; background:#f8fbff; }
.answer-link-editor legend { padding:0 7px; color:#246bfd; font-size:12px; font-weight:900; }
.answer-link-editor > p { margin:0 0 12px; color:var(--muted); font-size:12px; line-height:1.55; }
.answer-link-fields { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:10px; }
.answer-link-fields .field { margin-bottom:0; }
.answer-link-state { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; padding:9px 10px; border-radius:12px; color:#667085; background:#fff; font-size:11px; }
.answer-link-state strong { color:#475467; }
.answer-link-state.is-configured { background:#eaf8f0; }
.answer-link-state.is-configured strong { color:#087443; }
.answer-link-state.is-pending { background:#fff5d8; }
.answer-link-state.is-pending strong { color:#9a6700; }
.answer-link-state a { color:#175cd3; font-weight:900; text-decoration:none; }
.answer-link-state code { max-width:68%; overflow-wrap:anywhere; white-space:normal; }
.answer-admin-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.answer-admin-actions select { width:auto; min-width:130px; }

@media(max-width:1180px){
  .overview-metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .entry-flow-grid { grid-template-columns:1fr auto 1fr; }
  .entry-flow-rate { grid-column:1 / -1; }
}
@media(max-width:900px){
  .overview-grid,
  .agent-detail-grid,
  .agent-admin-lower,
  .answer-link-fields { grid-template-columns:1fr; }
  .overview-span-2,
  .agent-detail-grid > .selected-agent-panel { grid-column:auto; }
  .panel-heading { display:grid; }
}
@media(max-width:620px){
  .overview-metric-grid { grid-template-columns:1fr 1fr; }
  .entry-flow-grid { grid-template-columns:1fr; }
  .entry-flow-arrow { transform:rotate(90deg); text-align:center; }
  .answer-admin-actions,
  .answer-link-state { align-items:stretch; flex-direction:column; }
  .answer-admin-actions select { width:100%; }
}

.agent-detail-panel { position: static; max-height: none; padding: 0; overflow: visible; }

/* Compact admin directories: one agent column, dense invitation operations. */
.agent-master-layout {
  display: grid;
  grid-template-columns: minmax(300px,360px) minmax(0,1fr);
  gap: 16px;
  align-items: start;
}
.agent-table-panel { margin-top: 0; padding: 16px; overflow: visible; }
.agent-directory-title { display: grid; gap: 12px; margin-bottom: 10px; }
.agent-directory-title h2 { margin: 4px 0 2px; }
.agent-directory-title .agent-search { width: 100%; min-width: 0; grid-template-columns: auto minmax(0,1fr); align-items: center; }
.agent-directory-title .agent-search input { height: 36px; }
.agent-control-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: separate; border-spacing: 0 7px; white-space: normal; }
.agent-control-table td:first-child { display: table-cell; padding: 0; border: 0; }
.agent-control-table tr[data-agent-select] { background: transparent; box-shadow: none; }
.agent-control-table tr[data-agent-select]:hover,
.agent-control-table tr.is-selected { background: transparent; box-shadow: none; }
.agent-directory-item { display: grid; gap: 9px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 15px; background: #fff; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.agent-control-table tr[data-agent-select]:hover .agent-directory-item { border-color: #b9cff6; background: #f8fbff; }
.agent-control-table tr.is-selected .agent-directory-item { border-color: #246bfd; background: #f3f7ff; box-shadow: 0 0 0 3px rgba(36,107,253,.08); }
.agent-directory-heading,
.agent-directory-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.agent-directory-heading > div { min-width: 0; display: grid; gap: 2px; }
.agent-directory-heading strong { overflow: hidden; color: #1d2939; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.agent-directory-heading small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.agent-directory-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
.agent-directory-stats span { min-width: 0; padding: 6px 4px; border-radius: 9px; background: rgba(255,255,255,.84); text-align: center; }
.agent-directory-stats small { display: block; color: var(--muted); font-size: 9px; white-space: nowrap; }
.agent-directory-stats strong { display: block; margin-top: 2px; color: #1d2939; font-size: 14px; }
.agent-directory-foot b { color: #246bfd; font-size: 11px; }
.agent-master-layout .agent-detail-grid { margin-top: 0; }
.agent-admin-lower { margin-top: 16px; }

.code-management { display: grid; gap: 14px; }
.code-management > .panel { min-width: 0; margin-top: 0; overflow: visible; }
.code-create-panel { padding: 18px; }
.code-create-panel .panel-heading { margin-bottom: 12px; }
.code-create-grid { display: grid; grid-template-columns: minmax(150px,1.2fr) 82px 116px 96px 116px minmax(160px,1.15fr) auto; gap: 9px; align-items: end; }
.code-create-grid .field { min-width: 0; margin: 0; gap: 5px; }
.code-create-grid label { color: #475467; font-size: 11px; font-weight: 800; }
.code-create-grid input,
.code-create-grid select { height: 38px; min-width: 0; padding: 8px 9px; border-radius: 10px; font-size: 13px; }
.code-create-grid .field > small { color: var(--muted); font-size: 9px; }
.code-create-grid .button { min-height: 38px; padding: 8px 13px; white-space: nowrap; }
.code-list-panel { padding: 18px; }
.code-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.code-list-heading h2 { margin: 0 0 3px; }
.code-list-heading p { margin: 0; font-size: 11px; }
.code-summary { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.code-summary span { min-width: 58px; padding: 6px 8px; border-radius: 10px; background: #f5f7fa; text-align: center; }
.code-summary small { display: block; color: var(--muted); font-size: 9px; }
.code-summary strong { display: block; margin-top: 1px; color: #1d2939; font-size: 14px; }
.invitation-table th,
.invitation-table td { padding: 7px 9px; font-size: 12px; }
.invitation-table th { font-size: 10px; }
.invitation-code { color: #175cd3; font-size: 12px; font-weight: 900; }
.invitation-deadline { color: #475467; font-size: 11px !important; }
.invitation-status { display: inline-flex; padding: 3px 7px; border-radius: 999px; color: #475467; background: #f2f4f7; font-size: 10px; font-weight: 850; }
.invitation-status.is-active { color: #175cd3; background: #eaf2ff; }
.invitation-status.is-used { color: #087443; background: #e8f8ef; }
.invitation-status.is-expired,
.invitation-status.is-revoked { color: #b42318; background: #fff0ee; }
.invitation-revoke { min-height: 28px; padding: 4px 8px; font-size: 11px; }

@media(max-width:1180px){
  .agent-master-layout { grid-template-columns: 1fr; }
  .code-create-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .code-create-grid .button { min-height: 38px; }
}
@media(max-width:720px){
  .agent-directory-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .code-create-grid { grid-template-columns: 1fr 1fr; }
  .code-list-heading { align-items: flex-start; flex-direction: column; }
}

/* 2026-07-15 admin information architecture: list first, detail second. */
.agent-directory-screen { display: grid; gap: 16px; }
.agent-directory-screen > .agent-table-panel { margin-top: 0; }
.agent-detail-screen { display: grid; gap: 14px; }
.agent-back-button { justify-self: start; }
.agent-detail-screen .agent-detail-grid { margin-top: 0; }
.agent-detail-screen .agent-detail-grid > .panel { min-width: 0; }
.home-link-group { margin-bottom: 14px; }
.home-link-static span { display: block; min-height: 42px; padding: 11px 12px; border: 1px dashed #cbd5e1; border-radius: 12px; color: #667085; background: #f8fafc; }
.code-list-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.code-list-actions > label { display: inline-flex; align-items: center; gap: 7px; color: #667085; font-size: 11px; font-weight: 800; }
.code-list-actions select { min-width: 150px; height: 34px; padding: 5px 9px; border: 1px solid #d8e0eb; border-radius: 9px; background: #fff; color: #1d2939; }
.question-manager-single-column { display: grid; gap: 16px; max-width: 1120px; }
.question-manager-single-column > .panel { width: 100%; min-width: 0; box-sizing: border-box; }
.question-admin-stack { display: grid; gap: 14px; }
.question-manager-single-column .compact-panel { position: static; }
.question-manager-single-column .question-admin > form { max-width: none; }
.overview-grid .panel { padding: 16px; }
.overview-grid .table-scroll { overflow-x: auto; }
.overview-grid table { min-width: 620px; }
@media(max-width:720px){
  .code-list-actions { width: 100%; justify-content: flex-start; }
  .code-list-actions > label { width: 100%; }
  .code-list-actions select { flex: 1; }
  .question-manager-single-column { gap: 12px; }
}
/* Dense, bounded agent directory for installations with dozens of agents. */
.agent-directory-screen > .agent-table-panel {
  max-height: none;
  padding: 16px;
  overflow: visible;
}
.agent-directory-title {
  position: static;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.agent-directory-scroll {
  max-height: min(68vh, 720px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
  overscroll-behavior: contain;
}
.agent-control-table {
  width: 100%;
  min-width: 820px;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
  white-space: nowrap;
}
.agent-control-table th,
.agent-control-table td,
.agent-control-table td:first-child {
  display: table-cell;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  text-align: left;
  vertical-align: middle;
}
.agent-control-table thead th {
  position: sticky;
  z-index: 2;
  top: 0;
  color: #667085;
  background: #f8fafc;
  box-shadow: inset 0 -1px 0 var(--line);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .03em;
}
.agent-control-table tbody tr:last-child td { border-bottom: 0; }
.agent-control-table tr[data-agent-select] { cursor: pointer; }
.agent-control-table tr[data-agent-select]:hover td,
.agent-control-table tr.is-selected td { background: #f3f7ff; }
.agent-control-table tr.is-selected td:first-child { box-shadow: inset 3px 0 0 #246bfd; }
.agent-table-identity { min-width: 180px; display: grid; gap: 3px; }
.agent-table-identity strong { overflow: hidden; color: #1d2939; font-size: 13px; text-overflow: ellipsis; }
.agent-table-identity small { overflow: hidden; max-width: 240px; color: var(--muted); font-size: 10px; text-overflow: ellipsis; }
.agent-table-number { color: #1d2939; font-size: 13px; font-variant-numeric: tabular-nums; }
.agent-note-cell { min-width: 150px; max-width: 260px; color: #475467; font-size: 11px; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; }
.agent-note-cell span { color: #98a2b3; }
.agent-table-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.agent-copy-entry { min-height: 28px; padding: 5px 8px; font-size: 10px; white-space: nowrap; }
.agent-table-action { color: #175cd3; font-size: 11px; white-space: nowrap; }
.agent-control-table tr[hidden] { display: none; }
.agent-directory-screen > .create-agent-panel { margin-top: 0; }
.agent-detail-screen .inherit-grid { grid-template-columns: 1fr; }
@media(max-width:720px){
  .agent-directory-scroll { max-height: calc(100vh - 240px); }
}

/* Local-only share poster composer. Uploaded artwork never leaves the browser. */
.share-poster-panel { overflow: visible; }
.share-poster-workbench { display: grid; grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); gap: 24px; align-items: start; }
.share-poster-controls { display: grid; gap: 12px; padding: 18px; border: 1px solid #d8e0eb; border-radius: 18px; background: #f8fafc; }
.share-poster-controls .field { margin: 0; }
.share-poster-controls input[type="file"] { padding: 9px; background: #fff; }
.share-poster-controls input[type="range"] { padding: 0; border: 0; accent-color: #246bfd; }
.share-poster-controls [hidden] { display: none !important; }
.share-poster-size-field label { display: flex; align-items: center; justify-content: space-between; }
.share-poster-size-field output { color: #246bfd; font-weight: 900; }
.share-poster-position-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.share-poster-position-grid button { min-height: 34px; padding: 6px; border: 1px solid #cfd8e6; border-radius: 9px; background: #fff; color: #344054; font: inherit; font-size: 11px; cursor: pointer; }
.share-poster-position-grid button:hover:not(:disabled), .share-poster-position-grid button:focus-visible { border-color: #246bfd; color: #175cd3; background: #eef4ff; }
.share-poster-position-grid button:disabled { opacity: .42; cursor: not-allowed; }
.share-poster-download { margin-top: 2px; }
.share-poster-status { min-height: 38px; margin: 0; overflow-wrap: anywhere; color: #526276; font-size: 12px; line-height: 1.55; }
.share-poster-status.is-error { color: #b42318; font-weight: 700; }
.share-poster-preview-column { min-width: 0; }
.share-poster-preview-scroll { display: grid; place-items: center; min-height: 410px; overflow: auto; padding: 14px; border: 1px solid #d8e0eb; border-radius: 18px; background: #e8eef6; }
.share-poster-stage { position: relative; display: grid; place-items: center; width: min(720px, 100%); min-height: 360px; overflow: hidden; border-radius: 12px; background-color: #f8fafc; background-image: linear-gradient(45deg,#edf1f6 25%,transparent 25%),linear-gradient(-45deg,#edf1f6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#edf1f6 75%),linear-gradient(-45deg,transparent 75%,#edf1f6 75%); background-position: 0 0,0 8px,8px -8px,-8px 0; background-size: 16px 16px; box-shadow: 0 12px 32px rgba(31,51,77,.14); }
.share-poster-stage.has-poster { min-height: 0; cursor: crosshair; }
.share-poster-placeholder { display: grid; place-items: center; gap: 7px; padding: 30px; color: #667085; text-align: center; }
.share-poster-placeholder strong { color: #344054; font-size: 17px; }
.share-poster-placeholder span { font-size: 12px; }
.share-poster-base { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; }
.share-poster-placeholder[hidden], .share-poster-base[hidden], .share-poster-qr-box[hidden] { display: none !important; }
.share-poster-controls .button:disabled { opacity: .46; cursor: not-allowed; }
.share-poster-qr-box { position: absolute; z-index: 2; box-sizing: border-box; border: 0; outline: 2px dashed #246bfd; outline-offset: -2px; background: #fff; box-shadow: 0 5px 18px rgba(36,107,253,.28); cursor: grab; line-height: 0; touch-action: none; user-select: none; }
.share-poster-qr-box:active { cursor: grabbing; }
.share-poster-qr-box:focus-visible { outline: 3px solid rgba(36,107,253,.35); outline-offset: 3px; }
.share-poster-qr-box img { display: block; width: 100%; height: 100%; pointer-events: none; image-rendering: pixelated; }
.share-poster-resize-handle { position: absolute; padding: 0; appearance: none; right: -14px; bottom: -14px; width: 28px; height: 28px; border: 4px solid #fff; border-radius: 50%; background: #246bfd; box-shadow: 0 2px 7px rgba(16,24,40,.3); cursor: nwse-resize; touch-action: none; }
.share-poster-help { margin: 10px 4px 0; font-size: 12px; }
@media(max-width:900px){
  .share-poster-workbench { grid-template-columns: 1fr; }
  .share-poster-preview-scroll { min-height: 340px; }
}
@media(max-width:520px){
  .share-poster-panel { padding: 16px; }
  .share-poster-preview-scroll { min-height: 280px; padding: 8px; }
  .share-poster-stage { min-height: 260px; }
}


/* Object-storage backed media library and reusable QR picker. */
.media-library-panel { overflow: visible; }
.media-manager { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 18px; align-items: start; }
.media-category-sidebar { position: sticky; top: 18px; display: grid; align-content: start; gap: 6px; min-height: 420px; padding: 14px; border: 1px solid #d8e0eb; border-radius: 18px; background: #f8fafc; }
.media-category-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.media-category-heading strong { color: #1d2939; font-size: 14px; }
.media-category-heading .button { min-height: 30px; padding: 5px 8px; font-size: 11px; }
.media-category-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 5px; border-radius: 11px; }
.media-category-row.is-active { background: #eaf2ff; }
.media-category-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 38px; padding: 7px 9px; border: 0; border-radius: 11px; background: transparent; color: #344054; font: inherit; text-align: left; cursor: pointer; }
.media-category-item:hover, .media-category-item.is-active, .media-category-row.is-active .media-category-item { color: #175cd3; background: #eaf2ff; }
.media-category-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.media-category-item b { min-width: 22px; padding: 2px 6px; border-radius: 999px; background: rgba(255,255,255,.76); color: #667085; font-size: 10px; text-align: center; }
.media-category-actions { display: flex; gap: 2px; padding-right: 5px; }
.media-category-actions button { width: 26px; height: 26px; padding: 0; border: 0; border-radius: 8px; background: #fff; color: #667085; font-size: 10px; cursor: pointer; }
.media-category-actions button:hover { color: #175cd3; box-shadow: 0 2px 8px rgba(31,55,90,.12); }
.media-manager-main { min-width: 0; }
.media-search-form { display: grid; grid-template-columns: minmax(180px, 1fr) auto auto; gap: 8px; margin-bottom: 12px; }
.media-search-form input, .media-library-toolbar input, .media-library-toolbar select, .media-picker-toolbar input { width: 100%; min-height: 40px; padding: 9px 12px; border: 1px solid #d8e0eb; border-radius: 12px; background: #fff; color: #1d2939; font: inherit; outline: 0; }
.media-search-form input:focus, .media-library-toolbar input:focus, .media-library-toolbar select:focus, .media-picker-toolbar input:focus { border-color: #246bfd; box-shadow: 0 0 0 3px rgba(36,107,253,.12); }
.media-library-toolbar { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(150px, .72fr) auto auto; align-items: center; gap: 8px; margin: 0 0 12px; }
.media-library-toolbar .muted { font-size: 11px; white-space: nowrap; }
.media-upload-label { position: relative; overflow: hidden; cursor: pointer; }
.media-upload-label input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.media-library-summary { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: var(--muted); font-size: 11px; }
.media-library-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 12px; }
.media-library-card { display: grid; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(30,55,90,.06); }
.media-library-thumb { display: grid; place-items: center; width: 100%; aspect-ratio: 1 / 1; padding: 0; overflow: hidden; border: 0; border-bottom: 1px solid #e8edf4; background: #f3f6fa; cursor: pointer; }
.media-library-thumb:hover { background: #eaf2ff; }
.media-library-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.media-library-meta { display: grid; gap: 5px; min-width: 0; padding: 10px; }
.media-library-meta strong { overflow: hidden; color: #1d2939; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.media-library-meta > span { overflow: hidden; color: #246bfd; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.media-library-meta small { color: var(--muted); font-size: 10px; }
.media-library-meta > div { display: flex; flex-wrap: wrap; gap: 6px; }
.media-library-meta .button { min-height: 27px; padding: 4px 7px; font-size: 10px; }
.media-library-empty { display: grid; grid-column: 1 / -1; place-items: center; gap: 6px; min-height: 150px; padding: 20px; border: 1px dashed #cfd8e6; border-radius: 14px; color: var(--muted); text-align: center; }
.media-library-empty strong { color: #344054; }
.invitation-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.invitation-row-actions .button { min-height: 30px; padding: 5px 9px; font-size: 11px; }
.code-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.code-page-button { min-width: 34px; height: 34px; padding: 0 10px; border: 1px solid #d8e0eb; border-radius: 9px; background: #fff; color: #344054; font-weight: 800; cursor: pointer; }
.code-page-button:hover:not(:disabled), .code-page-button.is-active { border-color: #2f6df6; background: #edf4ff; color: #155eef; }
.code-page-button:disabled { cursor: default; opacity: .42; }
.code-page-gap { color: var(--muted); }
.media-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
.media-page-button { min-width: 34px; height: 34px; padding: 0 8px; border: 1px solid #d8e0eb; border-radius: 10px; background: #fff; color: #344054; font: inherit; font-size: 12px; cursor: pointer; }
.media-page-button:hover, .media-page-button.is-active { border-color: #246bfd; color: #175cd3; background: #eef4ff; }
.media-page-button.is-active { font-weight: 900; }
.media-page-gap { color: var(--muted); }
.media-field-picker { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: stretch; margin-top: 8px; }
.media-field-preview { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 62px; padding: 7px; border: 1px solid #d8e0eb; border-radius: 12px; background: #f8fafc; }
.media-field-preview img, .media-field-preview-empty { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 9px; background: #eaf0f7; object-fit: contain; }
.media-field-preview-empty { display: grid; place-items: center; color: #98a2b3; font-size: 22px; }
.media-field-preview span:not(.media-field-preview-empty) { display: grid; gap: 3px; min-width: 0; }
.media-field-preview strong, .media-field-preview small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.media-field-preview strong { color: #1d2939; font-size: 12px; }
.media-field-preview small { color: var(--muted); font-size: 10px; }
.media-field-picker > .button { align-self: stretch; min-height: 62px; }
.media-dialog-backdrop { position: fixed; z-index: 12000; inset: 0; display: grid; place-items: center; padding: 24px; overflow: auto; background: rgba(15,23,42,.56); backdrop-filter: blur(5px); }
.media-detail-dialog, .media-picker-dialog { position: relative; width: min(980px, 100%); max-height: min(820px, calc(100vh - 48px)); overflow: auto; padding: 24px; border: 1px solid rgba(255,255,255,.86); border-radius: 22px; background: #fff; box-shadow: 0 32px 90px rgba(15,23,42,.28); }
.media-detail-dialog { width: min(860px, 100%); }
.media-dialog-close { position: absolute; z-index: 2; top: 14px; right: 14px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #eef2f7; color: #344054; font: inherit; font-size: 23px; cursor: pointer; }
.media-dialog-close:hover { color: #175cd3; background: #eaf2ff; }
.media-dialog-heading { padding-right: 46px; margin-bottom: 18px; }
.media-dialog-heading small { color: #246bfd; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.media-dialog-heading h2 { margin: 3px 0 0; }
.media-dialog-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.media-detail-layout { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(280px, .9fr); gap: 18px; align-items: start; }
.media-detail-preview { display: grid; place-items: center; min-height: 320px; padding: 12px; border-radius: 16px; background: #eef2f7; }
.media-detail-preview img { display: block; width: 100%; max-height: 520px; object-fit: contain; }
.media-detail-form { display: grid; gap: 10px; }
.media-detail-form .field { margin: 0; }
.media-asset-facts { display: grid; gap: 7px; margin: 3px 0; padding: 12px; border-radius: 12px; background: #f8fafc; }
.media-asset-facts div { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 8px; }
.media-asset-facts dt { color: var(--muted); font-size: 11px; }
.media-asset-facts dd { margin: 0; overflow-wrap: anywhere; color: #344054; font-size: 11px; }
.media-detail-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.media-usage-panel { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.media-usage-panel h3 { margin: 0 0 9px; }
.media-usage-list { display: grid; gap: 6px; margin: 0; padding-left: 20px; color: #475467; font-size: 12px; }
.media-usage-empty { margin: 0; color: var(--muted); font-size: 12px; }
.media-picker-current { display: flex; align-items: center; gap: 10px; min-height: 66px; margin-bottom: 14px; padding: 8px; border: 1px solid #d8e0eb; border-radius: 14px; background: #f8fafc; }
.media-picker-current img, .media-picker-current > span { display: grid; place-items: center; flex: 0 0 50px; width: 50px; height: 50px; border-radius: 10px; background: #eaf0f7; object-fit: contain; color: #98a2b3; font-size: 22px; }
.media-picker-current div { display: grid; gap: 3px; min-width: 0; }
.media-picker-current small { color: var(--muted); font-size: 10px; }
.media-picker-current strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.media-picker-toolbar form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-bottom: 12px; }
.media-picker-layout { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 14px; min-height: 390px; }
.media-picker-categories { display: grid; align-content: start; gap: 5px; padding: 10px; border: 1px solid #d8e0eb; border-radius: 14px; background: #f8fafc; }
.media-picker-categories button { display: flex; justify-content: space-between; gap: 8px; min-height: 36px; padding: 7px 9px; border: 0; border-radius: 10px; background: transparent; color: #344054; font: inherit; font-size: 11px; text-align: left; cursor: pointer; }
.media-picker-categories button:hover, .media-picker-categories button.is-active { color: #175cd3; background: #eaf2ff; }
.media-picker-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; }
.media-picker-card { display: grid; gap: 5px; min-width: 0; padding: 7px; overflow: hidden; border: 2px solid transparent; border-radius: 13px; background: #f6f8fb; color: #344054; font: inherit; text-align: left; cursor: pointer; }
.media-picker-card:hover, .media-picker-card.is-selected { border-color: #246bfd; background: #eef4ff; }
.media-picker-card img { display: block; width: 100%; aspect-ratio: 1 / 1; border-radius: 9px; background: #fff; object-fit: contain; }
.media-picker-card strong, .media-picker-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.media-picker-card strong { font-size: 11px; }
.media-picker-card small { color: var(--muted); font-size: 9px; }
.media-picker-footer { position: sticky; bottom: -24px; display: flex; justify-content: flex-end; gap: 8px; margin: 18px -24px -24px; padding: 14px 24px; border-top: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(8px); }
.media-picker-loading { display: grid; place-items: center; min-height: 300px; color: var(--muted); }
@media(max-width:900px){
  .media-manager { grid-template-columns: 1fr; }
  .media-category-sidebar { position: static; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); min-height: 0; }
  .media-category-heading { grid-column: 1 / -1; }
  .media-library-toolbar { grid-template-columns: 1fr 1fr; }
  .media-detail-layout { grid-template-columns: 1fr; }
  .media-detail-preview { min-height: 220px; }
}
@media(max-width:640px){
  .media-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .media-search-form, .media-library-toolbar { grid-template-columns: 1fr; }
  .media-upload-label { width: 100%; text-align: center; }
  .media-field-picker { grid-template-columns: 1fr; }
  .media-field-picker > .button { min-height: 42px; }
  .media-dialog-backdrop { padding: 8px; }
  .media-detail-dialog, .media-picker-dialog { max-height: calc(100vh - 16px); padding: 18px; border-radius: 18px; }
  .media-picker-layout { grid-template-columns: 1fr; }
  .media-picker-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 145px; overflow: auto; }
  .media-picker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .media-picker-footer { bottom: -18px; margin: 14px -18px -18px; padding: 12px 18px; }
}
/* WeChat share-card configuration and per-agent launcher preview. */
.wechat-card-editor-grid, .share-card-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 190px); gap: 18px; align-items: start; }
.share-card-dashboard { overflow: hidden; }
.share-card-preview { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 14px; align-items: center; min-width: 0; padding: 13px; border: 1px solid #d8e0eb; border-radius: 16px; background: linear-gradient(145deg, #fff, #f4f7fb); box-shadow: 0 8px 24px rgba(31, 51, 77, .08); }
.share-card-preview > img, .share-card-cover-empty { display: grid; place-items: center; width: 104px; height: 104px; border-radius: 12px; background: linear-gradient(145deg, #1677ff, #57a0ff); object-fit: cover; color: #fff; font-size: 16px; font-weight: 900; }
.share-card-preview > div { display: grid; gap: 5px; min-width: 0; }
.share-card-preview small { color: #246bfd; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.share-card-preview strong { overflow: hidden; color: #172033; font-size: 16px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.share-card-preview p { display: -webkit-box; margin: 0; overflow: hidden; color: #667085; font-size: 12px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.share-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.share-card-actions .button { min-width: 0; }
.share-card-target { display: grid; gap: 5px; margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: #f4f7fb; }
.share-card-target span { color: #667085; font-size: 10px; font-weight: 800; }
.share-card-target code { overflow-wrap: anywhere; color: #175cd3; font-size: 11px; }
.share-card-qr { display: grid; justify-items: center; gap: 8px; padding: 12px; border: 1px solid #d8e0eb; border-radius: 16px; background: #fff; color: #344054; font-size: 11px; font-weight: 800; text-decoration: none; }
.share-card-qr img { display: block; width: min(150px, 100%); aspect-ratio: 1 / 1; border-radius: 10px; background: #fff; object-fit: contain; }
.share-card-qr.is-empty { min-height: 150px; place-items: center; color: #98a2b3; background: #f8fafc; }
@media(max-width:720px){
  .wechat-card-editor-grid, .share-card-dashboard-grid { grid-template-columns: 1fr; }
  .share-card-preview { grid-template-columns: 82px minmax(0, 1fr); }
  .share-card-preview > img, .share-card-cover-empty { width: 82px; height: 82px; }
  .share-card-qr { grid-template-columns: 84px minmax(0, 1fr); justify-items: start; align-items: center; }
  .share-card-qr img { width: 84px; }
  .share-card-actions .button { flex: 1 1 150px; }
}

/* Runtime operations and SQLite backup console. */
.operations-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.ops-metrics { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ops-metrics article { display: grid; gap: 5px; padding: 16px; border: 1px solid #dbe4f0; border-radius: 16px; background: #fff; }
.ops-metrics span, .ops-metrics small { color: #667085; font-size: 11px; }
.ops-metrics strong { color: #172033; font-size: 22px; }
.ops-level { text-transform: uppercase; }
.ops-level.ops-low { color: #039855; } .ops-level.ops-medium { color: #dc6803; } .ops-level.ops-high { color: #d92d20; }
.ops-backups { grid-column: 1 / -1; }
.ops-errors ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ops-errors li { display: grid; gap: 3px; padding: 10px; border-radius: 10px; background: #fff3f2; }
.ops-errors li span { color: #667085; font-size: 11px; overflow-wrap: anywhere; }
.button.compact { display: inline-flex; min-height: 30px; padding: 5px 9px; font-size: 10px; text-decoration: none; }
.button.danger { color: #b42318; background: #fff3f2; border-color: #fecdca; }
@media(max-width:900px){ .operations-grid { grid-template-columns: 1fr; } .ops-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width:600px){ .ops-metrics { grid-template-columns: 1fr; } }

.agent-delete-zone { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; padding: 16px; border: 1px solid #fecdca; border-radius: 16px; background: #fff8f7; }
.agent-delete-zone p { margin: 5px 0 0; }
@media (max-width: 720px) { .agent-delete-zone { align-items: stretch; flex-direction: column; } }

.share-poster-batch-panel { margin-top: 22px; padding: 18px; border: 1px solid #d8e0eb; border-radius: 18px; background: #f8fafc; }
.share-poster-batch-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.share-poster-batch-heading small { color: #246bfd; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.share-poster-batch-heading h3 { margin: 4px 0 0; font-size: 20px; }
.share-poster-batch-library { display: grid; grid-template-columns: repeat(auto-fill,minmax(250px,1fr)); gap: 10px; margin-top: 14px; }
.share-poster-batch-empty { grid-column: 1/-1; padding: 26px; border: 1px dashed #cbd5e1; border-radius: 14px; color: #7a879a; text-align: center; background: #fff; }
.share-poster-batch-card { min-width: 0; display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 10px; padding: 10px; border: 1px solid #dde5f0; border-radius: 14px; background: #fff; }
.share-poster-batch-card img { width: 58px; height: 58px; border-radius: 8px; object-fit: contain; }
.share-poster-batch-card > div { min-width: 0; display: grid; align-content: center; gap: 2px; }
.share-poster-batch-card strong,.share-poster-batch-card small,.share-poster-batch-card em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.share-poster-batch-card small { color: #246bfd; }
.share-poster-batch-card em { color: #8490a3; font-size: 10px; font-style: normal; }
.share-poster-batch-card .button { grid-column: 1/-1; min-height: 34px; }
@media (max-width: 640px) {
  .share-poster-batch-heading { align-items: flex-start; flex-direction: column; }
  .share-poster-batch-library { grid-template-columns: 1fr; }
}

.temporary-password-card { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:14px; padding:14px; border:1px solid #b2ccff; border-radius:14px; background:#f4f8ff; }
.temporary-password-card code { padding:8px 10px; border-radius:8px; background:#fff; color:#175cd3; font-size:16px; font-weight:800; user-select:text; }
