/* Admin workbench: shared header, full-width tables, scoped detail drawers. */
body { height: 100dvh; overflow: hidden; background: var(--aoe-surface); }
.quota-table { min-width: 760px; }
.quota-table th { white-space: nowrap; }
.quota-table td:first-child { min-width: 160px; max-width: 260px; }
.quota-toggle { display: flex; align-items: center; gap: 8px; }
.quota-toggle input[type="checkbox"] { width: auto; margin: 0; }
.app { height: 100dvh; display: grid; grid-template-rows: auto minmax(0, 1fr); }
.shell { min-height: 0; display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); }
.nav { min-height: 0; overflow-y: auto; background: var(--aoe-canvas); border-right: 1px solid var(--aoe-line); display: flex; flex-direction: column; }
.nav-section { padding: 24px 14px; }
.nav-caption { padding: 0 12px 14px; color: var(--aoe-muted); font-size: 0.6875rem; }
.tabs { display: grid; gap: 5px; }
.tab { display: flex; align-items: center; gap: 11px; min-height: 42px; width: 100%; border: 1px solid transparent; border-radius: 6px; padding: 10px 12px; color: var(--aoe-muted); background: transparent; text-align: left; font-size: 0.8125rem; font-weight: 550; }
.tab.active { background: var(--aoe-surface); color: var(--aoe-ink); border-color: var(--aoe-line); box-shadow: 0 1px 2px #20212406; }
.tab:hover:not(.active) { background: var(--aoe-hover); }
.tab .ui-icon { opacity: .65; }
.tab.active .ui-icon { opacity: 1; }
.nav-foot { margin-top: auto; padding: 18px 24px; font-size: 0.6875rem; color: var(--aoe-muted); border-top: 1px solid var(--aoe-line); }
.search { width: 100%; min-width: 0; border: 1px solid var(--aoe-line); border-radius: 5px; padding: 9px 11px; font-size: 0.8125rem; background: var(--aoe-surface); }
    .user-list { flex: 1; overflow: auto; padding: 8px; }
    .user-row {
      width: 100%;
      border: 1px solid transparent;
      border-radius: 8px;
      background: transparent;
      padding: 10px;
      margin-bottom: 5px;
      text-align: left;
      color: var(--aoe-ink);
    }
    .user-row:hover { background: var(--aoe-canvas); }
    .user-row.active { background: var(--aoe-blue-soft); border-color: var(--aoe-line); }
    .user-name { font-size: 0.8125rem; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .user-email { margin-top: 3px; color: var(--aoe-muted); font-size: 0.75rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .user-meta { margin-top: 7px; display: flex; gap: 6px; flex-wrap: wrap; }
    .badge { display: inline-flex; align-items: center; min-height: 22px; padding: 2px 7px; border-radius: 4px; font-size: 0.6875rem; font-weight: 550; background: var(--aoe-canvas); color: var(--aoe-muted); }
    .badge.ok { background: var(--aoe-green-soft); color: var(--aoe-green); }
    .badge.warn { background: var(--aoe-amber-soft); color: var(--aoe-amber); }
    .badge.danger { background: var(--aoe-red-soft); color: var(--aoe-red); }
    .badge.admin { background: var(--aoe-blue-soft); color: var(--aoe-blue); }
    .content { min-width: 0; min-height: 0; overflow: auto; padding: 28px 32px 40px; background: var(--aoe-surface); }
    .view { display: none; }
    .view.active { display: block; }
    .toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; margin-bottom: 24px; }
    h2 { margin: 0; font-size: 1.375rem; letter-spacing: 0; }
    h3 { margin: 0 0 10px; font-size: 0.875rem; letter-spacing: 0; }
    .muted { color: var(--aoe-muted); font-size: 0.75rem; }
    .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 0; margin-bottom: 24px; padding: 8px 0; border-block: 1px solid var(--aoe-line); }
    .metric, .panel { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
    .metric { min-width: 0; padding: 14px 18px; border-left: 1px solid var(--aoe-line); }
    .metric-label { color: var(--aoe-muted); font-size: 0.75rem; }
    .metric-value {
      min-width: 0;
      margin-top: 6px;
      font-size: 1.5rem;
      font-weight: 800;
      line-height: 1.05;
      overflow-wrap: anywhere;
    }
    .compact-metrics { grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 0; margin-top: 16px; }
    .compact-metrics .metric { padding: 10px; }
    .compact-metrics .metric-label { font-size: 0.6875rem; }
    .compact-metrics .metric-value { font-size: 1.1875rem; line-height: 1.3; }
    .panel { padding: 20px 0; margin-bottom: 0; border-top: 1px solid var(--aoe-line); }
    .model-host-dialog {
      width: min(820px, calc(100vw - 28px));
      max-height: min(88vh, 780px);
      padding: 0;
      border: 0;
      border-radius: 8px;
      background: transparent;
      overflow: visible;
    }
    .model-host-dialog::backdrop {
      background: rgba(20, 33, 48, 0.42);
      backdrop-filter: blur(3px);
    }
    .model-host-dialog > .panel { max-height: min(88vh, 780px); margin: 0; padding: 24px; overflow: auto; background: var(--aoe-surface); border: 1px solid var(--aoe-line); border-radius: 8px; box-shadow: 0 20px 60px #18191e22; }
    .split {
      display: grid;
      grid-template-columns: minmax(280px, 360px) 1fr;
      gap: 14px;
      align-items: start;
    }
    .form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(160px, 1fr));
      gap: 10px;
    }
    label { display: grid; gap: 5px; color: var(--aoe-muted); font-size: 0.75rem; font-weight: 700; }
    input, select, textarea {
      width: 100%;
      border: 1px solid var(--aoe-line);
      border-radius: 8px;
      padding: 8px 9px;
      background: var(--aoe-surface);
      color: var(--aoe-ink);
    }
    textarea { min-height: 76px; resize: vertical; }
    .btn-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
    .btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 34px; border: 1px solid var(--aoe-line); border-radius: 5px; padding: 7px 10px; background: var(--aoe-surface); color: var(--aoe-ink); font-size: 0.75rem; font-weight: 550; text-decoration: none; }
    .btn.primary { border-color: var(--aoe-ink); background: var(--aoe-ink); color: var(--aoe-surface); }
    .btn.danger { border-color: var(--aoe-line); background: var(--aoe-red-soft); color: var(--aoe-red); }
    .btn.warn { border-color: var(--aoe-line); background: var(--aoe-amber-soft); color: var(--aoe-amber); }
    .btn:disabled { opacity: .45; cursor: default; }
    .table { width: 100%; border-collapse: collapse; font-size: 0.8125rem; }
    .table th, .table td { padding: 13px 14px; border-bottom: 1px solid var(--aoe-line); text-align: left; vertical-align: top; }
    .table th { position: sticky; top: 0; z-index: 1; color: var(--aoe-muted); font-size: 0.6875rem; font-weight: 600; background: var(--aoe-canvas); }
    .table-scroll { width: 100%; overflow-x: auto; }
    .resource-process { max-width: 240px; overflow-wrap: anywhere; }
    .model-probe-latency { min-width: 132px; }
    #modelHostsPanel .table { min-width: 1100px; }
    .task-table { min-width: 1180px; }
    .task-title { min-width: 190px; max-width: 300px; overflow-wrap: anywhere; }
    #view-overview .panel { overflow-x: auto; }
    #view-overview .table { min-width: 560px; }
    #view-overview .split .table { min-width: 480px; }
    .task-controls { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
    .task-controls .search { max-width: 360px; }
    .task-filter-grid {
      display: grid;
      grid-template-columns: minmax(250px, 2fr) repeat(3, minmax(140px, 1fr));
      gap: 9px;
      margin-bottom: 10px;
    }
    .task-filter-grid label { min-width: 0; }
    .task-filter-grid .search { max-width: none; }
    .task-pager {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 9px;
      margin-top: 10px;
    }
    .task-detail-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    #taskDetailPanel { scroll-margin-top: 12px; }
    .task-detail-title { min-width: 0; overflow-wrap: anywhere; }
    .task-detail-meta {
      display: grid;
      grid-template-columns: repeat(5, minmax(110px, 1fr));
      gap: 0;
      margin-top: 12px;
      border: 1px solid var(--aoe-line);
      border-radius: 7px;
      overflow: hidden;
    }
    .task-detail-meta > div {
      min-width: 0;
      padding: 10px;
      border-right: 1px solid var(--aoe-line);
      background: var(--aoe-canvas);
    }
    .task-detail-meta > div:last-child { border-right: 0; }
    .task-detail-meta b {
      display: block;
      margin-top: 4px;
      overflow-wrap: anywhere;
      font-size: 0.75rem;
    }
    .task-detail-columns {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
      margin-top: 16px;
    }
    .task-detail-section {
      min-width: 0;
      padding-top: 14px;
      margin-top: 14px;
      border-top: 1px solid var(--aoe-line);
    }
    .task-detail-columns .task-detail-section { margin-top: 0; }
    .task-detail-content {
      max-height: 280px;
      overflow: auto;
      padding: 10px 0;
      white-space: pre-wrap;
      overflow-wrap: anywhere;
      line-height: 1.55;
      font-size: 0.75rem;
    }
    .task-timeline {
      position: relative;
      margin: 4px 0 0 7px;
    }
    .task-timeline::before {
      content: "";
      position: absolute;
      left: 5px;
      top: 9px;
      bottom: 12px;
      width: 1px;
      background: var(--aoe-line);
    }
    .task-timeline-item {
      position: relative;
      padding: 0 0 16px 26px;
    }
    .task-timeline-item:last-child { padding-bottom: 0; }
    .task-timeline-dot {
      position: absolute;
      left: 0;
      top: 5px;
      width: 11px;
      height: 11px;
      border: 2px solid var(--aoe-surface);
      border-radius: 50%;
      background: var(--aoe-muted);
      box-shadow: 0 0 0 1px var(--aoe-line);
    }
    .task-timeline-item.ok .task-timeline-dot { background: var(--aoe-green); }
    .task-timeline-item.warn .task-timeline-dot { background: var(--aoe-amber); }
    .task-timeline-item.danger .task-timeline-dot { background: var(--aoe-red); }
    .task-timeline-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      min-width: 0;
    }
    .task-timeline-details {
      margin-top: 5px;
      color: var(--aoe-muted);
      overflow-wrap: anywhere;
      font-size: 0.75rem;
      line-height: 1.55;
    }
    .quality-feedback-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }
    .feedback-reasons {
      display: flex;
      gap: 7px;
      flex-wrap: wrap;
      margin: 2px 0 12px;
    }
    .segmented {
      display: inline-flex;
      padding: 3px;
      border: 1px solid var(--aoe-line);
      border-radius: 8px;
      background: var(--aoe-canvas);
    }
    .segment {
      min-width: 58px;
      border: 0;
      border-radius: 6px;
      padding: 6px 10px;
      color: var(--aoe-muted);
      background: transparent;
      font-size: 0.75rem;
      font-weight: 700;
    }
    .segment.active { color: var(--aoe-surface); background: var(--aoe-blue); }
    .conversation-row { cursor: pointer; }
    .conversation-row:hover { background: var(--aoe-canvas); }
    .messages {
      max-height: 340px;
      overflow: auto;
      border: 1px solid var(--aoe-line);
      border-radius: 8px;
      background: var(--aoe-surface);
      padding: 8px;
    }
    .msg {
      padding: 8px;
      border-bottom: 1px solid var(--aoe-line);
      white-space: pre-wrap;
      line-height: 1.5;
      font-size: 0.75rem;
    }
    .msg:last-child { border-bottom: 0; }
    .msg-role { font-weight: 800; margin-bottom: 3px; color: var(--aoe-blue); }
    .msg.assistant .msg-role { color: var(--aoe-green); }
    .notice {
      padding: 18px;
      color: var(--aoe-muted);
      text-align: center;
      border: 1px dashed var(--aoe-line);
      border-radius: 8px;
      background: var(--aoe-surface);
    }
    .log-line {
      display: grid;
      grid-template-columns: 150px 170px 1fr;
      gap: 10px;
      padding: 9px 0;
      border-bottom: 1px solid var(--aoe-line);
      font-size: 0.75rem;
    }
    .toast {
      position: fixed;
      right: 16px;
      bottom: 16px;
      max-width: 320px;
      padding: 10px 12px;
      border-radius: 8px;
      color: var(--aoe-surface);
      background: var(--aoe-ink);
      box-shadow: 0 10px 30px rgba(0,0,0,.18);
      font-size: 0.8125rem;
      display: none;
      z-index: 10;
    }
    @media (max-width: 900px) {
      body { overflow: auto; height: auto; }
      .app { height: auto; min-height: 100vh; }
      .shell, .split { grid-template-columns: 1fr; }
      .nav { min-height: auto; border-right: 0; border-bottom: 1px solid var(--aoe-line); }
      .user-list { max-height: 320px; }
      .grid { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
      .form-grid { grid-template-columns: 1fr; }
      .log-line { grid-template-columns: 1fr; }
      .task-controls { align-items: stretch; }
      .task-controls .search { max-width: none; flex: 1 1 100%; }
      .task-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .task-detail-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .task-detail-meta > div { border-bottom: 1px solid var(--aoe-line); }
      .task-detail-meta > div:nth-child(2n) { border-right: 0; }
      .task-detail-columns { grid-template-columns: 1fr; gap: 0; }
      #taskDetailPanel { scroll-margin-top: 58px; }
      .quality-feedback-grid { grid-template-columns: 1fr; }
      .segmented { width: 100%; }
      .segment { flex: 1; }
    }


    .identity-filter-grid {
      display: grid;
      grid-template-columns: minmax(280px, 2fr) minmax(150px, 1fr) minmax(150px, 1fr);
      gap: 10px;
      align-items: end;
      margin-bottom: 12px;
    }
    .identity-filter-grid .search { max-width: none; }
    .identity-type-row { margin-bottom: 12px; }
    .identity-table { min-width: 920px; }
    .identity-name { min-width: 210px; }
    .identity-detail-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 12px;
    }
    .identity-detail-title { min-width: 0; overflow-wrap: anywhere; }
    .identity-section {
      min-width: 0;
      padding-top: 14px;
      margin-top: 14px;
      border-top: 1px solid var(--aoe-line);
    }
    .identity-section:first-of-type { margin-top: 0; }
    .identity-meta-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px 14px;
      margin: 0;
    }
    .identity-meta-list div { min-width: 0; }
    .identity-meta-list dt { color: var(--aoe-muted); font-size: 0.6875rem; }
    .identity-meta-list dd {
      margin: 3px 0 0;
      overflow-wrap: anywhere;
      font-size: 0.75rem;
      font-weight: 700;
    }

