:root{--bg-app: #edf1f5;--bg-sidebar: #f8fafc;--bg-panel: #ffffff;--bg-hover: #eef3f7;--bg-msg-agent: #f8fafc;--border: #d9e0e7;--border-strong: #cbd5df;--border-active: #cad6e1;--border-msg: #e1e7ed;--text-primary: #1f2933;--text-heading: #111827;--text-body: #273342;--text-secondary: #4b5968;--text-muted: #697586;--text-faint: #9aa6b2;--text-on-dark: #ffffff;--dark: #1f2933;--accent: #356f8f;--accent-soft: #e8f1f6;--ok: #2f9e68;--ok-bg: #e8f6ee;--ok-text: #217a51;--warn-text: #a15c00;--warn-bg: #fdf3d7;--danger-text: #ba2f3b;--danger-bg: #fdecea;--radius: 8px;--radius-sm: 6px;--shadow-card: 0 1px 2px #0f172a0f;--font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text-primary);background:var(--bg-app);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;font-size:inherit;cursor:pointer}input,textarea{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app{display:grid;grid-template-columns:244px minmax(0,1fr);height:100vh;overflow:hidden;background:var(--bg-app)}.app--blurred{filter:blur(8px) brightness(.95);pointer-events:none;-webkit-user-select:none;user-select:none}.workspace{min-width:0;height:100vh;overflow:hidden;display:grid;grid-template-columns:0% 100%;transition:grid-template-columns .46s cubic-bezier(.4,0,.2,1)}.workspace[data-stage=split]{grid-template-columns:68% 32%}.workspace[data-stage=full]{grid-template-columns:100% 0%}.workspace[data-stage=full] .chat{opacity:0;visibility:hidden;overflow:hidden}.workspace[data-stage=split][data-chat=collapsed]{grid-template-columns:calc(100% - 44px) 44px}@media(max-width:1180px){.workspace[data-stage=split]{grid-template-columns:62% 38%}}.workspace[data-boot="1"],.workspace[data-boot="1"] .canvas,.workspace[data-boot="1"] .chat__spacer{transition:none}.workspace[data-boot="1"] .msg{animation:none}@media(prefers-reduced-motion:reduce){.workspace{transition:none}}.sidebar{display:flex;flex-direction:column;gap:22px;height:100vh;overflow:hidden;padding:20px 14px;border-right:1px solid var(--border);background:var(--bg-sidebar)}.brand{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;padding:0 6px 12px}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--radius);background:var(--dark);color:var(--text-on-dark);font-weight:750}.brand__text strong{display:block;font-size:14px}.brand__text span{display:block;margin-top:2px;color:var(--text-muted);font-size:12px}.nav-list{display:grid;gap:6px}.nav-group-label{padding:0 10px 2px;font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em}.nav-item{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:center;width:100%;min-height:40px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:#445260;text-align:left}.nav-item:hover{background:var(--bg-hover)}.nav-item.active{border-color:var(--border-active);background:var(--bg-panel);color:var(--text-heading);box-shadow:var(--shadow-card)}.nav-item__icon{display:grid;place-items:center;color:var(--text-muted)}.nav-item.active .nav-item__icon{color:var(--accent)}.sidebar__status{padding:0 6px}.pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:var(--radius);font-size:12px;font-weight:700}.pill.status.ok{background:var(--ok-bg);color:var(--ok-text)}.pill.status.info{background:var(--accent-soft);color:var(--accent)}.sidebar__footer{margin-top:auto;display:grid;gap:10px}.sidebar__project{display:grid;grid-template-columns:10px minmax(0,1fr);column-gap:10px;align-items:start;padding:12px;border:1px solid #dbe3ea;border-radius:var(--radius);background:var(--bg-panel)}.sidebar__project:before{content:"";width:9px;height:9px;margin-top:4px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px #2f9e6824}.sidebar__project-name{display:block;font-size:14px;font-weight:600;color:var(--text-primary);grid-column:2}.sidebar__project-slug{display:block;margin-top:2px;color:var(--text-muted);font-size:12px;grid-column:2}.chat{display:flex;flex-direction:column;min-width:0;min-height:0;height:100vh;background:var(--bg-panel)}.chat--panel{border-left:1px solid var(--border)}.chat__stream-inner,.chat__composer-inner,.chat__topbar-inner{width:min(760px,100%);margin:0 auto}.chat--panel .chat__stream-inner,.chat--panel .chat__composer-inner,.chat--panel .chat__topbar-inner{width:100%}.chat__topbar{flex:none;padding:10px 20px;border-bottom:1px solid #e5ebf0}.chat__topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px}.chat--panel .chat__topbar{padding:10px 14px}.chat__title{font-size:13px;font-weight:600;color:var(--text-primary)}.chat__intro{padding:0 4px 8px;text-align:center}.eyebrow{display:block;margin-bottom:4px;color:var(--accent);font-size:12px;font-weight:700}.chat__intro-title{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--text-heading)}.chat__intro-lead{margin:10px auto 0;max-width:560px;font-size:14px;color:var(--text-muted)}.chat__actions{display:flex;align-items:center;gap:10px}.chat__brief-btn{font-size:12px;font-weight:600;color:var(--text-primary);padding:5px 12px;border:1px solid var(--border-strong);border-radius:999px;background:var(--bg-panel)}.chat__brief-btn:hover:not(:disabled){background:var(--bg-hover)}.chat__brief-btn:disabled{opacity:.55;cursor:default}.chat__brief-status{font-size:12px;color:var(--text-secondary)}.chat__brief-status--failed{color:var(--danger-text)}.chat__mode{font-size:11px;color:var(--text-muted);padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg-sidebar)}.chat__collapse{border:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);width:26px;height:26px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1}.chat__collapse:hover{background:var(--bg-hover);color:var(--text-primary)}.chat__stream{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:20px 20px 0}.chat--intro .chat__stream{justify-content:flex-end;overflow:visible}.chat--panel .chat__stream{padding:14px 14px 0}.chat__stream-inner{display:flex;flex-direction:column;gap:14px}.chat__spacer{flex:0 1 auto;height:0;flex-grow:0;transition:flex-grow .46s cubic-bezier(.4,0,.2,1)}.chat--intro .chat__spacer{flex-grow:1}@media(prefers-reduced-motion:reduce){.chat__spacer{transition:none}}.msg{max-width:86%;display:flex;flex-direction:column;gap:4px;animation:msg-in .22s ease-out both}.chat--panel .msg{max-width:96%}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.msg{animation:none}}.msg--user{align-self:flex-end;align-items:flex-end}.msg--agent{align-self:flex-start;align-items:flex-start}.msg__author{font-size:11px;color:var(--text-faint);padding:0 4px}.msg__bubble{padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.chat--panel .msg__bubble{padding:9px 12px;font-size:13px;line-height:1.45}.msg--user .msg__bubble{background:var(--dark);color:var(--text-on-dark)}.msg--agent .msg__bubble{background:var(--bg-msg-agent);color:var(--text-body);border:1px solid var(--border-msg)}.msg--pending .msg__bubble{opacity:.55}.msg--failed .msg__bubble{outline:1px dashed var(--danger-text)}.msg--highlighted .msg__bubble{outline:2px solid var(--accent);outline-offset:1px}.msg__status{font-size:11px;color:var(--text-faint);padding:0 4px}.msg__status--failed{color:var(--danger-text)}.msg__status--typing{animation:typing-pulse 1.4s ease-in-out infinite}@keyframes typing-pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.msg__status--typing{animation:none}}.msg__retry{font-size:11px;color:var(--text-secondary);background:transparent;border:1px dashed var(--border-strong);padding:2px 8px;border-radius:var(--radius-sm)}.msg__retry:hover{background:var(--bg-panel);color:var(--text-primary)}.chat__composer{flex:none;padding:16px 20px 18px;background:var(--bg-panel)}.chat--panel .chat__composer{padding:12px 14px 14px}.chat__input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:8px 8px 8px 14px;border:1px solid var(--border-strong);border-radius:14px;background:var(--bg-panel);box-shadow:var(--shadow-card);transition:border-color .12s ease,box-shadow .12s ease}.chat__input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #356f8f1f}.chat__input{min-width:0;border:none;background:transparent;resize:none;padding:7px 0;max-height:200px;font-size:14px;line-height:1.5;color:var(--text-primary);outline:none}.chat__input::placeholder{color:var(--text-faint)}.chat--intro .chat__input{min-height:96px}.chat--intro .chat__input-wrap{padding:12px 12px 10px 16px;border-radius:16px}.chat__send{flex:none;width:34px;height:34px;border:none;border-radius:10px;background:var(--dark);color:var(--text-on-dark);display:inline-flex;align-items:center;justify-content:center;transition:opacity .12s ease}.chat__send:hover:not(:disabled){opacity:.88}.chat__send:disabled{background:var(--border-strong);color:var(--text-muted);cursor:not-allowed}.chat__send.is-loading{opacity:.6;cursor:progress}.chat__hint{font-size:11px;color:var(--text-faint);margin-top:8px;text-align:center}.chat__error{margin:0 4px 8px;color:var(--danger-text);font-size:12px}.chat__history-state{color:var(--text-faint);font-size:12px}.chat__history-state--error{color:var(--danger-text)}.chat__history-retry{background:none;border:none;padding:0;color:inherit;font-size:inherit;text-decoration:underline}.chat__source-notice{font-size:12px;color:var(--warn-text);background:var(--warn-bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 12px}.chat-rail{display:flex;flex-direction:column;align-items:center;padding-top:12px;border-left:1px solid var(--border);background:var(--bg-panel);height:100vh;overflow:hidden}.chat-rail__expand{width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text-muted);font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.chat-rail__expand:hover{background:var(--bg-hover);color:var(--text-primary)}.canvas{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--bg-app);opacity:1;transition:opacity .26s ease .14s}.workspace:not([data-stage=split]):not([data-stage=full]) .canvas{opacity:0;visibility:hidden;transition:opacity .16s ease}@media(prefers-reduced-motion:reduce){.canvas{transition:none}}.canvas__topbar[hidden]{display:none}.canvas__topbar{display:flex;align-items:stretch;gap:8px;padding-right:12px;border-bottom:1px solid var(--border);background:var(--bg-app)}.canvas__topbar>.tabs{flex:1;border-bottom:none}.canvas__body{flex:1;min-height:0;overflow-y:auto;padding:24px}.tabs{display:flex;align-items:stretch;background:var(--bg-app);padding:8px 8px 0;gap:2px;border-bottom:1px solid var(--border);overflow-x:auto}.tab{display:inline-flex;align-items:center;gap:8px;padding:8px 12px 9px;border:1px solid transparent;border-bottom:none;background:transparent;color:var(--text-secondary);border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm);font-size:13px;cursor:pointer;position:relative;white-space:nowrap;max-width:220px}.tab:hover{color:var(--text-primary);background:#ffffff80}.tab--active{background:var(--bg-panel);color:var(--text-primary);border-color:var(--border)}.tab__icon{display:inline-flex;color:var(--text-muted)}.tab--active .tab__icon{color:var(--accent)}.tab__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab__pin{display:inline-flex;color:var(--text-faint)}.tab__dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.tab__close{border:none;background:transparent;color:var(--text-faint);width:18px;height:18px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1}.tab__close:hover{background:var(--border);color:var(--text-primary)}.btn{border:1px solid var(--border-strong);background:var(--bg-panel);color:var(--text-primary);padding:6px 12px;border-radius:var(--radius-sm);font-size:13px}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.55;cursor:default}.btn--primary{background:var(--dark);border-color:var(--dark);color:var(--text-on-dark)}.btn--primary:hover:not(:disabled){background:#2b3947}.btn--danger{border-color:#f0b3ae;background:var(--danger-bg);color:var(--danger-text)}.btn--danger:hover:not(:disabled){background:#fbdedb}.projects{display:flex;flex-direction:column;gap:18px;padding:24px 28px;height:100%;overflow:auto}.projects__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.projects__title{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--text-heading)}.projects__hint{margin:0;max-width:60ch;color:var(--text-muted);font-size:13px}.projects__form{display:flex;gap:8px;align-items:center}.projects__input{flex:1 1 auto;min-width:0;max-width:520px;padding:8px 12px;font:inherit;font-size:14px;color:var(--text-primary);background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.projects__input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.projects__error{background:var(--danger-bg);border:1px solid #f5b7b1;color:var(--danger-text);padding:10px 12px;border-radius:var(--radius-sm);font-size:13px}.projects__empty{color:var(--text-muted);font-size:13px}.projects__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;align-content:start}.folder{position:relative;display:block;padding:0;text-align:left;background:none;border:none;cursor:pointer}.folder__tab{position:relative;z-index:1;display:block;width:46%;height:14px;margin:0 0 -1px 10px;border:1px solid var(--border-strong);border-bottom:none;border-radius:8px 8px 0 0;background:var(--bg-panel)}.folder__body{display:flex;flex-direction:column;gap:6px;min-height:132px;padding:16px;border:1px solid var(--border-strong);border-radius:2px var(--radius) var(--radius) var(--radius);background:var(--bg-panel);box-shadow:var(--shadow-card);transition:border-color .12s ease,transform 60ms ease}.folder:hover .folder__body,.folder:hover .folder__tab{border-color:var(--accent)}.folder:active .folder__body{transform:translateY(1px)}.folder__icon{color:var(--accent)}.folder__name{font-size:15px;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.folder__meta{margin-top:auto;color:var(--text-faint);font-size:12px}.folder--active .folder__body,.folder--active .folder__tab{border-color:var(--accent);background:var(--accent-soft)}.folder__badge{position:absolute;top:20px;right:12px;padding:2px 8px;border-radius:999px;background:var(--ok-bg);color:var(--ok-text);font-size:11px;font-weight:600}.folder--new .folder__body{border-style:dashed;box-shadow:none;background:transparent;color:var(--text-muted);margin-top:13px;border-radius:var(--radius)}.artifacts-index{display:flex;flex-direction:column;gap:16px;padding:24px 28px;height:100%;overflow:auto}.artifacts-index__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.artifacts-index__title{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--text-heading)}.artifacts-index__hint{margin:0;color:var(--text-muted);font-size:13px}.artifacts-index__error{background:var(--danger-bg);border:1px solid #f5b7b1;color:var(--danger-text);padding:10px 12px;border-radius:var(--radius-sm);font-size:13px}.artifacts-index__empty{color:var(--text-muted);background:var(--bg-panel);border:1px dashed var(--border-strong);padding:16px 20px;border-radius:var(--radius);font-size:13px}.artifacts-index__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.artifacts-index__item{display:flex;align-items:center;gap:14px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;cursor:pointer;box-shadow:var(--shadow-card);transition:border-color .12s ease,transform 60ms ease}.artifacts-index__item:hover{border-color:var(--border-strong)}.artifacts-index__item:active{transform:translateY(1px)}.artifacts-index__icon{font-size:22px;width:28px;text-align:center;color:var(--accent)}.artifacts-index__meta{flex:1 1 auto;min-width:0}.artifacts-index__name{font-weight:600;color:var(--text-primary)}.artifacts-index__sub{margin-top:2px;color:var(--text-faint);font-size:12px}.artifacts-index__open{color:var(--text-faint);font-size:16px}.artifacts-index__delete{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-faint);cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease}.artifacts-index__item:hover .artifacts-index__delete,.artifacts-index__delete:focus-visible{opacity:1}.artifacts-index__delete:hover{border-color:#f0b3ae;background:var(--danger-bg);color:var(--danger-text)}.artifacts-index__confirm{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;cursor:default}.artifact-view__header{border-bottom:1px solid var(--border);padding-bottom:12px}.artifact-view__title{margin:0;font-size:22px;font-weight:700;color:var(--text-heading)}.artifact-view__meta{margin-top:4px;color:var(--text-faint);font-size:12px}.artifact-view__loading,.artifact-view__error{padding:32px;color:var(--text-muted)}.artifact-view__error{color:var(--danger-text)}.project-brief{padding:28px 32px 48px;max-width:760px}.project-brief__draft-badge{display:inline-block;font-size:11px;font-weight:600;color:var(--warn-text);padding:2px 8px;border:1px solid #d9b45b;border-radius:999px;background:var(--warn-bg)}.project-brief__version-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;color:var(--text-secondary)}.project-brief__type{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-secondary)}.project-brief__section{margin-top:24px}.project-brief__section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.project-brief__section-empty{font-size:13px;color:var(--text-faint);margin:0}.project-brief__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.brief-item{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;background:var(--bg-panel);box-shadow:var(--shadow-card)}.brief-item__head{display:flex;gap:8px;margin-bottom:6px}.brief-item__status{font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid var(--border-strong);color:var(--text-secondary);background:var(--bg-app)}.brief-item__status--user_stated{color:var(--ok-text);border-color:#7cbd92;background:var(--ok-bg)}.brief-item__status--assumption{color:var(--warn-text);border-color:#d9b45b;background:var(--warn-bg)}.brief-item__status--unknown{color:var(--text-faint)}.brief-item__status--conflict{color:var(--danger-text);border-color:#d99a92;background:var(--danger-bg)}.brief-item__kind{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary)}.brief-item__text{font-size:13.5px;color:var(--text-primary);margin:0;white-space:pre-wrap}.brief-item__excerpt{margin:8px 0 0;padding:6px 10px;border-left:3px solid var(--border-strong);font-size:12.5px;color:var(--text-secondary);background:var(--bg-sidebar);border-radius:0 6px 6px 0}.brief-item__refs{margin-top:6px;font-size:11.5px;color:var(--text-faint)}.brief-item__ref{font:inherit;color:var(--accent);background:none;border:none;padding:0 2px;text-decoration:underline}.brief-item__ref:hover{color:var(--text-primary)}.project-brief__unknown{margin-top:12px;padding:10px 14px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-sidebar)}.project-brief__unknown-title{font-size:12px;font-weight:600;color:var(--text-faint);margin:0 0 8px}.brief-feedback{margin-top:32px;padding-top:20px;border-top:1px solid var(--border)}.brief-feedback__title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.brief-feedback__current{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-sidebar);padding:10px 14px;margin-bottom:14px;font-size:13px;color:var(--text-primary)}.brief-feedback__current-rating{font-weight:600}.brief-feedback__current-comment{margin:6px 0 0;font-size:12.5px;color:var(--text-secondary);white-space:pre-wrap}.brief-feedback__current-date{display:block;margin-top:6px;font-size:11.5px;color:var(--text-faint)}.brief-feedback__options{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px}.brief-feedback__option{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary);cursor:pointer}.brief-feedback__comment-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.brief-feedback__comment-required{color:var(--danger-text);font-weight:600}.brief-feedback__comment{width:100%;box-sizing:border-box;min-height:64px;resize:vertical;font:inherit;font-size:13px;color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px 10px;background:var(--bg-panel)}.brief-feedback__error{margin:8px 0 0;font-size:12px;color:var(--warn-text);background:var(--warn-bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 12px}.brief-feedback__submit{margin-top:10px;font:inherit;font-size:13px;font-weight:600;color:var(--text-on-dark);background:var(--dark);border:none;border-radius:var(--radius);padding:8px 16px}.brief-feedback__submit:disabled{opacity:.5;cursor:default}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f293352;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:auth-overlay-in .16s ease-out}@keyframes auth-overlay-in{0%{opacity:0}to{opacity:1}}.auth-modal{width:min(100%,380px);background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:28px 28px 24px;box-shadow:0 30px 60px #0000002e,0 2px 6px #0000000f;animation:auth-modal-in .2s cubic-bezier(.2,.8,.3,1)}@keyframes auth-modal-in{0%{transform:translateY(8px) scale(.985);opacity:0}to{transform:none;opacity:1}}.auth-modal__brand{font-weight:700;font-size:14px;color:var(--accent);letter-spacing:-.01em;margin-bottom:18px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form__title{margin:0;font-size:18px;font-weight:600;color:var(--text-heading)}.auth-form__hint{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.auth-form__label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary);font-weight:500}.auth-form__input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-app);padding:10px 12px;font-size:14px;color:var(--text-primary);outline:none;transition:border-color .1s ease}.auth-form__input:focus{border-color:var(--accent);background:var(--bg-panel)}.auth-form__input--code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;letter-spacing:8px;text-align:center;padding:12px}.auth-form__error{background:var(--danger-bg);border:1px solid #f5b7b1;color:var(--danger-text);border-radius:var(--radius-sm);padding:8px 10px;font-size:12.5px;line-height:1.45}.auth-form__submit{border:none;border-radius:var(--radius-sm);background:var(--dark);color:var(--text-on-dark);padding:11px 14px;font-size:14px;font-weight:500;margin-top:4px;transition:background .1s ease}.auth-form__submit:hover:not(:disabled){background:#2c3e50}.auth-form__submit:disabled{background:var(--border-strong);color:var(--text-muted);cursor:not-allowed}.auth-form__link{margin-top:4px;background:transparent;border:none;color:var(--text-secondary);font-size:12.5px;text-decoration:underline;text-underline-offset:3px;align-self:center;padding:4px 8px}.auth-form__link:hover{color:var(--text-primary)}.tenant-switcher{position:relative;display:flex;align-items:center}.tenant-switcher__btn{display:inline-flex;align-items:center;gap:8px;width:100%;padding:6px 10px 6px 6px;border:1px solid var(--border);background:var(--bg-panel);border-radius:999px;color:var(--text-primary);font-size:13px;font-weight:500}.tenant-switcher__btn:hover{background:var(--bg-hover)}.tenant-switcher.is-open .tenant-switcher__btn{border-color:var(--border-strong)}.tenant-switcher__avatar{width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--text-on-dark);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex:none}.tenant-switcher__avatar--sm{width:22px;height:22px;font-size:11px}.tenant-switcher__name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-switcher__chevron{margin-left:auto;color:var(--text-faint);font-size:10px}.tenant-switcher__menu{position:absolute;bottom:calc(100% + 6px);left:0;width:280px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:6px;box-shadow:0 12px 28px #0000001f,0 1px 3px #0000000d;z-index:50;animation:tenant-switcher-in .1s ease-out}@keyframes tenant-switcher-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.tenant-switcher__group{padding:6px 10px 4px;font-size:11px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.tenant-switcher__item{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;padding:8px 10px;border-radius:var(--radius-sm);text-align:left;font-size:13px;color:var(--text-primary)}.tenant-switcher__item:hover{background:var(--bg-app)}.tenant-switcher__item.is-active{background:var(--accent-soft)}.tenant-switcher__item-text{display:flex;flex-direction:column;min-width:0}.tenant-switcher__item-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-switcher__item-role{font-size:11px;color:var(--text-faint);text-transform:lowercase}.tenant-switcher__divider{height:1px;background:var(--border);margin:6px 4px}.tenant-switcher__user{padding:4px 10px;font-size:11.5px;color:var(--text-faint)}.tenant-switcher__item--danger{color:var(--danger-text)}.tenant-switcher__item--danger:hover{background:var(--danger-bg)}
