:root{font-synthesis:none;text-rendering:optimizelegibility;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--font-size-caption:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--color-bg:#f4f6f4;--color-surface:#fff;--color-surface-subtle:#f7f9f7;--color-border:#e1e7e1;--color-text:#1a231c;--color-text-secondary:#566656;--color-text-tertiary:#787;--color-text-faint:#99a399;--color-border-subtle:#ebf0eb;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--color-accent:#1f7a4d;--color-accent-hover:#186a41;--color-on-accent:#fff;--color-success-bg:#e9f7ee;--color-success-text:#1e7a3c;--color-error-bg:#fdecea;--color-error-text:#c0392b;--color-input-border:#ccd3cc;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 2px 8px #0000001f;--shadow-lg:0 4px 16px #00000029;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:999px;--transition-fast:.15s ease;background:#f4f6f4;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{min-width:100%;min-height:100%;margin:0}body{color:var(--color-text);margin:0}*{box-sizing:border-box}button{font:inherit;padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;transition:background var(--transition-fast)}button:hover:not(:disabled){background:var(--color-accent-hover)}button:disabled{opacity:.6;cursor:default}button.secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}button.secondary:hover:not(:disabled){background:var(--color-surface-subtle)}input{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--color-input-border);border-radius:var(--radius-md);width:100%}table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:var(--font-size-base);overflow:hidden}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}tbody tr:last-child td{border-bottom:none}code{font-size:var(--font-size-sm);background:var(--color-surface-subtle);border-radius:var(--radius-sm);padding:2px 6px}.muted{color:var(--color-text-secondary)}.lead{color:var(--color-text-secondary);font-size:var(--font-size-md)}.error-text{color:var(--color-error-text)}.brand-mark{border-radius:var(--radius-sm);background:var(--color-accent);width:32px;height:32px;color:var(--color-on-accent);font-weight:700;font-size:var(--font-size-sm);justify-content:center;align-items:center;display:inline-flex}.brand-name{font-weight:600;font-size:var(--font-size-lg)}.auth-card{max-width:420px;padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;margin:15vh auto}.auth-card button{margin-top:var(--space-4)}.landing{max-width:640px;padding:var(--space-8);text-align:center;margin:10vh auto}.landing-brand{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);display:flex}.landing h1{font-size:var(--font-size-xl);margin-bottom:var(--space-3)}.landing-features{margin:var(--space-6) 0;gap:var(--space-2);color:var(--color-text-secondary);flex-direction:column;padding:0;list-style:none;display:flex}.landing-features li:before{content:"✓ ";color:var(--color-accent)}.landing-actions{justify-content:center;gap:var(--space-3);display:flex}.auth-modal-backdrop{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal-dialog{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-8);width:min(420px, calc(100vw - 2 * var(--space-4)));position:relative}.auth-modal-close{top:var(--space-3);right:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-xl);padding:0 var(--space-1);background:0 0;border:none;line-height:1;position:absolute}.auth-modal-dialog form{gap:var(--space-3);margin:var(--space-4) 0;flex-direction:column;display:flex}.dashboard{min-height:100vh;display:flex}.shell-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);width:220px;padding:var(--space-5);flex-direction:column;flex-shrink:0;display:flex}.shell-brand{align-items:center;gap:var(--space-2);margin-bottom:var(--space-8);display:flex}.shell-nav{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.shell-nav-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;text-decoration:none;display:block}.shell-nav-item:hover{background:var(--color-surface-subtle)}.shell-nav-item.active{background:var(--color-surface-subtle);color:var(--color-accent);font-weight:600}.shell-sidebar-footer{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.shell-account{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.shell-main{padding:var(--space-8);flex:1;max-width:960px}.shell-page-title{font-size:var(--font-size-xl);margin:0 0 var(--space-6) 0}.banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.banner-error{background:var(--color-error-bg);color:var(--color-error-text)}.banner-success{background:var(--color-success-bg);color:var(--color-success-text)}.new-key-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.status-badge{border-radius:var(--radius-full);font-size:var(--font-size-caption);padding:2px 10px;font-weight:600;display:inline-block}.status-badge.complete{background:var(--color-success-bg);color:var(--color-success-text)}.status-badge.attention{background:var(--color-error-bg);color:var(--color-error-text)}.metric-detail{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.empty-state{padding:var(--space-8);text-align:center;color:var(--color-text-secondary);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.section-header{margin-bottom:var(--space-3)}.section-header.end{justify-content:flex-end;display:flex}.revoked-keys-toggle{margin-bottom:var(--space-3)}.crash{justify-content:center;align-items:center;min-height:100vh;display:flex}.crash-card{max-width:420px;padding:var(--space-8);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.assistant-dock{top:var(--space-5);right:var(--space-5);bottom:var(--space-5);z-index:40;pointer-events:none;flex-direction:column;align-items:flex-end;width:44px;transition:width .22s;display:flex;position:fixed}.assistant-dock-open{width:min(380px, calc(100vw - var(--space-8)))}.assistant-toggle{border-radius:var(--radius-full);width:44px;height:44px;font-weight:var(--font-weight-bold);box-shadow:var(--shadow-md);pointer-events:auto;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.assistant-toggle-icon{justify-content:center;align-items:center;font-size:1.1rem;display:flex}.assistant-unread-dot{border-radius:var(--radius-full);background:var(--color-accent);border:2px solid var(--color-surface);width:11px;height:11px;position:absolute;top:-2px;right:-2px}.assistant-panel{width:min(380px, calc(100vw - var(--space-8)));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:none;opacity:0;transform-origin:100% 0;flex-direction:column;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:56px;bottom:0;right:0;overflow:hidden;transform:translateY(-6px)scale(.98)}.assistant-dock-open .assistant-panel{pointer-events:auto;opacity:1;transform:translateY(0)scale(1)}.assistant-panel-header{padding:var(--space-4);border-bottom:1px solid var(--color-border);font-weight:var(--font-weight-semibold);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.assistant-clear{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--space-2);background:0 0;border:none}.assistant-clear:hover:not(:disabled){color:var(--color-text);background:0 0}.assistant-thread{padding:var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.assistant-empty{color:var(--color-text-tertiary);font-size:var(--font-size-sm);text-align:center;margin-top:var(--space-6);padding:0 var(--space-3)}.assistant-message{max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-base);white-space:pre-wrap;word-break:break-word}.assistant-message-user{background:var(--color-accent);color:var(--color-on-accent);border-bottom-right-radius:4px;align-self:flex-end}.assistant-message-assistant{background:var(--color-border-subtle);color:var(--color-text);border-bottom-left-radius:4px;align-self:flex-start}.assistant-message-error{background:var(--color-error-bg);color:var(--color-error-text);text-align:center;align-self:stretch}.assistant-typing{gap:var(--space-1);padding:var(--space-3) var(--space-4);display:flex}.assistant-typing-dot{border-radius:var(--radius-full);background:var(--color-text-faint);width:6px;height:6px;animation:1.2s ease-in-out infinite assistant-typing-bounce}.assistant-typing-dot:nth-child(2){animation-delay:.15s}.assistant-typing-dot:nth-child(3){animation-delay:.3s}@keyframes assistant-typing-bounce{0%,60%,to{opacity:.6;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.assistant-input-row{align-items:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);display:flex}.assistant-input{resize:none;min-height:38px;max-height:120px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-input-border);border-radius:var(--radius-md);font-size:var(--font-size-base);flex:1;font-family:inherit}.assistant-input:focus-visible{border-color:var(--color-accent)}.assistant-send{flex-shrink:0}.assistant-char-count{padding:0 var(--space-4) var(--space-3);font-size:var(--font-size-caption);color:var(--color-text-tertiary);text-align:right}.assistant-char-count-over{color:var(--color-error-text)}.assistant-upsell{padding:var(--space-4);border-top:1px solid var(--color-border);text-align:center}.assistant-upsell p{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}
