.permission-loading-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:16px;color:#6b7280;min-height:200px}.permission-loading-text{margin:0;font-size:15px}.forbidden-page{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.forbidden-card{max-width:480px;width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px;text-align:center;box-shadow:0 2px 8px #0000000a}.forbidden-card h2{margin:0 0 12px;color:#b91c1c}.forbidden-card p{margin:8px 0;color:#4b5563;line-height:1.5}.forbidden-card code{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:2px 8px;font-size:13px;color:#111827}.jira-callback{min-height:50vh;display:flex;align-items:center;justify-content:center;padding:32px 20px}.jira-callback__card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:28px 32px;max-width:420px;text-align:center;color:#374151;font-size:14px}.jira-callback__card--error h2{margin:0 0 10px;font-size:18px;color:#b91c1c}.jira-callback__card--error p{margin:0 0 16px;line-height:1.5}.jira-callback__spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:jira-spin .8s linear infinite;margin:0 auto 14px}@keyframes jira-spin{to{transform:rotate(360deg)}}.jira-callback__btn{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:13px;cursor:pointer}.jira-callback__btn:hover{background:#4f46e5}.sandbox-badge{display:inline-block;margin-left:.35rem;padding:.1rem .45rem;border-radius:999px;font-size:.65rem;font-weight:600;letter-spacing:.02em;vertical-align:middle;line-height:1.3}.sandbox-badge--sm{font-size:.65rem}.sandbox-badge--md{font-size:.75rem;padding:.15rem .55rem}.sandbox-badge--warn{background:#3d2a00;color:#ffd666;border:1px solid #876500}.sandbox-badge--info{background:#0d2b3d;color:#91caff;border:1px solid #1a4a6b}.app-sidebar{width:240px;flex-shrink:0;background:#e8e8e8;border-right:1px solid #ccc;display:flex;flex-direction:column;height:100vh;overflow-y:auto}.sidebar-top{padding:20px 16px 12px}.sidebar-title{font-size:16px;font-weight:700;color:#1a1a1a;letter-spacing:-.3px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:8px 12px}.sidebar-nav-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:6px;font-size:14px;font-weight:500;color:#333;text-decoration:none;transition:background .15s}.sidebar-nav-badge{flex-shrink:0;font-size:11px;font-weight:700;min-width:20px;padding:2px 7px;border-radius:10px;background:#dc2626;color:#fff;text-align:center;line-height:1.2}.sidebar-nav-link.active .sidebar-nav-badge{background:#fecaca;color:#991b1b}.sidebar-nav-link:hover{background:#ddd}.sidebar-nav-link.active{background:#2d2d2d;color:#fff}.sidebar-nav-group{display:flex;flex-direction:column}.sidebar-nav-group-header{display:flex;align-items:stretch;border-radius:6px}.sidebar-nav-group-header:hover{background:#ddd}.sidebar-nav-group-link{flex:1;padding:10px 12px;font-size:14px;font-weight:500;color:#333;text-decoration:none;border-radius:6px 0 0 6px}.sidebar-nav-group-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;border:none;background:transparent;color:#888;font-size:10px;cursor:pointer;border-radius:0 6px 6px 0}.sidebar-nav-group-toggle:hover{background:#0000000f}.sidebar-nav-group-children{display:flex;flex-direction:column;gap:2px;margin-top:2px;margin-left:8px;padding-left:8px;border-left:1px solid #ccc}.sidebar-nav-link--child{font-size:13px;padding:8px 12px}.sidebar-bottom{margin-top:auto;padding:16px;border-top:1px solid #ccc;display:flex;flex-direction:column;gap:8px}.sidebar-user{display:flex;align-items:center;gap:8px;min-width:0}.sidebar-user-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}.sidebar-user-info{display:flex;flex-direction:column;min-width:0}.sidebar-user-email{font-size:12px;color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999}.btn-block{width:100%}@media(max-width:768px){.app-sidebar{position:fixed;top:0;left:0;z-index:100;width:260px;transform:translate(-100%);transition:transform .25s ease,visibility .25s;box-shadow:4px 0 16px #00000026;visibility:hidden;pointer-events:none}.app-sidebar.sidebar-open{transform:translate(0);visibility:visible;pointer-events:auto}}.app-layout{display:flex;min-height:100vh;width:100%}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow-y:auto}.mobile-menu-btn,.sidebar-overlay{display:none}@media(max-width:768px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center;position:fixed;top:12px;left:12px;z-index:110;width:40px;height:40px;border:1px solid #ccc;border-radius:8px;background:#fff;font-size:20px;cursor:pointer;box-shadow:0 2px 8px #0000001a}.sidebar-overlay{display:block;position:fixed;inset:0;z-index:90;background:#0006}}.e2e-section{overflow:hidden}.e2e-header-actions{display:flex;align-items:center;gap:10px}.e2e-live-indicator{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#16a34a;text-transform:uppercase;letter-spacing:.5px}.e2e-live-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;animation:e2e-pulse 1.5s ease-in-out infinite}@keyframes e2e-pulse{0%,to{opacity:1}50%{opacity:.3}}.e2e-refresh-btn{background:none;border:1px solid #ddd;border-radius:6px;padding:4px 8px;font-size:16px;cursor:pointer;color:#666;line-height:1;transition:all .15s}.e2e-refresh-btn:hover{background:#f5f5f5;color:#333}.e2e-run-all-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;background:#111827;color:#fff;transition:all .15s;white-space:nowrap}.e2e-run-all-btn:hover:not(:disabled){background:#1f2937}.e2e-run-all-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.75}.e2e-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 12px;font-size:13px;color:#dc2626;margin-bottom:12px}.e2e-workflow-list{display:flex;flex-direction:column;gap:1px;background:#e0e0e0;border-radius:8px;overflow:hidden}.e2e-workflow-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f8f8f8;gap:12px}.e2e-workflow-info{flex:1;min-width:0}.e2e-workflow-name{font-size:14px;font-weight:600;color:#1a1a1a}.e2e-workflow-meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:11px;color:#999}.e2e-event-tag{background:#eef2ff;color:#4f46e5;padding:1px 6px;border-radius:4px;font-weight:500}.e2e-event-tag--all{background:#111827;color:#fff}.e2e-workflow-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.e2e-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.e2e-badge--success{background:#dcfce7;color:#15803d}.e2e-badge--failure{background:#fef2f2;color:#dc2626}.e2e-badge--active{background:#fffbeb;color:#d97706}.e2e-badge--neutral{background:#f3f4f6;color:#6b7280}.e2e-badge--idle{background:#f3f4f6;color:#9ca3af}.e2e-spinner{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:e2e-spin .8s linear infinite}.e2e-spinner--btn{width:14px;height:14px;border-color:#fff;border-right-color:transparent}@keyframes e2e-spin{to{transform:rotate(360deg)}}.e2e-progress-bar{width:60px;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.e2e-progress-bar-fill{height:100%;width:40%;background:#d97706;border-radius:2px;animation:e2e-progress 1.8s ease-in-out infinite}@keyframes e2e-progress{0%{transform:translate(-100%);width:40%}50%{width:60%}to{transform:translate(250%);width:40%}}.e2e-trigger-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;background:#2563eb;color:#fff;transition:all .15s;white-space:nowrap}.e2e-trigger-btn:hover:not(:disabled){background:#1d4ed8}.e2e-trigger-btn:disabled{background:#93c5fd;cursor:not-allowed;opacity:.7}.e2e-gh-link{font-size:16px;color:#666;text-decoration:none;padding:2px;line-height:1}.e2e-gh-link:hover{color:#2563eb}@media(max-width:600px){.e2e-workflow-row{flex-direction:column;align-items:stretch;gap:8px}.e2e-workflow-actions{justify-content:flex-end;flex-wrap:wrap}}.dashboard-page{padding:24px 32px;max-width:1000px}.dashboard-header{margin-bottom:28px}.dashboard-header h2{margin:0;font-size:22px;font-weight:600;color:#1a1a1a}.dashboard-subtitle{font-size:13px;color:#888;margin-top:2px;display:block}.dash-section{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:20px 24px;margin-bottom:20px}.dash-section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.dash-section-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.dash-section-meta{font-size:12px;color:#999}.dash-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-bottom:14px}.dash-card{background:#f8f8f8;border:1px solid #eee;border-radius:8px;padding:14px 16px;text-align:center}.dash-card-label{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.dash-card-value{font-size:22px;font-weight:700;color:#1a1a1a}.dash-card-value.score-good{color:#16a34a}.dash-card-value.score-warn{color:#d97706}.dash-card-value.score-bad{color:#dc2626}.dash-section-link{display:inline-block;font-size:13px;font-weight:500;color:#2563eb;text-decoration:none}.dash-section-link:hover{text-decoration:underline}.dash-section-placeholder{text-align:center;padding:32px 16px;color:#888;font-size:14px}.dash-error{color:#e74c3c}@media(max-width:600px){.dashboard-page{padding:16px}.dash-cards{grid-template-columns:repeat(2,1fr)}}.welcome-screen{display:flex;align-items:flex-start;justify-content:center;min-height:100vh;background:#f5f5f5;padding:40px 20px;overflow-y:auto}.welcome-card{background:#fff;border-radius:8px;padding:32px;max-width:560px;width:100%;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000f}.welcome-header{display:flex;align-items:center;justify-content:center;gap:12px;position:relative}.welcome-card h1{margin:0 0 4px;color:#1a1a1a;font-size:22px;font-weight:600;text-align:center}.btn-cancel-create{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:12px;padding:4px 10px;border:1px solid #ccc;border-radius:4px;background:#f5f5f5;color:#555;cursor:pointer}.btn-cancel-create:hover{background:#eee}.welcome-card>p{margin:0 0 20px;color:#555;font-size:14px;text-align:center}.welcome-error{color:#d32f2f;background:#fdecea;border:1px solid #f5c6cb;border-radius:6px;padding:10px 14px;font-size:13px;line-height:1.4;word-break:break-word;margin-bottom:16px}.create-user-form fieldset{border:none;margin:0;padding:0}.form-section{margin-bottom:20px}.form-section h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid #eee}.form-field{margin-bottom:12px}.form-field label{display:block;font-size:13px;font-weight:500;color:#333;margin-bottom:4px}.form-field input,.form-field select{width:100%;padding:7px 10px;border:1px solid #d0d0d0;border-radius:5px;font-size:13px;background:#fff;color:#1a1a1a;box-sizing:border-box}.form-field input:disabled,.form-field select:disabled{background:#f5f5f5;color:#888}.form-field input:focus,.form-field select:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d926}.form-hint{display:block;font-size:11px;color:#999;margin-top:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row-3{grid-template-columns:2fr 1fr 1fr}.flow-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px}.flow-option{display:flex;flex-direction:column;align-items:center;padding:12px 10px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .15s;text-align:center}.flow-option input[type=radio]{display:none}.flow-option:hover{border-color:#b0b0b0}.flow-option-active{border-color:#4a90d9;background:#f0f7ff}.flow-label{font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:2px}.flow-desc{font-size:11px;color:#888;line-height:1.3}.btn-submit{width:100%;margin-top:8px}@media(max-width:600px){.welcome-card{padding:20px 16px}.form-row,.form-row-3,.flow-selector{grid-template-columns:1fr}}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:500;color:#333;margin-bottom:8px;font-size:14px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.sim-toolbar{display:flex;align-items:center;gap:12px;padding:6px 16px;background:#f5f5f5;border-bottom:1px solid #e0e0e0;flex-shrink:0;flex-wrap:wrap}.sim-toolbar-group{display:flex;align-items:center;gap:6px}.sim-toolbar-divider{width:1px;height:20px;background:#ccc;flex-shrink:0}.sim-toolbar-label{font-size:12px;font-weight:600;color:#555}.sim-toolbar-value{font-family:ui-monospace,monospace;font-size:12px;color:#1a1a1a;background:#fff;padding:3px 6px;border-radius:3px;border:1px solid #ddd}.sim-toolbar-select{font-size:12px;font-family:ui-monospace,monospace;padding:3px 6px;border:1px solid #ddd;border-radius:3px;background:#fff;color:#333;cursor:pointer;height:24px}.sim-toolbar-select:focus{outline:none;border-color:#2d2d2d}.copy-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid #ddd;border-radius:3px;background:#fff;color:#666;cursor:pointer;transition:color .15s,border-color .15s,background .15s;flex-shrink:0}.copy-btn:hover{color:#1a1a1a;border-color:#999;background:#f0f0f0}.sim-toolbar-btn{font-size:11px;font-weight:600;padding:3px 8px;border:1px solid #ccc;border-radius:3px;background:#e8e8e8;color:#333;cursor:pointer;white-space:nowrap;height:24px;transition:background .15s}.sim-toolbar-btn:hover{background:#ddd}.sim-toolbar-btn-primary{background:#2d2d2d;color:#fff;border-color:#2d2d2d}.sim-toolbar-btn-primary:hover{background:#1a1a1a}.sim-toolbar-btn-danger{background:#fff0f0;color:#c62828;border-color:#e0b0b0}.sim-toolbar-btn-danger:hover{background:#fde0e0}.sim-toolbar-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:3px;flex-shrink:0}.sim-toolbar-badge-nova{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.sim-toolbar-badge-zaira{background:#f3e5f5;color:#7b1fa2;border:1px solid #ce93d8}.chat-message{display:flex;flex-direction:column;padding:12px 16px;border-radius:8px;max-width:80%;word-wrap:break-word}.chat-message-user{align-self:flex-end;background:#f0f0f0;color:#1a1a1a;border:1px solid #e0e0e0}.chat-message-assistant{align-self:flex-start;background:#e8e8e8;color:#1a1a1a;border:1px solid #ddd}.chat-message-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.chat-message-role{font-weight:600;font-size:11px;color:#555;text-transform:uppercase;letter-spacing:.5px}.chat-message-timestamp{font-size:10px;color:#888;margin-left:auto}.chat-message-type-badge{position:relative;display:inline-flex;align-items:center}.chat-message-type-icon{font-size:14px;cursor:help}.chat-message-type-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;z-index:100;margin-bottom:6px;box-shadow:0 2px 8px #0003;transition:opacity .2s ease,visibility .2s ease}.chat-message-type-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#333}.chat-message-type-badge:hover .chat-message-type-tooltip{visibility:visible;opacity:1}.chat-message-content{line-height:1.5}.chat-message-content--plain{white-space:pre-wrap}.chat-message-content--markdown{font-size:14px}.chat-message-content--markdown>:first-child{margin-top:0}.chat-message-content--markdown>:last-child{margin-bottom:0}.chat-message-content--markdown p{margin:.5em 0}.chat-message-content--markdown p:first-child{margin-top:0}.chat-message-content--markdown ul,.chat-message-content--markdown ol{margin:.5em 0;padding-left:1.35em}.chat-message-content--markdown li{margin:.25em 0}.chat-message-content--markdown li>p{margin:.15em 0}.chat-message-content--markdown strong{font-weight:600}.chat-message-content--markdown h1,.chat-message-content--markdown h2,.chat-message-content--markdown h3{font-size:inherit;font-weight:600;margin:.75em 0 .35em}.chat-message-content--markdown h1:first-child,.chat-message-content--markdown h2:first-child,.chat-message-content--markdown h3:first-child{margin-top:0}.chat-message-content--markdown code{font-family:ui-monospace,monospace;font-size:.92em;background:#0000000f;padding:.1em .35em;border-radius:4px}.chat-message-content--markdown pre{margin:.5em 0;padding:10px 12px;overflow-x:auto;background:#0000000f;border-radius:6px;font-size:13px}.chat-message-content--markdown pre code{background:none;padding:0}.chat-message-content--markdown blockquote{margin:.5em 0;padding-left:.85em;border-left:3px solid rgba(0,0,0,.15);color:#333}.chat-message-content--markdown table{border-collapse:collapse;margin:.5em 0;font-size:13px}.chat-message-content--markdown th,.chat-message-content--markdown td{border:1px solid rgba(0,0,0,.12);padding:6px 10px;text-align:left}.chat-message-content--markdown th{background:#0000000d;font-weight:600}.chat-message-content--markdown a{color:#06c;text-decoration:underline}.chat-message-content--markdown a:hover{color:#049}.chat-message-execution-id{font-size:9px;color:#aaa;margin-top:6px;font-family:monospace;word-break:break-all}.streaming-indicator{display:flex;gap:4px;margin-top:8px}.streaming-indicator .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#555;opacity:.6;animation:bounce 1.4s infinite}.streaming-indicator .dot:nth-child(2){animation-delay:.2s}.streaming-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:.6}40%{opacity:1}}.chat-message-actions{margin-top:12px;display:flex;gap:8px}.confirm-transfer-button{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.confirm-transfer-button:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px #007bff4d}.confirm-transfer-button:active:not(:disabled){transform:translateY(0)}.confirm-transfer-button:disabled{background:#ccc;color:#888;cursor:not-allowed;opacity:.6}@media(max-width:768px){.chat-message{max-width:90%}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.modal-close{background:none;border:none;font-size:28px;color:#888;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:#f0f0f0;color:#333}.modal-body{padding:24px}.transaction-details{display:flex;flex-direction:column;gap:16px}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid #f0f0f0}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:500;color:#666;font-size:14px}.detail-value{color:#1a1a1a;font-size:14px;text-align:right;word-break:break-word;max-width:60%}.modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e0e0e0;justify-content:flex-end}.modal-button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s;min-width:120px}.modal-button-cancel{background:#f5f5f5;color:#333}.modal-button-cancel:hover{background:#e0e0e0}.modal-button-confirm{background:#007bff;color:#fff}.modal-button-confirm:hover{background:#0056b3}.modal-button-confirm:active{transform:scale(.98)}.chat-message-list{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:#ccc #f5f5f5;background:#fff}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#888;text-align:center}.chat-message-list::-webkit-scrollbar{width:8px}.chat-message-list::-webkit-scrollbar-track{background:#f5f5f5}.chat-message-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.chat-message-list::-webkit-scrollbar-thumb:hover{background:#aaa}.chat-session{display:flex;flex-direction:column;height:100%;background:#fff}.chat-session-input{display:flex;gap:10px;padding:16px 20px;background:#fff;border-top:1px solid #e0e0e0}.chat-session-textarea{flex:1;padding:12px 14px;border:1px solid #ccc;border-radius:6px;background:#fff;color:#1a1a1a;font-family:inherit;font-size:14px;line-height:1.5;resize:none;max-height:100px}.chat-session-textarea:focus{outline:none;border-color:#2d2d2d;box-shadow:0 0 0 2px #2d2d2d26}.chat-session-textarea:disabled{opacity:.6;cursor:not-allowed;background:#f8f8f8}.chat-session-send{flex-shrink:0;padding:12px 20px;font-weight:600;white-space:nowrap}.chat-session-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#888}.loader-spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#2d2d2d;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.chat-session-input{flex-direction:column}.chat-session-send{width:100%}}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.info-banner{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem .85rem;margin-bottom:1rem;border-radius:6px;font-size:.9rem;line-height:1.45}.info-banner__icon{flex-shrink:0;line-height:1.45}.info-banner__body{flex:1;min-width:0}.info-banner--info{background:#0d2b3d;color:#c5e4ff;border:1px solid #1a4a6b}.info-banner--warn{background:#3d2a00;color:#ffe7a3;border:1px solid #876500}.info-banner--error{background:#3d1515;color:#ffc9c9;border:1px solid #8b3a3a}.vis-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;transition:background .15s,border-color .15s,color .15s,opacity .15s;padding:0;line-height:1}.vis-toggle__icon{display:inline-flex;align-items:center;justify-content:center}.vis-toggle__icon svg{width:16px;height:16px;display:block}.vis-toggle--sm{width:28px;height:28px}.vis-toggle--md{width:32px;height:32px}.vis-toggle--pill{width:auto;height:32px;padding:0 12px;font-size:13px;font-weight:500}.vis-toggle--pill .vis-toggle__icon svg{width:15px;height:15px}.vis-toggle.is-visible{color:#16a34a;border-color:#bbf7d0;background:#f0fdf4}.vis-toggle.is-visible:hover:not(:disabled){background:#dcfce7;border-color:#86efac}.vis-toggle.is-hidden{color:#6b7280;border-color:#e5e7eb;background:#f9fafb}.vis-toggle.is-hidden:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;color:#374151}.vis-toggle:disabled,.vis-toggle.is-busy{opacity:.55;cursor:wait}.evaluations-page{padding:24px 32px;max-width:1400px;overflow-x:hidden}.evaluations-loading,.evaluations-error,.evaluations-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#888;font-size:16px;gap:12px}.evaluations-error{color:#e74c3c}.btn-retry{padding:8px 20px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer;font-size:14px}.btn-retry:hover{background:#f5f5f5}.evaluations-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.evaluations-header h2{margin:0;font-size:22px;font-weight:600;color:#1a1a1a}.evaluations-subtitle{font-size:13px;color:#888;margin-top:2px}.header-actions{display:flex;gap:8px;align-items:center}.btn-legend-toggle{padding:6px 14px;border:1px solid #d0d0d0;border-radius:6px;background:#fff;font-size:12px;font-weight:500;color:#555;cursor:pointer;white-space:nowrap}.btn-legend-toggle:hover{background:#f5f5f5;border-color:#bbb}.btn-rerun{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;background:#2563eb;color:#fff;white-space:nowrap;transition:all .15s}.btn-rerun:hover:not(:disabled){background:#1d4ed8}.btn-rerun:disabled{background:#93c5fd;cursor:not-allowed}.btn-rerun-spinner{display:inline-block;width:12px;height:12px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:btn-rerun-spin .8s linear infinite}@keyframes btn-rerun-spin{to{transform:rotate(360deg)}}.metric-legend{background:#f9fafb;border:1px solid #e8e8e8;border-radius:10px;padding:16px 20px;margin-bottom:20px}.legend-section-title{margin:0 0 10px;font-size:14px;font-weight:600;color:#1a1a1a}.legend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px 24px}.legend-item{display:flex;flex-direction:column;gap:2px;padding:4px 0}.legend-term{font-size:12px;font-weight:600;color:#1a1a1a}.legend-desc{font-size:12px;color:#666;line-height:1.4}.legend-visual-key{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #e8e8e8;font-size:12px;color:#555}.line-sample{display:inline-block;width:24px;height:2px;vertical-align:middle;margin-right:4px}.line-sample.solid{background:#555}.line-sample.dashed{background:repeating-linear-gradient(to right,#555 0,#555 5px,transparent 5px,transparent 8px)}.flow-defs-intro{margin:0 0 10px;font-size:12px;color:#666;line-height:1.4}.flow-defs-list{display:flex;flex-direction:column;gap:8px}.flow-def-item{display:flex;flex-direction:column;gap:2px}.flow-def-name{font-size:12px;font-weight:600;color:#1a1a1a;padding-left:8px}.flow-def-desc{font-size:12px;color:#666;line-height:1.4;padding-left:11px}.comparison-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:20px}.summary-card{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:12px 14px}.card-label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.card-value{font-size:20px;font-weight:600;color:#1a1a1a}.card-value.score-good{color:#00a854}.card-value.score-warn{color:#e6a817}.card-value.score-bad{color:#e74c3c}.card-delta{font-size:12px;font-weight:500;margin-top:4px}.delta-label{font-weight:400;color:#aaa}.delta-positive{color:#00a854}.delta-negative{color:#e74c3c}.delta-neutral{color:#aaa}.flow-breakdown{margin-bottom:20px}.flow-breakdown h3{margin:0 0 10px;font-size:15px;font-weight:600;color:#1a1a1a;display:flex;align-items:baseline;gap:8px}.breakdown-subtitle{font-size:12px;font-weight:400;color:#999}.flow-name-cell{padding-left:8px;font-weight:500}.cell-pass{color:#00a854;font-weight:500}.cell-fail{color:#e74c3c;font-weight:500}.cell-with-delta{display:flex;flex-direction:column;gap:1px}.cell-main-value{font-weight:500}.cell-delta{font-size:11px}.charts-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap;background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:10px 16px}.toolbar-group{display:flex;align-items:center;gap:8px}.toolbar-label{font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.filter-btns{display:flex;gap:2px;background:#f0f0f0;border-radius:6px;padding:2px}.filter-btn{padding:5px 12px;border:none;border-bottom:2px solid transparent;border-radius:4px;background:transparent;font-size:12px;font-weight:500;color:#666;cursor:pointer;transition:all .15s;white-space:nowrap}.filter-btn:hover{color:#333;background:#e4e4e4}.filter-btn.active{background:#fff;color:#1a1a1a;box-shadow:0 1px 3px #0000001a}.toolbar-count{font-size:12px;color:#aaa;margin-left:auto;white-space:nowrap}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.chart-card{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:14px 16px}.chart-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.chart-target-badge{font-size:11px;font-weight:600;color:#555;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;padding:2px 8px;white-space:nowrap}.chart-title-wrapper{display:inline-flex;align-items:center;gap:6px}.chart-card-title{font-size:13px;font-weight:600;color:#333}.chart-info-container{position:relative;display:inline-flex}.chart-info-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid #ccc;border-radius:50%;background:#f5f5f5;font-size:10px;font-weight:700;font-style:italic;font-family:Georgia,serif;color:#888;cursor:help;line-height:1;padding:0}.chart-info-container:hover .chart-info-btn,.chart-info-btn:focus{background:#e8e8e8;border-color:#aaa;color:#555}.chart-info-popover{display:none;position:absolute;top:24px;left:-8px;z-index:20;width:280px;padding:8px 12px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 16px #0000001f;font-size:12px;line-height:1.5;color:#444;pointer-events:none}.chart-info-container:hover .chart-info-popover,.chart-info-container:focus-within .chart-info-popover{display:block}.chart-info-popover p{margin:0}.runs-section{margin-bottom:32px}.runs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.runs-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.runs-table-wrapper{background:#fff;border:1px solid #e8e8e8;border-radius:10px;overflow:hidden}.runs-table{width:100%;border-collapse:collapse;font-size:13px}.runs-table th{text-align:left;padding:10px 12px;font-weight:600;color:#666;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e8e8;background:#fafafa}.runs-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:#333}.run-row{cursor:pointer;transition:background .1s}.run-row:hover{background:#f8f9ff}.run-row:last-child td{border-bottom:none}.run-date{white-space:nowrap}.run-date-link{color:#555;text-decoration:none}.run-date-link:hover,.run-date-link:focus{color:#2d2d2d;text-decoration:underline}.run-arrow{color:#ccc;font-size:18px;text-align:right}.run-row--hidden{opacity:.4}.run-row--hidden:hover{opacity:.65}.run-hidden-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:#f3f4f6;color:#9ca3af;vertical-align:middle}.run-visibility-cell{text-align:center;width:40px}.score-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-weight:600;font-size:13px}.score-badge.score-good{background:#e6f9ee;color:#00a854}.score-badge.score-warn{background:#fff8e6;color:#c49000}.score-badge.score-bad{background:#fde8e8;color:#e74c3c}.flow-badges{display:flex;gap:6px;flex-wrap:wrap}.flow-badge-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;color:#fff;cursor:default}.flow-badge-pill.pass{background:#00a854}.flow-badge-pill.fail{background:#e74c3c}.badge-count{font-size:10px;opacity:.85}.pagination{display:flex;align-items:center;gap:10px;font-size:13px;color:#555}.pagination-bottom{justify-content:center;margin-top:10px}.pagination button{padding:4px 12px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;font-size:12px;color:#333;cursor:pointer}.pagination button:hover:not(:disabled){background:#f5f5f5;border-color:#bbb}.pagination button:disabled{opacity:.4;cursor:default}@media(max-width:1024px){.charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.evaluations-page{padding:16px 12px}.evaluations-header{flex-direction:column;align-items:flex-start;gap:8px}.comparison-cards{grid-template-columns:repeat(2,1fr)}.flow-breakdown{overflow-x:auto}.charts-toolbar{gap:10px;padding:8px 10px}.filter-btns{flex-wrap:wrap}.runs-table-wrapper{overflow-x:auto}.legend-grid{grid-template-columns:1fr}}.report-page{display:flex;flex-direction:column}.report-toolbar{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid #e8e8e8;background:#fafafa;flex-shrink:0}.btn-back{display:flex;align-items:center;gap:4px;padding:6px 14px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;color:#333;transition:all .15s}.btn-back:hover{background:#f5f5f5;border-color:#ccc}.report-run-id{font-size:13px;color:#888;font-family:monospace;display:inline-flex;align-items:center;gap:8px;flex:1}.report-hidden-tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:#f3f4f6;color:#9ca3af;font-family:inherit}.report-status{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#888;font-size:15px;gap:12px}.report-error{color:#e74c3c}.report-page .btn-retry{padding:8px 20px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer;font-size:14px}.report-page .btn-retry:hover{background:#f5f5f5}.report-content{padding:20px 24px 40px}.run-summary{margin-bottom:24px}.run-summary-header{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.run-summary-header h2{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.run-timestamp{font-size:13px;color:#888}.run-summary-cards{display:flex;gap:10px;flex-wrap:wrap}.summary-card-sm{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:10px 16px;min-width:100px}.card-label-sm{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px}.card-value-sm{font-size:18px;font-weight:600;color:#1a1a1a}.report-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding:12px 14px;background:#fafafa;border:1px solid #ececec;border-radius:8px}.filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.filter-row-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888;width:56px;flex-shrink:0}.filter-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid #d8d8d8;border-radius:999px;background:#fff;font-size:12px;color:#444;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.filter-pill:hover{background:#f3f4f6;border-color:silver}.filter-pill.active{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.filter-pill-count{font-size:11px;font-weight:600;padding:1px 6px;border-radius:999px;background:#0000000f;color:inherit}.filter-pill.active .filter-pill-count{background:#ffffff2e}.filter-pill-success.active{background:#00a854;border-color:#00a854}.filter-pill-warning.active{background:#c49000;border-color:#c49000}.filter-pill-error.active{background:#e74c3c;border-color:#e74c3c}.flow-section{margin-bottom:16px}.flow-section-header{display:flex;align-items:baseline;gap:10px;width:100%;padding:8px 4px;margin:0 0 8px;border:none;background:transparent;cursor:pointer;text-align:left;border-bottom:1px solid #ececec;transition:background .1s}.flow-section-header:hover{background:#f8f8f8}.flow-section-chevron{font-size:12px;color:#888;width:12px;flex-shrink:0;align-self:center}.flow-title{margin:0;font-size:16px;font-weight:600;color:#1a1a1a;text-transform:capitalize}.flow-meta{font-size:12px;color:#888}.scenario-list{display:flex;flex-direction:column;gap:2px}.scenario-empty{padding:12px 14px;font-size:12px;color:#888;background:#fafafa;border:1px dashed #e0e0e0;border-radius:8px}.scenario-item{border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;background:#fff;border-left:4px solid #e8e8e8}.scenario-item.scenario-success{border-left-color:#00a854}.scenario-item.scenario-warning{border-left-color:#c49000;background:#fffdf6}.scenario-item.scenario-error{border-left-color:#e74c3c;background:snow}.scenario-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#ccc}.scenario-status-dot.scenario-status-success{background:#00a854}.scenario-status-dot.scenario-status-warning{background:#c49000}.scenario-status-dot.scenario-status-error{background:#e74c3c}.scenario-header{display:flex;align-items:center;width:100%;padding:10px 14px;border:none;background:transparent;cursor:pointer;text-align:left;font-size:13px;transition:background .1s}.scenario-header:hover{background:#f8f9ff}.scenario-header.expanded{border-bottom:1px solid #e8e8e8}.scenario-row-content{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.scenario-id{font-weight:600;color:#333;white-space:nowrap}.scenario-desc{color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.scenario-metrics{display:flex;gap:8px;flex-shrink:0;white-space:nowrap}.metric{font-size:12px;color:#666}.expand-icon{font-size:16px;color:#aaa;flex-shrink:0;width:20px;text-align:center}.scenario-detail{padding:12px 14px;background:#fafafa}.detail-loading{text-align:center;color:#888;font-size:13px;padding:12px}.steps-list{display:flex;flex-direction:column;gap:8px}.step-error{padding:8px 12px;background:#fde8e8;border-radius:6px;color:#e74c3c;font-size:13px}.step-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}.step-card.step-failed{border-color:#f5c6c6}.step-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fafafa;border-bottom:1px solid #f0f0f0;font-size:12px}.step-failed .step-header{background:#fef2f2}.step-number{font-weight:600;color:#555}.step-status{font-weight:700;font-size:11px;padding:1px 6px;border-radius:3px}.step-status.pass{background:#e6f9ee;color:#00a854}.step-status.fail{background:#fde8e8;color:#e74c3c}.step-duration{color:#888}.step-scores{display:flex;gap:6px;margin-left:auto;font-weight:600}.step-body{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.step-field{display:flex;flex-direction:column;gap:2px}.step-field-label{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px}.step-field-value{font-size:13px;color:#333;line-height:1.5;white-space:pre-wrap;word-break:break-word}.step-output{background:#f8f8f8;padding:8px 10px;border-radius:6px;border:1px solid #eee;max-height:200px;overflow-y:auto}.step-reasoning{background:#fffbf0;padding:8px 10px;border-radius:6px;border:1px solid #f0e8d8;font-style:italic;color:#666}.report-page .score-good{color:#00a854}.report-page .score-warn{color:#c49000}.report-page .score-bad{color:#e74c3c}@media(max-width:768px){.report-content{padding:16px}.run-summary-cards{flex-direction:column}.scenario-row-content{flex-wrap:wrap}.scenario-metrics{width:100%;margin-top:4px}}.admin-page{padding:32px 40px;max-width:1200px}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.admin-tab-btn{padding:10px 18px;border:none;background:none;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.admin-tab-btn:hover:not(:disabled){color:#111}.admin-tab-btn:disabled{color:#d1d5db;cursor:not-allowed}.admin-tab-btn.is-active{color:#111;border-bottom-color:#2563eb}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-header h2{margin:0;font-size:22px;font-weight:700;color:#111}.admin-header-actions{display:flex;gap:8px;align-items:center}.admin-subtitle{font-size:13px;color:#999;margin-top:2px;display:block}.admin-refresh-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer;color:#555;transition:all .15s}.admin-refresh-btn:hover{background:#fafafa;border-color:#ccc;color:#222}.admin-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;font-size:13px;color:#dc2626;margin-bottom:20px}.admin-loading,.admin-forbidden{text-align:center;padding:64px 16px;color:#999;font-size:15px}.admin-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:12px 16px;font-weight:600;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.admin-table td{padding:14px 16px;border-bottom:1px solid #f3f4f6;color:#374151;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#f9fafb}.admin-row--updating{opacity:.45;pointer-events:none}.admin-user-cell{display:flex;align-items:center;gap:12px}.admin-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;color:#4338ca;background:#eef2ff;border:2px solid #c7d2fe}.admin-user-info{display:flex;flex-direction:column;gap:1px;min-width:0}.admin-user-email{font-weight:500;color:#111}.admin-user-name{font-size:12px;color:#9ca3af}.admin-you-tag{display:inline-block;font-size:10px;font-weight:600;color:#6b7280;background:#f3f4f6;border-radius:4px;padding:0 5px;margin-top:1px;width:fit-content;text-transform:uppercase;letter-spacing:.3px}.admin-date-cell{white-space:nowrap;color:#9ca3af;font-size:12px;font-variant-numeric:tabular-nums}.admin-role-select{padding:5px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;background:#fff}.admin-role-select:disabled{opacity:.5;cursor:not-allowed}.admin-actions-cell{width:80px;text-align:center}.admin-delete-btn,.admin-link-btn{background:none;border:1px solid transparent;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;cursor:pointer;color:#2563eb}.admin-link-btn:hover:not(:disabled){background:#eff6ff;border-color:#bfdbfe}.admin-delete-btn{color:#dc2626}.admin-delete-btn:hover:not(:disabled){background:#fef2f2;border-color:#fecaca}.admin-delete-btn:disabled,.admin-link-btn:disabled{opacity:.4;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:13px;font-weight:500;padding:8px 14px;border:1px solid transparent;cursor:pointer;transition:all .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:5px 10px;font-size:12px}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-secondary{background:#fff;color:#374151;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb}.btn-danger{background:#fff;color:#dc2626;border-color:#fecaca}.btn-danger:hover:not(:disabled){background:#fef2f2}.btn-link{background:none;color:#2563eb;padding:4px 8px}.btn-link:hover:not(:disabled){text-decoration:underline}.roles-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:flex-start}.roles-list{display:flex;flex-direction:column;gap:12px}.role-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px #00000008;transition:all .15s}.role-card.is-active{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.role-card__head{display:flex;align-items:center;gap:8px;justify-content:space-between}.role-card__name{background:none;border:none;padding:0;font-weight:700;font-size:14px;color:#111;cursor:pointer;text-align:left}.role-card__name:hover{color:#2563eb}.role-card__badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;background:#f3f4f6;color:#6b7280;border-radius:4px;padding:2px 6px}.role-card__desc{margin:6px 0;color:#6b7280;font-size:12px;line-height:1.4}.role-card__meta{font-size:11px;color:#9ca3af;margin-bottom:8px}.role-card__actions{display:flex;gap:6px;justify-content:flex-end}.roles-detail{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;min-height:240px}.roles-detail__empty{text-align:center;padding:64px 24px;color:#9ca3af;font-size:14px}.role-editor__field{margin-bottom:16px}.role-editor__field label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:6px}.role-editor__field input,.role-editor__field textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-family:inherit}.role-editor__field input:disabled,.role-editor__field textarea:disabled{background:#f9fafb;color:#6b7280}.role-editor__hint{font-size:11px;color:#9ca3af;margin-top:4px;display:block}.role-editor__permissions{margin-top:24px}.role-editor__permissions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.role-editor__permissions-header h4{margin:0;font-size:14px;font-weight:600}.role-editor__count{font-size:12px;color:#6b7280}.role-editor__group{border-top:1px solid #f3f4f6;padding:12px 0}.role-editor__group header{margin-bottom:8px}.role-editor__group-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.role-editor__group ul{list-style:none;margin:0;padding:0 0 0 24px}.role-editor__group li{padding:6px 0}.role-editor__group li label{display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:baseline;cursor:pointer;font-size:12px}.role-editor__group li input{grid-row:1 / span 2;align-self:center}.role-editor__group li code{grid-column:2;font-size:11px;background:#f3f4f6;border-radius:4px;padding:1px 6px;color:#111}.role-editor__perm-label{grid-column:3;font-weight:500;color:#111}.role-editor__perm-desc{grid-column:2 / span 2;font-size:11px;color:#6b7280;margin-top:2px}.role-editor__error{margin-top:16px;padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:12px;color:#dc2626}.role-editor__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid #f3f4f6}.permissions-ref{display:flex;flex-direction:column;gap:24px}.permissions-ref__group h3{margin:0 0 8px;font-size:14px;font-weight:600;color:#111}.overrides-backdrop{position:fixed;inset:0;background:#0f172a66;z-index:200;display:flex;justify-content:flex-end}.overrides-drawer{width:540px;max-width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 16px #0000001a}.overrides-drawer__header{padding:18px 22px;border-bottom:1px solid #e5e7eb;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.overrides-drawer__header h3{margin:0;font-size:16px}.overrides-drawer__sub{display:block;font-size:12px;color:#6b7280;margin-top:2px}.overrides-drawer__close{background:none;border:1px solid transparent;width:30px;height:30px;border-radius:6px;cursor:pointer;font-size:16px;color:#6b7280}.overrides-drawer__close:hover{background:#f3f4f6}.overrides-help{padding:12px 22px;margin:0;background:#f9fafb;font-size:12px;color:#6b7280;border-bottom:1px solid #f3f4f6}.overrides-list{flex:1;overflow-y:auto;padding:12px 22px 24px}.overrides-group{margin-bottom:20px}.overrides-group h4{margin:12px 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;color:#6b7280;letter-spacing:.5px}.overrides-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.overrides-row{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid #f3f4f6;border-radius:8px;background:#fff}.overrides-row__info{display:flex;flex-direction:column;gap:2px}.overrides-row__info code{font-size:11px;color:#111;background:#f3f4f6;border-radius:4px;padding:1px 6px;width:fit-content}.overrides-row__label{font-weight:500;font-size:13px;color:#111}.overrides-row__desc{font-size:12px;color:#6b7280}.overrides-row__inherit{font-size:11px;color:#6b7280}.overrides-row__inherit.is-granted{color:#047857}.overrides-row__inherit.is-denied{color:#b91c1c}.overrides-row__choices{display:flex;gap:6px}.overrides-choice{flex:1;border:1px solid #e5e7eb;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;cursor:pointer;text-align:center;background:#fff}.overrides-choice input{display:none}.overrides-choice.is-selected.overrides-choice--inherit{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.overrides-choice.is-selected.overrides-choice--grant{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.overrides-choice.is-selected.overrides-choice--deny{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.overrides-error{padding:10px 22px;background:#fef2f2;border-top:1px solid #fecaca;color:#dc2626;font-size:12px}.overrides-drawer__footer{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-top:1px solid #e5e7eb}.overrides-drawer__footer-actions{display:flex;gap:8px}@media(max-width:900px){.admin-page{padding:20px 16px}.roles-layout{grid-template-columns:1fr}.admin-table-wrapper{overflow-x:auto}.overrides-drawer{width:100vw}}.chat-mon{padding:32px 40px;max-width:1200px}.chat-mon__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.chat-mon__header h2{margin:0;font-size:22px;font-weight:700;color:#111}.chat-mon__subtitle{font-size:13px;color:#999;margin-top:2px;display:block}.chat-mon__refresh-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer;color:#555;transition:all .15s}.chat-mon__refresh-btn:hover{background:#fafafa;border-color:#ccc;color:#222}.chat-mon__filters{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 20px;margin-bottom:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.chat-mon__filter-group{display:flex;flex-direction:column;gap:4px}.chat-mon__filter-group--grow{flex:1;min-width:200px}.chat-mon__filter-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}.chat-mon__filter-input,.chat-mon__filter-select{padding:7px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#374151;background:#fff;transition:border-color .15s}.chat-mon__filter-input:focus,.chat-mon__filter-select:focus{outline:2px solid #93c5fd;outline-offset:1px;border-color:#93c5fd}.chat-mon__filter-clear{background:none;border:none;font-size:12px;color:#6b7280;cursor:pointer;padding:8px 4px;text-decoration:underline}.chat-mon__filter-clear:hover{color:#374151}.chat-mon__error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;font-size:13px;color:#dc2626;margin-bottom:20px}.chat-mon__loading,.chat-mon__forbidden,.chat-mon__empty{text-align:center;padding:64px 16px;color:#999;font-size:15px}.chat-mon__group{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.chat-mon__group-header{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s;border:none;background:none;width:100%;text-align:left;font:inherit;color:inherit}.chat-mon__group-header:hover{background:#f9fafb}.chat-mon__group-toggle{font-size:12px;color:#9ca3af;transition:transform .2s;flex-shrink:0}.chat-mon__group-toggle--open{transform:rotate(90deg)}.chat-mon__group-info{flex:1;min-width:0;display:flex;gap:8px 20px;align-items:center;justify-content:space-between}.chat-mon__group-titles{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.chat-mon__group-title{font-size:13px;font-weight:600;color:#111}.chat-mon__group-title code{font-family:ui-monospace,SF Mono,monospace;font-size:12px}.chat-mon__group-subtitle{font-size:12px;color:#6b7280}.chat-mon__group-subtitle code{font-family:ui-monospace,SF Mono,monospace;font-size:11px}.chat-mon__group-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;flex-shrink:0;min-width:160px}.chat-mon__group-meta{font-size:12px;color:#9ca3af;white-space:nowrap}.chat-mon__group-badge{display:inline-block;align-self:flex-start;padding:1px 8px;margin-bottom:4px;border-radius:4px;font-size:11px;font-weight:600;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.chat-mon__copy-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;font-size:13px;cursor:pointer;padding:0 3px;margin-left:4px;opacity:.35;transition:opacity .15s,color .15s;color:inherit;vertical-align:middle;line-height:1}.chat-mon__copy-btn:hover{opacity:1}.chat-mon__copy-btn--copied{opacity:1;color:#059669}.chat-mon__sessions{border-top:1px solid #f3f4f6}.chat-mon__session-row{display:flex;align-items:center;gap:16px;padding:10px 16px 10px 44px;border-bottom:1px solid #f3f4f6;font-size:13px;color:#374151;transition:background .1s}.chat-mon__session-row:last-child{border-bottom:none}.chat-mon__session-row:hover{background:#f9fafb}.chat-mon__session-id{flex:1;min-width:0;font-family:ui-monospace,SF Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-mon__session-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.chat-mon__session-events{font-size:12px;color:#6b7280;white-space:nowrap}.chat-mon__session-date{font-size:12px;color:#9ca3af;font-variant-numeric:tabular-nums;white-space:nowrap}.chat-mon__session-view-btn{background:none;border:1px solid #e0e0e0;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:500;cursor:pointer;color:#555;transition:all .15s;white-space:nowrap}.chat-mon__session-view-btn:hover{background:#f9fafb;border-color:#ccc;color:#222}.chat-mon__pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:13px;color:#6b7280}.chat-mon__pagination-info{font-size:13px}.chat-mon__pagination-buttons{display:flex;gap:6px}.chat-mon__page-btn{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer;color:#374151;transition:all .15s}.chat-mon__page-btn:hover:not(:disabled){background:#f9fafb;border-color:#ccc}.chat-mon__page-btn:disabled{opacity:.4;cursor:not-allowed}.chat-mon__page-btn--active{background:#2d2d2d;color:#fff;border-color:#2d2d2d}@media(max-width:768px){.chat-mon{padding:20px 16px}.chat-mon__filters{flex-direction:column}.chat-mon__session-row{padding-left:16px;flex-wrap:wrap}.chat-mon__group-info{flex-direction:column;gap:2px}}.convo-page{padding:32px 40px;max-width:960px}.convo-page__top-bar{margin-bottom:20px}.convo-page__back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid #e0e0e0;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer;color:#555;transition:all .15s}.convo-page__back-btn:hover{background:#fafafa;border-color:#ccc;color:#222}.convo-page__info{display:flex;flex-wrap:wrap;gap:16px;padding:14px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px}.convo-page__info-item{display:flex;flex-direction:column;gap:1px}.convo-page__info-label{font-size:10px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.4px}.convo-page__info-value{font-size:13px;color:#374151;font-family:ui-monospace,SF Mono,monospace;display:inline-flex;align-items:center;gap:2px}.convo-page__copy-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;font-size:13px;cursor:pointer;padding:0 3px;margin-left:4px;opacity:.35;transition:opacity .15s,color .15s;color:inherit;vertical-align:middle;line-height:1}.convo-page__copy-btn:hover{opacity:1}.convo-page__copy-btn--copied{opacity:1;color:#059669}.convo-page__chat{background:#f0f2f5;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden}.convo-page__chat-header{background:#2d2d2d;color:#fff;padding:14px 20px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:10px}.convo-page__chat-avatar{width:32px;height:32px;border-radius:50%;background:#4f46e5;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}.convo-page__chat-header-info{display:flex;flex-direction:column}.convo-page__chat-header-name{font-size:14px;font-weight:600}.convo-page__chat-header-sub{font-size:11px;color:#aaa;font-weight:400}.convo-page__messages{padding:20px;display:flex;flex-direction:column;gap:8px;min-height:200px;max-height:70vh;overflow-y:auto;background:linear-gradient(180deg,#f0f2f5,#e8eaed)}.convo-page__empty{text-align:center;padding:48px 16px;color:#9ca3af;font-size:14px}.convo-page__loading,.convo-page__forbidden{text-align:center;padding:64px 16px;color:#999;font-size:15px}.convo-page__error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;font-size:13px;color:#dc2626;margin-bottom:20px}.convo-page__load-more{text-align:center;padding:16px;color:#9ca3af;font-size:13px}.convo-page__date-sep{display:flex;align-items:center;justify-content:center;padding:10px 0 6px}.convo-page__date-sep span{background:#00000014;color:#666;font-size:11px;font-weight:600;padding:3px 12px;border-radius:10px}.convo-bubble{display:flex;max-width:75%;animation:bubbleIn .15s ease-out;flex-direction:column;scroll-margin-top:16px}@keyframes bubbleIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.convo-bubble--user{align-self:flex-end;align-items:flex-end}.convo-bubble--bot{align-self:flex-start;align-items:flex-start}.convo-bubble__sender{font-size:11px;font-weight:600;color:#6b7280;margin:8px 6px 3px;text-transform:none;letter-spacing:0}.convo-bubble--user .convo-bubble__sender{color:#6b7280}.convo-bubble--bot .convo-bubble__sender{color:#4f46e5}.convo-bubble__sender--system{align-self:flex-start;color:#4f46e5;margin:4px 6px -4px}.convo-bubble__content{padding:8px 12px;border-radius:14px;font-size:14px;line-height:1.45;position:relative;box-shadow:0 1px 1px #0000000f;transition:box-shadow .15s,transform .15s}.convo-bubble--user .convo-bubble__content{background:#2d2d2d;color:#fff;border-bottom-right-radius:4px}.convo-bubble--bot .convo-bubble__content{background:#fff;color:#1a1a1a;border-bottom-left-radius:4px}.convo-bubble--paired .convo-bubble__content{box-shadow:0 0 0 2px #4f46e573,0 1px 3px #00000014}.convo-bubble--flagged .convo-bubble__content{box-shadow:0 0 0 2px #ef44444d,0 1px 3px #00000014}.convo-bubble--paired.convo-bubble--flagged .convo-bubble__content{box-shadow:0 0 0 2px #dc262661,0 1px 3px #00000014}.convo-bubble__text{white-space:pre-wrap;word-break:break-word}.convo-bubble__empty{color:#9ca3af;font-style:italic}.convo-bubble__reply-to{display:flex;align-items:flex-start;gap:4px;background:#4f46e514;border:none;border-left:3px solid rgba(79,70,229,.5);border-radius:4px;padding:4px 8px;margin:-2px 0 6px;font-size:11px;color:#4b5563;cursor:pointer;text-align:left;font-family:inherit;max-width:100%;transition:background .15s}.convo-bubble__reply-to:hover{background:#4f46e526;color:#1f2937}.convo-bubble__reply-to-arrow{font-size:13px;color:#6366f1;flex-shrink:0;line-height:1.45}.convo-bubble__reply-to-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.convo-bubble__meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:10px}.convo-bubble--user .convo-bubble__meta{color:#999;justify-content:flex-end}.convo-bubble--bot .convo-bubble__meta{color:#9ca3af}.convo-page__status{display:inline-block;padding:0 5px;border-radius:3px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.convo-page__status--completed{background:#ecfdf5;color:#059669}.convo-page__status--pending{background:#fffbeb;color:#d97706}.convo-page__status--failed{background:#fef2f2;color:#dc2626}.convo-bubble__duration{display:inline-flex;align-items:center;gap:2px;color:#9ca3af;font-variant-numeric:tabular-nums}.convo-bubble__exec-link,.convo-system__exec-link{font-family:ui-monospace,SF Mono,monospace;font-size:10px;color:#6366f1;text-decoration:none;border-bottom:1px dotted rgba(99,102,241,.4);padding-bottom:1px}.convo-bubble__exec-link:hover,.convo-system__exec-link:hover{color:#4338ca;border-bottom-color:#4338ca}.convo-bubble__copy-link{background:none;border:none;font-size:12px;cursor:pointer;padding:0 2px;opacity:0;transition:opacity .15s;color:inherit;line-height:1}.convo-bubble:hover .convo-bubble__copy-link{opacity:.5}.convo-bubble__copy-link:hover{opacity:1!important}.convo-bubble__actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.convo-bubble__action-chip{display:inline-flex;align-items:center;padding:1px 6px;background:#0000000d;border-radius:4px;font-size:10px;color:#6b7280;font-family:ui-monospace,SF Mono,monospace}.convo-bubble__metrics{margin:3px 6px 0;font-size:10px;color:#9ca3af;font-family:ui-monospace,SF Mono,monospace;display:flex;flex-wrap:wrap;align-items:center;gap:5px;line-height:1.3;max-width:100%}.convo-bubble__metrics-model,.convo-bubble__metrics-tools{color:#9ca3af}.convo-bubble__metrics-sep{color:#d1d5db}.convo-bubble__feedback{margin-top:6px;padding-top:6px;border-top:1px solid rgba(0,0,0,.08);font-size:12px;color:#6b7280}.convo-bubble--user .convo-bubble__feedback{border-color:#ffffff26;color:#aaa}.convo-bubble__attachments{margin-top:6px;display:flex;flex-direction:column;gap:2px}.convo-bubble__attachment-link{font-size:12px;text-decoration:underline}.convo-bubble--user .convo-bubble__attachment-link{color:#93c5fd}.convo-bubble--bot .convo-bubble__attachment-link{color:#4f46e5}.convo-system{align-self:flex-start;max-width:75%;padding:8px 12px;border-radius:14px 14px 14px 4px;font-size:13px;line-height:1.45;scroll-margin-top:16px;box-shadow:0 1px 1px #0000000f}.convo-system--announcement{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12}.convo-system--webhook{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.convo-system__header{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px;opacity:.75}.convo-system__icon{font-size:12px}.convo-system__label{flex-shrink:0}.convo-system__time{margin-left:auto;font-weight:500;text-transform:none;letter-spacing:0;opacity:.7}.convo-system__copy-link{background:none;border:none;font-size:12px;cursor:pointer;padding:0 2px;opacity:0;transition:opacity .15s;color:inherit;line-height:1}.convo-system:hover .convo-system__copy-link{opacity:.5}.convo-system__copy-link:hover{opacity:1!important}.convo-system__text{white-space:pre-wrap;word-break:break-word}.flag-button-wrapper{position:relative;display:inline-flex}.flag-button{flex-shrink:0;background:#6366f129;border:1px solid rgba(79,70,229,.55);border-radius:6px;font-size:15px;cursor:pointer;padding:3px 9px;opacity:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;color:#4338ca;line-height:1;display:inline-flex;align-items:center;gap:3px;box-shadow:0 1px 2px #0000000f}.flag-button:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.convo-bubble--user .flag-button{background:#ffffff29;border-color:#fde047a6;color:#fde047}.convo-bubble--user .flag-button:hover{background:#ffffff42;border-color:#fde047;box-shadow:0 0 0 2px #fde04740}.convo-system--announcement .flag-button{background:#ea580c24;border-color:#ea580c73;color:#c2410c}.convo-system--webhook .flag-button{background:#2563eb24;border-color:#2563eb73;color:#1d4ed8}.convo-bubble--bot .flag-button:hover{background:#6366f142;border-color:#4f46e5;box-shadow:0 0 0 2px #6366f133}.convo-system--announcement .flag-button:hover{background:#ea580c38;border-color:#ea580c;box-shadow:0 0 0 2px #ea580c2e}.convo-system--webhook .flag-button:hover{background:#2563eb38;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb2e}.flag-button--active{background:#ef444424!important;border-color:#dc2626a6!important;color:#dc2626!important;box-shadow:0 0 0 2px #ef444433}.convo-bubble--flagged .flag-button.flag-button--active,.convo-system--flagged .flag-button.flag-button--active{box-shadow:none!important}.flag-button--active.flag-button--in_progress{background:#f59e0b29!important;border-color:#d97706a6!important;color:#d97706!important;box-shadow:0 0 0 2px #f59e0b38}.flag-button--active.flag-button--done{background:#10b98124!important;border-color:#05966999!important;color:#059669!important;box-shadow:0 0 0 2px #10b9812e}.flag-button--active.flag-button--cancelled{background:#9ca3af33!important;border-color:#6b72808c!important;color:#4b5563!important;box-shadow:none}.flag-button__count{font-size:9px;font-weight:700;background:currentColor;color:#fff;border-radius:8px;padding:0 4px;line-height:13px;min-width:13px;text-align:center}.convo-system--flagged{box-shadow:0 0 0 2px #ef444440}.flag-popover{position:absolute;z-index:50;top:calc(100% + 6px);right:0;width:320px;background:#fff;border:1px solid #d1d5db;border-radius:10px;box-shadow:0 6px 18px #0000001f;padding:12px;display:flex;flex-direction:column;gap:10px;text-align:left;font-size:12px;color:#1f2937}.flag-popover__header{display:flex;justify-content:space-between;align-items:center}.flag-popover__title{font-weight:600;font-size:13px}.flag-popover__close{background:none;border:none;font-size:18px;line-height:1;cursor:pointer;color:#6b7280;padding:0 4px}.flag-popover__close:hover{color:#111}.flag-popover__meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11px;color:#6b7280}.flag-popover__status{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;background:#fee2e2;color:#b91c1c}.flag-popover__status--in_progress{background:#fef3c7;color:#92400e}.flag-popover__status--done{background:#d1fae5;color:#047857}.flag-popover__status--cancelled{background:#e5e7eb;color:#6b7280}.flag-popover__error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:6px;padding:6px 8px;font-size:11px}.flag-popover__flag-description{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.flag-popover__flag-description-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.35px;color:#64748b;margin-bottom:4px}.flag-popover__flag-description-body{font-size:12px;line-height:1.45;color:#1f2937;white-space:pre-wrap;word-break:break-word}.flag-popover__comments{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;padding:8px 0}.flag-popover__empty{font-style:italic;color:#9ca3af;text-align:center;font-size:11px}.flag-popover__comment{padding:6px 8px;background:#f9fafb;border-radius:6px}.flag-popover__comment--deleted{opacity:.5}.flag-popover__comment-meta{display:flex;gap:6px;align-items:center;font-size:10px;color:#6b7280;margin-bottom:2px}.flag-popover__comment-meta strong{color:#374151;font-weight:600}.flag-popover__comment-delete{background:none;border:none;color:#9ca3af;font-size:10px;cursor:pointer;padding:0;margin-left:auto}.flag-popover__comment-delete:hover{color:#ef4444}.flag-popover__comment-body{font-size:12px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.flag-popover__textarea{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;font-family:inherit;font-size:12px;resize:vertical}.flag-popover__textarea:focus{outline:none;border-color:#6366f1}.flag-popover__actions{display:flex;gap:8px;justify-content:flex-end}.flag-popover__primary{background:#6366f1;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer}.flag-popover__primary:hover:not(:disabled){background:#4f46e5}.flag-popover__primary:disabled{opacity:.5;cursor:not-allowed}.flag-popover__danger{background:none;color:#b91c1c;border:1px solid #fecaca;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer}.flag-popover__danger:hover:not(:disabled){background:#fef2f2}.flag-popover__danger:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.convo-page{padding:20px 16px}.convo-bubble,.convo-system{max-width:90%}.convo-page__info{flex-direction:column;gap:8px}}.stat-tile{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:10px 12px;min-width:0}.stat-tile__label{font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.stat-tile__value{font-size:1.25rem;font-weight:700;color:#222;line-height:1.2}.stat-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:20px}.metrics-page__filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:16px}.metrics-page__field{display:flex;flex-direction:column;gap:4px;min-width:140px}.metrics-page__field-label{font-size:12px;font-weight:600;color:#555}.metrics-page__select,.metrics-page__input{padding:6px 8px;border:1px solid #ccc;border-radius:6px;font-size:14px;background:#fff}.metrics-page__clear{align-self:flex-end}.metrics-page__table-wrap{overflow-x:auto;margin-top:8px}.metrics-page__table{width:100%;border-collapse:collapse;font-size:13px}.metrics-page__table th,.metrics-page__table td{border:1px solid #e8e8e8;padding:8px 10px;text-align:left}.metrics-page__table th{background:#f7f7f7;font-weight:600}.metrics-page__footnote{margin-top:24px;padding-top:16px;border-top:1px solid #e8e8e8;font-size:12px;color:#555;line-height:1.5}.metrics-page__footnote-line{margin:0 0 10px}.metrics-page__footnote-title{display:inline-block;font-weight:700;color:#333;margin-right:6px}.metrics-page__footnote-line code{font-size:11px;background:#f4f4f4;padding:1px 4px;border-radius:3px}.metrics-page__footnote-hint{cursor:help;color:#888}.metrics-page{padding:24px 32px 40px;max-width:1400px}.metrics-page__header{margin-bottom:8px}.metrics-page__title{margin:0 0 4px;font-size:1.5rem;color:#222}.metrics-page__subtitle{margin:0;font-size:.9rem;color:#666}.metrics-page__charts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}@media(max-width:900px){.metrics-page__charts{grid-template-columns:1fr}}.metrics-page .chart-card{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:14px 16px}.metrics-page .chart-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.metrics-page .chart-card-title{font-size:13px;font-weight:600;color:#333;margin:0}.metrics-page__merchants{margin-bottom:8px}.metrics-page__loading,.metrics-page__empty{padding:24px;text-align:center;color:#666;background:#fafafa;border:1px dashed #ddd;border-radius:8px;margin-bottom:16px}.metrics-page__error{padding:12px 14px;margin-bottom:12px;background:#fff4f4;border:1px solid #f0c0c0;border-radius:8px;color:#8b2a2a}.metrics-page__error p{margin:0 0 8px}.llm-usage-page{padding:24px 32px;max-width:1400px;overflow-x:hidden}.llm-usage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.llm-usage-header h2{margin:0;font-size:22px}.llm-usage-subtitle{display:block;margin-top:2px;color:#777;font-size:13px}.llm-usage-section{margin-bottom:32px}.llm-usage-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.llm-usage-section-header h3{margin:0;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:#555;font-weight:600}.llm-usage-section-hint{font-size:12px;color:#888}.llm-usage-loading,.llm-usage-empty{padding:24px;text-align:center;color:#777;background:#fafafa;border:1px dashed #ddd;border-radius:8px;font-size:13px}.llm-usage-empty--error{color:#b00020;background:#fff5f5;border-color:#ffd0d0}.llm-usage-link{background:none;border:none;color:#1f5d99;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.llm-usage-error{padding:16px;border:1px solid #ffd0d0;background:#fff5f5;color:#b00020;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.llm-usage-error .btn-retry{padding:6px 14px;border:1px solid #b00020;background:#fff;color:#b00020;border-radius:6px;cursor:pointer;font-weight:600}.llm-usage-range-toggle{display:inline-flex;background:#f3f3f3;border-radius:8px;padding:3px;gap:2px}.llm-usage-range-toggle--sm{padding:2px;border-radius:6px}.llm-usage-range-btn{border:none;background:transparent;color:#555;font-size:13px;font-weight:500;padding:6px 14px;border-radius:6px;cursor:pointer;transition:background .12s ease,color .12s ease}.llm-usage-range-toggle--sm .llm-usage-range-btn{font-size:11px;padding:3px 10px;border-radius:4px}.llm-usage-range-btn:hover{color:#222}.llm-usage-range-btn.is-active{background:#fff;color:#222;font-weight:600;box-shadow:0 1px 3px #0000000f}.llm-usage-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.llm-usage-kpi-card{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:14px 16px}.llm-usage-kpi-label{font-size:11px;font-weight:600;color:#777;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.llm-usage-kpi-value{font-size:22px;font-weight:600;color:#222;word-break:break-word}.llm-usage-kpi-hint{margin-top:4px;font-size:11px;color:#999}.llm-usage-page .chart-card{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:14px 16px}.llm-usage-page .chart-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}.llm-usage-page .chart-card-title{font-size:13px;font-weight:600;color:#333}.llm-usage-page .chart-card-hint{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.04em}.llm-usage-page .charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.llm-usage-page .chart-card-full{grid-column:1 / -1}@media(max-width:1024px){.llm-usage-page .charts-grid{grid-template-columns:1fr}}.jira-connect-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#0f172a73;padding:24px}.jira-connect-modal__card{width:100%;max-width:420px;background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000001f;padding:20px 22px}.jira-connect-modal__card h3{margin:0 0 4px;font-size:18px;color:#111}.jira-connect-modal__hint{margin:0 0 16px;font-size:13px;color:#6b7280}.jira-connect-modal__field{margin-bottom:14px}.jira-connect-modal__field label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:6px}.jira-connect-modal__field select{width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff}.jira-connect-modal__error{font-size:13px;color:#b91c1c;margin-bottom:12px}.jira-connect-modal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.jira-connect-modal__btn{border-radius:8px;padding:8px 16px;font-size:13px;cursor:pointer;border:1px solid #e5e7eb;background:#fff;color:#374151}.jira-connect-modal__btn:hover{background:#fafafa}.jira-connect-modal__btn--primary{border-color:#4f46e5;background:#4f46e5;color:#fff}.jira-connect-modal__btn--primary:hover:not(:disabled){background:#4338ca}.jira-connect-modal__btn--primary:disabled{opacity:.5;cursor:not-allowed}.tasks-page{padding:32px 40px;max-width:1280px}.tasks-page__header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}.tasks-page__header-actions{display:flex;align-items:center;gap:10px}.tasks-page__connect-jira{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer;color:#4338ca;font-weight:500;transition:background .15s}.tasks-page__connect-jira:hover{background:#e0e7ff}.tasks-page__header h2{margin:0 0 4px;font-size:22px;color:#111}.tasks-page__subtitle{font-size:13px;color:#6b7280}.tasks-page__refresh{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer;color:#555;transition:background .15s}.tasks-page__refresh:hover{background:#fafafa}.tasks-page__tabs{display:flex;gap:6px;border-bottom:1px solid #e5e7eb;margin-bottom:14px;padding-bottom:0}.tasks-page__tab{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:8px 14px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tasks-page__tab:hover{color:#111}.tasks-page__tab--active{color:#4f46e5;border-bottom-color:#4f46e5}.tasks-page__tab-count{background:#f3f4f6;color:#6b7280;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600}.tasks-page__tab--active .tasks-page__tab-count{background:#eef2ff;color:#4f46e5}.tasks-page__filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px;margin-bottom:14px}.tasks-page__filter{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#6b7280}.tasks-page__filter--grow{flex:1;min-width:220px}.tasks-page__filter span{font-weight:600;text-transform:uppercase;letter-spacing:.4px;font-size:10px;color:#9ca3af}.tasks-page__filter select,.tasks-page__filter input{border:1px solid #d1d5db;border-radius:6px;padding:5px 8px;font-size:12px;background:#fff;min-width:130px}.tasks-page__filter--grow input{width:100%}.tasks-page__filter select:focus,.tasks-page__filter input:focus{outline:none;border-color:#6366f1}.tasks-page__clear{background:none;border:1px solid #fecaca;color:#b91c1c;border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer}.tasks-page__clear:hover{background:#fef2f2}.tasks-page__error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:12px}.tasks-page__loading,.tasks-page__empty{text-align:center;padding:40px 16px;color:#6b7280;font-size:13px}.tasks-page__list{display:flex;flex-direction:column;gap:6px}.tasks-page__item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.task-row__header{display:grid;grid-template-columns:32px minmax(76px,auto) 110px 1fr auto;align-items:center;gap:10px;width:100%;background:none;border:none;padding:12px 14px;cursor:pointer;text-align:left;font-size:13px;color:#1f2937;transition:background .12s}.task-row__header:hover{background:#fafafa}.task-row__toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:11px;line-height:1;font-weight:800;color:#1e293b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;transition:transform .15s,background .12s,border-color .12s}.task-row__header:hover .task-row__toggle{background:#e2e8f0;border-color:#94a3b8}.task-row__toggle--open{transform:rotate(90deg)}.task-row__status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;background:#fee2e2;color:#b91c1c;text-align:center}.task-row__status--in_progress{background:#fef3c7;color:#92400e}.task-row__status--done{background:#d1fae5;color:#047857}.task-row__status--cancelled{background:#e5e7eb;color:#6b7280}.task-row__kind{font-size:11px;color:#6b7280}.task-row__snippet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.task-row__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;color:#6b7280;justify-content:flex-end}.task-row__chip{display:inline-block;padding:1px 7px;border-radius:4px;background:#f3f4f6;font-size:10px;font-weight:600}.task-row__chip--linked{background:#eef2ff;color:#4f46e5}.task-row__date{font-family:ui-monospace,SF Mono,monospace}.task-row__author{color:#9ca3af}.task-detail{border-top:1px solid #f3f4f6;padding:18px 20px 22px;font-size:13px;color:#1f2937}.task-detail__error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:6px;padding:8px 10px;font-size:12px;margin-bottom:12px}.task-detail__columns{display:grid;grid-template-columns:1fr 280px;gap:24px}.task-detail h4{margin:0 0 8px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}.task-detail__main h4:not(:first-child){margin-top:18px}.task-detail__flag-description{background:#f0fdf4;border-left:3px solid #059669;padding:10px 12px;border-radius:4px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;margin-bottom:4px}.task-detail__flag-description p{margin:0}.task-detail__snapshot{background:#f9fafb;border-left:3px solid #6366f1;padding:10px 12px;border-radius:4px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.task-detail__snapshot p{margin:0}.task-detail__snapshot-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.35px;color:#64748b;margin-bottom:4px}.task-detail__snapshot-label--after-user{margin-top:12px}.task-detail__empty{color:#9ca3af;font-style:italic}.task-detail__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.task-detail__link{display:inline-flex;align-items:center;padding:6px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;color:#4f46e5;text-decoration:none;transition:border-color .15s,background .15s}.task-detail__link:hover{border-color:#6366f1;background:#eef2ff}.task-detail__link--linked{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.task-detail__send-tracker{background:#4f46e5;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:500;cursor:pointer}.task-detail__send-tracker:hover:not(:disabled){background:#4338ca}.task-detail__send-tracker:disabled{opacity:.5;cursor:not-allowed}.task-detail__comments{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.task-detail__comment{background:#f9fafb;border-radius:6px;padding:8px 10px}.task-detail__comment--deleted{opacity:.5}.task-detail__comment-meta{display:flex;gap:8px;align-items:center;font-size:11px;color:#6b7280;margin-bottom:3px}.task-detail__comment-meta strong{color:#374151;font-weight:600}.task-detail__comment-meta em{color:#9ca3af;font-style:italic}.task-detail__comment-body{white-space:pre-wrap;word-break:break-word}.task-detail__textarea{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px;resize:vertical}.task-detail__textarea:focus{outline:none;border-color:#6366f1}.task-detail__textarea-row{display:flex;justify-content:flex-end;margin-top:6px}.task-detail__primary{background:#4f46e5;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:500;cursor:pointer}.task-detail__primary:hover:not(:disabled){background:#4338ca}.task-detail__primary:disabled{opacity:.5;cursor:not-allowed}.task-detail__side h4:not(:first-child){margin-top:18px}.task-detail__status-row{margin-bottom:8px}.task-detail__status{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;background:#fee2e2;color:#b91c1c}.task-detail__status--in_progress{background:#fef3c7;color:#92400e}.task-detail__status--done{background:#d1fae5;color:#047857}.task-detail__status--cancelled{background:#e5e7eb;color:#6b7280}.task-detail__transitions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.task-detail__transition{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:4px 10px;font-size:11px;cursor:pointer;color:#374151}.task-detail__transition:hover:not(:disabled){background:#f3f4f6}.task-detail__meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 10px;font-size:12px;margin:0}.task-detail__meta dt{color:#6b7280;font-weight:600;font-size:11px}.task-detail__meta dd{margin:0;word-break:break-all}.task-detail__history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:11px;color:#4b5563}.task-detail__history-item{padding-left:10px;border-left:2px solid #e5e7eb}.task-detail__history-time{color:#9ca3af;margin-right:6px;font-family:ui-monospace,SF Mono,monospace}.task-detail__history-note{display:block;color:#6b7280;margin-top:2px;font-style:italic}.tasks-page__load-more{display:flex;justify-content:center;margin:16px 0 32px}.tasks-page__load-more button{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px 20px;font-size:13px;cursor:pointer;color:#374151}.tasks-page__load-more button:hover:not(:disabled){background:#f9fafb}.tasks-page__load-more button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1024px){.task-detail__columns{grid-template-columns:1fr}}@media(max-width:760px){.tasks-page{padding:20px 16px}.task-row__header{grid-template-columns:32px 1fr;grid-template-rows:auto auto auto auto auto}.task-row__toggle{grid-column:1;grid-row:1 / span 4;align-self:start}.task-row__status,.task-row__kind,.task-row__snippet,.task-row__meta{grid-column:2}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;color:#1a1a1a}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,color .2s;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus{outline:none;box-shadow:0 0 0 2px #1a1a1a}.btn-primary{background:#2d2d2d;color:#fff;border:1px solid #2d2d2d}.btn-primary:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-secondary{background:#e0e0e0;color:#333;border:1px solid #ccc}.btn-secondary:hover:not(:disabled){background:#d0d0d0}.btn-lg{padding:16px 32px;font-size:16px}.btn-sm{padding:8px 16px;font-size:12px}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:#888}.auth-loading-spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#2d2d2d;border-radius:50%;animation:auth-spin 1s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.login-page{display:flex;align-items:center;justify-content:center;height:100vh;background:#f5f5f5;padding:20px}.login-card{background:#fff;border-radius:8px;padding:48px 32px;max-width:420px;text-align:center;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000f}.login-card h1{margin:0 0 12px;color:#1a1a1a;font-size:24px;font-weight:600}.login-card p{margin:0 0 24px;color:#555;font-size:15px;line-height:1.5}.login-button-wrapper{display:flex;justify-content:center}
