:root{--bg: #f4f6f9;--surface: #ffffff;--surface-hover: #f8f9fb;--nav-bg: #1a1a2e;--nav-text: #ffffff;--nav-text-muted: #9ca3af;--ink: #1a1a2e;--ink-muted: #6b7280;--ink-faint: #9ca3af;--border: #e5e7eb;--brand: #4f46e5;--brand-hover: #4338ca;--success: #16a34a;--success-bg: #dcfce7;--warning: #d97706;--warning-bg: #fef3c7;--danger: #dc2626;--danger-bg: #fee2e2;--danger-hover: #b91c1c;--info: #0284c7;--info-bg: #e0f2fe;--radius: 8px;--radius-sm: 4px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;background:var(--bg);color:var(--ink);min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.nav{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:56px;background:var(--nav-bg);color:var(--nav-text);flex-shrink:0}.nav__title{font-weight:600;font-size:.9375rem}.nav__signout{background:transparent;color:var(--nav-text-muted);border:1px solid #374151;border-radius:var(--radius-sm);padding:.3rem .75rem;cursor:pointer;font-size:.8125rem;transition:color .15s,border-color .15s}.nav__signout:hover{color:var(--nav-text);border-color:#6b7280}.page{padding:1.5rem;flex:1}.page__header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.page__title{font-size:1.125rem;font-weight:600}.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .875rem;border-radius:var(--radius-sm);border:none;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s;text-decoration:none}.btn--ghost{background:transparent;color:var(--ink-muted);border:1px solid var(--border)}.btn--ghost:hover{background:var(--surface-hover)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover{background:var(--danger-hover)}.btn--danger:disabled{opacity:.5;cursor:not-allowed}.table-wrap{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.table{width:100%;border-collapse:collapse}.table th{background:#f9fafb;text-align:left;padding:.625rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);border-bottom:1px solid var(--border)}.table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);color:var(--ink);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{cursor:pointer;transition:background .1s}.table tbody tr:hover{background:var(--surface-hover)}.table--no-click tbody tr{cursor:default}.badge{display:inline-block;padding:.175rem .5rem;border-radius:99px;font-size:.75rem;font-weight:500;line-height:1.4}.badge--active{background:var(--success-bg);color:var(--success)}.badge--paused{background:#f3f4f6;color:var(--ink-muted)}.badge--running{background:var(--info-bg);color:var(--info)}.badge--queued{background:var(--warning-bg);color:var(--warning)}.badge--completed{background:var(--success-bg);color:var(--success)}.badge--failed{background:var(--danger-bg);color:var(--danger)}.badge--pending{background:var(--warning-bg);color:var(--warning)}.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:1.25rem;gap:0}.tab{padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:var(--ink-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab--active{color:var(--brand);border-bottom-color:var(--brand)}.detail-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem}.detail-grid{display:grid;grid-template-columns:180px 1fr;gap:0}.detail-grid__key{padding:.5rem 0;font-size:.8125rem;font-weight:500;color:var(--ink-muted);border-bottom:1px solid var(--border)}.detail-grid__value{padding:.5rem 0;font-size:.8125rem;color:var(--ink);border-bottom:1px solid var(--border);word-break:break-all}.detail-grid__key:last-of-type,.detail-grid__value:last-child{border-bottom:none}.memory-content{background:#f9fafb;border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:480px;overflow-y:auto}.banner{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:var(--radius-sm);font-size:.8125rem;margin-bottom:1rem}.banner--warning{background:var(--warning-bg);color:var(--warning)}.banner--success{background:var(--success-bg);color:var(--success)}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--ink-muted);font-size:.875rem}.error{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.875rem;margin-bottom:1rem}.empty{text-align:center;padding:3rem;color:var(--ink-muted);font-size:.875rem}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.signin__card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:2.5rem 2rem;width:100%;max-width:360px;text-align:center}.signin__title{font-size:1.25rem;font-weight:700;margin-bottom:.375rem}.signin__subtitle{font-size:.875rem;color:var(--ink-muted);margin-bottom:1.75rem}.signin__btn{display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;padding:.625rem 1rem;background:#4285f4;color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .15s}.signin__btn:hover{background:#3367d6}.signin__btn:disabled{opacity:.6;cursor:not-allowed}.signin__error{color:var(--danger);font-size:.8125rem;margin-top:.75rem}.nav__links{display:flex;gap:.25rem;margin:0 1rem}.nav__link{color:var(--nav-text-muted);text-decoration:none;font-size:.875rem;font-weight:500;padding:.3rem .75rem;border-radius:var(--radius-sm);transition:color .15s,background .15s}.nav__link:hover{color:var(--nav-text);background:#ffffff12}.nav__link--active{color:var(--nav-text);background:#ffffff1f}.form{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem}.form__title{font-size:1rem;font-weight:600;margin-bottom:1.25rem}.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form__group{display:flex;flex-direction:column;gap:.375rem}.form__group--full{grid-column:1 / -1}.form__label{font-size:.8125rem;font-weight:500;color:var(--ink-muted)}.form__input,.form__select,.form__textarea{padding:.5rem .625rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit;color:var(--ink);background:var(--surface);transition:border-color .15s}.form__input:focus,.form__select:focus,.form__textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #4f46e51a}.form__textarea{resize:vertical;min-height:80px;line-height:1.5}.form__actions{display:flex;gap:.5rem;margin-top:1.25rem;justify-content:flex-end}.btn--primary{background:var(--brand);color:#fff}.btn--primary:hover{background:var(--brand-hover)}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--ink-muted)}.mono{font-family:JetBrains Mono,monospace;font-size:.8125rem}.ml-auto{margin-left:auto}.form__hint{font-weight:400;margin-left:.5rem}.form__meta{font-size:.8125rem;margin-bottom:.75rem}.form__detail-section{margin-bottom:1.25rem}.form--spaced{margin-bottom:1.5rem}.form__textarea--memory{width:100%;min-height:240px;font-family:JetBrains Mono,monospace;font-size:.8125rem}.chat-panel{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:1rem;align-items:start}.chat-form,.chat-log{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem}.chat-form__textarea{min-height:140px}.chat-log{min-height:300px}.chat-exchange+.chat-exchange{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.chat-bubble{border:1px solid var(--border);border-radius:var(--radius);padding:.875rem;background:#f9fafb}.chat-bubble+.chat-bubble{margin-top:.625rem}.chat-bubble--answer{background:var(--surface)}.chat-bubble__label{font-size:.75rem;font-weight:600;color:var(--ink-muted);margin-bottom:.375rem}.chat-bubble p{white-space:pre-wrap;word-break:break-word}.chat-meta{margin-top:.625rem;padding-top:.625rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--ink-muted)}@media (max-width: 900px){.chat-panel{grid-template-columns:1fr}}