.view { width: 100%; max-width: 1600px; margin: 0 auto; }
[hidden] { display: none !important; }
body[data-management-ready="false"] .view { display: none; }
.personal-table-wrap { overflow-x: auto; }
.personal-table-wrap table { min-width: 640px; }
.personal-message { padding: 16px 0; border-bottom: 1px solid var(--aoe-line); white-space: pre-wrap; overflow-wrap: anywhere; }
.personal-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) 36px; gap: 8px; margin: 18px 0; }
.personal-toolbar.has-status { grid-template-columns: minmax(0, 1fr) 180px 36px; }
.personal-toolbar input, .personal-toolbar select { min-width: 0; width: 100%; }
.personal-toolbar .aoe-icon-button { width: 36px; height: 36px; }
.personal-pager .aoe-icon-button { width: 34px; height: 34px; }
@media (max-width: 560px) {
    .personal-toolbar.has-status { grid-template-columns: minmax(0, 1fr) 36px; }
    .personal-toolbar.has-status input { grid-column: 1 / -1; }
}
.personal-pager { display: flex; align-items: center; gap: 12px; margin-top: 16px; }
.personal-dialog { width: min(700px, calc(100vw - 32px)); max-height: 85vh; padding: 24px; border: 1px solid var(--aoe-line); border-radius: 8px; overflow: auto; }
.personal-dialog::backdrop { background: #18191e55; }
.personal-dialog textarea { width: 100%; min-height: 100px; resize: vertical; }
.personal-dialog-header { display: grid; grid-template-columns: minmax(0, 1fr) 36px; align-items: start; gap: 16px; position: sticky; top: -24px; z-index: 2; margin: -24px -24px 20px; padding: 16px 20px; background: var(--aoe-surface); border-bottom: 1px solid var(--aoe-line); }
.personal-dialog-header h3 { margin: 0; padding-top: 7px; overflow-wrap: anywhere; }
.personal-dialog-close { width: 36px; height: 36px; justify-self: end; }
.personal-dialog-body { min-width: 0; overflow-x: auto; }
.personal-dialog-body .empty:empty { display: none; }
#identityBody table.identity-table { min-width: 1240px; }
.identity-table td:nth-child(4) { min-width: 140px; max-width: 200px; overflow-wrap: anywhere; }
.identity-table td:nth-child(6) { min-width: 135px; }
.identity-table td:nth-child(7) { min-width: 200px; }
.identity-table td:nth-child(8) { min-width: 130px; }
.view > .panel:first-of-type { padding-top: 0; border-top: 0; }
.panel > h3 { margin-bottom: 18px; font-size: 0.9375rem; }
.panel > :last-child { margin-bottom: 0; }
.panel .panel { padding: 18px 0; border-radius: 0; box-shadow: none; }
.table tbody tr:hover { background: var(--aoe-canvas); }
#identityBody .table-scroll { max-height: calc(100dvh - 326px); min-height: 280px; overflow: auto; border-block: 1px solid var(--aoe-line); }
#identityBody .table { min-width: 900px; }
#identityBody .table td:first-child { width: 100px; }
.badge { white-space: nowrap; }
.btn:hover:not(:disabled) { background: var(--aoe-canvas); border-color: var(--aoe-line); }
.btn.primary:hover:not(:disabled) { background: var(--aoe-hover); }
#refreshIdentitiesBtn, #refreshOverviewBtn, #refreshTasksBtn, #refreshFilesBtn, #refreshModelPolicyBtn, #refreshSystemBtn, #refreshAuditBtn { font-size: 0; width: 34px; padding: 0; }
:is(#refreshIdentitiesBtn, #refreshOverviewBtn, #refreshTasksBtn, #refreshFilesBtn, #refreshModelPolicyBtn, #refreshSystemBtn, #refreshAuditBtn)::before { content: ''; width: 16px; height: 16px; background: currentColor; mask: url('/assets/refresh-cw.svg') center / contain no-repeat; }
.aoe-drawer-body > .panel { padding: 0; border: 0; }
.aoe-drawer-body .grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.aoe-drawer-body .metric { padding: 10px; }
.aoe-drawer-body .metric-value { font-size: 1.3125rem; }
.aoe-drawer-body .table { min-width: 540px; font-size: 0.75rem; }
.aoe-drawer-body .table th, .aoe-drawer-body .table td { padding: 10px 8px; }
.aoe-drawer-body .identity-section h3 { font-size: 0.8125rem; }
.identity-section .btn-row { margin-top: 12px; }
@media (max-width: 1100px) { .shell { grid-template-columns: 200px minmax(0, 1fr); } .content { padding: 24px; } }
@media (max-width: 900px) {
    body { overflow: hidden; height: 100dvh; }
    .app { height: 100dvh; min-height: 0; }
    .shell { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
    .nav { position: static; min-width: 0; border-right: 0; border-bottom: 1px solid var(--aoe-line); }
    .nav-section { padding: 8px; }
    .nav-caption, .nav-foot { display: none; }
    .tabs { display: flex; overflow-x: auto; gap: 3px; scrollbar-width: none; }
    .tab { flex: 0 0 auto; width: auto; min-height: 36px; padding: 7px 10px; font-size: 0.75rem; }
    .tab .ui-icon { width: 16px; height: 16px; flex-basis: 16px; }
    .content { padding: 20px 16px; }
    .identity-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .identity-filter-grid label:first-child { grid-column: 1 / -1; }
    .split { grid-template-columns: 1fr; }
    .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #identityBody .table-scroll { max-height: none; }
}
@media (max-width: 560px) {
    .content { padding: 18px 12px; }
    .toolbar { gap: 12px; align-items: flex-start; margin-bottom: 18px; }
    h2 { font-size: 1.25rem; }
    .panel { padding: 18px 0; }
    .task-filter-grid, .identity-meta-list { grid-template-columns: 1fr; }
    .task-pager { justify-content: space-between; }
    .aoe-drawer-body .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
#view-experiments { overflow-wrap: anywhere; }
.experiment-simulation { overflow-wrap: anywhere; }
.experiment-simulation .btn-row { margin-block: 12px; }
.experiment-simulation-error:empty { display: none; }
.experiment-simulation .personal-table-wrap table { min-width: 0; width: 100%; table-layout: fixed; }
.experiment-simulation th:last-child { width: 5rem; }
.experiment-details { margin-block: 14px; border-top: 1px solid var(--aoe-line); padding-top: 12px; }
.experiment-details summary { cursor: pointer; font-weight: 600; }
.experiment-json { width: 100%; max-height: 360px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .75rem; line-height: 1.6; }
.experiment-hash { display: block; max-width: 260px; overflow-wrap: anywhere; font-size: .6875rem; }
.experiment-audio { width: min(100%, 28rem); height: 40px; margin-block: 10px; }
.experiment-artifact, .experiment-client { padding-block: 14px; border-bottom: 1px solid var(--aoe-line); }
.experiment-artifact-title { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.experiment-endpoint { display: block; overflow-wrap: anywhere; margin-block: 12px; }
.experiment-client-id { display: block; font-size: .6875rem; overflow-wrap: anywhere; color: var(--aoe-muted); }
.experiment-grant-name { overflow-wrap: anywhere; }
.experiment-runtime-form { display: grid; gap: 12px; min-width: 0; }
.experiment-runtime-form > :is(p,h3) { margin: 0; overflow-wrap: anywhere; }
.experiment-runtime-consent { display: flex; align-items: flex-start; gap: 8px; padding: 2px; min-width: 0; }
.experiment-runtime-consent input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; padding: 0; margin: 0; }
.experiment-runtime-consent span { min-width: 0; overflow-wrap: anywhere; }
.experiment-message:empty { display: none; }
.experiment-metrics table { min-width: 760px; }
#view-experiments > h3 { margin-top: 26px; font-size: .9375rem; }
.experiment-sandbox { display: grid; gap: 16px; min-width: 0; overflow-wrap: anywhere; }
.experiment-sandbox :is(h3,h4,p) { margin-block: 8px; }
.experiment-sandbox h4 { font-size: .8125rem; }
.experiment-sandbox-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.experiment-sandbox :is(input,select,textarea,label,.btn-row) { min-width: 0; max-width: 100%; }
.experiment-sandbox .btn { white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
.experiment-sandbox input[type="datetime-local"] { font-size: .8125rem; }
.experiment-sandbox :is(code,.experiment-sandbox-source,.experiment-sandbox-editor) { font-family: ui-monospace, monospace; font-size: .75rem; }
.experiment-sandbox-source { margin: 0; padding: 12px; border: 1px solid var(--aoe-line); max-height: 320px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.experiment-sandbox-editor { white-space: pre-wrap; overflow-wrap: anywhere; }
.experiment-sandbox-metadata { display: grid; gap: 10px; }
.experiment-sandbox-datum { display: grid; grid-template-columns: minmax(0, 9rem) minmax(0, 1fr); gap: 8px; padding-block: 4px; }
.experiment-sandbox-entry { border-bottom: 1px solid var(--aoe-line); padding-block: 12px; }
@media (max-width: 520px) {
  .experiment-sandbox-fields, .experiment-sandbox-datum { grid-template-columns: minmax(0, 1fr); }
}
#view-model-policy .runtime-pool-names { display: grid; grid-template-columns: repeat(3, minmax(0, 20rem)); gap: 12px 16px; margin-block: 16px; }
#view-model-policy select, #view-model-policy input:not([type="checkbox"]) { min-height: 34px; }
#view-model-policy .runtime-profile-picker { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-block: 12px; }
#view-model-policy .runtime-profile-picker > label { flex: 0 1 22rem; min-width: 0; max-width: 100%; }
#view-model-policy .runtime-bulk-toolbar { margin-block: 12px; }
#view-model-policy .runtime-bulk-role { width: 16rem; max-width: 100%; }
#view-model-policy .runtime-role-select, #view-model-policy .runtime-pool-table select { width: 12rem; max-width: 100%; }
#view-model-policy .runtime-capability-role-table select { width: 10rem; max-width: 100%; }
#view-model-policy .runtime-pool-table th:last-child { width: 13rem; }
#view-model-policy .runtime-capability-role-table th:last-child { width: 11rem; }
#view-model-policy .runtime-model-select { width: 22rem; max-width: 100%; }
#view-model-policy .runtime-plan-table { min-width: 960px; }
#view-model-policy .model-policy-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 76rem; gap: 12px 16px; }
#view-model-policy .model-capability-fields, #view-model-policy .model-limit-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 64rem; gap: 12px 16px; }
#view-model-policy :is(.model-policy-fields,.model-capability-fields,.model-limit-fields) { margin-block: 12px 16px; }
#view-model-policy :is(.runtime-pool-names,.model-policy-fields,.model-capability-fields,.model-limit-fields) > label { min-width: 0; }
@media (max-width: 1100px) {
  #view-model-policy .runtime-pool-names, #view-model-policy .model-policy-fields, #view-model-policy .model-capability-fields, #view-model-policy .model-limit-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  #view-model-policy .runtime-pool-names, #view-model-policy .model-policy-fields, #view-model-policy .model-capability-fields, #view-model-policy .model-limit-fields { grid-template-columns: minmax(0, 1fr); }
  #view-model-policy .runtime-profile-picker { align-items: stretch; }
  #view-model-policy .runtime-profile-picker > label { flex-basis: 100%; }
}
