:root{--bg:#0d1017;--surface:#131826;--surface-raised:#1a2030;--border:#262d3f;--border-strong:#343d54;--text:#e6e9f0;--text-muted:#8b93a7;--accent:#5b9cf5;--accent-strong:#3b82f0;--green:#4fd1a5;--red:#f56b8d;--red-strong:#e23c66;--amber:#f5a95b;--radius:10px;--radius-sm:7px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}code{font-family:var(--font-mono);background:var(--surface-raised);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.92em}.app-shell{height:100%;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);width:216px;padding:var(--space-4) var(--space-3);gap:var(--space-4);flex-direction:column;flex-shrink:0;display:flex}.sidebar-brand,.auth-brand{align-items:center;gap:var(--space-2);padding:0 var(--space-2);display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent) 0%, var(--green) 100%);border-radius:6px;flex-shrink:0;width:22px;height:22px}.brand-name{letter-spacing:.01em;font-size:15px;font-weight:650}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-item{text-align:left;width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;font-weight:500;transition:background .12s,color .12s;display:block}.nav-item:hover{background:var(--surface-raised);color:var(--text)}.nav-active,.nav-active:hover{color:var(--accent);background:#5b9cf524}.sidebar-footer{border-top:1px solid var(--border);padding-top:var(--space-3)}.main-column{flex-direction:column;flex:1;min-width:0;display:flex}.top-bar{align-items:flex-end;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);display:flex}.top-bar .field{min-width:200px}.key-field{flex:1;max-width:480px}.top-bar-status{white-space:nowrap;margin-left:auto;padding-bottom:6px;font-size:13px}.top-bar-error{color:var(--amber)}.hint-mark{width:14px;height:14px;margin-left:var(--space-1);border:1px solid var(--border-strong);color:var(--text-muted);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.content{padding:var(--space-5);flex:1;overflow-y:auto}.view{gap:var(--space-4);flex-direction:column;max-width:1160px;margin:0 auto;display:flex}.view-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.view-header h1{margin:0;font-size:20px;font-weight:650}.view-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:13px}.header-actions{align-items:center;gap:var(--space-3);display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.card-title{margin:0 0 var(--space-3);font-size:15px;font-weight:600}.chart-card{padding:var(--space-4) var(--space-3) var(--space-2)}.table-card{padding:0;overflow-x:auto}.toolbar{align-items:flex-end;gap:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.toolbar-submit{margin-left:auto}.date-range{gap:var(--space-3);display:flex}.field{gap:var(--space-1);flex-direction:column;display:flex}.field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}input,select{font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:none;min-height:34px;padding:7px 10px;transition:border-color .12s,box-shadow .12s}input::placeholder{color:var(--text-muted);opacity:.75}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5b9cf52e}input:disabled,select:disabled,.button:disabled{opacity:.5;cursor:not-allowed}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}select{cursor:pointer}.input-narrow{width:96px}.checkbox-field .toggle-row{align-items:center;gap:var(--space-2);min-height:34px;display:flex}.checkbox-field input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--accent)}.button{font:inherit;border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;min-height:34px;padding:7px 14px;font-weight:550;transition:background .12s,border-color .12s}.button.primary{background:var(--accent-strong);color:#fff}.button.primary:hover:not(:disabled){background:var(--accent)}.button.secondary{background:var(--surface-raised);border-color:var(--border-strong);color:var(--text)}.button.secondary:hover:not(:disabled){border-color:var(--accent)}.button.ghost{color:var(--text-muted);background:0 0}.button.ghost:hover:not(:disabled){color:var(--text);background:var(--surface-raised)}.button.danger-outline{color:var(--red);background:0 0;border-color:#f56b8d80;min-height:28px;padding:4px 10px}.button.danger-outline:hover:not(:disabled){border-color:var(--red);background:#f56b8d1f}.full-width{width:100%}.inline-form{align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.inline-form.wrap{flex-wrap:wrap}.inline-form input:not(.input-narrow){min-width:200px}.chip-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.chip{font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:13px;transition:all .12s}.chip:hover{border-color:var(--accent);color:var(--text)}.chip-active{border-color:var(--accent);color:var(--accent);background:#5b9cf529}.data-table,.retention-table{border-collapse:collapse;width:100%;font-size:13.5px}.data-table th,.data-table td,.retention-table th,.retention-table td{text-align:left;padding:10px var(--space-4);border-bottom:1px solid var(--border);vertical-align:top}.data-table thead th,.retention-table thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--surface-raised);font-size:11px;font-weight:600;position:sticky;top:0}.data-table tbody tr:last-child td,.retention-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#ffffff05}.row-links tbody tr{cursor:pointer}.row-selected{background:#5b9cf514}.num{font-variant-numeric:tabular-nums;text-align:right!important}.mono{font-family:var(--font-mono);font-size:12.5px}.nowrap{white-space:nowrap}.muted{color:var(--text-muted)}.event-name{font-weight:550}.log-body{overflow-wrap:anywhere;max-width:480px}.load-more-row{justify-content:center;display:flex}.retention-table td.retention-cell{font-variant-numeric:tabular-nums;border-left:2px solid var(--surface);min-width:62px}.retention-cell.empty{background:0 0}.sev-chip,.status-chip,.type-chip{letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:650;display:inline-block}.sev-fatal{color:#ff9db6;background:#e23c6647}.sev-error{color:var(--red);background:#f56b8d29}.sev-warn{color:var(--amber);background:#f5a95b29}.sev-info{color:var(--accent);background:#5b9cf529}.sev-debug{color:var(--text-muted);background:#8b93a729}.sev-trace{color:var(--text-muted);background:#8b93a71a}.status-active{color:var(--green);background:#4fd1a529}.status-revoked{color:var(--text-muted);background:#8b93a729;text-decoration:line-through}.status-new{color:var(--accent);background:#5b9cf529}.status-sent{color:var(--text-muted);background:#8b93a729}.type-secret{color:#c58bf2;background:#c58bf229}.type-public{color:#5bd3f5;background:#5bd3f524}.step-list{margin:0 0 var(--space-2);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.step-item{align-items:center;gap:var(--space-3);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);display:flex}.step-index{width:22px;height:22px;color:var(--accent);background:#5b9cf529;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:650;display:inline-flex}.step-name{font-family:var(--font-mono);flex:1;font-size:13px}.step-actions{gap:var(--space-1);display:flex}.icon-button{font:inherit;border:1px solid var(--border-strong);width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.icon-button.danger:hover:not(:disabled){color:var(--red);border-color:var(--red)}.icon-button:disabled{opacity:.35;cursor:not-allowed}.error-banner{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);color:#ffb3c6;background:#f56b8d1a;border:1px solid #f56b8d66;display:flex}.error-banner-icon{background:var(--red-strong);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:inline-flex}.feedback-block{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6);color:var(--text-muted);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);display:flex}.empty-state{gap:var(--space-1);text-align:center;flex-direction:column}.empty-title{color:var(--text);margin:0;font-size:15px;font-weight:600}.empty-hint{max-width:440px;margin:0}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.json-details summary{cursor:pointer;color:var(--accent);-webkit-user-select:none;user-select:none;font-size:12.5px}.json-details pre{margin:var(--space-2) 0 0;padding:var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);max-width:480px;max-height:260px;font-size:12px;overflow:auto}.live-status{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:13px;display:inline-flex}.live-dot{background:var(--green);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite pulse}.live-dot.paused{background:var(--text-muted);animation:none}@keyframes pulse{50%{opacity:.35}}.key-callout{border-radius:var(--radius-sm);padding:var(--space-4);margin-bottom:var(--space-4);background:#4fd1a514;border:1px solid #4fd1a573}.key-callout-title{margin:0 0 var(--space-1);color:var(--green);font-weight:650}.key-callout-warning{margin:0 0 var(--space-3);color:var(--text-muted);font-size:13px}.key-callout-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.raw-key{min-width:260px;padding:var(--space-2) var(--space-3);overflow-wrap:anywhere;background:var(--bg);border-color:var(--border-strong);flex:1}.user-feedback-explainer p{margin:0 0 var(--space-3);max-width:760px}.user-feedback-snippet{padding:var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);margin:0;font-size:12.5px;line-height:1.6;overflow-x:auto}.user-feedback-snippet+.user-feedback-snippet{margin-top:var(--space-2)}.user-feedback-list{gap:var(--space-3);flex-direction:column;display:flex}.user-feedback-card{padding:0;overflow:hidden}.user-feedback-header{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.user-feedback-header:hover{background:#ffffff05}.user-feedback-header .status-chip{flex-shrink:0}.user-feedback-preview{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.user-feedback-meta{color:var(--text-muted);flex-shrink:0;font-size:12.5px}.user-feedback-time{flex-shrink:0;font-size:12.5px}.user-feedback-chevron{color:var(--text-muted);flex-shrink:0;font-size:11px;transition:transform .12s}.user-feedback-chevron.open{transform:rotate(180deg)}.user-feedback-body{gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--border);flex-direction:column;display:flex}.user-feedback-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.user-feedback-done .user-feedback-preview,.user-feedback-done .user-feedback-text{color:var(--text-muted)}.user-feedback-details{gap:var(--space-1) var(--space-4);grid-template-columns:max-content 1fr;margin:0;display:grid}.user-feedback-details dt{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding-top:2px;font-size:11px;font-weight:600}.user-feedback-details dd{overflow-wrap:anywhere;margin:0;font-size:13px}.user-feedback-details a{color:var(--accent)}.user-feedback-screenshot{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);align-self:flex-start;max-width:100%;max-height:420px;overflow:auto}.user-feedback-screenshot img{max-width:100%;display:block}.user-feedback-actions{display:flex}.user-feedback-sent-at{margin:0;font-size:13px}.auth-screen{min-height:100%;padding:var(--space-5);justify-content:center;align-items:center;display:flex}.auth-card{gap:var(--space-4);background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;padding:var(--space-6);border-radius:14px;flex-direction:column;display:flex}.auth-brand{padding:0}.auth-brand h1{margin:0;font-size:19px;font-weight:650}.auth-explainer{color:var(--text-muted);margin:0;font-size:13px}.auth-error{color:var(--red);margin:0;font-size:13px}.auth-footnote{text-align:center;color:var(--text-muted);margin:0;font-size:12px}
