:root{--color-bg: #0f1117;--color-surface: #1a1d27;--color-surface-hover: #232635;--color-border: #2a2d3a;--color-text: #e4e4e7;--color-text-muted: #8b8d98;--color-primary: #6366f1;--color-primary-hover: #818cf8;--color-error: #ef4444;--color-success: #22c55e;--sidebar-width: 240px;--radius: 8px}*{box-sizing:border-box;margin:0;padding:0}input,select,textarea{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:.625rem .75rem;font-family:inherit;font-size:.875rem;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.6}input[type=checkbox],input[type=radio]{width:auto;padding:0}input[type=range]{padding:0;border:none;background:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--color-text-muted)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.login-card{width:100%;max-width:400px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem}.login-card h1{font-size:1.5rem;margin-bottom:1.5rem}.login-card form{display:flex;flex-direction:column;gap:1rem}.login-card label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:var(--color-text-muted)}.login-card input{padding:.625rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.9375rem}.login-card input:focus{outline:none;border-color:var(--color-primary)}.login-card button{padding:.625rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:.9375rem;cursor:pointer;margin-top:.5rem}.login-card button:hover{background:var(--color-primary-hover)}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-card a{color:var(--color-primary);text-decoration:none;font-size:.875rem;transition:color .15s}.login-card a:hover{color:var(--color-primary-hover);text-decoration:underline}.login-card .link-row{text-align:center;margin-top:.25rem}.error{color:var(--color-error);font-size:.875rem}.hint{color:var(--color-text-muted);font-size:.875rem}.admin-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0}.sidebar-header{padding:1.25rem 1rem;border-bottom:1px solid var(--color-border)}.sidebar-logo{height:28px;width:auto}.sidebar-header h2{font-size:1.125rem}.login-logo{height:40px;width:auto;margin-bottom:.5rem}.sidebar-role{font-size:.75rem;color:var(--color-text-muted);text-transform:capitalize}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:.125rem;padding:.5rem}.sidebar-nav a{display:block;padding:.5rem .75rem;color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius);font-size:.875rem}.sidebar-nav a:hover{background:var(--color-surface-hover);color:var(--color-text)}.sidebar-nav a.active{background:var(--color-surface-hover);color:var(--color-text);font-weight:500}.sidebar-footer{padding:1rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.5rem}.sidebar-email{font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis}.sidebar-profile-link{font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;transition:color .15s}.sidebar-profile-link:hover{color:var(--color-text)}.sidebar-profile-link.active{color:var(--color-primary)}.logout-btn{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);padding:.375rem .75rem;border-radius:var(--radius);font-size:.8125rem;cursor:pointer}.logout-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.main-content{flex:1;margin-left:var(--sidebar-width);padding:2rem}.page h1{font-size:1.5rem;margin-bottom:.5rem}.page>p{color:var(--color-text-muted);margin-bottom:1.5rem}.placeholder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.setup-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.setup-card{width:100%;max-width:480px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2.5rem 2rem;text-align:center}.setup-icon{font-size:2.5rem;margin-bottom:.75rem}.setup-card h1{font-size:1.5rem;margin-bottom:.5rem}.setup-subtitle{color:var(--color-text-muted);font-size:.9375rem;margin-bottom:1.5rem}.setup-progress{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin-bottom:.75rem}.setup-steps{text-align:left;margin-bottom:1.5rem}.setup-step-preview{padding:.5rem 0;font-size:.9375rem;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.setup-step-preview:last-child{border-bottom:none}.setup-card form{display:flex;flex-direction:column;gap:1rem;text-align:left}.setup-card label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:var(--color-text-muted)}.setup-card input{padding:.625rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.9375rem}.setup-card input:focus{outline:none;border-color:var(--color-primary)}.setup-btn-primary{display:block;width:100%;padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:.9375rem;cursor:pointer;margin-top:.5rem}.setup-btn-primary:hover{background:var(--color-primary-hover)}.setup-btn-primary:disabled{opacity:.6;cursor:not-allowed}.setup-checklist{text-align:left;margin-bottom:1.5rem}.setup-check-item{padding:.5rem 0;font-size:.9375rem;color:var(--color-text-muted)}.setup-check-item.done:before{content:"✓";color:var(--color-success);font-weight:600}.setup-check-item.next:before{content:"→";color:var(--color-primary)}.setup-hint{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:1.5rem;text-align:left}.section-title{font-size:1.125rem;margin-top:2rem;margin-bottom:.75rem}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.health-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.875rem 1rem}.health-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.health-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.health-dot-healthy{background:var(--color-success)}.health-dot-degraded{background:#f59e0b}.health-dot-down{background:var(--color-error)}.health-name{font-size:.875rem;font-weight:500}.health-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text-muted)}.health-status{text-transform:capitalize}.health-error{margin-top:.375rem;font-size:.75rem;color:var(--color-error);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placeholder-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.placeholder-card h3{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.5rem}.placeholder-stat{font-size:2rem;font-weight:600;color:var(--color-text-muted)}.placeholder-label{font-size:.75rem;color:var(--color-text-muted)}.playground-page{display:flex;flex-direction:column;height:calc(100vh - 4rem)}.playground-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.playground-header h1{margin-bottom:0}.playground-actions{display:flex;gap:.5rem}.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:.375rem .75rem;border-radius:var(--radius);font-size:.8125rem;cursor:pointer}.btn-secondary:hover{border-color:var(--color-text-muted)}.playground-shell{display:grid;grid-template-columns:1fr 320px;gap:1rem;flex:1;min-height:0}.playground-chat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:1rem}.chat-empty{color:var(--color-text-muted);text-align:center;padding:1.25rem 1rem;font-size:.875rem}.chat-msg{margin-bottom:1rem}.chat-role{display:inline-block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem}.chat-content{font-size:.9375rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.chat-content a{color:var(--color-primary-hover);text-decoration:underline;text-underline-offset:2px}.chat-content a:hover{color:var(--color-text)}.chat-msg-user .chat-content{background:var(--color-surface-hover);padding:.625rem .875rem;border-radius:var(--radius)}.cursor{display:inline-block;width:2px;height:1em;background:var(--color-primary);animation:blink .8s step-end infinite;vertical-align:text-bottom;margin-left:1px}@keyframes blink{50%{opacity:0}}.thinking-indicator{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;min-height:1.4em}.thinking-dots{display:flex;gap:3px;align-items:center}.thinking-dots span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-primary);opacity:.4;animation:thinkingPulse 1.2s ease-in-out infinite}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinkingPulse{0%,80%,to{opacity:.2;transform:scale(.85)}40%{opacity:.9;transform:scale(1)}}.thinking-label{font-size:.8125rem;color:var(--color-text-muted);font-style:italic}.chat-input-bar{display:flex;flex-direction:column;border-top:1px solid var(--color-border)}.chat-attachment-strip{display:flex;gap:.5rem;padding:.625rem 1rem 0;flex-wrap:wrap}.chat-attachment-thumb{position:relative;width:72px;height:72px;flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.chat-attachment-thumb img{width:100%;height:100%;object-fit:cover;display:block}.chat-attachment-remove{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#000000bf;border:none;color:#fff;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s}.chat-attachment-thumb:hover .chat-attachment-remove{opacity:1}.chat-attachment-error{font-size:.75rem;color:var(--color-error);padding:.25rem 1rem 0}.chat-input-row{display:flex;gap:.5rem;padding:.625rem 1rem .75rem;align-items:flex-end}.chat-textarea{flex:1;resize:none;min-height:38px;max-height:160px;overflow-y:auto;padding:.5rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.875rem;line-height:1.5;font-family:inherit;width:auto}.chat-textarea:focus{outline:none;border-color:var(--color-primary)}.chat-input-toolbar{display:flex;gap:.375rem;align-items:flex-end;flex-shrink:0}.chat-attach-btn{display:flex;align-items:center;justify-content:center;padding:.4rem;height:34px;width:34px;background:none;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;transition:border-color .15s,color .15s;flex-shrink:0}.chat-attach-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.chat-attach-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input-toolbar button:not(.chat-attach-btn){padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;cursor:pointer;white-space:nowrap;height:34px}.chat-input-toolbar button:not(.chat-attach-btn):hover{background:var(--color-primary-hover)}.chat-input-toolbar button:not(.chat-attach-btn):disabled{opacity:.5;cursor:not-allowed}.btn-stop{background:var(--color-error)!important}.btn-stop:hover{background:#dc2626!important}.chat-msg-images{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.375rem}.chat-msg-image{border-radius:var(--radius);overflow:hidden;max-width:280px;border:1px solid var(--color-border);cursor:zoom-in}.chat-msg-image img{display:block;max-width:100%;height:auto}.playground-inspector{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow-y:auto;padding:0}.inspector-section{padding:.875rem 1rem;border-bottom:1px solid var(--color-border)}.inspector-section:last-child{border-bottom:none}.inspector-section h3{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.5rem}.inspector-section label{display:flex;flex-direction:column;gap:.125rem;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.5rem}.inspector-section input{padding:.375rem .5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.8125rem}.inspector-section input:focus{outline:none;border-color:var(--color-primary)}.inspector-section select{padding:.375rem .5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.8125rem}.inspector-section select:focus{outline:none;border-color:var(--color-primary)}.inspector-section input[type=range]{width:100%;padding:0;margin:0;accent-color:var(--color-primary)}.inspector-value{font-size:.8125rem;font-family:SF Mono,Fira Code,monospace;color:var(--color-text-muted);word-break:break-all}.inspector-grid{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;font-size:.8125rem}.inspector-grid span:nth-child(odd){color:var(--color-text-muted)}.inspector-grid span:nth-child(2n){text-align:right;font-family:SF Mono,monospace}.inspector-source{display:flex;gap:.5rem;align-items:baseline;margin-bottom:.375rem;font-size:.8125rem}.source-type{font-size:.625rem;font-weight:600;text-transform:uppercase;background:var(--color-surface-hover);padding:.125rem .375rem;border-radius:3px;color:var(--color-text-muted);white-space:nowrap}.source-title{color:var(--color-text)}.inspector-error{background:#ef44441a}.inspector-error p{color:var(--color-error);font-size:.8125rem}.config-page h1{margin-bottom:1rem}.config-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem}.config-tab{background:none;border:none;color:var(--color-text-muted);padding:.75rem 1.25rem;font-size:.875rem;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.config-tab:hover{color:var(--color-text)}.config-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.panel{max-width:900px}.panel-description{color:var(--color-text-muted);font-size:.8125rem;margin-bottom:1rem;line-height:1.4}.panel-loading{color:var(--color-text-muted);padding:2rem 0}.panel-error{color:var(--color-error);padding:.5rem 0;font-size:.875rem}.panel-success{color:var(--color-success);padding:.5rem 0;font-size:.875rem}.config-table{width:100%;border-collapse:collapse;font-size:.8125rem}.config-table th{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-weight:500;font-size:.75rem;text-transform:uppercase}.config-table td{padding:.625rem .75rem;border-bottom:1px solid var(--color-border);vertical-align:top}.config-table code{background:var(--color-surface-hover);padding:.125rem .375rem;border-radius:3px;font-size:.75rem}.config-table .row-disabled{opacity:.5}.action-group{display:flex;gap:.375rem;align-items:center;flex-wrap:wrap}.config-table .empty-row{color:var(--color-text-muted);text-align:center;padding:2rem}.config-table .description-cell{max-width:300px;color:var(--color-text-muted);font-size:.75rem}.config-table .changes-cell pre{font-size:.6875rem;color:var(--color-text-muted);white-space:pre-wrap;max-width:250px}.status-badge,.action-badge{font-weight:600;font-size:.75rem;text-transform:uppercase}.toggle-btn{border:1px solid var(--color-border);border-radius:var(--radius);padding:.25rem .75rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.toggle-btn.on{background:#22c55e26;color:var(--color-success);border-color:var(--color-success)}.toggle-btn.off{background:#94a3b81a;color:var(--color-text-muted)}.prompt-type-guide{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.875rem 1rem;margin-bottom:1rem}.prompt-type-guide-row{display:flex;flex-direction:column;gap:.5rem}.prompt-type-entry{display:flex;align-items:baseline;gap:.75rem;font-size:.8125rem}.prompt-type-name{flex-shrink:0;min-width:130px;color:var(--color-primary);font-size:.8125rem}.prompt-type-desc{color:var(--color-text-muted);line-height:1.45}.prompt-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.prompt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.prompt-header h3{font-size:.9375rem;text-transform:capitalize}.prompt-header h3 code{margin-left:.5rem;font-size:.75rem}.prompt-version{color:var(--color-success);font-size:.75rem;font-weight:600}.prompt-preview pre{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;font-size:.75rem;white-space:pre-wrap;color:var(--color-text-muted);max-height:200px;overflow-y:auto;margin-bottom:.5rem}.prompt-textarea,.config-textarea{width:100%;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;color:var(--color-text);font-family:SF Mono,Fira Code,monospace;font-size:.8125rem;line-height:1.5;resize:vertical}.prompt-textarea:focus,.config-textarea:focus{outline:none;border-color:var(--color-primary)}.prompt-actions,.config-actions{display:flex;gap:.5rem;margin-top:.75rem}.btn-primary{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);padding:.5rem 1rem;font-size:.8125rem;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--color-surface-hover);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem 1rem;font-size:.8125rem;cursor:pointer}.btn-secondary:hover{background:var(--color-border)}.btn-small{background:none;border:1px solid var(--color-border);color:var(--color-primary);padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;cursor:pointer;margin-left:.5rem}.version-history{margin-top:.5rem;font-size:.75rem;color:var(--color-text-muted)}.version-history summary{cursor:pointer}.version-history ul{list-style:none;padding:.25rem 0 0 .5rem}.version-history li{padding:.25rem 0}.audit-table{font-size:.75rem}.panel-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-header-row .panel-description{margin-bottom:0}.btn-danger{background:#ef444426;color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius);padding:.5rem 1rem;font-size:.8125rem;cursor:pointer;transition:background .15s}.btn-danger:hover{background:#ef444440}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-secondary-small{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;cursor:pointer;transition:background .15s}.btn-secondary-small:hover{background:var(--color-surface-hover)}.btn-danger-small{background:none;border:1px solid var(--color-error);color:var(--color-error);padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;cursor:pointer;transition:background .15s}.btn-danger-small:hover{background:#ef44441a}.delete-confirm{margin-top:1rem;padding:.875rem 1rem;background:#ef44440f;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);font-size:.875rem}.delete-confirm p{margin-bottom:.75rem;line-height:1.5}.delete-confirm-warning{color:var(--color-error)}.delete-confirm-actions{display:flex;gap:.5rem}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:720px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-panel--wide{max-width:860px}.modal-body--scroll{overflow-y:auto;max-height:calc(80vh - 60px);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-header h2{font-size:1rem}.modal-close{background:none;border:none;color:var(--color-text-muted);font-size:1.125rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;line-height:1}.modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.catalog-body{display:flex;gap:0;flex:1;overflow:hidden}.catalog-list{width:260px;flex-shrink:0;border-right:1px solid var(--color-border);overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.catalog-entry{background:none;border:1px solid transparent;border-radius:6px;padding:.625rem .75rem;text-align:left;cursor:pointer;width:100%;transition:all .12s}.catalog-entry:hover{background:var(--color-surface-hover);border-color:var(--color-border)}.catalog-entry.selected{background:#6366f11a;border-color:var(--color-primary)}.catalog-entry-label{font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:.25rem}.catalog-entry-key{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.catalog-entry-key code{font-size:.6875rem;color:var(--color-text-muted);background:var(--color-bg);padding:.0625rem .25rem;border-radius:3px}.adapter-badge{font-size:.625rem;background:#6366f126;color:var(--color-primary);padding:.0625rem .375rem;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.catalog-form{flex:1;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.catalog-form-empty{color:var(--color-text-muted);font-size:.875rem;align-items:center;justify-content:center}.catalog-form-desc{font-size:.8125rem;color:var(--color-text-muted);line-height:1.5;padding:.75rem;background:var(--color-bg);border-radius:var(--radius);border:1px solid var(--color-border)}.catalog-form-field{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem}.catalog-form-field>span{color:var(--color-text-muted)}.field-optional{font-style:italic;font-size:.75rem}.catalog-form-actions{display:flex;gap:.5rem;margin-top:auto;padding-top:.5rem}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.wizard-page{max-width:720px;margin:0 auto}.wizard-progress{display:flex;gap:.25rem;margin-bottom:2rem}.wizard-progress-step{flex:1;height:4px;border-radius:2px;background:var(--color-border);transition:background .2s}.wizard-progress-step.done{background:var(--color-success)}.wizard-progress-step.active{background:var(--color-primary)}.wizard-step-label{color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.wizard-step h2{font-size:1.25rem;margin-bottom:.5rem}.wizard-step p.step-description{color:var(--color-text-muted);font-size:.8125rem;margin-bottom:1.25rem;line-height:1.5}.wizard-nav{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border)}.wizard-nav-right{display:flex;gap:.5rem}.adapter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem}.adapter-grid--compact{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:0}.adapter-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:all .15s}.adapter-card:hover{border-color:var(--color-text-muted)}.adapter-card.selected{border-color:var(--color-primary);background:#6366f114}.adapter-card-icon{font-size:1.5rem;margin-bottom:.5rem}.adapter-card-name{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.adapter-card-desc{color:var(--color-text-muted);font-size:.75rem;line-height:1.4}.credential-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.credential-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.credential-section-header h3{font-size:.9375rem}.credential-field{margin-bottom:.75rem}.credential-field label{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem}.credential-field .field-help{color:var(--color-text-muted);font-size:.6875rem;line-height:1.3}.test-result{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius);font-size:.8125rem;margin-top:.5rem}.test-result.success{background:#22c55e1a;color:var(--color-success)}.test-result.error{background:#ef44441a;color:var(--color-error)}.test-result.pending{background:#6366f11a;color:var(--color-primary)}.prompt-section-list{display:flex;flex-direction:column;gap:.75rem}.add-prompt-btn{background:none;border:2px dashed var(--color-border);border-radius:var(--radius);padding:.75rem;color:var(--color-text-muted);cursor:pointer;font-size:.8125rem;text-align:center;transition:all .15s}.add-prompt-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.tool-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;margin-bottom:.5rem;display:flex;gap:.75rem;align-items:flex-start}.tool-card-toggle{flex-shrink:0;margin-top:.125rem}.tool-card-content{flex:1;min-width:0}.tool-card-name{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.tool-card-desc{font-size:.75rem;color:var(--color-text-muted);line-height:1.4}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.settings-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem}.settings-grid .full-width{grid-column:1 / -1}.review-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem}.review-section h3{font-size:.875rem;margin-bottom:.5rem}.review-item{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.25rem}.review-item strong{color:var(--color-text)}.wizard-done{text-align:center;padding:3rem 1rem}.wizard-done-icon{font-size:3rem;margin-bottom:1rem}.wizard-done h2{margin-bottom:.5rem}.wizard-done p{color:var(--color-text-muted);margin-bottom:1.5rem}.qb-schema-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.qb-schema-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.qb-schema-title{font-size:.8125rem;font-weight:600;margin-bottom:.25rem;color:var(--color-text)}.qb-tables-list{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.qb-table-row{border-bottom:1px solid var(--color-border)}.qb-table-row:last-child{border-bottom:none}.qb-table-row.authorized{background:#6366f10a}.qb-table-row-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;gap:.5rem}.qb-table-checkbox-label{display:flex;align-items:center;gap:.5rem;flex:1;cursor:pointer;font-size:.8125rem;min-width:0}.qb-table-checkbox-label input[type=checkbox]{width:auto;flex-shrink:0}.qb-table-name{font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qb-table-id{color:var(--color-text-muted);font-size:.6875rem;font-family:SF Mono,Fira Code,monospace;flex-shrink:0}.qb-table-expand-btn{background:none;border:none;color:var(--color-text-muted);font-size:.75rem;cursor:pointer;padding:.25rem .375rem;border-radius:4px;white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:.25rem}.qb-table-expand-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.qb-fields-list{background:var(--color-bg);border-top:1px solid var(--color-border);padding:.375rem .75rem .5rem 2rem}.qb-field-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;cursor:pointer;font-size:.75rem}.qb-field-row input[type=checkbox]{width:auto;flex-shrink:0}.qb-field-label{flex:1;color:var(--color-text)}.qb-field-type{color:var(--color-text-muted);font-size:.625rem;font-family:SF Mono,Fira Code,monospace;text-transform:lowercase;flex-shrink:0}.qb-fields-loading{color:var(--color-text-muted);font-size:.75rem;padding:.375rem 0}.qb-search-bar{padding:.5rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle, #f9fafb)}.qb-search-bar--fields{background:transparent;border-bottom:none;padding:.375rem .75rem .25rem}.qb-search-input{width:100%;padding:.3125rem .5rem;font-size:.75rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);box-sizing:border-box}.qb-search-input:focus{outline:none;border-color:var(--color-primary, #6366f1)}.fm-help-overlay{position:fixed;inset:0;z-index:400;display:flex;justify-content:flex-end;pointer-events:none}.fm-help-overlay--open{pointer-events:auto}.fm-help-panel{height:100vh;width:440px;max-width:92vw;background:var(--color-surface);border-left:1px solid var(--color-border);display:flex;flex-direction:column;box-shadow:-8px 0 32px #0000008c;transform:translate(100%);transition:transform .22s cubic-bezier(.16,1,.3,1);pointer-events:auto}.fm-help-panel--open{transform:translate(0)}.fm-help-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.fm-help-title{display:flex;flex-direction:column;gap:.125rem}.fm-help-title h3{font-size:.875rem;font-weight:600}.fm-help-title span{font-size:.75rem;color:var(--color-text-muted)}.fm-help-body{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem}.fm-help-intro{font-size:.8125rem;color:var(--color-text-muted);line-height:1.55}.fm-key-section{display:flex;flex-direction:column;gap:.6rem}.fm-key-header{display:flex;align-items:center;gap:.5rem}.fm-key-name{font-family:monospace;font-size:.8125rem;color:var(--color-primary-hover);background:#6366f11a;padding:.15rem .4rem;border-radius:4px}.fm-key-badge{font-size:.6875rem;color:var(--color-text-muted);background:#8b8d981f;padding:.1rem .35rem;border-radius:4px}.fm-key-desc{font-size:.8125rem;color:var(--color-text-muted);line-height:1.5}.fm-key-note{font-size:.75rem;color:var(--color-text-muted);background:#6366f10d;border-left:2px solid var(--color-primary);padding:.375rem .625rem;border-radius:0 4px 4px 0;line-height:1.5}.fm-props-table{width:100%;border-collapse:collapse;font-size:.75rem}.fm-props-table th{text-align:left;color:var(--color-text-muted);font-weight:500;padding:.25rem .5rem;border-bottom:1px solid var(--color-border)}.fm-props-table td{padding:.35rem .5rem;border-bottom:1px solid rgba(42,45,58,.6);vertical-align:top;line-height:1.45}.fm-props-table td:first-child{font-family:monospace;color:var(--color-primary-hover);white-space:nowrap}.fm-prop-req{font-size:.6875rem;color:var(--color-error)}.fm-prop-opt{font-size:.6875rem;color:var(--color-text-muted)}.fm-example-label{font-size:.75rem;color:var(--color-text-muted);font-weight:500;margin-bottom:.3rem}.fm-example-block{position:relative}.fm-example-code{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;font-family:monospace;font-size:.6875rem;line-height:1.6;overflow-x:auto;white-space:pre}.fm-copy-btn{position:absolute;top:.4rem;right:.4rem;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);font-size:.6875rem;padding:.15rem .4rem;cursor:pointer;transition:color .15s;width:auto}.fm-copy-btn:hover{color:var(--color-text)}.fm-help-trigger{background:none;border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-muted);cursor:pointer;font-size:.6875rem;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:color .15s,border-color .15s;flex-shrink:0}.fm-help-trigger:hover{color:var(--color-primary-hover);border-color:var(--color-primary)}.fm-empty-state{text-align:center;color:var(--color-text-muted);font-size:.8125rem;padding:2rem 0}.app-filter-combobox{position:relative;display:inline-block;min-width:240px;margin-bottom:1rem}.app-filter-input{width:100%;font-size:.8125rem;padding:.375rem .625rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);box-sizing:border-box}.app-filter-input:focus{outline:none;border-color:var(--color-primary)}.app-filter-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);list-style:none;margin:0;padding:.25rem 0;z-index:100;max-height:220px;overflow-y:auto;box-shadow:0 4px 12px #00000040}.app-filter-option{padding:.375rem .75rem;font-size:.8125rem;cursor:pointer;color:var(--color-text)}.app-filter-option:hover,.app-filter-option.selected{background:#6366f11a;color:var(--color-primary)}.response-schema-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.response-schema-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.response-schema-table{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.response-schema-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.response-schema-row input,.response-schema-row select{flex:1;min-width:120px;font-size:.8125rem}.response-schema-source{max-width:200px}.response-schema-arrow{color:var(--color-text-muted);flex-shrink:0}.api-reference-page{max-width:100%}.api-reference-header{margin-bottom:1.5rem}.api-reference-header h1{margin-bottom:.25rem}.api-reference-header p{color:var(--color-text-muted);font-size:.8125rem}.scalar-wrapper{border-radius:var(--radius);overflow:hidden}.help-page{display:grid;grid-template-columns:220px 1fr;gap:2rem;min-height:calc(100vh - 120px)}.help-toc{border-right:1px solid var(--color-border);padding-right:1rem}.help-toc h2{font-size:1rem;margin-bottom:.75rem}.help-toc nav{display:flex;flex-direction:column;gap:.125rem}.help-toc-item{background:none;border:none;color:var(--color-text-muted);text-align:left;padding:.375rem .5rem;border-radius:4px;font-size:.8125rem;cursor:pointer;transition:all .1s}.help-toc-item:hover{color:var(--color-text);background:var(--color-surface)}.help-toc-item.active{color:var(--color-primary);background:#6366f114}.help-content{max-width:680px;font-size:.875rem;line-height:1.6}.help-content h2{font-size:1.25rem;margin:0 0 .75rem}.help-content h3{font-size:1rem;margin:1.5rem 0 .5rem}.help-content p{margin-bottom:.75rem}.help-content ul,.help-content ol{margin-bottom:.75rem;padding-left:1.25rem}.help-content li{margin-bottom:.25rem}.help-content code{background:var(--color-surface-hover);padding:.125rem .375rem;border-radius:3px;font-size:.8125rem}.help-content pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;overflow-x:auto;margin-bottom:.75rem}.help-content pre code{background:none;padding:0}.help-content table{width:100%;border-collapse:collapse;margin-bottom:.75rem;font-size:.8125rem}.help-content th,.help-content td{text-align:left;padding:.375rem .5rem;border-bottom:1px solid var(--color-border)}.help-content th{color:var(--color-text-muted);font-weight:500}.playground-v2-page{display:flex;flex-direction:column;height:calc(100vh - 4rem);overflow:hidden}.playground-v2-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 .875rem;flex-shrink:0}.playground-v2-header h1{margin:0}.playground-v2-header-actions{display:flex;gap:.5rem}.broadcast-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.625rem;flex-shrink:0}.broadcast-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);white-space:nowrap}.broadcast-input{flex:1;padding:.375rem .5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.875rem}.broadcast-input:focus{outline:none;border-color:var(--color-primary)}.playground-lanes{display:grid;grid-auto-columns:minmax(480px,1fr);grid-auto-flow:column;gap:.75rem;flex:1;overflow-x:auto;overflow-y:hidden;min-height:0}.lane-panel{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;min-height:0;position:relative}.lane-body-side{display:flex;flex:1;min-height:0}.lane-body-side .lane-chat{flex:0 0 65%;display:flex;flex-direction:column;min-height:0}.lane-body-side .lane-inspector{flex:0 0 35%;border-left:1px solid var(--color-border);min-height:0;overflow-y:auto}.lane-body-stacked{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.lane-body-stacked .lane-chat{display:flex;flex-direction:column;min-height:280px}.lane-body-stacked .lane-inspector{border-top:1px solid var(--color-border)}.lane-header{display:flex;align-items:center;justify-content:space-between;padding:.375rem .625rem;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-shrink:0;gap:.5rem}.lane-header-left{display:flex;align-items:center;gap:.5rem;min-width:0}.lane-header-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.lane-app-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.8125rem;padding:.25rem .375rem;max-width:180px}.lane-app-select:focus{outline:none;border-color:var(--color-primary)}.lane-streaming-dot{width:7px;height:7px;border-radius:50%;background:var(--color-primary);animation:pulse 1.2s ease-in-out infinite}.lane-action-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem .375rem;border-radius:4px;font-size:.875rem;line-height:1;transition:background .15s,color .15s}.lane-action-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.lane-action-btn:disabled{opacity:.35;cursor:default}.lane-action-close:hover{color:var(--color-error)}.lane-chat{display:flex;flex-direction:column;flex:1;min-height:0}.lane-chat .chat-messages{flex:1;overflow-y:auto;padding:.875rem;min-height:0}.lane-inspector{display:flex;flex-direction:column;background:var(--color-surface);min-height:0}.inspector-tabs{display:flex;border-bottom:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0;overflow-x:auto}.inspector-tab{padding:.5rem .625rem;font-size:.75rem;font-weight:500;color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:.25rem;transition:color .15s,border-color .15s}.inspector-tab:hover{color:var(--color-text)}.inspector-tab-active{color:var(--color-primary)!important;border-bottom-color:var(--color-primary)}.inspector-tab-badge{background:var(--color-surface-hover);border-radius:3px;font-size:.625rem;font-weight:600;padding:0 4px;color:var(--color-text-muted)}.inspector-tab-active .inspector-tab-badge{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary)}.inspector-tab-content{padding:.75rem;overflow-y:auto;flex:1;font-size:.8125rem}.inspector-placeholder{color:var(--color-text-muted);font-size:.8125rem;font-style:italic;padding:.5rem 0}.inspector-label{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem}.inspector-section-inner{margin-top:.75rem;padding-top:.625rem;border-top:1px solid var(--color-border)}.inspector-tag-list{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.inspector-tag{background:var(--color-surface-hover);border-radius:3px;font-size:.6875rem;padding:1px 5px;color:var(--color-text-muted);font-family:SF Mono,Fira Code,monospace}.inspector-tag-tool{color:var(--color-primary)}.inspector-integration-row{display:flex;align-items:center;gap:.375rem;padding:.25rem 0;font-size:.8125rem}.inspector-muted{color:var(--color-text-muted);font-size:.75rem}.inspector-preview{font-family:SF Mono,Fira Code,monospace;font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg);padding:.5rem;border-radius:4px;border:1px solid var(--color-border);margin-top:.25rem;white-space:pre-wrap;word-break:break-all}.inspector-error-bar{background:color-mix(in srgb,var(--color-error) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-error) 30%,transparent);color:var(--color-error);font-size:.75rem;padding:.375rem .75rem;flex-shrink:0}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.status-active{background:var(--color-success)}.status-dot.status-error{background:var(--color-error)}.status-dot.status-disabled{background:var(--color-border)}.badge{display:inline-block;border-radius:3px;font-size:.6875rem;font-weight:600;padding:1px 5px;text-transform:uppercase;letter-spacing:.03em}.badge-green{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.badge-grey{background:var(--color-surface-hover);color:var(--color-text-muted)}.badge-amber{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b}.badge-blue{background:color-mix(in srgb,#3b82f6 15%,transparent);color:#3b82f6}.badge-orange{background:color-mix(in srgb,#f97316 15%,transparent);color:#f97316}.badge-error{background:color-mix(in srgb,var(--color-error) 15%,transparent);color:var(--color-error)}.text-warn{color:#f59e0b}.inspector-tool-call{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;margin-bottom:.375rem;overflow:hidden}.inspector-tool-error{border-color:color-mix(in srgb,var(--color-error) 40%,transparent)}.tool-call-header{display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem}.tool-call-name{font-family:SF Mono,monospace;font-size:.75rem;font-weight:600}.tool-call-details{padding:0 .5rem .375rem}.tool-call-details summary{font-size:.6875rem;color:var(--color-text-muted);cursor:pointer;margin-bottom:.25rem}.tool-call-input{font-family:SF Mono,Fira Code,monospace;font-size:.6875rem;background:var(--color-surface);padding:.375rem;border-radius:3px;white-space:pre-wrap;word-break:break-all;max-height:120px;overflow-y:auto;color:var(--color-text-muted)}.tool-call-sources{padding:0 .5rem .375rem}.lane-settings-popover{position:absolute;top:36px;right:0;z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 8px 24px #0003;min-width:320px;max-width:380px}.lane-settings-header{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;border-bottom:1px solid var(--color-border);font-size:.8125rem;font-weight:600}.lane-settings-body{padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.lane-settings-body label{display:flex;flex-direction:column;gap:.125rem;font-size:.75rem;color:var(--color-text-muted)}.lane-settings-body input,.lane-settings-body select{padding:.375rem .5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.8125rem}.lane-settings-body input:focus,.lane-settings-body select:focus{outline:none;border-color:var(--color-primary)}.range-row{display:flex;align-items:center;gap:.5rem}.range-row input[type=range]{flex:1;accent-color:var(--color-primary)}.modal-overlay{position:fixed;inset:0;background:#0000008c;z-index:100;display:flex;align-items:center;justify-content:center}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:440px;box-shadow:0 16px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1rem}.modal-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.modal-description{font-size:.8125rem;color:var(--color-text-muted);margin:0}.modal-body label{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem;font-weight:500}.modal-body input{padding:.5rem .625rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.875rem}.modal-body input:focus{outline:none;border-color:var(--color-primary)}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.5rem}.label-hint{font-weight:400;color:var(--color-text-muted);font-size:.75rem}.form-error{color:var(--color-error);font-size:.8125rem;margin:0}.monospace{font-family:SF Mono,Fira Code,monospace}.help-content strong{color:var(--color-text)}.lane-settings-hint{font-size:.75rem;color:var(--color-text-muted);margin:0 0 .25rem}.jwt-pairs{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.25rem}.jwt-pair-row{display:flex;align-items:center;gap:.25rem}.jwt-pair-key{width:40%;flex-shrink:0}.jwt-pair-value{flex:1}.jwt-add-btn{width:100%;margin-bottom:.25rem;font-size:.75rem;padding:.25rem .5rem}.jwt-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-bottom:.5rem}.jwt-suggestions-label{font-size:.7rem;color:var(--color-text-muted);flex-shrink:0}.jwt-suggestion-chip{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:.125rem .5rem;font-size:.7rem;color:var(--color-text-muted);cursor:pointer;font-family:SF Mono,Fira Code,monospace;transition:border-color .15s,color .15s}.jwt-suggestion-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.jwt-actions-row{display:flex;gap:.5rem;margin-top:.25rem}.jwt-actions-row .btn-secondary,.jwt-actions-row .btn-primary{flex:1}.tool-suggestion-row{display:flex;align-items:flex-start;gap:.5rem;padding:.375rem 0;cursor:pointer}.tool-suggestion-row input[type=checkbox]{flex-shrink:0;margin-top:.2rem}.tool-suggestion-name{flex-shrink:0;min-width:160px}.tool-suggestion-desc{font-size:.8125rem;color:var(--color-text-muted)}.orphan-apps-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-error)}.orphan-apps-title{font-size:.9375rem;font-weight:600;color:var(--color-error);margin:0 0 .375rem}.orphan-apps-desc{font-size:.8125rem;color:var(--color-text-muted);margin:0 0 .75rem}.clone-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.clone-section-title{font-size:.9375rem;font-weight:600;margin:0 0 .375rem}.clone-section-desc{font-size:.8125rem;color:var(--color-text-muted);margin:0 0 .75rem}.clone-form{display:flex;flex-direction:column;gap:.625rem;max-width:480px}.clone-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem;font-weight:500}.clone-form input,.clone-form select{padding:.5rem .625rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.875rem}.clone-form input:focus,.clone-form select:focus{outline:none;border-color:var(--color-primary)}.link-btn{background:none;border:none;padding:0;color:var(--color-primary);font-size:inherit;cursor:pointer;text-decoration:underline}.chat-msg-assistant{position:relative}.correction-btn{position:absolute;top:0;right:0;opacity:0;background:none;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:.6875rem;font-weight:500;padding:.1875rem .5rem;cursor:pointer;transition:opacity .15s,background .15s,color .15s;white-space:nowrap}.chat-msg-assistant:hover .correction-btn{opacity:1}.correction-btn:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-text-muted)}.correction-modal-panel{width:100%;max-width:640px}.correction-label{display:block;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.375rem}.correction-quoted-message{background:var(--color-bg);border-left:3px solid var(--color-border);padding:.5rem .75rem;border-radius:0 var(--radius) var(--radius) 0;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:1rem;white-space:pre-wrap;word-break:break-word;max-height:80px;overflow:hidden}.correction-textarea{width:100%;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.875rem;line-height:1.6;padding:.625rem .75rem;resize:vertical;font-family:inherit;box-sizing:border-box}.correction-textarea:focus{outline:none;border-color:var(--color-primary)}.correction-error{background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius);color:var(--color-error);font-size:.8125rem;padding:.5rem .75rem;margin-bottom:.75rem}.correction-reasoning{font-size:.875rem;color:var(--color-text-muted);line-height:1.6;margin:0 0 .75rem}.correction-type-badge{display:inline-block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.1875rem .5rem;border-radius:4px;background:var(--color-surface-hover);color:var(--color-text-muted);margin-bottom:.75rem}.correction-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem}.correction-diff-pane{display:flex;flex-direction:column;gap:.375rem}.correction-diff-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.correction-diff-content{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;font-family:SF Mono,Menlo,Monaco,monospace;font-size:.75rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;margin:0}.correction-diff-content--proposed{border-color:var(--color-primary)}.correction-prompt-options{display:flex;flex-direction:column;gap:.375rem}.correction-prompt-option{display:flex;align-items:center;padding:.5rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.correction-prompt-option:hover{border-color:var(--color-primary);background:var(--color-bg-hover)}.correction-prompt-option--selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.correction-prompt-option-name{font-size:.8125rem;font-weight:600;font-family:var(--font-mono, monospace);color:var(--color-text)}.correction-success-step{display:flex;flex-direction:column;gap:.5rem}.correction-success-note{font-size:.8125rem;color:var(--color-text-muted)}@keyframes correction-spin{to{transform:rotate(360deg)}}.correction-spinner{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:correction-spin .6s linear infinite;vertical-align:middle;margin-left:.375rem}.chat-status-panel{display:flex;flex-direction:column;gap:1.25rem;max-width:640px}.chat-status-current{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.chat-status-current-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.chat-status-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .5rem;border-radius:4px;border:1px solid}.chat-status-meta{font-size:.8rem;color:var(--color-text-muted)}.chat-status-current-message{font-size:.875rem;color:var(--color-text);margin:0;white-space:pre-wrap}.chat-status-form{display:flex;flex-direction:column;gap:1rem}.chat-status-disable-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.875rem 1rem}.chat-status-disable-label{display:flex;flex-direction:column;gap:.2rem}.chat-status-disable-label span:first-child{font-size:.9rem;font-weight:600;color:var(--color-text)}.chat-status-disable-hint{font-size:.775rem!important;color:var(--color-text-muted)!important;font-weight:400!important}.chat-status-severity-row{display:flex;gap:.5rem;flex-wrap:wrap}.chat-status-severity-option{display:flex;align-items:center;gap:.4rem;padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.8125rem;cursor:pointer;transition:all .15s;color:var(--color-text)}.chat-status-severity-option:hover{background:var(--color-surface-hover)}.chat-status-severity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chat-status-char-count{font-size:.75rem;color:var(--color-text-muted);text-align:right;margin-top:.25rem}.chat-status-char-count.warn{color:#f59e0b}.chat-status-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.chat-status-preview-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.625rem}.chat-status-preview-banner{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;border:1px solid;border-radius:var(--radius);font-size:.85rem}.chat-status-preview-unavailable{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;border:1px solid;border-radius:var(--radius);text-align:center}.chat-status-preview-icon{font-size:1.25rem;flex-shrink:0}.chat-status-preview-text{flex:1;font-size:.875rem}.chat-status-preview-dismiss{font-size:.75rem;opacity:.5;cursor:pointer;flex-shrink:0}.chat-status-preview-retry{font-size:.8rem;padding:.3rem .75rem;border:1px solid currentColor;border-radius:4px;opacity:.7;cursor:default}.chat-status-success{font-size:.8125rem;color:var(--color-success);padding:.5rem .75rem;background:#22c55e14;border:1px solid rgba(34,197,94,.25);border-radius:var(--radius)}.chat-status-actions{display:flex;align-items:center;gap:.75rem}.users-role-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:4px}.users-role-badge[data-role=super_admin]{background:#6366f126;color:#818cf8}.users-role-badge[data-role=app_admin]{background:#22c55e1f;color:#4ade80}.users-role-badge[data-role=read_only]{background:#94a3b81f;color:#94a3b8}.users-actions{display:flex;gap:.375rem;flex-wrap:wrap}.users-app-select{display:flex;flex-direction:column;gap:.375rem;max-height:200px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem}.users-app-option{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:4px;cursor:pointer;font-size:.8125rem;transition:background .1s}.users-app-option:hover{background:var(--color-surface-hover)}.users-app-option.selected{background:#6366f11a}.users-app-option input[type=checkbox]{accent-color:var(--color-primary)}.mfa-method-btn{width:100%;padding:.75rem 1rem;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;font-size:.875rem;transition:border-color .15s,background .15s}.mfa-method-btn:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.mfa-method-btn--secondary{color:var(--color-text-muted);font-size:.8125rem}.link-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.8125rem;padding:0;text-decoration:underline}.mfa-method-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.875rem 0}.mfa-method-info{display:flex;flex-direction:column;gap:.2rem}.mfa-method-info strong{font-size:.875rem;font-weight:600}.mfa-method-info span{font-size:.775rem;color:var(--color-text-muted)}.mfa-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:4px;white-space:nowrap}.mfa-badge--on{background:#22c55e1f;color:#4ade80}.mfa-badge--off{background:#94a3b81f;color:#94a3b8}.mfa-divider{height:1px;background:var(--color-border);margin:.25rem 0}.mfa-confirm-form{padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.5rem;display:flex;flex-direction:column;gap:.5rem}.mfa-totp-setup{padding:.875rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.5rem}.mfa-totp-qr{display:flex;justify-content:flex-start;margin-bottom:.5rem}.mfa-totp-qr img{border-radius:8px;background:#fff;padding:6px}.mfa-backup-codes{padding:.875rem;background:#f59e0b0f;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius);margin-top:.5rem}.mfa-backup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.375rem}.mfa-backup-grid code{font-size:.875rem;letter-spacing:.05em;padding:.25rem .5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;text-align:center}
