.dashboard{display:flex;flex-direction:column;gap:2rem}.dashboard-loading{text-align:center;padding:4rem;font-size:1.2rem;color:#666}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.metric-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.metric-title{font-size:.9rem;color:#666;margin-bottom:.5rem}.metric-value{font-size:2rem;font-weight:600;color:#1a1a1a}.top-tools{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.top-tools h2{margin-bottom:1rem;font-size:1.3rem}.top-tools table{width:100%;border-collapse:collapse}.top-tools th,.top-tools td{padding:.75rem;text-align:left;border-bottom:1px solid #eee}.top-tools th{font-weight:600;color:#666}.dashboard-chart{margin-top:0}.bar-chart{display:flex;flex-direction:column;gap:.5rem}.bar-chart--horizontal .bar-chart-row{display:grid;grid-template-columns:120px 1fr 60px;align-items:center;gap:.75rem}.bar-chart-label{font-size:.9rem;color:#444;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-chart-track{height:20px;background:#eee;border-radius:4px;overflow:hidden}.bar-chart-bar{height:100%;background:linear-gradient(90deg,#4a90d9,#357abd);border-radius:4px;min-width:2px;transition:width .2s ease}.bar-chart-value{font-size:.9rem;font-weight:600;color:#1a1a1a;text-align:right}.dashboard-empty{color:#666;font-size:.95rem;margin:0;padding:1rem 0}.tools-page{display:flex;flex-direction:column;gap:2rem}.tools-loading{text-align:center;padding:4rem;font-size:1.2rem;color:#666}.tools-table{width:100%;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;border-collapse:collapse;overflow:hidden}.tools-table th,.tools-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.tools-table th{background:#f9f9f9;font-weight:600;color:#666}.tool-row{cursor:pointer;transition:background .2s}.tool-row:hover{background:#f5f5f5}.risk-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600}.risk-read{background:#e3f2fd;color:#1976d2}.risk-write{background:#ffebee;color:#c62828}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.drawer{background:#fff;width:90%;max-width:800px;max-height:90vh;border-radius:8px;box-shadow:0 4px 12px #0003;display:flex;flex-direction:column}.drawer-header{padding:1.5rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.drawer-header h2{margin:0}.drawer-header button{background:none;border:none;font-size:2rem;cursor:pointer;color:#666;line-height:1}.drawer-content{padding:1.5rem;overflow-y:auto}.drawer-section{margin-bottom:2rem}.drawer-section h3{margin-bottom:.5rem;color:#666;font-size:.9rem;text-transform:uppercase}.drawer-section pre{background:#f5f5f5;padding:1rem;border-radius:4px;overflow-x:auto;font-size:.85rem}.audit-page{display:flex;flex-direction:column;gap:2rem}.audit-description{color:#666;margin:-1rem 0 0}.audit-tabs{display:flex;gap:.5rem}.audit-tabs button{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.audit-tabs button.active{background:#1976d2;color:#fff;border-color:#1976d2}.audit-detail-row td{background:#fafafa;padding:1rem;vertical-align:top}.audit-detail{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow:auto}.audit-detail pre,.audit-snapshot{white-space:pre-wrap;word-break:break-word;font-size:.85rem;margin:0;padding:.75rem;background:#f5f5f5;border-radius:4px;max-height:200px;overflow:auto}.audit-detail-muted{color:#888;font-size:.9rem;margin:.25rem 0}.audit-empty-cell{text-align:center;color:#666;padding:1.5rem!important}.audit-empty-cell p{margin:.5rem 0}.audit-loading{text-align:center;padding:4rem;font-size:1.2rem;color:#666}.audit-table{width:100%;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;border-collapse:collapse;overflow:hidden}.audit-table th,.audit-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.audit-table th{background:#f9f9f9;font-weight:600;color:#666}.audit-row{cursor:pointer;transition:background .2s}.audit-row:hover{background:#f5f5f5}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600}.status-success{background:#e8f5e9;color:#2e7d32}.status-forbidden{background:#fff3e0;color:#e65100}.status-rate-limit{background:#fce4ec;color:#c2185b}.status-error{background:#ffebee;color:#c62828}.audit-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem}.audit-pagination button{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;transition:background .2s}.audit-pagination button:hover:not(:disabled){background:#f5f5f5}.audit-pagination button:disabled{opacity:.5;cursor:not-allowed}.schema-form{display:flex;flex-direction:column;gap:.75rem}.schema-form-field{display:flex;flex-direction:column;gap:.25rem}.schema-form-field label{font-size:.85rem;font-weight:500;color:#444}.schema-form-field .required{color:#c00;margin-left:2px}.schema-form-field input[type=text],.schema-form-field input[type=number],.schema-form-field select{padding:.4rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem}.schema-form-field .checkbox-label{flex-direction:row;align-items:center;gap:.5rem;cursor:pointer}.schema-form-field .checkbox-label input[type=checkbox]{width:auto}.schema-form-field .field-desc{font-size:.8rem;color:#666}.chat-page{padding:2rem;max-width:1200px;margin:0 auto}.chat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.btn-clear{padding:.5rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-clear:hover:not(:disabled){background:#5a6268}.btn-clear:disabled{opacity:.6;cursor:not-allowed}.chat-description{color:#666;margin-bottom:2rem;font-size:.95rem}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 250px);border:1px solid #ddd;border-radius:8px;background:#fff;box-shadow:0 2px 4px #0000001a}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-empty{text-align:center;color:#999;padding:3rem 1rem}.chat-example{margin-top:1rem;font-style:italic;color:#666;font-size:.9rem}.chat-message{display:flex;flex-direction:column;max-width:80%;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{align-self:flex-end}.chat-message.assistant{align-self:flex-start}.message-content{padding:.75rem 1rem;border-radius:12px;word-wrap:break-word}.chat-message.user .message-content{background:#007bff;color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .message-content{background:#f1f1f1;color:#333;border-bottom-left-radius:4px}.message-content p{margin:.25rem 0}.message-content pre{margin:.5rem 0;white-space:pre-wrap;font-family:Courier New,monospace;font-size:.9rem}.message-time{font-size:.75rem;color:#999;margin-top:.25rem;padding:0 .5rem}.streaming-cursor{display:inline-block;width:2px;height:1.2em;background:#007bff;margin-left:2px;animation:blink 1s infinite;vertical-align:text-bottom}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.chat-suggestion{background:#f8f9fa;border:2px solid #007bff;border-radius:8px;padding:1.5rem;margin:1rem 0;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.chat-suggestion h3{margin:0 0 1rem;color:#007bff}.tool-chain{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.tool-step{display:flex;gap:1rem;background:#fff;padding:1rem;border-radius:6px;border-left:4px solid #007bff}.step-number{flex-shrink:0;width:32px;height:32px;background:#007bff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.step-content{flex:1}.step-tool{margin-bottom:.5rem}.step-tool strong{color:#007bff;font-size:1.1rem;display:block;margin-bottom:.25rem}.step-description{color:#666;font-size:.9rem;display:block}.step-params{margin-top:.75rem}.step-params strong{display:block;margin-bottom:.5rem;color:#333}.step-params pre{background:#f8f9fa;padding:.5rem;border-radius:4px;margin:0;font-size:.85rem;overflow-x:auto}.step-mapping{margin-top:.5rem;padding:.5rem;background:#e7f3ff;border-radius:4px;font-size:.85rem}.step-mapping strong{display:block;margin-bottom:.25rem}.suggestion-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-approve,.btn-reject{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-approve{background:#28a745;color:#fff}.btn-approve:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 2px 4px #28a7454d}.btn-reject{background:#dc3545;color:#fff}.btn-reject:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 2px 4px #dc35454d}.btn-approve:disabled,.btn-reject:disabled{opacity:.6;cursor:not-allowed}.chat-input-container{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-top:1px solid #ddd;background:#f8f9fa}.chat-provider-selector{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.chat-provider-selector label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#555}.chat-provider-selector label span{min-width:4rem}.chat-provider-selector select{padding:.4rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;background:#fff;min-width:180px}.chat-input-row{display:flex;gap:.5rem}.message-cost{font-size:.8rem;color:#666;margin-top:.25rem;display:flex;gap:1rem}.message-usage{color:#888}.suggestion-estimated-cost{margin:.5rem 0 0;font-size:.9rem;color:#555}.message-chain-trace{margin-top:.75rem;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.chain-trace-toggle{width:100%;padding:.5rem .75rem;text-align:left;background:#f5f5f5;border:none;font-size:.9rem;cursor:pointer;color:#333}.chain-trace-toggle:hover{background:#eee}.chain-trace-steps{padding:.5rem;background:#fafafa;max-height:400px;overflow-y:auto}.chain-trace-step{margin-bottom:1rem;padding:.5rem;background:#fff;border:1px solid #eee;border-radius:4px}.chain-trace-step:last-of-type{margin-bottom:.5rem}.chain-trace-step-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.chain-trace-step-num{color:#666;min-width:1.5rem}.chain-trace-step-latency{font-size:.85rem;color:#888}.chain-trace-step-status{font-size:.8rem;color:#0a0}.chain-trace-step-io{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;font-size:.85rem}.chain-trace-step-io pre{margin:.25rem 0 0;padding:.5rem;background:#f8f8f8;border-radius:4px;overflow-x:auto;max-height:120px;overflow-y:auto}.chain-trace-total{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #eee;font-size:.9rem;color:#555}.chat-input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.95rem;resize:none;outline:none}.chat-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.chat-send-button{padding:.75rem 2rem;background:#007bff;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.chat-send-button:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px #007bff4d}.chat-send-button:disabled{opacity:.6;cursor:not-allowed}.chat-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#666;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-loading p{margin:0;font-size:.9rem}.btn-stop{padding:.4rem 1.2rem;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-stop:hover{background:#bd2130}.chat-header-actions{display:flex;gap:.5rem;align-items:center}.btn-tool-picker{padding:.5rem 1rem;background:#17a2b8;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-tool-picker:hover:not(:disabled){background:#138496}.btn-tool-picker:disabled{opacity:.6;cursor:not-allowed}.tool-picker{background:#f8f9fa;border:1px solid #ddd;border-radius:8px;padding:1.25rem;margin-bottom:1rem}.tool-picker h3{margin:0 0 .25rem}.tool-picker-hint{color:#666;font-size:.85rem;margin:0 0 .75rem}.tool-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem;margin-bottom:1rem}.tool-picker-card{display:flex;flex-direction:column;gap:.2rem;padding:.6rem .8rem;background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.tool-picker-card:hover{border-color:#17a2b8;box-shadow:0 2px 6px #17a2b826}.tool-picker-card strong{font-size:.85rem;color:#333}.tool-picker-upstream{font-size:.7rem;color:#999}.tool-picker-desc{font-size:.75rem;color:#666;line-height:1.3}.tool-picker-empty{color:#999;font-size:.85rem}.manual-chain{border-top:1px solid #dee2e6;padding-top:.75rem;margin-top:.5rem}.manual-chain h4{margin:0 0 .5rem}.btn-remove-step{background:none;border:none;color:#dc3545;font-size:1rem;cursor:pointer;padding:0 .25rem;margin-left:.5rem}.breakers-page{padding:2rem;max-width:900px;margin:0 auto}.breakers-loading{padding:2rem;text-align:center;color:#666}.breakers-description{color:#555;margin-bottom:1.5rem;font-size:.95rem}.breakers-empty{padding:2rem;text-align:center;background:#f8f9fa;border-radius:8px;color:#666}.breakers-list{border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#fff}.breakers-table{width:100%;border-collapse:collapse}.breakers-table th,.breakers-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #eee}.breakers-table th{background:#f5f5f5;font-weight:600}.breakers-table tr:last-child td{border-bottom:none}.breakers-table code{font-size:.9rem;background:#f0f0f0;padding:.2rem .5rem;border-radius:4px}.btn-reset{padding:.4rem .8rem;background:#0d6efd;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer}.btn-reset:hover:not(:disabled){background:#0b5ed7}.btn-reset:disabled{opacity:.7;cursor:not-allowed}.breakers-section{margin-top:2rem}.breakers-section h2{font-size:1.1rem;margin-bottom:.75rem;color:#333}.breakers-rules-help{font-size:.85rem;color:#666;margin-bottom:1rem}.breakers-loading-inline{padding:1rem;color:#666;font-size:.95rem}.breakers-add-card{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.breakers-add-card h3{margin:0 0 1rem;font-size:1rem;color:#0369a1}.breakers-rules-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:0}.breakers-rules-form select,.breakers-rules-form input{padding:.4rem .6rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.breakers-rules-form input[type=text]{min-width:180px}.btn-add{padding:.4rem .8rem;background:#198754;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer}.btn-add:hover:not(:disabled){background:#157347}.btn-add:disabled{opacity:.7;cursor:not-allowed}.btn-delete{padding:.25rem .5rem;background:#dc3545;color:#fff;border:none;border-radius:4px;font-size:.85rem;cursor:pointer}.btn-delete:hover:not(:disabled){background:#bb2d3b}.redaction-page{max-width:960px}.redaction-loading{padding:2rem;text-align:center;color:#666}.redaction-description{margin-bottom:1.5rem;color:#555;font-size:.95rem}.redaction-description code{background:#f0f0f0;padding:.1em .4em;border-radius:4px}.redaction-form{margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.redaction-form .form-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.redaction-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:#444}.redaction-form input[type=text]{min-width:200px;padding:.5rem .75rem;border:1px solid #ccc;border-radius:4px}.redaction-form button[type=submit]{padding:.5rem 1rem;background:#357abd;color:#fff;border:none;border-radius:4px;cursor:pointer}.redaction-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.redaction-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.redaction-table th,.redaction-table td{padding:.75rem;text-align:left;border-bottom:1px solid #eee}.redaction-table th{font-weight:600;color:#666}.redaction-table .json-paths{font-family:monospace;font-size:.85rem;color:#333}.inline-edit{display:flex;gap:.5rem;align-items:center}.inline-edit input{padding:.35rem .5rem;border:1px solid #ccc;border-radius:4px}.btn-edit,.btn-delete{padding:.35rem .75rem;margin-right:.5rem;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-edit{background:#f0f0f0;border:1px solid #ccc}.btn-delete{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.governance-page{max-width:960px}.governance-description{margin-bottom:1.5rem;color:#555;font-size:.95rem}.governance-section{margin-bottom:2rem;padding:1.25rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.governance-section h2{margin-top:0;margin-bottom:1rem;font-size:1.2rem}.governance-hint{font-size:.9rem;color:#666;margin:-.5rem 0 1rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.section-header h2{margin-bottom:0!important}.btn-delete{padding:.35rem .75rem;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-delete:disabled{opacity:.6;cursor:not-allowed}.btn-test{padding:.4rem .9rem;background:#6366f1;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500}.btn-test:disabled{opacity:.6;cursor:not-allowed}.test-result{padding:.5rem .75rem;border-radius:4px;font-size:.85rem;margin:.25rem 0}.test-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.test-fail{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.btn-sync{padding:.4rem .9rem;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500}.btn-sync:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:.25rem .6rem;font-size:.8rem}.btn-toggle{padding:.35rem .75rem;background:#f0f0f0;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-toggle:disabled{opacity:.6;cursor:not-allowed}.btn-toggle-pill{padding:.25rem .7rem;border:none;border-radius:12px;cursor:pointer;font-size:.8rem;font-weight:600;min-width:44px}.btn-toggle-pill.enabled{background:#28a745;color:#fff}.btn-toggle-pill.disabled{background:#e0e0e0;color:#888}.btn-toggle-pill:disabled{opacity:.6;cursor:not-allowed}.gov-table{width:100%;border-collapse:collapse}.gov-table th,.gov-table td{padding:.75rem;text-align:left;border-bottom:1px solid #eee}.gov-table th{font-weight:600;color:#666}.gov-table code{font-size:.9rem;background:#f0f0f0;padding:.2rem .5rem;border-radius:4px}.row-disabled{opacity:.5}.url-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.desc-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;color:#555}.actions-cell{display:flex;gap:.5rem;align-items:center}.policy-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.policy-form select,.policy-form input[type=text]{padding:.5rem .75rem;border:1px solid #ccc;border-radius:4px}.policy-form input[type=text]{min-width:220px}.policy-form button{padding:.5rem 1rem;background:#357abd;color:#fff;border:none;border-radius:4px;cursor:pointer}.policy-form button:disabled{opacity:.6;cursor:not-allowed}.marketplace-row{margin-bottom:.75rem}.marketplace-row select{width:100%;padding:.5rem .75rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem;background:#fff}.upstream-form{margin-bottom:1rem}.upstream-form-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.5rem}.upstream-form-row input[type=text],.upstream-form-row input[type=password],.upstream-form-row select{padding:.5rem .75rem;border:1px solid #ccc;border-radius:4px;flex:1;min-width:140px}.upstream-form-row button{padding:.5rem 1rem;background:#357abd;color:#fff;border:none;border-radius:4px;cursor:pointer;white-space:nowrap}.upstream-form-row button:disabled{opacity:.6;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.auth-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;background:#e8f0fe;color:#1a73e8}.auth-badge.auth-none{background:#f0f0f0;color:#888}.sync-status{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;margin-right:.5rem}.sync-ok{background:#d4edda;color:#155724}.sync-error{background:#f8d7da;color:#721c24;padding:.15rem .4rem;border-radius:4px;font-size:.8rem;font-weight:700;cursor:help;margin-left:.25rem}.sync-syncing{background:#fff3cd;color:#856404}.sync-unknown,.sync-pending{background:#f0f0f0;color:#888}.sync-time{font-size:.75rem;color:#999}.risk-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.risk-read{background:#d4edda;color:#155724}.risk-write{background:#fff3cd;color:#856404}.tools-group{margin-bottom:1rem}.tools-group:last-child{margin-bottom:0}.tools-group-title{font-size:1rem;font-weight:600;margin:.75rem 0 .5rem;color:#333}.tools-count{font-size:.8rem;font-weight:400;color:#999;margin-left:.5rem}.empty-state{color:#888;text-align:center;padding:1.5rem 0}.loading{color:#666;margin:.5rem 0}.settings-page{max-width:900px}.settings-header h2{margin:0 0 .25rem}.settings-tenant{color:#666;font-size:.9rem;margin:0}.settings-section{margin-top:2rem;background:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.section-header h3{margin:0}.section-desc{color:#666;font-size:.85rem;margin:0 0 1rem}.btn-primary{background:#4f46e5;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-danger-sm{background:transparent;color:#dc2626;border:1px solid #dc2626;padding:.3rem .6rem;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-danger-sm:hover{background:#fef2f2}.credential-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.form-row,.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:500;color:#333}.form-label .required{color:#dc2626}.form-input{padding:.5rem .7rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem}.form-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51a}.form-actions{display:flex;gap:.5rem}.form-error{background:#fef2f2;color:#dc2626;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;border:1px solid #fecaca;margin-bottom:1rem}.credentials-table{width:100%;border-collapse:collapse;font-size:.85rem}.credentials-table th{text-align:left;padding:.6rem .75rem;border-bottom:2px solid #e5e7eb;font-weight:600;color:#374151}.credentials-table td{padding:.6rem .75rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}.type-badge{background:#eef2ff;color:#4338ca;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;white-space:nowrap}.config-cell{display:flex;flex-wrap:wrap;gap:.4rem}.config-item{background:#f3f4f6;padding:.15rem .4rem;border-radius:3px;font-family:monospace;font-size:.8rem;white-space:nowrap}.config-key{color:#6b7280}.empty-state{text-align:center;padding:2rem;color:#9ca3af;font-size:.9rem}.inline-form{display:flex;gap:.5rem;align-items:end;margin-bottom:1rem}.inline-form .form-input{flex:1}.new-key-banner{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:.75rem 1rem;font-size:.85rem;color:#065f46;margin-bottom:1rem}.budget-display{margin-top:.75rem}.budget-bar-container{height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.budget-bar{height:100%;border-radius:6px;transition:width .3s}.budget-text{display:flex;justify-content:space-between;font-size:.8rem;color:#6b7280;margin-top:.3rem}.password-form{display:flex;flex-direction:column;gap:.75rem;max-width:400px;margin-top:1rem}.new-key-value{display:block;margin-top:.4rem;background:#d1fae5;padding:.4rem .6rem;border-radius:4px;font-family:monospace;font-size:.85rem;word-break:break-all;-webkit-user-select:all;user-select:all}.onboarding-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f2f5;padding:2rem}.onboarding-card{background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000014;padding:2.5rem;width:100%;max-width:560px}.onboarding-card h1{margin:0 0 .25rem;font-size:1.5rem;text-align:center}.onboarding-subtitle{text-align:center;color:#666;margin:0 0 1.5rem}.onboarding-steps{display:flex;gap:.5rem;margin-bottom:2rem}.step-indicator{flex:1;text-align:center;padding:.5rem;border-radius:6px;font-size:.75rem;font-weight:500;background:#f3f4f6;color:#9ca3af}.step-indicator.active{background:#eef2ff;color:#4f46e5}.step-indicator.done{background:#ecfdf5;color:#059669}.onboarding-step h3{margin:0 0 .5rem}.onboarding-step>p{color:#666;font-size:.9rem;margin:0 0 1.25rem}.ob-label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:500;color:#333;margin-bottom:.75rem}.ob-label .required{color:#dc2626}.ob-input{padding:.5rem .7rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem}.ob-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51a}.ob-error{background:#fef2f2;color:#dc2626;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;border:1px solid #fecaca;margin-bottom:1rem}.ob-actions{display:flex;gap:.75rem;margin-top:1.25rem}.btn-secondary{background:transparent;color:#6b7280;border:1px solid #d1d5db;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;cursor:pointer}.btn-secondary:hover{background:#f9fafb}.ob-test-result{padding:.6rem .75rem;border-radius:6px;font-size:.85rem;margin-bottom:1rem}.ob-test-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.ob-test-fail{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.onboarding-done{text-align:center}.onboarding-done h3{font-size:1.25rem}.onboarding-done .ob-actions{justify-content:center}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f2f5;padding:1rem}.auth-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2.5rem;width:100%;max-width:400px}.auth-title{font-size:1.75rem;font-weight:700;text-align:center;margin:0 0 .25rem;color:#1a1a2e}.auth-subtitle{text-align:center;color:#666;margin:0 0 1.5rem;font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;color:#333}.auth-input{padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;transition:border-color .15s}.auth-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.auth-button{margin-top:.5rem;padding:.65rem;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.auth-button:hover:not(:disabled){background:#4338ca}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:#fef2f2;color:#dc2626;padding:.6rem .75rem;border-radius:6px;font-size:.85rem;border:1px solid #fecaca}.auth-footer{text-align:center;margin-top:1.25rem;font-size:.85rem;color:#666}.auth-footer a{color:#4f46e5;text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{background:#1a1a1a;color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.nav-container{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-title{font-size:1.5rem;font-weight:600}.nav-links{display:flex;gap:2rem}.nav-links a{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background .2s}.nav-links a:hover{background:#ffffff1a}.main-content{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:2rem}.nav-user{display:flex;align-items:center;gap:.75rem;margin-left:1.5rem}.nav-user-info{font-size:.8rem;color:#ffffffb3;white-space:nowrap}.nav-logout-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:.3rem .75rem;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background .15s}.nav-logout-btn:hover{background:#fff3}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.1rem;color:#666}*{margin:0;padding:0;box-sizing:border-box}body{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;background:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
