:root{--bg:#212121;--sidebar:#171717;--panel:#2f2f2f;--text:#ececec;--muted:#8e8e8e;--accent:#10a37f;--border:#2f2f2f;--user-bubble:#2f2f2f;--danger:#ef4444;--warn:#f59e0b;--font:"Söhne","Inter","Vazirmatn","Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:none;border-radius:999px;background:var(--accent);color:#fff;padding:.55rem 1rem;cursor:pointer;font-weight:600}button.ghost{background:transparent;border:1px solid #3f3f3f;color:var(--text)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;background:var(--panel);border:1px solid #3f3f3f;color:var(--text);border-radius:12px;padding:.75rem .9rem}.layout{display:grid;grid-template-columns:260px 1fr;height:100vh}.sidebar{background:var(--sidebar);border-right:1px solid #2a2a2a;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;overflow:auto}.brand{font-weight:700;padding:.5rem .75rem 1rem;letter-spacing:.01em}.nav-btn{display:block;width:100%;text-align:left;background:transparent;color:var(--text);border-radius:10px;padding:.65rem .75rem;border:none;font-weight:500}.nav-btn.active,.nav-btn:hover{background:#212121}.section-label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;padding:.75rem .75rem .25rem}.main{display:flex;flex-direction:column;min-width:0;height:100vh}.topbar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid #2a2a2a}.mode-pill{display:inline-flex;background:#2a2a2a;border-radius:999px;padding:.2rem}.mode-pill button{background:transparent;color:var(--muted);padding:.35rem .9rem;border-radius:999px;font-weight:600}.mode-pill button.active{background:#404040;color:#fff}.content{flex:1 1;overflow:auto;padding:1.25rem}.composer{padding:1rem 1.25rem 1.25rem;border-top:1px solid #2a2a2a}.composer-box{display:flex;gap:.75rem;align-items:flex-end;max-width:820px;margin:0 auto}.chat-thread{display:flex;flex-direction:column}.chat-empty{max-width:820px;margin:12vh auto;text-align:center}.chat-messages{width:min(880px,100%);margin:0 auto;display:flex;flex-direction:column;gap:.85rem;padding-bottom:.5rem}.msg-row{display:flex;align-items:flex-end;gap:.55rem;width:100%}.msg-row.user{justify-content:flex-end}.msg-row.assistant{justify-content:flex-start}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:.65rem;font-weight:700;flex-shrink:0;letter-spacing:.02em}.avatar.assistant{background:#1a3d34;color:#86efac;border:1px solid #166534}.avatar.user{background:#2f2f2f;color:#d4d4d4;border:1px solid #444}.msg.bubble{max-width:min(72%,560px);margin:0;padding:.75rem .95rem;border-radius:16px;white-space:pre-wrap;line-height:1.5;word-break:break-word}.msg.bubble.user{background:#10a37f;color:#fff;border-bottom-right-radius:5px}.msg.bubble.assistant{background:#2a2a2a;border:1px solid #3a3a3a;border-bottom-left-radius:5px}.msg-label{display:block;margin-bottom:4px;font-size:.72rem;font-weight:600;opacity:.75}.msg.bubble.user .msg-label{color:hsla(0,0%,100%,.85);text-align:right}.msg-body{position:relative}.caret{display:inline-block;width:2px;height:1em;margin-left:2px;background:#86efac;vertical-align:text-bottom;animation:blink .9s step-end infinite}@keyframes blink{50%{opacity:0}}.typing-bubble{min-width:72px}.typing-indicator{display:inline-flex;align-items:center;gap:5px;padding:.35rem .15rem .15rem;height:1.4rem}.typing-indicator span{width:7px;height:7px;border-radius:50%;background:#8e8e8e;animation:typing-bounce 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}.muted{color:var(--muted)}.error{color:var(--danger)}.card{background:#262626;border:1px solid #333;border-radius:14px;padding:1rem;margin-bottom:.75rem}.step{display:grid;grid-template-columns:28px 1fr auto;grid-gap:.75rem;gap:.75rem;align-items:start;padding:.65rem 0;border-bottom:1px solid #333}.badge{font-size:.75rem;border-radius:999px;padding:.15rem .55rem;border:1px solid #444;color:var(--muted)}.badge.running{color:#67e8f9;border-color:#0e7490}.badge.completed{color:#86efac;border-color:#166534}.badge.awaiting_approval,.badge.awaiting_input,.badge.pending{color:#fde68a;border-color:#a16207}.badge.cancelled,.badge.failed{color:#fca5a5;border-color:#991b1b}.artifact{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1rem;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(420px,100%);background:#171717;border:1px solid #2f2f2f;border-radius:16px;padding:1.5rem}.stack{flex-direction:column}.row,.stack{display:flex;gap:.75rem}.row{align-items:center}@media (max-width:860px){.layout{grid-template-columns:1fr}.sidebar{display:none}}.wizard-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.65);display:grid;place-items:center;padding:1rem}.wizard-card{width:min(520px,100%);background:#1a1a1a;border:1px solid #333;border-radius:18px;padding:1.5rem;box-shadow:0 20px 60px rgba(0,0,0,.45)}.sidebar-footer{margin-top:auto;padding:.75rem .35rem .5rem;border-top:1px solid #2a2a2a}.sidebar-footer-row{display:flex;align-items:center;gap:.5rem}.admin-key{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:36px;padding:0 .7rem;border-radius:10px;color:var(--muted);border:1px solid #333;background:#1a1a1a;flex-shrink:0;font-size:.8rem;font-weight:600}.admin-key-label{white-space:nowrap}.admin-key.active,.admin-key:hover{color:var(--text);border-color:#555;background:#262626}.provider-card.active{border-color:#0e7490}.signout-btn{flex:1 1;padding:.45rem .75rem;font-size:.85rem;border-radius:10px}.admin-tabs{display:flex;gap:.35rem;margin:1rem 0 1.25rem;padding:.25rem;background:#1a1a1a;border:1px solid #2f2f2f;border-radius:12px;width:-moz-fit-content;width:fit-content;max-width:100%;flex-wrap:wrap}.admin-tab{background:transparent;color:var(--muted);border-radius:9px;padding:.45rem .9rem;font-weight:600;font-size:.9rem}.admin-tab.active{background:#2f2f2f;color:#fff}.admin-tab:hover:not(.active){color:var(--text)}.admin-wide{width:100%;padding:1.25rem 1.5rem 2rem}.admin-wide,.admin-wide .card{max-width:none}.admin-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9rem}.admin-table td,.admin-table th{text-align:left;padding:.55rem .4rem;border-bottom:1px solid #333;vertical-align:middle}.admin-table th{color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.admin-table select{width:auto;min-width:8rem;padding:.4rem .6rem}.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem;margin:.75rem 0}.role-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:.85rem 1rem}.nav-row{display:flex;align-items:center;gap:.15rem}.nav-row .nav-btn{flex:1 1;min-width:0}.icon-del{flex-shrink:0;width:28px;height:28px;padding:0;border-radius:8px;background:transparent;border:none;color:var(--muted);font-size:1.1rem;line-height:1;font-weight:500}.icon-del:hover{color:var(--danger);background:#2a1515}.user-chip{display:block;margin-bottom:.5rem;padding:.45rem .65rem;border-radius:10px;color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid transparent}.user-chip.active,.user-chip:hover{color:var(--text);background:#212121;border-color:#333}.mode-hint{max-width:42%;text-align:right}.bidi-text{unicode-bidi:plaintext;white-space:pre-wrap;word-break:break-word}[dir=rtl]{font-family:Vazirmatn,Tahoma,sans-serif}.msg.bubble[dir=rtl] .msg-label{text-align:right}.msg.bubble.user[dir=rtl] .msg-label{text-align:left}.artifact-md{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.1rem 1.25rem 1.25rem}.md-view{line-height:1.75;unicode-bidi:plaintext;word-break:break-word;color:var(--text);font-size:.98rem}.md-view .md-h1,.md-view h1,.md-view h1.md-h1{margin:.35rem 0 .75rem;font-size:1.45rem;font-weight:700;line-height:1.35;color:#f5f5f5;border-bottom:1px solid #333;padding-bottom:.45rem}.md-view .md-h2,.md-view h2,.md-view h2.md-h2{margin:1.25rem 0 .55rem;font-size:1.2rem;font-weight:700;line-height:1.4;color:#e7e7e7}.md-view .md-h3,.md-view h3,.md-view h3.md-h3{margin:1rem 0 .4rem;font-size:1.05rem;font-weight:650;color:#d4d4d4}.md-view .md-p,.md-view p{margin:.55rem 0}.md-view .md-ol,.md-view .md-ul,.md-view ol,.md-view ul{margin:.55rem 0;-webkit-padding-start:1.5rem;padding-inline-start:1.5rem}.md-view .md-li,.md-view li{margin:.35rem 0}.md-view .md-strong,.md-view strong{color:#fff;font-weight:700}.md-view .md-code-inline,.md-view code.md-code-inline{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:#111;padding:.1em .35em;border-radius:4px}.md-view .md-pre,.md-view pre{background:#111;border:1px solid #333;border-radius:10px;padding:.75rem;overflow:auto;direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate;text-align:left}.md-view .md-quote,.md-view blockquote{margin:.6rem 0;-webkit-padding-start:.85rem;padding-inline-start:.85rem;-webkit-border-start:3px solid #10a37f;border-inline-start:3px solid #10a37f;color:var(--muted)}.md-view .md-hr,.md-view hr{border:none;border-top:1px solid #333;margin:1rem 0}.md-view .md-table-wrap{overflow:auto;margin:.75rem 0}.md-view table{border-collapse:collapse;width:100%;font-size:.9rem}.md-view td,.md-view th{border:1px solid #333;padding:.4rem .55rem}.md-view a{color:#86efac}.confirm-popover{position:fixed;z-index:80;width:220px;background:#1f1f1f;border:1px solid #444;border-radius:12px;padding:.75rem;box-shadow:0 12px 40px rgba(0,0,0,.45)}.confirm-popover p{margin:0 0 .75rem;font-size:.9rem}.danger-btn{background:#b91c1c}.danger-btn:hover{background:#dc2626}.nav-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle{display:inline-flex;align-items:center;gap:.55rem;background:transparent;border:none;padding:.25rem .1rem;border-radius:10px;color:var(--text);font-weight:500}.toggle-track{width:42px;height:24px;border-radius:999px;background:#3a3a3a;border:1px solid #4a4a4a;position:relative;transition:background .15s ease;flex-shrink:0}.toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#d4d4d4;transition:transform .15s ease}.toggle.on .toggle-track{background:#0d9488;border-color:#0f766e}.toggle.on .toggle-thumb{transform:translateX(18px);background:#fff}.toggle-label{font-size:.85rem;color:var(--muted)}.check-chip,.toggle.on .toggle-label{color:var(--text)}.check-chip{display:inline-flex;align-items:center;gap:.45rem;background:#1f1f1f;border:1px solid #3a3a3a;border-radius:12px;padding:.45rem .7rem;font-weight:500;font-size:.85rem;text-align:left}.check-chip:hover{border-color:#555}.check-chip.on{background:#12352c;border-color:#0d9488;color:#ecfdf5}.check-chip-mark{width:18px;height:18px;border-radius:6px;border:1px solid #555;display:grid;place-items:center;font-size:.75rem;flex-shrink:0;background:#2a2a2a}.check-chip.on .check-chip-mark{background:#10a37f;border-color:#10a37f;color:#fff}.check-chip-text{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.15rem}.btn-sm{padding:.3rem .65rem;font-size:.8rem;border-radius:8px}.tool-row{padding:.9rem 0;border-bottom:1px solid #333}.tool-row:last-child{border-bottom:none}.tool-row-main{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.tool-toggles{display:flex;flex-direction:column;gap:.45rem;min-width:180px}.file-group,.file-picker{margin-top:.75rem}.file-group-head{display:flex;gap:.65rem;align-items:baseline;margin-bottom:.45rem}.file-chip-list{display:flex;flex-wrap:wrap;gap:.45rem}.file-list{list-style:none;margin:0;padding:0}.file-list-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .35rem;border-bottom:1px solid #2f2f2f}.chart-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:.85rem 1rem .5rem}.chart-title{font-weight:600;margin-bottom:.5rem}.chart-svg{width:100%;height:auto;display:block}html[dir=rtl] .mode-hint{text-align:left}