:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.prompt-lab{--ink: #172033;--muted: #667085;--line: #e4e7ec;--brand: #3157d5;--brand-soft: #f0f3ff;color:var(--ink);max-width:1500px;margin:0 auto}.prompt-lab *{box-sizing:border-box}.prompt-lab-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.prompt-lab-heading h2{margin:5px 0;font-size:clamp(26px,3vw,32px);letter-spacing:-.03em}.prompt-lab-heading p{max-width:720px;margin:0;color:var(--muted)}.prompt-lab-kicker{color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.prompt-lab-heading-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px}.prompt-lab-badge{padding:8px 12px;border-radius:999px;background:#eef2ff;color:#3448a5;font-size:13px;font-weight:700;white-space:nowrap}.scope-button,.panel-title button,.entity-row button,.editor-header button,.editor-actions>button:not(.prompt-lab-primary),.conflict-actions button,.version-strip button{border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;padding:8px 11px;font:inherit;font-weight:700;cursor:pointer}.prompt-lab-toolbar,.prompt-lab-panel{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px #1018280d}.prompt-lab-toolbar{display:grid;grid-template-columns:1.15fr .9fr 1fr auto;align-items:start;gap:14px;margin-bottom:16px;padding:16px}.prompt-lab-toolbar>.prompt-lab-primary{align-self:start;margin-top:24px}.prompt-lab-toolbar>label,.test-context label{display:grid;gap:6px;min-width:0;color:#475467;font-size:12px;font-weight:700}.prompt-lab select,.multi-select summary{width:100%;min-height:42px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:var(--ink);padding:0 12px;font:14px inherit}.prompt-lab select:focus,.prompt-lab textarea:focus,.multi-select[open] summary{border-color:#8098eb;outline:3px solid rgba(49,87,213,.12)}.prompt-lab button{font:inherit}.prompt-lab-primary{min-height:42px;border:0;border-radius:9px;background:var(--brand);color:#fff;padding:0 18px;font-weight:700;cursor:pointer;white-space:nowrap}.prompt-lab button:disabled,.prompt-lab select:disabled{opacity:.52;cursor:not-allowed}.multi-select{position:relative}.multi-select summary{display:flex;align-items:center;cursor:pointer;list-style:none}.multi-select summary::-webkit-details-marker{display:none}.multi-select summary:after{content:"⌄";margin-left:auto;color:var(--muted)}.multi-select-popover{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:min(380px,calc(100vw - 48px));max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px;box-shadow:0 18px 44px #1018282e}.multi-select-popover>label{display:flex;align-items:center;gap:9px;border-radius:7px;padding:9px;color:#344054;font-size:14px;cursor:pointer}.multi-select-popover>label:hover{background:#f8fafc}.multi-select-actions{display:flex;gap:6px;margin-bottom:4px;padding:4px;border-bottom:1px solid var(--line)}.multi-select-actions button{border:0;background:transparent;color:var(--brand);padding:5px;font-weight:700;cursor:pointer}.toolbar-meta{grid-column:span 2;display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0;color:var(--muted);font-size:12px}.model-meta{justify-content:flex-end;text-align:right}.model-meta strong{color:#027a48}.model-meta.stale strong{color:#b54708}.model-selector-hint{color:var(--muted);font-size:11px;font-weight:500}.prompt-lab-grid{display:grid;grid-template-columns:minmax(390px,.9fr) minmax(460px,1.1fr);gap:16px}.prompt-lab-panel{min-width:0;min-height:520px;overflow:hidden}.panel-title{min-height:70px;border-bottom:1px solid var(--line);padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title>div{display:grid;gap:3px}.panel-title span{color:var(--muted);font-size:12px}.entity-list,.conflict-list{display:grid;gap:9px;max-height:700px;overflow:auto;padding:10px}.entity-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid transparent;border-radius:10px;padding:12px;cursor:pointer}.entity-row.category-row{grid-template-columns:minmax(0,1fr) auto;cursor:default}.panel-title>small{color:var(--muted);font-size:12px;font-weight:700}.entity-row:hover{background:#f9fafb}.entity-row.selected{border-color:#c7d2fe;background:#f4f6ff}.entity-row>span{display:grid;gap:4px;min-width:0}.entity-row em{color:var(--brand);font-size:11px;font-style:normal;font-weight:700}.entity-row small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.entity-row small.entity-description-only{display:-webkit-box;color:var(--ink);font-size:13px;font-weight:600;line-height:1.4;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:3}.prompt-lab-summary{margin:12px;border-radius:9px;background:#f8fafc;color:#475467;padding:12px;line-height:1.5}.prompt-lab-empty{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);padding:24px;text-align:center}.prompt-lab-empty>span{display:grid;place-items:center;width:52px;height:52px;margin-bottom:14px;border-radius:50%;background:#ecfdf3;color:#039855;font-size:24px}.prompt-lab-empty p{max-width:380px}.review-filters{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);padding:10px}.review-filters button{min-height:32px;border:1px solid #d0d5dd;border-radius:999px;background:#fff;color:#475467;padding:0 10px;font-size:12px;font-weight:700;cursor:pointer}.review-filters button span{margin-left:3px;color:var(--muted)}.review-filters button.active{border-color:#98a2b3;background:#f2f4f7;color:var(--ink)}.review-filters button.conflict.active{border-color:#fda29b;background:#fef3f2;color:#b42318}.review-filters button.ambiguity.active{border-color:#fec84b;background:#fffaeb;color:#b54708}.review-filters button.overlap.active{border-color:#84adff;background:#eff4ff;color:#175cd3}.review-filters button.recommendation.active{border-color:#6ce9a6;background:#ecfdf3;color:#027a48}.conflict-card{position:relative;display:grid;width:100%;gap:7px;border:1px solid var(--line);border-left:4px solid #98a2b3;border-radius:11px;background:#fff;color:var(--ink);padding:14px 44px 14px 14px;text-align:left;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.conflict-card:hover,.conflict-card:focus-visible{border-color:#b2bbca;box-shadow:0 8px 20px #10182814;outline:none;transform:translateY(-1px)}.conflict-card.conflict{border-left-color:#d92d20}.conflict-card.ambiguity{border-left-color:#dc6803}.conflict-card.overlap{border-left-color:#2970ff}.conflict-card.recommendation{border-left-color:#039855}.review-kind{display:inline-flex;width:fit-content;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.review-kind i{display:inline-grid;width:15px;height:15px;place-items:center;border-radius:50%;background:currentColor;color:#fff;font-size:10px;font-style:normal}.review-kind.conflict{background:#fef3f2;color:#b42318}.review-kind.ambiguity{background:#fffaeb;color:#b54708}.review-kind.overlap{background:#eff4ff;color:#175cd3}.review-kind.recommendation{background:#ecfdf3;color:#027a48}.conflict-card-description{display:-webkit-box;overflow:hidden;color:#475467;font-size:13px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.conflict-card-paths{display:grid;gap:4px;min-width:0;margin-top:2px}.review-path{display:flex;min-width:0;align-items:center;overflow:hidden;color:#667085;font-size:11px;white-space:nowrap}.review-path span{display:inline-flex;min-width:0;align-items:center;overflow:hidden;text-overflow:ellipsis}.review-path i{flex:0 0 auto;margin:0 5px;color:#98a2b3;font-style:normal}.conflict-card-paths small{color:var(--muted);font-size:11px}.conflict-card-open{position:absolute;top:50%;right:14px;color:transparent;font-size:0;transform:translateY(-50%)}.conflict-card-open i{color:#667085;font-size:19px;font-style:normal}.usage-summary{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));gap:1px;margin:12px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--line)}.usage-summary>div{display:grid;gap:3px;background:#fff;padding:10px}.usage-summary span{color:var(--muted);font-size:11px}.usage-summary strong{font-size:14px}.prompt-lab-alert{margin-bottom:14px;border-radius:9px;padding:12px 14px}.prompt-lab-alert.error{background:#fef3f2;color:#b42318}.prompt-lab-alert.warning{background:#fffaeb;color:#93370d}.prompt-lab-alert.recommendation{background:#ecfdf3;color:#027a48}.review-drawer-backdrop{position:fixed;z-index:1100;inset:0;display:flex;justify-content:flex-end;background:#1018287a}.review-drawer{display:flex;width:min(760px,94vw);height:100%;flex-direction:column;overflow-y:auto;overflow-x:hidden;background:#f8fafc;box-shadow:-18px 0 50px #10182833}.review-drawer-header{position:sticky;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);background:#fffffff7;padding:18px 20px}.review-drawer-header>div{display:grid;gap:9px}.review-drawer-header h3{margin:0;font-size:21px;line-height:1.25}.review-drawer-header>button{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:0;border-radius:8px;background:transparent;color:#475467;font-size:27px;cursor:pointer}.review-drawer-header>button:hover{background:#f2f4f7}.review-explanation,.review-entity{margin:14px 16px 0;border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px}.review-explanation h4,.review-entity h4{margin:0 0 7px}.review-explanation p{margin:5px 0 0;color:#475467;line-height:1.5}.review-entities{display:grid;min-width:0;gap:2px}.review-entity,.review-suggestion{min-width:0}.review-suggestion.unavailable{border-color:#fedf89;background:#fffaeb}.review-suggestion.unavailable p{margin:0;color:#7a2e0e;line-height:1.5}.review-entity>.review-path{flex-wrap:wrap;overflow:visible;margin-bottom:8px;color:var(--brand);font-weight:700;white-space:normal}.review-entity>.review-path span{overflow:visible}.review-block-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:16px 0 7px}.review-block-heading span{color:var(--muted);font-size:11px;text-align:right}.highlighted-prompt{max-height:320px;overflow:auto;margin:0;border:1px solid #e4e7ec;border-radius:9px;background:#fbfcfe;color:#344054;padding:12px;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.highlighted-prompt>pre{margin:0;font:inherit;white-space:pre-wrap}.highlighted-prompt mark{border-radius:3px;color:inherit;padding:1px 2px}.highlighted-prompt mark.conflict{background:#fee4e2;box-shadow:inset 0 -2px #d92d20}.highlighted-prompt mark.ambiguity{background:#fef0c7;box-shadow:inset 0 -2px #dc6803}.highlighted-prompt mark.overlap{background:#d1e0ff;box-shadow:inset 0 -2px #2970ff}.highlighted-prompt mark.recommendation{background:#d1fadf;box-shadow:inset 0 -2px #039855}.quote-warning{margin:10px 0 0;border-radius:7px;background:#fffaeb;color:#93370d;padding:8px;font:12px/1.4 inherit}.review-suggestion{margin-top:14px;border-top:1px solid var(--line);padding-top:2px}.text-diff{display:grid;grid-template-columns:1fr 1fr;gap:10px}.text-diff article{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff}.text-diff article>span{display:block;border-bottom:1px solid var(--line);background:#f8fafc;color:#667085;padding:7px 10px;font-size:11px;font-weight:800}.text-diff pre{max-height:270px;overflow:auto;margin:0;padding:11px;color:#344054;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.text-diff .removed{background:#fee4e2;color:#b42318;text-decoration:line-through}.text-diff .added{background:#d1fadf;color:#027a48}.no-diff{margin:0;border-radius:8px;background:#f2f4f7;color:#667085;padding:10px}.review-suggestion>button{min-height:40px;margin-top:12px;border:0;border-radius:8px;background:#067647;color:#fff;padding:0 14px;font-weight:700;cursor:pointer}.review-suggestion>small{display:block;margin-top:7px;color:var(--muted)}.review-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:18px 20px;color:var(--muted);font-size:12px}.review-drawer-footer button{border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:8px 12px;color:#344054;font-weight:700;cursor:pointer}.prompt-lab-editor-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;overflow-x:hidden;overflow-y:auto;background:#10182894;padding:24px}.prompt-lab-editor{width:min(1180px,calc(100vw - 48px));max-width:100%;max-height:92vh;overflow:auto;border-radius:16px;background:#fff;padding:22px;box-shadow:0 24px 64px #00000040}.editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.editor-header span{color:var(--brand);font-size:12px;font-weight:800}.editor-header h3{margin:4px 0;font-size:22px}.compare-grid,.system-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-grid label,.system-editor-grid label,.test-input-label{display:grid;gap:7px;font-weight:700}.compare-grid textarea,.system-editor-grid textarea,.test-input-label textarea{width:100%;min-height:320px;resize:vertical;border:1px solid #d0d5dd;border-radius:10px;color:var(--ink);padding:14px;font:14px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.compare-grid label:first-child textarea{background:#f8fafc}.draft-diff{margin:0 0 14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe;padding:12px}.draft-diff summary{color:#344054;font-weight:800;cursor:pointer}.draft-diff[open] summary{margin-bottom:10px}.ab-section{display:grid;gap:12px;margin-top:18px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;padding:16px}.section-heading>div{display:grid;gap:3px}.section-heading span{color:var(--muted);font-size:12px}.test-context{display:grid;gap:12px}.test-context-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.test-input-label textarea{min-height:130px;background:#fff}.compare-button{justify-self:start;min-height:42px;border:0;border-radius:8px;background:#18212f;color:#fff;padding:0 15px;font-weight:700;cursor:pointer}.comparison-block{display:grid;gap:12px}.comparison-metrics,.comparison-results{display:grid;grid-template-columns:1fr 1fr;gap:12px}.comparison-metric,.comparison-results article{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.comparison-metric{display:grid;gap:8px;padding:12px}.comparison-metric>div:first-child{display:flex;justify-content:space-between;gap:8px}.comparison-metric>div:first-child span{color:#027a48;font-weight:800}.comparison-metric small{color:var(--muted)}.comparison-metric em{color:#b54708;font-size:11px;font-style:normal}.token-bar{height:8px;overflow:hidden;border-radius:999px;background:#eaecf0}.token-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3157d5,#8098eb)}.comparison-results article>span{display:block;background:#f8fafc;color:#667085;padding:9px 12px;font-size:12px;font-weight:700}.comparison-results pre{max-height:340px;overflow:auto;margin:0;padding:12px;white-space:pre-wrap;word-break:break-word}.comparison-note{margin:0;color:var(--muted);font-size:11px}.editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px}.save-guard{margin-right:auto;color:#b54708;font-size:12px;font-weight:700}.editor-actions .prompt-lab-primary{padding:0 18px}.editor-note{color:var(--muted);font-size:12px;text-align:right}.version-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.prompt-lab-state{color:#667085;padding:40px}@media (max-width: 1100px){.prompt-lab-toolbar{grid-template-columns:1fr 1fr}.prompt-lab-grid,.compare-grid,.system-editor-grid{grid-template-columns:1fr}.prompt-lab-panel{min-height:360px}.model-meta{justify-content:flex-start;text-align:left}}@media (max-width: 720px){.prompt-lab-heading{display:grid}.prompt-lab-heading-actions{justify-content:flex-start}.prompt-lab-toolbar,.test-context-fields,.comparison-metrics,.comparison-results{grid-template-columns:1fr}.prompt-lab-toolbar>.prompt-lab-primary{margin-top:0}.toolbar-meta{grid-column:1}.usage-summary{grid-template-columns:repeat(2,1fr)}.review-drawer{width:100%}.review-drawer-header{padding:14px 15px}.review-drawer-header h3{font-size:18px}.review-explanation,.review-entity{margin:10px 10px 0;padding:13px}.review-block-heading{display:grid;gap:2px}.review-block-heading span{text-align:left}.text-diff{grid-template-columns:1fr}.highlighted-prompt,.text-diff pre{max-height:240px}.review-drawer-footer{padding:15px}.prompt-lab-editor-backdrop{display:block;overflow:hidden;padding:0;overscroll-behavior:contain}.prompt-lab-editor{width:100%;height:100vh;height:100dvh;min-height:0;max-height:100vh;max-height:100dvh;overflow-y:auto;border-radius:0;padding:16px}.entity-row{grid-template-columns:auto minmax(0,1fr)}.entity-row>button{grid-column:2;justify-self:start}.editor-actions{flex-direction:column-reverse}}.system-toolbar{grid-template-columns:minmax(260px,1fr) auto}.system-toolbar .model-meta{grid-column:1 / -1}.system-editor-grid textarea{min-height:420px}@media (max-width: 720px){.system-toolbar{grid-template-columns:1fr}}.admin-dashboard{min-width:0;min-height:100vh;background:#f8f9fa}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#343a40;color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.admin-header h1{margin:0;font-size:1.5rem}.admin-header button{border:0;border-radius:4px;background:#dc3545;color:#fff;padding:8px 16px;cursor:pointer}.admin-navigation{display:flex;flex-wrap:wrap;border-bottom:1px solid #dee2e6;background:#fff;padding:6px clamp(10px,2vw,32px)}.admin-navigation button{min-height:42px;border:0;border-bottom:3px solid transparent;border-radius:6px 6px 0 0;background:transparent;color:#495057;padding:9px 13px;font-size:.9rem;cursor:pointer}.admin-navigation button:hover{background:#f3f6fa}.admin-navigation button.active{border-bottom-color:#0056b3;background:#007bff;color:#fff;font-weight:600}.admin-content{min-width:0;padding:clamp(14px,2vw,32px)}.admin-content>*{max-width:100%}@media (max-width: 680px){.admin-header{padding:12px 14px}.admin-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:6px}.admin-navigation button{min-width:0;border:0;border-radius:6px;padding:8px;font-size:.78rem;line-height:1.25}.admin-navigation button.active{border:0}}#root{width:100%;min-height:100vh;margin:0;padding:0}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}
