    .tag-row { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; min-width: 0; }
    .tag {
      --chip-color: var(--jinger-text-muted);
      min-height: 22px;
      display: inline-flex;
      align-items: center;
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 2px 8px;
      color: var(--chip-color);
      font-size: 12px;
      font-weight: 750;
      line-height: 1.2;
      background: rgba(255,255,255,.025);
      overflow-wrap: anywhere;
    }
    :is(.tag, .status-chip, .receipt-status-pill).built,
    :is(.tag, .status-chip, .receipt-status-pill).status-built { --chip-color: var(--status-built); }
    :is(.tag, .status-chip, .receipt-status-pill).partial,
    :is(.tag, .status-chip, .receipt-status-pill).status-partial { --chip-color: var(--status-partial); }
    :is(.tag, .status-chip, .receipt-status-pill).prototype,
    :is(.tag, .status-chip, .receipt-status-pill).stub,
    :is(.tag, .status-chip, .receipt-status-pill).status-prototype { --chip-color: var(--status-prototype); }
    :is(.tag, .status-chip, .receipt-status-pill).draft,
    :is(.tag, .status-chip, .receipt-status-pill).status-draft { --chip-color: var(--status-draft); }
    :is(.tag, .status-chip, .receipt-status-pill).ready,
    :is(.tag, .status-chip, .receipt-status-pill).status-ready { --chip-color: var(--status-ready); }
    :is(.tag, .status-chip, .receipt-status-pill).staged,
    :is(.tag, .status-chip, .receipt-status-pill).staged_for_mainframe,
    :is(.tag, .status-chip, .receipt-status-pill).mainframe-required,
    :is(.tag, .status-chip, .receipt-status-pill).mainframe_required,
    :is(.tag, .status-chip, .receipt-status-pill).status-staged { --chip-color: var(--status-staged); }
    :is(.tag, .status-chip, .receipt-status-pill).submitted,
    :is(.tag, .status-chip, .receipt-status-pill).submitted_to_mainframe,
    :is(.tag, .status-chip, .receipt-status-pill).status-submitted { --chip-color: var(--status-submitted); }
    :is(.tag, .status-chip, .receipt-status-pill).accepted,
    :is(.tag, .status-chip, .receipt-status-pill).accepted_by_mainframe,
    :is(.tag, .status-chip, .receipt-status-pill).status-accepted { --chip-color: var(--status-accepted); }
    :is(.tag, .status-chip, .receipt-status-pill).returned,
    :is(.tag, .status-chip, .receipt-status-pill).returned_for_revision,
    :is(.tag, .status-chip, .receipt-status-pill).status-returned { --chip-color: var(--status-returned); }
    :is(.tag, .status-chip, .receipt-status-pill).rejected,
    :is(.tag, .status-chip, .receipt-status-pill).danger,
    :is(.tag, .status-chip, .receipt-status-pill).status-rejected { --chip-color: var(--status-rejected); }
    :is(.tag, .status-chip, .receipt-status-pill).archived,
    :is(.tag, .status-chip, .receipt-status-pill).status-archived { --chip-color: var(--status-archived); }
    :is(.tag, .status-chip, .receipt-status-pill).voided,
    :is(.tag, .status-chip, .receipt-status-pill).status-voided { --chip-color: var(--status-voided); }
    :is(.tag, .status-chip, .receipt-status-pill).superseded,
    :is(.tag, .status-chip, .receipt-status-pill).status-superseded { --chip-color: var(--status-superseded); }
    :is(.tag, .status-chip, .receipt-status-pill).blocked,
    :is(.tag, .status-chip, .receipt-status-pill).status-blocked { --chip-color: var(--status-blocked); }
    :is(.tag, .status-chip, .receipt-status-pill).needs-real-data,
    :is(.tag, .status-chip, .receipt-status-pill).needs_real_data { --chip-color: var(--status-returned); }
    :is(.tag, .status-chip, .receipt-status-pill).protected,
    :is(.tag, .status-chip, .receipt-status-pill).protected-mirror,
    :is(.tag, .status-chip, .receipt-status-pill).protected_mirror,
    :is(.tag, .status-chip, .receipt-status-pill).readonly,
    :is(.tag, .status-chip, .receipt-status-pill).read-only { --chip-color: var(--authority-protected-mirror); }
    :is(.tag, .status-chip, .receipt-status-pill):is(.built, .partial, .prototype, .stub, .draft, .ready, .staged, .staged_for_mainframe, .mainframe-required, .mainframe_required, .submitted, .submitted_to_mainframe, .accepted, .accepted_by_mainframe, .returned, .returned_for_revision, .rejected, .danger, .archived, .voided, .superseded, .blocked, .needs-real-data, .needs_real_data, .protected, .protected-mirror, .protected_mirror, .readonly, .read-only, .status-built, .status-partial, .status-prototype, .status-draft, .status-ready, .status-staged, .status-submitted, .status-accepted, .status-returned, .status-rejected, .status-archived, .status-voided, .status-superseded, .status-blocked) {
      color: var(--chip-color);
      border-color: color-mix(in srgb, var(--chip-color) 48%, transparent);
      background:
        linear-gradient(180deg, color-mix(in srgb, var(--chip-color) 12%, transparent), rgba(255,255,255,.018));
    }
    .hero-panel {
      margin-bottom: 12px;
      border: 1px solid color-mix(in srgb, var(--room-accent) 32%, var(--panel-border));
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--room-accent) 18%, transparent), color-mix(in srgb, var(--jinger-teal) 7%, transparent)),
        rgba(16, 23, 32, .9);
      box-shadow: 0 0 0 1px color-mix(in srgb, var(--room-accent) 18%, transparent), 0 20px 50px rgba(0,0,0,.34);
    }
    .hero-panel .panel-body { display: grid; gap: 8px; }
    .hero-panel h2 {
      margin: 0;
      color: var(--jinger-text-primary);
      font-size: 22px;
      line-height: 1.18;
    }
    .portal-hero {
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--role-accent) 22%, transparent), color-mix(in srgb, var(--room-accent) 10%, transparent)),
        rgba(12, 20, 31, .94);
      box-shadow: var(--shadow-panel), 0 0 42px var(--role-glow);
    }
    .room-card-grid,
    .next-action-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 10px;
    }
    .room-card-grid {
      grid-template-columns: repeat(auto-fill, minmax(126px, 1fr));
      gap: 12px;
    }
    .room-card,
    .next-action-card,
    .command-card,
    .status-card,
    .service-card,
    .document-card,
    .record-card,
    .object-card,
    .evidence-card,
    .workflow-step-card,
    .ai-task-card,
    .codex-status-card {
      border: 1px solid rgba(255,255,255,.08);
      border-radius: var(--radius-card);
      background:
        linear-gradient(180deg, color-mix(in srgb, var(--room-accent) 8%, transparent), rgba(8, 18, 29, .86));
      box-shadow: 0 12px 30px rgba(0,0,0,.20);
    }
    .room-card {
      min-height: 126px;
      display: grid;
      grid-template-rows: auto auto 1fr auto;
      gap: 6px;
      padding: 12px;
      text-align: left;
      color: var(--text-main);
      transition: transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
    }
    .room-card:hover {
      transform: translateY(-2px);
      border-color: color-mix(in srgb, var(--room-accent) 42%, transparent);
      background:
        linear-gradient(180deg, color-mix(in srgb, var(--room-accent) 12%, transparent), rgba(8, 18, 29, .9));
    }
    .room-card strong { font-size: 15px; }
    .room-card span:not(.dock-room-icon) { color: var(--muted); font-size: 12px; line-height: 1.35; }
    .room-card em {
      color: var(--room-accent);
      font-style: normal;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .05em;
    }
    .room-card-grid > button.room-card {
      min-height: 128px;
      grid-template-rows: 44px auto auto;
      place-items: center;
      text-align: center;
      padding: 12px 10px;
    }
    .room-card-grid > button.room-card .dock-room-icon {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      font-size: 13px;
    }
    .room-card-grid > button.room-card strong {
      font-size: 13px;
      line-height: 1.15;
    }
    .room-card-grid > button.room-card > span:not(.dock-room-icon) {
      display: none;
    }
    .room-card-grid > button.room-card em {
      font-size: 10px;
    }
    .next-action-card {
      min-height: 112px;
      display: grid;
      gap: 6px;
      align-content: start;
      padding: 12px;
      text-align: left;
      border-color: color-mix(in srgb, var(--room-accent) 22%, transparent);
      transition: transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
    }
    .next-action-card:hover:not(:disabled) {
      transform: translateY(-2px);
      border-color: color-mix(in srgb, var(--room-accent) 52%, transparent);
      background:
        linear-gradient(180deg, color-mix(in srgb, var(--room-accent) 14%, transparent), rgba(8, 18, 29, .92));
    }
    .next-action-card span {
      color: var(--muted);
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .05em;
    }
    .next-action-card strong {
      color: var(--text-main);
      font-size: 14px;
      line-height: 1.3;
    }
    .next-action-card em {
      color: var(--room-accent);
      font-style: normal;
      font-size: 12px;
    }
    .next-action-card small {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
    }
    .next-action-card.info { border-color: rgba(54,214,200,.30); }
    .next-action-card.success { border-color: rgba(84,214,122,.34); }
    .next-action-card.warning { border-color: rgba(255,159,67,.34); }
    .next-action-card.danger { border-color: rgba(255,91,110,.38); }
    .next-action-card.blue { border-color: rgba(76,141,255,.32); }
    .guide-panel,
    .warning-panel,
    .blocked-action-panel,
    .empty-state {
      display: grid;
      gap: 10px;
      margin-top: 12px;
      padding: 12px;
      border: 1px solid color-mix(in srgb, var(--room-accent) 24%, transparent);
      border-radius: var(--radius-card);
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--room-accent) 10%, transparent), rgba(255,255,255,.025)),
        rgba(5, 13, 22, .62);
    }
    .warning-panel,
    .notice.warning,
    .notice.studio-warning {
      border-color: color-mix(in srgb, var(--status-returned) 46%, transparent);
      border-left: 3px solid var(--status-returned);
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--status-returned) 12%, transparent), rgba(255,255,255,.025)),
        rgba(8, 15, 22, .78);
    }
    .blocked-action-panel,
    .notice.blocked {
      border-color: color-mix(in srgb, var(--status-blocked) 48%, transparent);
      border-left: 3px solid var(--status-blocked);
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--status-blocked) 12%, transparent), rgba(255,255,255,.025)),
        rgba(9, 13, 20, .82);
    }
    .empty-state {
      border-style: dashed;
      border-color: color-mix(in srgb, var(--jinger-teal) 34%, transparent);
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--jinger-teal) 9%, transparent), rgba(255,255,255,.02)),
        rgba(5, 13, 22, .62);
    }
    .guide-panel.compact {
      margin-top: 0;
      padding: 10px;
      gap: 8px;
      font-size: 12px;
    }
    .guide-panel strong,
    .warning-panel strong,
    .blocked-action-panel strong,
    .empty-state strong {
      display: block;
      margin-bottom: 3px;
      color: var(--text-main);
    }
    .guide-panel span,
    .warning-panel span,
    .blocked-action-panel span,
    .empty-state span {
      color: var(--muted);
      line-height: 1.38;
    }
    .what-next {
      border-top: 1px solid rgba(255,255,255,.07);
      padding-top: 8px;
    }
    .what-next span {
      display: block;
      color: var(--room-accent);
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: .07em;
    }
    .what-next strong {
      margin: 2px 0 0;
      color: var(--text-soft);
      font-size: 12px;
      line-height: 1.35;
    }
    .authority-badge,
    .mainframe-badge,
    .official-record-badge,
    .protected-badge,
    .source-workflow-badge,
    .warning-chip,
    .success-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 22px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.10);
      padding: 0 8px;
      font-size: 11px;
      white-space: nowrap;
    }
    .authority-badge { color: var(--jinger-gold-bright); border-color: rgba(216,175,90,.38); background: rgba(216,175,90,.08); }
    .mainframe-badge { color: var(--mainframe-accent); border-color: rgba(255,217,120,.40); background: rgba(255,217,120,.08); }
    .official-record-badge { color: var(--official-accent); border-color: rgba(255,241,189,.40); background: rgba(255,241,189,.08); }
    .protected-badge { color: var(--authority-protected-mirror); border-color: rgba(255,241,189,.42); background: rgba(255,241,189,.075); }
    .source-workflow-badge { color: var(--jinger-teal); border-color: rgba(54,214,200,.38); background: rgba(54,214,200,.08); }
    .authority-badge.founder { color: var(--authority-founder); border-color: color-mix(in srgb, var(--authority-founder) 44%, transparent); background: color-mix(in srgb, var(--authority-founder) 10%, transparent); }
    .authority-badge.admin { color: var(--authority-admin); border-color: color-mix(in srgb, var(--authority-admin) 44%, transparent); background: color-mix(in srgb, var(--authority-admin) 10%, transparent); }
    .authority-badge.director { color: var(--authority-director); border-color: color-mix(in srgb, var(--authority-director) 44%, transparent); background: color-mix(in srgb, var(--authority-director) 10%, transparent); }
    .authority-badge.field { color: var(--authority-field); border-color: color-mix(in srgb, var(--authority-field) 44%, transparent); background: color-mix(in srgb, var(--authority-field) 10%, transparent); }
    .authority-badge.mainframe,
    .mainframe-badge.required { color: var(--authority-mainframe); border-color: color-mix(in srgb, var(--authority-mainframe) 44%, transparent); background: color-mix(in srgb, var(--authority-mainframe) 10%, transparent); }
    .authority-badge.protected,
    .official-record-badge.protected { color: var(--authority-protected-mirror); border-color: color-mix(in srgb, var(--authority-protected-mirror) 44%, transparent); background: color-mix(in srgb, var(--authority-protected-mirror) 9%, transparent); }
    .warning-chip { color: var(--jinger-orange); border-color: rgba(255,159,67,.40); background: rgba(255,159,67,.08); }
    .success-chip { color: var(--jinger-green); border-color: rgba(84,214,122,.40); background: rgba(84,214,122,.08); }
    .progress-bar {
      height: 8px;
      overflow: hidden;
      border-radius: 999px;
      background: rgba(255,255,255,.07);
    }
    .progress-bar > span {
      display: block;
      height: 100%;
      width: var(--progress, 0%);
      border-radius: inherit;
      background: linear-gradient(90deg, var(--room-accent), var(--jinger-teal));
    }
    .workflow-lane,
    .action-rail {
      display: grid;
      gap: 8px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: var(--radius-card);
      padding: 10px;
      background: rgba(255,255,255,.025);
      contain: layout paint;
    }
    .cockpit-strip {
      margin-top: 12px;
      border-color: color-mix(in srgb, var(--jinger-teal) 24%, transparent);
    }
    .perf-panel {
      display: grid;
      gap: 10px;
      padding: 10px;
      border: 1px solid rgba(165,107,255,.30);
      border-radius: var(--radius-card);
      background: linear-gradient(135deg, rgba(165,107,255,.11), rgba(54,214,200,.05)), rgba(8, 15, 26, .78);
    }
    .perf-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }
    .perf-head button {
      width: auto;
      min-height: 26px;
      padding: 0 8px;
      font-size: 11px;
    }
    .perf-warnings {
      display: grid;
      gap: 4px;
      color: var(--muted);
      font-size: 12px;
    }
