:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#263d3b;background:#f4f7f7;font-synthesis:none;--teal:#137d70;--teal-dark:#075a50;--line:#dde6e4;--muted:#6b7e7b}
#create-run-dialog{width:min(1100px,calc(100% - 32px))}#create-run-form{display:flex;flex-direction:column;max-height:90vh}.create-run-body{overflow:auto;padding:24px;min-height:0}.run-settings{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:18px 0}.run-eval-filters{padding:20px 0}.run-submit-status{margin-right:auto;font-size:.875rem}#create-run-error{color:#9a3434;margin-top:6px}#create-run-form .dialog-heading,#create-run-form .dialog-footer{flex-shrink:0}#create-run-form table{min-width:570px}@media(max-width:700px){.run-settings{grid-template-columns:1fr}.create-run-body{padding:16px}#create-run-form .dialog-footer{flex-wrap:wrap}.run-submit-status{flex-basis:100%}}
#runs-list-page{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}
#runs-list-page .runs-heading{padding:24px}
.runs-table{min-width:950px}:is(.runs-table, .evaluations-table) th button{border:0;background:none;color:inherit;font:inherit;font-weight:600;padding:5px 0;white-space:nowrap}
:is(.runs-table, .evaluations-table) th button::after{content:' ↕';color:var(--muted)}:is(.runs-table, .evaluations-table) th[aria-sort=ascending] button::after{content:' ↑';color:var(--teal)}:is(.runs-table, .evaluations-table) th[aria-sort=descending] button::after{content:' ↓';color:var(--teal)}
.runs-table tbody tr{cursor:pointer}.runs-table tbody tr:focus-within{background:#f0f7f4}.runs-table .eval-name{white-space:nowrap}.runs-table .score{white-space:nowrap}.runs-table .row-meta{font-weight:400}
.run-delete,.run-action{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.back-to-runs{display:inline-block;margin:0 0 18px;font-size:.875rem}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible{outline:3px solid #3dafa1;outline-offset:3px}[hidden]{display:none!important}
.app-header{height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.brand{display:flex;align-items:center;gap:12px;color:#193e38;font-size:20px;letter-spacing:-.7px;font-weight:700}.brand:hover{text-decoration:none}.brand b{font-weight:400;color:var(--muted);padding-left:4px}.brand-icon{background:var(--teal);color:white;letter-spacing:-3px;font-size:23px;display:grid;place-items:center;width:39px;height:39px;border-radius:11px;padding-right:4px}.header-right{display:flex;gap:26px;align-items:center;font-size:12px}.workspace-badge{color:#738682;font-size:10px;letter-spacing:1.4px}
.shell{max-width:1550px;margin:auto;padding:38px 38px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#748b85;margin-bottom:10px}h1{font-size:32px;letter-spacing:-1.3px;font-weight:650;color:#193d36}.subtitle{color:var(--muted);font-size:13px;margin-top:10px;line-height:1.6}.storage-badge{font-size:11px;background:#e7f2ef;color:var(--teal);border:1px solid #cee3dc;border-radius:20px;padding:8px 12px;white-space:nowrap}.notice,.error-banner{padding:11px 15px;border-radius:7px;font-size:12px;line-height:1.6;margin-bottom:18px}.notice{background:#edf3fa;color:#456384;border:1px solid #d8e4f2}.error-banner{color:#9a3434;background:#fff0ef;border:1px solid #edc7c3}
.tabs{display:flex;gap:27px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:26px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:15px 2px;font-size:13px;color:var(--muted);font-weight:600;margin-bottom:-1px}.tabs button[aria-selected=true]{color:var(--teal);border-color:var(--teal)}.tabs button span{background:#e4ebe8;font-size:10px;border-radius:5px;padding:2px 6px;margin-left:5px}.tabs button[aria-selected=true] span{background:#dceee7}.nav-note{margin-left:auto;color:#8b9996;font-size:11px}.teal{color:var(--teal)}
.table-card{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:0 3px 8px #203e3303}.section-heading{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.section-heading h2{font-size:17px;letter-spacing:-.4px}.section-heading p{font-size:12px;color:var(--muted);margin-top:7px}.actions{display:flex;gap:8px;flex-shrink:0}.button{border:1px solid #cedbd6;background:#fff;color:#36534b;min-height:37px;border-radius:6px;padding:9px 14px;font-size:12px;font-weight:600;white-space:nowrap}.button:hover:not(:disabled){background:#f0f7f4;border-color:#91b6a9}.button.primary{background:var(--teal);border-color:var(--teal);color:white;box-shadow:0 2px 3px #0945340b}.button.primary:hover:not(:disabled){background:var(--teal-dark)}.button.small{min-height:31px;padding:6px 12px;font-size:11px}.text-button{border:0;background:none;color:var(--teal);font-size:11px;padding:6px}.icon-button{border:0;background:#eef4f1;color:#698277;border-radius:5px;width:30px;height:30px;font-size:22px;line-height:1}
.filters{padding:0 24px 19px;display:flex;align-items:end;gap:12px}.filters label{font-size:10px;font-weight:600;color:#758a81;min-width:125px}.filters label.search-field{flex:1;min-width:175px}.filters input,.filters select{margin-top:7px;font-size:12px;height:36px}.selection-bar{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:11px 24px;font-size:11px;color:#718079}.selection-bar .primary{margin-left:auto}.selection-bar>span{font-weight:600}
label{display:block;font-size:12px;font-weight:600;color:#3b574d}input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:7px;background:#fff;color:#294239;border:1px solid #cfdbd6;border-radius:6px;padding:9px 10px;outline:none;font-size:12px;transition:border-color .15s;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:#379c84;box-shadow:0 0 0 3px #269b7c12}textarea{resize:vertical;min-height:60px;font-weight:400}input[type=checkbox]{width:14px;height:14px;accent-color:var(--teal);cursor:pointer}label small{display:block;color:#8b9a92;font-size:10px;line-height:1.5;font-weight:400;margin-top:6px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}thead{background:#f5f8f7;border-block:1px solid var(--line)}th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;color:#75877e;padding:13px 14px}td{padding:18px 14px;border-bottom:1px solid #edf1ef;color:#667a70}tbody tr:hover{background:#f8fcfa}.checkbox-cell{width:44px;padding-left:24px}.eval-name{font-size:12px;font-weight:600;color:#244a3b;border:0;background:none;padding:0;text-align:left;max-width:255px;overflow:hidden;text-overflow:ellipsis;display:block}.eval-name:hover{color:var(--teal)}.eval-id{font-size:10px;color:#a0ada4;margin-top:5px}.row-meta{display:block;font-size:10px;margin-top:5px;color:#98a69d}.badge{font-size:10px;font-weight:600;padding:5px 8px;border-radius:5px;display:inline-block;background:#eef2f0;color:#718579}.badge.ideas{background:#f3edfb;color:#8260ab}.badge.code{background:#e9f1fc;color:#4f7dae}.badge.passed{background:#e3f4eb;color:#258460}.badge.failed,.badge.error,.badge.interrupted{background:#fceeed;color:#bd6156}.badge.running,.badge.queued,.badge.generating,.badge.grading{background:#fff4dc;color:#a68339}.score{font-weight:700;color:#258460}.empty-state{text-align:center;padding:53px 24px;color:var(--muted)}.empty-state h3{font-size:17px;font-weight:600;color:#425d51;margin:16px 0 8px}.empty-state p{font-size:12px;line-height:1.65;max-width:410px;margin:auto}.empty-state .button{margin-top:18px}.empty-icon{width:47px;height:47px;display:grid;place-items:center;margin:auto;background:#eaf3ed;color:#76a68b;border:1px solid #d7e6dc;border-radius:12px;font-size:26px}.table-footer{padding:15px 24px;background:#fcfdfc;display:flex;justify-content:space-between;font-size:10px;color:#8b9a90}.workflow-tip{display:flex;gap:11px;align-items:center;padding:19px 5px;color:#829185;font-size:11px;line-height:1.6}.workflow-tip b{font-weight:500;color:#536b59}.tip-icon{width:18px;height:18px;display:grid;place-items:center;border:1px solid #a5b7a8;border-radius:50%;flex-shrink:0;font-size:10px}
.runs-heading{padding:0 0 20px}.runs-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:20px}.run-history{background:#fff;border:1px solid var(--line);border-radius:9px;align-self:start;overflow:hidden}.run-history h3{font-size:10px;letter-spacing:1px;padding:18px;color:#839288;border-bottom:1px solid var(--line)}.run-history button{display:block;width:100%;padding:16px;text-align:left;border:0;border-bottom:1px solid #edf1ee;background:#fff;color:#456350}.run-history button.active{background:#eef8f1;box-shadow:inset 3px 0 var(--teal)}.run-history button:hover{background:#f5faf6}.run-history button strong{display:block;font-size:12px;margin-bottom:6px}.run-history button small{display:block;margin-top:6px;color:#8b9b8f;font-size:10px}.run-detail{background:#fff;border:1px solid var(--line);border-radius:9px;min-height:430px;overflow:hidden}.run-top{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.run-top h3{font-size:17px;margin-bottom:6px}.run-top p{font-size:11px;color:var(--muted)}.run-top a{font-size:11px}.run-items{display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px;border-bottom:1px solid var(--line)}.run-item{border:1px solid var(--line);background:#fff;border-radius:6px;padding:9px 11px;font-size:11px;color:#67816d}.run-item.active{background:#edf8ef;border-color:#8cb99a;color:#246c3b}.result-body{padding:24px}.result-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.result-title h3{font-size:17px;margin-bottom:7px}.result-title p{font-size:11px;color:var(--muted)}.result-score{font-size:32px;color:var(--teal);font-weight:600}.result-score small{font-size:12px;color:var(--muted)}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.output-card{border:1px solid var(--line);border-radius:7px;overflow:hidden;min-width:0}.output-card h4{margin:0;padding:12px 14px;background:#f4f8f5;font-size:10px;color:#6c8572;letter-spacing:.8px}.output-card pre,.context-pre{margin:0;padding:15px;font:11px/1.7 Consolas,monospace;color:#3e5c45;white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto}.checks h4,.event-log h4{font-size:12px;margin:0 0 13px;color:#526f58}.check{padding:13px;border:1px solid var(--line);border-radius:6px;margin-bottom:8px}.check-title{display:flex;justify-content:space-between;font-size:12px;gap:15px}.check p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:7px}.check blockquote{font:11px/1.6 Consolas,monospace;border-left:2px solid #a9c9b0;padding-left:9px;margin:9px 0 0;color:#57755d;white-space:pre-wrap;overflow-wrap:anywhere}.event-log{margin-top:25px}.event-log p{font-size:11px;line-height:1.6;margin:7px 0;color:#65866c}.event-log time{color:#97a89b;font-family:monospace;margin-right:13px}details{border-top:1px solid var(--line);margin-top:23px;padding-top:15px}summary{cursor:pointer;font-size:11px;color:var(--teal)}.muted{color:var(--muted);font-size:12px;line-height:1.6}.spinner{display:inline-block;width:12px;height:12px;border:2px solid #b8d6c4;border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite;margin-right:7px}@keyframes spin{to{transform:rotate(360deg)}}
dialog{width:min(1040px,calc(100% - 36px));padding:0;border:1px solid #d0ddd7;border-radius:13px;box-shadow:0 30px 100px #143a3250;color:#294a3c;max-height:92vh}dialog::backdrop{background:#193b355e;backdrop-filter:blur(3px)}.dialog-heading{padding:24px 28px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-heading h2{font-size:23px;letter-spacing:-.6px}.dialog-heading .eyebrow{font-size:9px;margin-bottom:6px}.dialog-heading p:last-child{font-size:12px;color:var(--muted);margin-top:7px}.modal-grid{display:grid;grid-template-columns:290px 1fr;max-height:calc(92vh - 196px);overflow:auto}.parameters{background:#f5f8f6;padding:23px 24px;border-right:1px solid var(--line)}.parameters h3{font-size:12px;font-weight:700;margin-bottom:19px}.parameters>label,.method-section>label{margin-bottom:17px}.field-hint{color:#8a9c8e;font-size:10px;line-height:1.65;margin:-5px 0 19px}.method-section{border-top:1px solid var(--line);padding-top:21px;margin-top:24px}.evaluation-inputs{padding:23px 28px}.evaluation-inputs>label{margin-bottom:20px}.evaluation-inputs>label:last-child{margin-bottom:0}.code-input{font:11px/1.6 Consolas,monospace;background:#fcfefd;tab-size:2}.check-label{display:flex;gap:6px;align-items:center;margin-bottom:12px;font-size:11px}.dialog-footer{padding:17px 25px;display:flex;align-items:center;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);background:#fff}.dialog-footer>span{margin-right:auto;color:#b55049;font-size:11px;line-height:1.5;max-width:65%}.toast{position:fixed;bottom:27px;left:50%;transform:translateX(-50%);color:white;background:#285b46;border-radius:8px;padding:12px 18px;font-size:12px;z-index:30;box-shadow:0 6px 20px #1b362a25}
footer{display:flex;gap:18px;align-items:center;margin:25px 0 0;border-top:1px solid var(--line);padding:22px 0;color:#7d9385;font-size:11px}footer span{color:#9cab9f}footer a{margin-left:auto;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.shell{padding:25px 20px 0}.app-header{padding:0 20px}.filters{flex-wrap:wrap}.filters label{flex:1;min-width:135px}.section-heading{flex-wrap:wrap}.storage-badge{display:none}.runs-layout{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:700px){.workspace-badge,.nav-note{display:none}h1{font-size:27px}.modal-grid{grid-template-columns:1fr}.parameters{border-right:0;border-bottom:1px solid var(--line)}.evaluation-inputs{padding:20px}.runs-layout{grid-template-columns:1fr}.run-history{max-height:190px;overflow:auto}.comparison{grid-template-columns:1fr}.result-body{padding:17px}.section-heading,.filters,.selection-bar{padding-left:16px;padding-right:16px}.table-footer{gap:10px;line-height:1.5}footer span{display:none}.dialog-footer>span{max-width:45%}.header-right{gap:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Keep the workshop legible on a projector and with browser text enlargement. */
body{font-size:1rem}
.session-error{color:#9a3434;margin:12px 0}.session-error:empty{display:none}
.session-status { min-height:calc(100dvh - 64px); display:grid; place-items:center; padding:40px 20px; background:radial-gradient(ellipse at 25% 25%, #eee8dc 0, transparent 55%), radial-gradient(ellipse at 85% 80%, #e7eee6 0, transparent 50%), #f8f6f1; }
html:has(#session-status:not([hidden])) { scrollbar-gutter:auto; }
.login-card { width:min(100%, 440px); padding:40px; text-align:center; background:#fffefa; border:1px solid #e6e3da; border-radius:24px; box-shadow:0 20px 60px #4b493b0d, 0 4px 12px #4b493b05; }
.login-logo { width:80px; height:80px; display:grid; place-items:center; margin:0 auto 24px; border:1px solid #e4e7db; border-radius:24px; background:#f0f2e8; }
.login-logo img { display:block; }
.login-eyebrow { color:#69776b; font-size:.6875rem; font-weight:700; letter-spacing:2px; margin-bottom:12px; }
.login-card h1 { color:#243e35; font-size:1.875rem; line-height:1.2; letter-spacing:-.9px; font-weight:650; }
.login-description { max-width:320px; margin:16px auto 0; color:#6b756d; font-size:.9375rem; line-height:1.7; }
.login-card .session-error { padding:12px 14px; margin:24px 0 0; border:1px solid #edc7c3; border-radius:10px; background:#fff0ef; font-size:.875rem; line-height:1.6; overflow-wrap:anywhere; }
.login-actions { display:grid; gap:12px; margin-top:28px; }
.login-actions .button { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:50px; border-radius:12px; font-size:.9375rem; white-space:normal; }
.login-actions .button svg { flex-shrink:0; }
.login-actions .button.primary { background:#167367; border-color:#167367; box-shadow:0 4px 10px #16736714; }
.login-actions .button.primary:hover:not(:disabled) { background:#105c52; border-color:#105c52; }
.login-note { display:flex; align-items:center; justify-content:center; gap:7px; padding-top:24px; margin-top:28px; border-top:1px solid #ece9e0; color:#727b70; font-size:.75rem; line-height:1.6; }
.login-note svg { flex-shrink:0; }
@media (max-width:700px) { body:has(#session-status:not([hidden])) .app-header { height:64px; padding-block:8px; } }
@media (max-width:520px) { .session-status { padding:24px 16px; } .login-card { padding:32px 24px; border-radius:20px; } .login-card h1 { font-size:1.625rem; } }
@media (max-width:360px) { .login-card { padding:24px 20px; } .login-logo { width:64px; height:64px; margin-bottom:20px; border-radius:20px; } .login-card h1 { font-size:1.5rem; } .login-actions { margin-top:24px; } .login-note { padding-top:20px; margin-top:20px; } }
label,input:not([type=checkbox]),select,textarea,.filters label,.filters input,.filters select,.button,.button.small,.text-button,.tabs button,table,.eval-name,.badge,.selection-bar,.check-label{font-size:.875rem}
.subtitle,.section-heading p,.empty-state p,.dialog-heading p:last-child,.checks h4,.event-log h4,.check-title,.check p,.event-log p,.muted{font-size:.875rem}
.header-right,.workspace-badge,.eyebrow,.dialog-heading .eyebrow,.storage-badge,.notice,.error-banner,.tabs button span,th,.eval-id,.row-meta,.table-footer,.workflow-tip,label small,.field-hint,.run-history h3,.run-history button small,.run-top p,.run-top a,.run-item,.result-title p,.output-card h4,summary,.dialog-footer>span,footer,footer a,.toast{font-size:.75rem}.run-history button strong,.parameters h3{font-size:.875rem}
.output-card pre,.context-pre,.check blockquote,.code-input{font-size:.8125rem}
label small,.field-hint,.row-meta,.eval-id,.table-footer,footer span{color:#647b71}.shell{padding-top:28px}
.app-header { height: 64px; }
@font-face { font-family:'Sora'; src:url('/assets/Sora-VariableFont_wght.ttf') format('truetype'); font-weight:100 900; font-style:normal; font-display:swap; }
.app-header .brand { gap:10px; letter-spacing:normal; flex-shrink:0; }
.app-header .brand-icon { display:block; width:38px; height:38px; padding:0; background:transparent; border-radius:50%; }
.brand-copy { display:flex; align-items:baseline; gap:8px; }
.brand-wordmark { font-family:'Sora','Segoe UI',sans-serif; font-size:22px; font-weight:900; letter-spacing:-.7px; color:#315cf4; background:linear-gradient(90deg,#315cf4,#6865ac); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.brand-product { font-size:15px; font-weight:400; color:#647b71; }
.app-header .header-right { gap: 20px; }
.app-header .workspace-badge { letter-spacing: 0; }
.section-heading > .actions { max-width: 100%; min-width: 0; flex-shrink: 1; }
.table-scroll { position: relative; }
.app-footer { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 16px 0; margin-top: 24px; font-size: .8125rem; }
.app-footer .footer-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 20px; min-width: 0; }
.app-footer span { display: inline; }
.app-footer .connection-status { color: var(--muted); white-space: nowrap; }
.app-footer a { margin-left: auto; flex: none; font-size: inherit; white-space: nowrap; }
@media (max-width: 520px) {
  .app-header .header-right { gap: 0; }
  .app-footer .footer-meta { gap: 10px; }
}

/* The dialog has one scroll owner; its heading, steps and actions stay in view. */
body.modal-open { overflow: hidden; }
.run-top { flex-wrap: wrap; }
.run-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.button.danger { color: #9a3434; border-color: #e2c5c2; }
.button.danger:hover:not(:disabled) { background: #fff2f0; border-color: #bf7771; }
.button.danger-solid { background: #a73730; border-color: #a73730; color: white; }
.button.danger-solid:hover:not(:disabled) { background: #8b2c27; border-color: #8b2c27; }
#delete-run-dialog { width: min(480px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; }
.delete-run-body { padding: 0 26px 22px; font-size: .875rem; line-height: 1.7; color: var(--muted); }
.delete-run-summary { margin-bottom: 12px; color: #36534b; font-weight: 600; }
#delete-run-dialog .dialog-footer { flex-wrap: wrap; }
html { scrollbar-gutter: stable; }
#evaluation-dialog { width: min(960px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: hidden; }
#evaluation-form { display: flex; flex-direction: column; max-height: calc(100dvh - 34px); }
.dialog-heading { padding: 20px 26px 16px; flex: none; gap: 16px; align-items: center; border-bottom: 0; }
.dialog-heading .icon-button { flex: none; width: 36px; height: 36px; }
.wizard-steps { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0 26px 18px; border-bottom: 1px solid var(--line); flex: none; }
.wizard-steps li { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: .875rem; }
.step-number { display: grid; place-items: center; width: 28px; height: 28px; flex: none; border: 1px solid #bacbc6; border-radius: 50%; font-size: .875rem; }
.wizard-steps [aria-current=step] { color: var(--teal-dark); font-weight: 650; }
.wizard-steps [aria-current=step] .step-number { color: white; background: var(--teal); border-color: var(--teal); }
#wizard-body { position: relative; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-gutter: stable; min-height: 0; }
.parameter-panel { padding: 20px 26px; background: #f3f8f6; border-bottom: 1px solid var(--line); }
.parameter-panel h3, .criteria-section h3 { font-size: .9375rem; margin-bottom: 14px; }
.generation-options { display: flex; gap: 24px; align-items: end; margin-top: 14px; flex-wrap: wrap; }
.generation-options > label { width: 220px; max-width: 100%; }
.code-options { display: flex; flex-wrap: wrap; gap: 12px 22px; padding-bottom: 10px; }
.code-options .check-label { margin: 0; }
#evaluation-dialog input:disabled, #evaluation-dialog select:disabled, #evaluation-dialog textarea:disabled { background: #e9eeec; color: #6c7d77; border-color: #d7e0dc; cursor: not-allowed; }
#evaluation-dialog label:has(> :disabled) { color: #697d75; }
#evaluation-dialog .field-hint { margin: 10px 0 0; font-size: .8125rem; line-height: 1.55; }
#evaluation-dialog .evaluation-inputs { padding: 22px 26px; display: grid; gap: 18px; }
#evaluation-dialog .evaluation-inputs > label { margin: 0; }
#evaluation-dialog textarea { resize: none; overflow: hidden; white-space: pre-wrap; overflow-wrap: anywhere; }
#evaluation-dialog .optional { color: var(--muted); font-weight: 400; }
#evaluation-dialog .dialog-footer { flex: none; padding: 16px 26px; gap: 12px; }
#evaluation-dialog .dialog-footer > span { max-width: none; min-width: 0; font-size: .8125rem; }
.wizard-actions { display: flex; gap: 8px; flex: none; }
.wizard-actions .button { min-height: 42px; }
.criteria-section { padding: 24px 26px; }
.criteria-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.criteria-heading h3 { margin: 0; }
#criteria-list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 8px; }
#criteria-list li { display: grid; grid-template-columns: 24px minmax(0, 1fr) 28px; gap: 8px; align-items: center; padding: 6px 10px; border: 1px solid var(--line); border-radius: 6px; }
#criteria-list textarea { margin: 0; border-color: transparent; padding: 2px 6px; min-height: 28px; }
#criteria-list textarea:focus { border-color: var(--teal); }
#criteria-list .icon-button { width: 28px; height: 28px; font-size: 18px; background: transparent; }
#criteria-list .icon-button:hover { background: #eef4f1; }
.criteria-empty { padding: 22px 16px; margin-top: 18px; border: 1px dashed #becfc8; border-radius: 8px; color: var(--muted); font-size: .875rem; text-align: center; }
#models-feedback { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
#models-feedback .text-button { padding: 0; }
.row-actions { display: flex; gap: 4px; align-items: center; }
.contributor-workspace .evaluations-table .eval-actions-column { width: 190px; }
.request-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; padding: 2px 6px; border-radius: 20px; background: #147d73; color: white; font-size: 12px; }
.request-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.request-description { white-space: pre-wrap; overflow-wrap: anywhere; }
.request-detail-heading { align-items:baseline; }
.request-title-line { display:flex; align-items:baseline; gap:10px; min-width:0; flex:1; }
.request-title-line h2 { flex-shrink:0; }
.request-title-separator { color:#a5b3ad; }
.request-heading-description { margin:0; color:#82928b; font-weight:400; min-width:0; }
.request-description-preview { display: block; max-width: 380px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.request-status-filter { max-width: 240px; margin-bottom: 16px; }
.request-runs { margin: 24px 0; }
.request-history { margin: 0; padding-left: 20px; }
.request-history li { margin-bottom: 16px; }
.request-history li:last-child { margin-bottom: 0; }
.request-history li p { margin: 6px 0; }
.request-submission-controls { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px; max-width: 100%; }
.request-submission-controls #request-submission { min-width: 0; flex: 1; }
#request-history-dialog { width: min(760px, calc(100vw - 32px)); }
#request-history-dialog .compact-body { max-height: 65vh; overflow: auto; }
.request-selection-list { max-height: 240px; overflow: auto; margin-bottom: 20px; }
.request-selection { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 8px 0; overflow-wrap: anywhere; }
.request-selection input { width: auto; }
.request-evaluations { table-layout: fixed; min-width: 950px; }
.request-evaluations td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.request-evaluations th:first-child { width: 90px; }
.request-evaluations th:nth-child(2) { width: 22%; }
.request-evaluations .eval-name { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.request-evaluations th button { border: 0; background: none; color: inherit; padding: 0; font: inherit; text-transform: inherit; text-align: left; }
.request-evaluations th button::after { content: ' ↕'; color: var(--muted); }
.request-evaluations th[aria-sort=ascending] button::after { content: ' ↑'; color: var(--teal); }
.request-evaluations th[aria-sort=descending] button::after { content: ' ↓'; color: var(--teal); }
.request-approved { color: #116044; background: #e0f3e8; }
.request-rejected { color: #a12835; background: #fce7e9; }
.request-pending, .request-changes_requested { color: #78500b; background: #fff0ce; }
#requests-panel .table-card > .request-description, #requests-panel .table-card > .muted { padding: 0 20px; }
#requests-panel > .section-heading, #requests-panel .request-runs > .section-heading { padding-left: 0; padding-right: 0; }
#requests-panel > a:first-child { display: inline-block; margin-top: 8px; }
#requests-panel .request-runs > .muted { margin-bottom: 12px; }
.actions { flex-wrap: wrap; }
#criteria-list li > .icon-button { grid-column: -2 / -1; }
.score-explanation { font-size: .875rem; line-height: 1.6; color: var(--muted); margin-bottom: 14px; }
.check-title b { overflow-wrap: anywhere; min-width: 0; }
.check-title .badge { align-self: start; white-space: nowrap; }
.check .check-meta { color: var(--teal); font-size: .8125rem; }
.compact-dialog { width: min(480px, calc(100% - 24px)); }
.compact-body { padding: 20px 24px; font-size: .875rem; line-height: 1.6; overflow-wrap: anywhere; }
.compact-dialog .dialog-heading h2 { font-size: 21px; }
.wizard-actions { flex-wrap: wrap; }
#evaluation-dialog .dialog-footer { flex-wrap: wrap; }
#evaluation-dialog .dialog-footer > span:not(:empty) { flex-basis: 100%; max-width: 100%; }
@media (max-width: 760px) {
  .generation-options { align-items: start; gap: 18px; }
}
@media (max-width: 520px) {
  #evaluation-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
  #evaluation-form { max-height: calc(100dvh - 18px); }
  .dialog-heading, .parameter-panel, #evaluation-dialog .evaluation-inputs, .criteria-section, #evaluation-dialog .dialog-footer { padding: 16px; }
  .wizard-steps { padding: 0 16px 14px; gap: 16px; }
  .wizard-steps li { align-items: start; font-size: .8125rem; }
  .method-row, .parameter-row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  #evaluation-dialog .dialog-footer { flex-wrap: wrap; }
  #evaluation-dialog .dialog-footer > span:not(:empty) { flex-basis: 100%; }
  .wizard-actions { margin-left: auto; flex-wrap: wrap; max-width: 100%; }
}

/* Keep run configuration spacing independent of the evaluation editor. */
#create-run-form .dialog-heading{padding:20px 24px 16px}
#create-run-form .create-run-body{padding-top:16px}
#create-run-form .run-settings{margin:0 0 16px}
#create-run-form .run-eval-filters{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,minmax(0,160px));padding:0;margin:24px 0 16px}
#create-run-form .run-eval-filters label{min-width:0}
#create-run-form .run-eval-filters select{min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
#create-run-form table{table-layout:fixed;min-width:760px;width:100%}
#create-run-form th:first-child{width:42px}
#create-run-form th:nth-child(2){width:80px}
#create-run-form th:nth-child(3){width:28%}
#create-run-form th:nth-child(4){width:20%}
#create-run-form th,#create-run-form td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){
  #create-run-form .run-eval-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  #create-run-form .run-eval-filters .search-field{grid-column:1/-1}
  #create-run-form th,#create-run-form td{padding-inline:6px}
  #create-run-form th:first-child{width:28px}
}
#create-run-form #run-description{min-height:0;height:41px;resize:vertical}
#create-run-form #run-models-status:not([hidden]){margin:0 0 8px}
#create-run-form #retry-run-models:not([hidden]){margin-bottom:16px}
.run-settings>*{min-width:0}
#create-generation-models{margin:0;padding:0;border:0;min-width:0}
#create-generation-models legend{padding:0;font-size:.875rem;font-weight:500}
.model-select-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:7px;padding:9px 10px;border:1px solid #cfdbd6;border-radius:6px;background:white;color:#294239;font-size:.875rem;text-align:left}
/* Align native selects and the custom toggle across browser/platform defaults. */
.run-settings select,.run-settings .model-select-toggle{height:41px;padding-block:0}
.model-select-toggle span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-select-toggle span:last-child{flex:none}
.model-checklist{position:fixed;inset:auto;margin:0;padding:4px;max-height:240px;overflow-y:auto;border:1px solid var(--line);border-radius:6px;background:white;color:#294239;box-shadow:0 6px 20px #1b362a20}
.model-checklist .model-option{display:flex;align-items:center;gap:8px;margin:0;padding:7px 8px;font-weight:400;cursor:pointer}
.model-option:hover{background:#f4f8f6}.model-option input{flex:none;margin:0}.model-option span{min-width:0;overflow-wrap:anywhere}
.model-checklist>.muted{display:block;padding:8px;font-size:.8125rem}
#create-combination-count{display:block;margin:0}

/* Run results share one score scale, independent of the saved 0–100 values. */
.score-low{color:#bd2525}.score-medium{color:#916300}.score-high{color:#087c67}.score-missing{color:var(--muted)}
#run-detail{overflow:hidden}
#run-detail .run-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;flex-wrap:wrap}
.run-heading{display:flex;align-items:center;gap:24px;flex-wrap:wrap;min-width:0}
.run-heading h3{margin:0;font-size:21px}.run-context{font-size:.8125rem;color:var(--muted)}
.model-summary{margin:0 24px 8px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#f8faf9}
.model-summary h4{margin:0 0 6px;font-size:.9375rem}.model-summary .field-hint{margin:0 0 12px}
.model-summary-scroll{max-width:100%;overflow-x:auto}.model-summary table{width:100%;min-width:720px;table-layout:fixed;background:white}
.model-summary th,.model-summary td{padding:12px;text-align:right;font-size:.8125rem;text-transform:none;letter-spacing:normal;vertical-align:middle;white-space:normal}
.model-summary th:first-child{width:26%;text-align:left;overflow-wrap:anywhere}.model-summary tbody th{font-weight:500;border-bottom:1px solid #edf1ef}
.model-summary .model-total-score{font-weight:600}.model-scored-count{display:block;margin-top:4px;color:var(--muted);font-size:.75rem;font-weight:400;white-space:nowrap}
.detail-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:16px 24px 0}
.detail-count{padding:12px 24px;color:var(--muted);font-size:.8125rem;margin:0}
.detail-table-scroll{overflow-x:auto;margin:0 24px 24px;max-width:100%}
.detail-table{width:100%;min-width:1050px;table-layout:fixed;border-collapse:collapse}
.detail-id-column{width:80px}.detail-suite-column{width:18%}.detail-metadata-column{width:120px}.detail-score-column{width:75px}.detail-criteria-column{width:105px}
.detail-table th,.detail-table td{padding:14px 10px;vertical-align:middle;overflow-wrap:anywhere}
.detail-table th{font-size:.75rem;text-transform:none;letter-spacing:normal}
.detail-table th button{font:inherit;color:inherit;background:none;border:0;padding:0;text-align:left;cursor:pointer}
.detail-table th button span{color:var(--muted)}
.detail-eval-row{cursor:pointer}.detail-eval-row:hover{background:#f4f8f6}
.detail-expand{display:flex;align-items:center;gap:8px;width:100%;max-width:100%;min-width:0;font:inherit;line-height:1.45;text-align:left;border:0;background:none;color:inherit;padding:0;cursor:pointer}
.detail-chevron{flex:none;color:var(--muted)}
.detail-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.detail-table .result-score{font-size:.875rem;font-weight:600;white-space:nowrap}
.detail-table .badge{font-size:.6875rem;white-space:nowrap}
.detail-table .detail-expansion>td{padding:0 0 16px;background:white}
.criterion-panel{padding:18px 20px;background:#f8faf9;border:1px solid var(--line);border-top:0;min-width:0}
.criterion-panel h4{font-size:.875rem;margin:0 0 10px}.criterion-results{list-style:none;margin:0;padding:0}
.criterion-result{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.8125rem;line-height:1.5}
.criterion-result:last-child{border-bottom:0}.criterion-verdict{font-size:16px}.criterion-description{font-weight:500;overflow-wrap:anywhere}
.criterion-reason{margin:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.criterion-panel details{margin-top:16px;font-size:.8125rem}.criterion-panel summary{cursor:pointer;color:var(--teal);width:fit-content}
.saved-output{font-size:.8125rem;padding:16px;background:white;max-height:420px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:6px}
.detail-empty{text-align:center;padding:20px;color:var(--muted)}
@media(max-width:760px){.detail-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.run-heading{gap:12px}.run-heading h3{flex-basis:100%}.criterion-reason{white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}}
@media(max-width:520px){#run-detail .run-top{padding:16px}.model-summary{margin:0 16px 8px;padding:12px}.detail-filters{padding:16px 16px 0}.detail-count{padding:12px 16px}.detail-table-scroll{margin:0 16px 16px}.criterion-panel{max-width:calc(100vw - 100px);padding:14px}.detail-table .detail-expansion>td{background:#f8faf9}}

.eval-action{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.evaluations-table{min-width:1040px;table-layout:fixed}.evaluations-table tbody tr:focus-within{background:#f0f7f4}
.evaluations-table .eval-select-column{width:44px}.evaluations-table .eval-select-cell{padding-inline:12px;text-align:center}
.evaluations-table .eval-select-cell input{width:16px;height:16px;margin:0;vertical-align:middle}
.evaluations-table tbody tr.selected{background:#edf7f4}
.library-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.library-footer #library-selected-count{margin-left:auto}
#delete-library-items{max-height:200px;overflow-y:auto;padding-left:20px;overflow-wrap:anywhere}
.table-card .section-heading{flex-wrap:wrap}.table-card .section-heading>.actions{flex-wrap:wrap}

/* Leave room for the full text line inside fixed-height filter controls. */
.filters select{padding-block:0;line-height:normal}
.evaluations-table th:last-child,.evaluations-table td:last-child{padding-right:24px}
.evaluations-table .row-actions{justify-content:flex-end}
.library-actions{position:relative}
.library-actions-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:10;min-width:200px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px #1b362a20}
.library-actions-menu button{display:block;width:100%;border:0;border-radius:4px;background:none;color:#36534b;text-align:left;padding:10px 12px;font-size:.875rem;white-space:nowrap}
.library-actions-menu button:hover:not(:disabled),.library-actions-menu button:focus-visible{background:#f0f7f4}
#library-actions-menu #clear-workspace-button{color:var(--danger, #b42318);border-top:1px solid var(--line);border-radius:0;margin-top:4px}
#clear-workspace-suites{max-height:200px;overflow-y:auto;padding-left:20px}

.evaluations-table .eval-name,.evaluations-table .eval-suite{display:block;width:100%;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.evaluations-table .eval-suite-column{width:18%}.evaluations-table .eval-metadata-column{width:148px}.evaluations-table .eval-actions-column{width:154px}
#library-actions-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px}.actions-chevron{flex:none}#library-actions-toggle[aria-expanded=true] .actions-chevron{transform:rotate(180deg)}

/* Evaluation setup: identity, applicable parameters, and a per-criterion composer. */
.identity-row, .automation-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.identity-row > *, .automation-row > *, #suite-control { min-width: 0; }
.suite-picker { display: flex; gap: 8px; align-items: center; }
.suite-picker select { flex: 1; min-width: 0; }
.suite-picker .button { flex: none; margin-top: 6px; font-size: 20px; padding: 5px 12px; }
.suite-menu, #suite-editor { margin-top: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #f8faf9; }
.suite-menu .button { display: block; width: 100%; text-align: left; margin-bottom: 6px; }
#suite-editor .actions { margin-top: 10px; }
#suite-error { color: #b55049; font-size: .8125rem; margin-top: 8px; }
#suite-delete-confirmation { overflow-wrap: anywhere; }
#evaluation-dialog .parameter-panel > label, #code-parameters > label { display: block; margin-bottom: 18px; }
#code-parameters .check-label { display: flex; margin-top: 14px; }
#evaluation-dialog .parameter-panel > label:last-child { margin-bottom: 0; }
.criteria-toolbar { display: flex; align-items: end; gap: 12px; margin-top: 18px; }
.criteria-toolbar > label:first-child { flex: 0 0 160px; min-width: 0; }
#criterion-description-field { flex: 1; min-width: 0; }
/* Native select heights differ across platforms; align the composer controls explicitly. */
#method, #criterion-rule, #criterion-description { height: 41px; }
.criteria-composer .button { flex: none; min-height: 38px; height: 38px; padding-block: 0; }
.criteria-composer { display: flex; align-items: end; flex-direction: row; gap: 12px; margin-top: 0; }
#criterion-composer-label { margin-top: 16px; }
#criterion-rule-field { flex: 0 0 160px; }
#evaluation-dialog #criterion-draft, #evaluation-dialog #criteria-list textarea { height: 38px; min-height: 38px; max-height: 38px; white-space: pre; overflow: auto; resize: none; line-height: 24px; padding: 6px 8px; box-sizing: border-box; }
#criterion-draft { flex: 1; width: 100%; min-width: 0; }
#criteria-list li { grid-template-columns: auto minmax(0, 1fr) 28px; padding: 5px 8px; }
#criteria-list .badge { white-space: nowrap; font-size: .6875rem; }
@media (max-width: 520px) {
  .identity-row, .automation-row { grid-template-columns: minmax(0, 1fr); }
  #criterion-rule-field, .criteria-toolbar > label:first-child { flex-basis: 115px; }
  .criteria-composer { gap: 8px; }
  .criteria-toolbar { gap: 8px; }
  #criteria-list li { gap: 5px; padding: 5px; }
}

.inline-eval-name { position: relative; width: 100%; min-width: 0; }
.inline-eval-name input { width: 100%; margin: 0; padding-right: 40px; }
.inline-eval-name .icon-button { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; }
.inline-name-error { color: #b55049; font-size: .8125rem; white-space: normal; overflow-wrap: anywhere; margin: 5px 0 0; }
.inline-name-error:empty { display: none; }
#delete-evaluation { display: inline-flex; align-items: center; justify-content: center; }

/* The composer is visually separate from the numbered, editable criteria. */
.criterion-create-panel { padding: 14px; background: #f3f8f6; border: 1px solid var(--line); border-radius: 8px; }
.criteria-added-section { margin-top: 24px; }
#criteria-list { margin-top: 12px; }
#criteria-list li { display: block; padding: 8px; background: #fff; }
.criterion-card-header, .criterion-card-body { display: flex; align-items: center; gap: 8px; min-width: 0; }
.criterion-card-header { min-height: 32px; }
.criterion-card-body { margin-top: 6px; }
.criterion-number { flex: none; color: #647b71; font-size: .75rem; font-variant-numeric: tabular-nums; }
#criteria-list .criterion-card-header > .icon-button { margin-left: auto; flex: none; }
#criteria-list .criterion-description-editor { flex: 1; min-width: 0; }
#criteria-list .criterion-description-editor input { margin: 0; padding: 4px 6px; min-height: 32px; font-size: .8125rem; border-color: transparent; }
#criteria-list .criterion-description-editor input:focus { border-color: var(--teal); }
#criteria-list .criterion-rule-pill { flex: 0 0 112px; width: 112px; margin: 0; padding: 3px 6px; height: 28px; border-radius: 14px; background-color: #fff; font-size: .6875rem; }
#criteria-list .criterion-card-body textarea { flex: 1; min-width: 0; }
.criterion-text-editor { position: relative; flex: 1; min-width: 0; }
#evaluation-dialog #criteria-list .criterion-text-editor textarea { margin: 0; color: transparent; white-space: pre-wrap; overflow-wrap: anywhere; overflow: hidden; }
.criterion-text-preview { position: absolute; top: 7px; left: 9px; right: 9px; color: #294239; font-size: 12px; font-weight: 400; line-height: 24px; white-space: pre; overflow: hidden; text-overflow: ellipsis; pointer-events: none; }
#evaluation-dialog #criteria-list .criterion-text-editor textarea:focus { height: 62px; min-height: 62px; max-height: 62px; color: #294239; overflow-y: auto; }
.criterion-text-editor:focus-within .criterion-text-preview { display: none; }
@media (max-width: 520px) {
  .criterion-create-panel { padding: 10px; }
  #method, #criterion-rule { padding-inline: 6px; font-size: .75rem; }
  .criterion-card-header, .criterion-card-body { gap: 5px; }
}

.evaluations-table .eval-id-column{width:80px}
.evaluation-id,#create-run-form td.evaluation-id{font-family:Consolas,monospace;font-size:.75rem;white-space:nowrap;user-select:text}

.evaluations-table th:first-child,.evaluations-table td.evaluation-id{padding-inline:10px}
#create-run-form th:nth-child(2),#create-run-form td.evaluation-id{padding-inline:10px}
.detail-table th,.detail-eval-row>td,.evaluations-table th,.evaluations-table td:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detail-table th button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detail-eval-row .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.detail-count-column{width:150px}
.detail-table:has(.detail-count-column){min-width:1200px}
.result-test-count,.model-count-total{font-variant-numeric:tabular-nums;font-weight:600}
.model-count-total{display:block}.model-scored-count + .model-count-total{margin-top:10px}
.count-evidence{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem;color:var(--muted)}
.badge.test_count,.badge.counted{background:#edf0fa;color:#425481}

.workspace-controls { --workspace-accent:#147d73; --workspace-tint:#edf8f5; --workspace-border:#badbd3; display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:20px; align-items:center; margin-bottom:16px; padding:18px 20px; background:var(--workspace-tint); border:1px solid var(--workspace-border); border-left:5px solid var(--workspace-accent); border-radius:10px; }
.workspace-controls[data-workspace=personal] { --workspace-accent:#315ea8; --workspace-tint:#eff5ff; --workspace-border:#c6d6f0; }
.workspace-identity { display:flex; gap:14px; align-items:center; min-width:0; }
.workspace-icon { display:grid; place-items:center; flex:none; width:44px; height:44px; border:1px solid var(--workspace-border); border-radius:10px; background:#fff; color:var(--workspace-accent); }
.workspace-context { min-width:0; }
.workspace-title { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; color:var(--workspace-accent); }
#workspace-name { font-size:1.125rem; }
#workspace-visibility { padding:3px 9px; border:1px solid var(--workspace-border); border-radius:999px; background:#fff; font-size:.75rem; font-weight:600; }
#workspace-access { margin-top:5px; color:#476057; }
.workspace-controls[data-workspace=personal] #workspace-access { color:#4b5f7b; }
.workspace-selector label { color:#476057; }
.workspace-controls[data-workspace=personal] .workspace-selector label { color:#4b5f7b; }
#workspace-switcher { margin-top:6px; }
#workspace-switcher:focus-visible { outline:2px solid var(--workspace-accent); outline-offset:3px; }
.user-menu { position:relative; min-width:0; }
#user-menu-toggle { display:flex; align-items:center; gap:8px; max-width:180px; }
#user-menu-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#user-menu-toggle[aria-expanded=true] .actions-chevron { transform:rotate(180deg); }
.user-menu-panel { position:absolute; right:0; top:calc(100% + 8px); z-index:20; width:240px; max-width:calc(100vw - 40px); padding:6px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 6px 20px #1b362a20; }
.user-menu-identity { padding:10px 12px; color:var(--muted); font-size:.8125rem; overflow-wrap:anywhere; border-bottom:1px solid var(--line); margin-bottom:4px; }
.user-menu-panel button,.user-menu-panel a { display:block; width:100%; border:0; border-radius:4px; background:none; color:#36534b; text-align:left; padding:10px 12px; font-size:.875rem; }
.user-menu-panel button:hover,.user-menu-panel a:hover { background:#f0f7f4; text-decoration:none; }
#user-menu-panel #logout { color:var(--danger, #b42318); border-top:1px solid var(--line); border-radius:0; margin-top:4px; }
#api-key-description { margin-bottom:18px; color:var(--muted); }
#api-key-dialog .dialog-heading { align-items:center; gap:12px; }
#api-key-dialog .dialog-footer { flex-wrap:wrap; }
#api-key-dialog #clear-api-key { margin-right:auto; }
#inspect-content pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; }
#inspect-evaluation { width:min(760px,calc(100vw - 32px)); max-height:85vh; overflow:auto; }
.readonly-workspace #new-button, .readonly-workspace #empty-create, .readonly-workspace #clear-workspace-button,
.readonly-workspace [data-duplicate-evaluation], .readonly-workspace [data-delete-evaluation],
.readonly-workspace .run-delete, .readonly-workspace .eval-action[data-inspect] { display:none; }
@media(max-width:700px) { .workspace-controls { grid-template-columns:minmax(0,1fr); gap:16px; padding:16px; } .workspace-identity { align-items:flex-start; gap:12px; } .header-right { flex-wrap:wrap; } }
@media(max-width:700px) {
  .app-header { height:auto; min-height:64px; gap:12px; padding-block:12px; }
  .app-header .brand-icon { width:34px; height:34px; }
  .brand-copy { flex-direction:column; gap:1px; }
  .brand-wordmark { font-size:20px; }
  .brand-product { font-size:12px; }
  .app-header .header-right { min-width:0; flex-wrap:nowrap; }
  #user-menu-toggle { max-width:125px; }
}

.readonly-workspace #detail-delete-run { display:none; }
.run-provenance { font-size:13px; color:var(--muted); }
