@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600;700&display=swap";:root{--bg:#fff;--text:#111;--text-secondary:#666;--accent:#d97757;--border:#111;--border-light:#ccc;--btn-gradient:linear-gradient(180deg, #e8825b 0%, #d97757 50%, #c4673e 100%);--btn-border:#b8593a;--btn-shadow:0 2px 0 #a04e30, 0 4px 8px #b9593a40;--btn-hover:linear-gradient(180deg, #f09070 0%, #e08060 50%, #d07050 100%);--btn-active:linear-gradient(180deg, #c06040 0%, #b05535 50%, #a04e30 100%);--status-ok:#16a34a;--status-warn:#d97706;--status-err:#dc2626;--font:"IBM Plex Mono", "Space Mono", "Courier New", monospace;--font-size-base:13px;--font-size-sm:.72rem;--font-size-table:.78rem;--font-size-log:.76rem;--font-size-h1:1.1rem;--font-size-h2:.95rem;--font-size-h3:.85rem;--letter-spacing:.08em;--p1-bg:#111;--p1-text:#fff;--p2-border:#111;--p2-text:#111;--p3-border:#ccc;--p3-text:#999;--radius:0}[data-theme=dark]{--bg:#1a1a1a;--text:#f5e6d3;--text-secondary:#b89a7e;--accent:#d97757;--border:#3d2e24;--border-light:#2a2018;--status-ok:#22c55e;--status-warn:#f59e0b;--status-err:#ef4444;--p1-bg:#d97757;--p1-text:#1a1a1a;--p2-border:#b89a7e;--p2-text:#f5e6d3;--p3-border:#3d2e24;--p3-text:#b89a7e}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);font-size:var(--font-size-base);background:var(--bg);color:var(--text);line-height:1.5}.terminal-header{text-align:center;border-bottom:2px solid var(--border);padding:1.5rem 0 .8rem}.terminal-header h1{font-size:var(--font-size-h1);text-transform:uppercase;letter-spacing:.15em;color:var(--text);font-weight:700}.terminal-header .subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing);margin-top:.3rem}.status-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing);justify-content:space-between;padding:.4rem .5rem;display:flex}.status-bar .item{align-items:center;gap:.4rem;display:flex}.status-bar .label{color:var(--text-secondary)}.status-bar .value{color:var(--text);font-weight:600}.status-bar .value.ok{color:var(--status-ok)}.status-bar .value.warn{color:var(--status-warn)}.status-bar .value.err{color:var(--status-err)}.status-bar .dot{border-radius:50%;width:6px;height:6px;display:inline-block}.status-bar .dot.ok{background:var(--status-ok)}.status-bar .dot.warn{background:var(--status-warn)}.status-bar .dot.err{background:var(--status-err)}.status-bar .reset-btn{border:1px solid var(--status-err);color:var(--status-err);cursor:pointer;letter-spacing:var(--letter-spacing);text-transform:uppercase;opacity:.8;background:0 0;border-radius:3px;margin-left:.4rem;padding:.1rem .5rem;font-family:inherit;font-size:.7rem;font-weight:700;line-height:1.4;transition:opacity .15s,background .15s}.status-bar .reset-btn:hover{opacity:1;background:var(--status-err);color:var(--bg)}.tab-nav{border-bottom:1px solid var(--border);gap:0;display:flex}.tab-nav button{font-family:var(--font);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1.2rem;font-weight:600;transition:color .15s}.tab-nav button:hover{color:var(--text)}.tab-nav button.active{color:var(--text);border-bottom-color:var(--accent)}.tab-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.btn-primary{font-family:var(--font);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing);background:var(--btn-gradient);color:#fff;border:1px solid var(--btn-border);box-shadow:var(--btn-shadow);cursor:pointer;border-radius:8px;padding:.5rem 1.5rem;font-weight:700;transition:transform .1s}.btn-primary:hover{background:var(--btn-hover);transform:translateY(-1px)}.btn-primary:active{background:var(--btn-active);transform:translateY(1px);box-shadow:0 1px #a04e30}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.section-box{border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg);margin:.5rem 0;padding:.8rem 1rem}.section-title{font-size:var(--font-size-table);text-transform:uppercase;letter-spacing:var(--letter-spacing);border-bottom:1px solid var(--border-light);color:var(--text);margin-bottom:.6rem;padding-bottom:.4rem;font-weight:700}.terminal-table{border-collapse:collapse;width:100%;font-size:var(--font-size-table);font-family:var(--font)}.terminal-table th{text-align:left;text-transform:uppercase;letter-spacing:var(--letter-spacing);color:var(--text-secondary);border-bottom:1px solid var(--border);font-weight:600;font-size:var(--font-size-sm);padding:.4rem .6rem}.terminal-table td{border-bottom:1px solid var(--border-light);color:var(--text);padding:.35rem .6rem}.terminal-table td.number{text-align:right;font-variant-numeric:tabular-nums}.terminal-table .table-wrapper{overflow-x:auto}.log-line{font-size:var(--font-size-log);color:var(--text-secondary);font-family:var(--font);letter-spacing:.02em;padding:.15rem 0}.log-line .timestamp{color:var(--text-secondary);opacity:.7}.log-line .status-ok{color:var(--status-ok);font-weight:600}.log-line .status-warn{color:var(--status-warn);font-weight:600}.log-line .status-err{color:var(--status-err);font-weight:600}.log-stream{border:1px solid var(--border-light);max-height:300px;font-family:var(--font);padding:.5rem;overflow-y:auto}.priority-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius);padding:.1rem .4rem;font-size:.65rem;font-weight:700;display:inline-block}.priority-badge.p1{background:var(--p1-bg);color:var(--p1-text)}.priority-badge.p2{color:var(--p2-text);border:1px solid var(--p2-border);background:0 0}.priority-badge.p3{color:var(--p3-text);border:1px solid var(--p3-border);background:0 0}input,textarea,select{font-family:var(--font);font-size:var(--font-size-sm);background:var(--bg);color:var(--text);border:1px solid var(--border-light);border-radius:var(--radius);text-transform:uppercase;letter-spacing:var(--letter-spacing);width:100%;padding:.5rem .6rem}input:focus,textarea:focus,select:focus{border-color:var(--border);outline:none}textarea{text-transform:none;letter-spacing:normal}.app-container{max-width:1200px;margin:0 auto;padding:0 1rem;position:relative}.tab-content{padding:1rem 0}.metrics-row{gap:1rem;margin-bottom:1rem;display:flex}.metric-box{border:1px solid var(--border-light);text-align:center;flex:1;padding:.6rem}.metric-box .metric-value{color:var(--text);font-size:1.2rem;font-weight:700}.metric-box .metric-label{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing)}.theme-toggle{z-index:10;font-family:inherit;font-size:var(--font-size-sm);background:var(--bg);color:var(--text-primary);border:1px solid var(--border-light);cursor:pointer;letter-spacing:.08em;padding:.35rem .9rem;font-weight:700;position:absolute;top:1.5rem;right:2rem}.theme-toggle:hover{border-color:var(--border)}.thinking-section{border:1px solid var(--border-light);margin:.5rem 0}.thinking-toggle{font-family:var(--font);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;text-align:left;text-transform:uppercase;width:100%;letter-spacing:var(--letter-spacing);background:0 0;border:none;padding:.4rem .6rem}.thinking-toggle:hover{color:var(--text)}.thinking-content{font-size:var(--font-size-log);color:var(--text-secondary);white-space:pre-wrap;border-top:1px solid var(--border-light);padding:.6rem}.progress-bar{background:var(--border-light);width:100%;height:4px;margin:.5rem 0}.progress-bar .fill{background:var(--text);height:100%;transition:width .3s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--text-secondary)}::-webkit-scrollbar-track{background:0 0}.row{align-items:flex-start;gap:.8rem;display:flex}.row>*{flex:1}.gap-sm{gap:.4rem}.dataset-bar-row{align-items:center;gap:.6rem;padding:.25rem 0;display:flex}.dataset-bar-label{width:85px;font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing);flex-shrink:0}.dataset-bar-track{background:var(--border-light);flex:1;height:14px}.dataset-bar-fill{background:var(--accent);height:100%;transition:width .3s}.dataset-bar-count{text-align:right;width:50px;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;font-weight:600}.dataset-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dataset-status{text-transform:uppercase;letter-spacing:.05em;padding:.1rem .4rem;font-size:.65rem;font-weight:700}.dataset-status.ok{color:var(--status-ok)}.dataset-status.warn{color:var(--status-warn)}.dataset-status.err{color:var(--status-err)}.dataset-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dataset-back-btn{font-family:var(--font);font-size:var(--font-size-sm);border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:var(--letter-spacing);background:0 0;padding:.3rem .6rem}.dataset-back-btn:hover{color:var(--text);border-color:var(--border)}.dataset-action-btn{font-family:var(--font);font-size:var(--font-size-sm);border:1px solid var(--border-light);color:var(--text);cursor:pointer;text-transform:uppercase;letter-spacing:var(--letter-spacing);background:0 0;padding:.2rem .5rem}.dataset-action-btn:hover{border-color:var(--accent);color:var(--accent)}.dataset-pagination{justify-content:center;gap:.2rem;margin-top:.8rem;display:flex}.dataset-pagination button{font-family:var(--font);font-size:var(--font-size-sm);border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;background:0 0;min-width:28px;padding:.25rem .5rem}.dataset-pagination button.active{border-color:var(--accent);color:var(--accent);font-weight:700}.dataset-pagination button:disabled{opacity:.3;cursor:not-allowed}.dataset-pagination button:hover:not(:disabled):not(.active){color:var(--text)}.dataset-editor-header{align-items:center;gap:.8rem;display:flex}.dataset-editor-title{font-weight:700;font-size:var(--font-size-table)}.dataset-readonly-badge{color:var(--text-secondary);border:1px solid var(--border-light);text-transform:uppercase;letter-spacing:var(--letter-spacing);margin-left:.5rem;padding:.05rem .3rem;font-size:.6rem}.dataset-textarea{width:100%;min-height:60px;font-family:var(--font);font-size:var(--font-size-table);background:var(--bg);color:var(--text);border:1px solid var(--border-light);resize:vertical;text-transform:none;letter-spacing:normal;padding:.5rem;line-height:1.6}.dataset-textarea-lg{min-height:200px}.dataset-textarea:focus{border-color:var(--border);outline:none}.dataset-input-preview{border:1px solid var(--border-light);max-height:250px;padding:.5rem;overflow-y:auto}.dataset-input-preview pre{font-family:var(--font);font-size:var(--font-size-log);white-space:pre-wrap;word-break:break-all;color:var(--text-secondary);text-transform:none;letter-spacing:normal}.dataset-inline-btn{font-family:var(--font);border:1px solid var(--accent);color:var(--accent);cursor:pointer;text-transform:uppercase;letter-spacing:var(--letter-spacing);background:0 0;margin-left:.5rem;padding:.1rem .4rem;font-size:.65rem}.dataset-inline-btn:hover{background:var(--accent);color:#fff}.dataset-inline-btn:disabled{opacity:.5;cursor:not-allowed}.dataset-btn-approve{background:var(--status-ok)!important;border-color:var(--status-ok)!important}.dataset-btn-approve:hover{opacity:.9}.dataset-btn-needs-edit{background:var(--status-warn)!important;border-color:var(--status-warn)!important}.dataset-btn-reject{background:var(--status-err)!important;border-color:var(--status-err)!important}.dataset-message{font-size:var(--font-size-sm);color:var(--accent);text-transform:none;margin-top:.4rem}.dataset-modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dataset-modal{background:var(--bg);border:1px solid var(--border);width:90%;max-width:800px;max-height:90vh;padding:1rem;overflow-y:auto}.dataset-modal-header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.dataset-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.2rem .5rem;font-size:1.2rem}.dataset-modal-close:hover{color:var(--text)}.dataset-modal-body{padding:.5rem 0}.dataset-modal-footer{border-top:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.8rem;display:flex}.dataset-mode-tabs{border-bottom:1px solid var(--border-light);gap:0;margin-bottom:.8rem;display:flex}.dataset-mode-tabs button{font-family:var(--font);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.4rem 1rem;font-weight:600}.dataset-mode-tabs button:hover{color:var(--text)}.dataset-mode-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.dataset-upload-zone{border:2px dashed var(--border-light);text-align:center;cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing);flex-direction:column;align-items:center;gap:.3rem;margin-bottom:.8rem;padding:2rem;transition:border-color .15s;display:flex}.dataset-upload-zone:hover{border-color:var(--accent)}.dataset-upload-icon{font-size:1.5rem}.dataset-upload-hint{color:var(--text-secondary);opacity:.7;font-size:.6rem}.dataset-match-summary{font-size:var(--font-size-sm);color:var(--text);text-transform:uppercase;letter-spacing:var(--letter-spacing);padding:.4rem 0;font-weight:600}.dataset-form-row{align-items:flex-start;gap:.8rem;margin-bottom:.6rem;display:flex}.dataset-form-row>label{width:60px;font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing);flex-shrink:0;padding-top:.5rem}.dataset-form-row>input,.dataset-form-row>select,.dataset-form-row>textarea{flex:1}.dataset-radio-group{gap:1rem;padding-top:.4rem;display:flex}.dataset-radio{font-size:var(--font-size-sm);color:var(--text);cursor:pointer;text-transform:uppercase;letter-spacing:var(--letter-spacing);align-items:center;gap:.3rem;display:flex}.dataset-radio input[type=radio]{width:auto;margin:0}.dataset-row-selected{background:var(--border-light)}[data-theme=dark] .dataset-row-selected{background:var(--border)}.dataset-toast{background:var(--accent);color:#fff;font-size:var(--font-size-sm);font-family:var(--font);text-transform:uppercase;letter-spacing:var(--letter-spacing);z-index:300;padding:.4rem 1.2rem;position:fixed;top:3rem;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0003}
