:root{color:#171a1f;font-synthesis:none;--bg:#f6f7f9;--topbar:#e9ecf1;--panel:#fff;--panel-secondary:#f1f3f5;--border:#c9ced6;--border-light:#d7dbe1;--text:#171a1f;--muted:#596273;--subtle:#7c8594;--success:#3d8a63;--attention:#9a7423;--blue:#3867c8;--danger:#b85656;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,select,textarea{font:inherit}button,a{outline-offset:3px}.dashboard{background:var(--bg);min-height:100vh}.dashboard__header{background:var(--topbar);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;width:100%;height:72px;padding:0 32px;display:flex}.dashboard__brand{align-items:center;gap:10px;min-width:0;display:flex}.dashboard__brand-name{letter-spacing:-.01em;font-size:18px;font-weight:600}.dashboard__header-actions{align-items:center;gap:10px;display:flex}.dashboard__pedelec-status{border:1px solid var(--border);min-height:34px;color:var(--muted);background:#fff;border-radius:6px;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex;position:relative}.status-dot{background:#aeb5bf;border-radius:50%;flex:none;width:7px;height:7px}.status-dot--success{background:var(--success)}.status-dot--attention{background:var(--attention)}.dashboard__content{padding:27px 32px 40px}.dashboard__section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.dashboard__title{letter-spacing:-.025em;margin:0;font-size:28px;font-weight:650;line-height:1.15}.dashboard__subtitle{color:var(--muted);margin:6px 0 0;font-size:14px}.dashboard__count{color:var(--subtle);white-space:nowrap;font-size:13px}.button{border:1px solid var(--border);min-height:34px;color:var(--text);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:#f4f5f7}.button:focus-visible,.icon-button:focus-visible,.session-card:focus-visible,.workspace-add-tile:focus-visible,.workspace-card__add-session:focus-visible{outline:2px solid #6d84a6}.button:disabled{opacity:.48;cursor:not-allowed}.button--primary{color:#fff;background:#171a1f;border-color:#171a1f}.button--primary:hover:not(:disabled){background:#2a2e35}.button--secondary{background:#fff}.button--soft-primary{color:#2f5ebd;background:#eaf1ff;border-color:#cbd9f3}.button--soft-primary:hover:not(:disabled){background:#dfe9fc}.button--danger{color:var(--danger);background:#fff0f0;border-color:#edc8c8}.button--quiet-danger{color:var(--danger);background:0 0;border-color:#0000;padding-inline:4px}.icon-button{border:1px solid var(--border-light);width:32px;height:32px;color:var(--muted);cursor:pointer;background:#fff;border-radius:6px;place-items:center;padding:0;display:grid}.icon-button:hover{background:#f3f4f6}.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:5px;align-items:center;padding:3px 6px;font-size:10px;font-weight:650;display:inline-flex}.status-badge--running{color:var(--blue);background:#eaf1ff;border-color:#d0dcf5}.status-badge--needs-attention,.status-badge--attention,.status-badge--failed{color:var(--attention);background:#fff4dc;border-color:#eed9ac}.status-badge--idle,.status-badge--queued{color:var(--muted);background:#eceff2;border-color:#dde1e6}.status-badge--completed{color:var(--success);background:#eaf5ee;border-color:#d3e8db}.workspace-grid{grid-template-columns:1fr 1fr 1fr;grid-auto-rows:1px;align-items:start;gap:0 20px;display:grid}.workspace-grid__item{align-self:start;min-width:0;overflow:visible}.workspace-card{border:1px solid var(--border);background:var(--panel);border-radius:10px;min-width:0;min-height:210px;overflow:visible}.workspace-card__heading{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;gap:12px;min-height:76px;padding:14px 14px 12px;display:flex}.workspace-card__identity{flex:1;min-width:0}.workspace-card__heading-actions{align-items:flex-start;gap:6px;display:flex}.workspace-card__title{margin:0;font-size:14px;font-weight:600;line-height:1.3}.workspace-card__state{color:var(--muted);align-items:center;gap:5px;margin-top:4px;font-size:11px;display:flex}.workspace-card__state-dot{background:#8a929e;border-radius:50%;width:6px;height:6px}.workspace-card__state--running .workspace-card__state-dot{background:var(--blue)}.workspace-card__state--needs-attention .workspace-card__state-dot{background:var(--attention)}.workspace-card__state--idle .workspace-card__state-dot{background:var(--success)}.workspace-card__path,.modal__path{color:var(--subtle);overflow-wrap:anywhere;margin:5px 0 0;font-size:11px;line-height:1.35}.workspace-card__loading,.workspace-card__empty{color:var(--subtle);text-align:center;border:1px dashed var(--border-light);border-radius:7px;margin:12px 14px 0;padding:18px 8px;font-size:12px}.session-list{flex-direction:column;gap:8px;max-height:394px;margin:10px 10px 0;display:flex;overflow-y:auto}.session-card{text-align:left;border:1px solid var(--border);background:var(--panel-secondary);cursor:pointer;width:100%;min-height:126px;color:inherit;border-radius:8px;flex-direction:column;padding:14px;display:flex}.session-card:hover{background:#eceff2}.session-card__topline{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.session-card__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:600;line-height:1.35;overflow:hidden}.session-card__preview{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;margin:9px 0 10px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.session-card__meta{color:var(--muted);gap:6px;margin-top:auto;font-size:11px;display:flex}.session-card__meta span{background:#e3e7eb;border:1px solid #d6dbe0;border-radius:5px;padding:2px 6px}.workspace-card__add-session{border:1px solid var(--border);width:calc(100% - 20px);min-height:40px;color:var(--muted);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:7px;margin:10px;font-size:12px;display:flex}.workspace-card__add-session:hover:not(:disabled){background:#f5f6f8}.workspace-card__add-session:disabled{opacity:.48;cursor:not-allowed;background:#f5f6f7}.workspace-card__attention{color:var(--attention);background:#fff8e9;border:1px solid #ecd8ad;border-radius:6px;margin:0 10px 10px;padding:9px 10px;font-size:11px}.workspace-card__exception{color:var(--attention);background:#fff8e9;border:1px solid #ead5a8;border-radius:7px;gap:9px;margin:10px;padding:12px;display:flex}.workspace-card__exception>svg{flex:none;margin-top:2px}.workspace-card__exception h3{color:#6f5724;margin:0 0 5px;font-size:13px}.workspace-card__exception p{color:#74684f;margin:0;font-size:11px;line-height:1.45}.workspace-card__exception-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.workspace-add-tile{border:1px solid var(--border);width:300px;min-height:210px;color:var(--muted);text-align:center;cursor:pointer;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.workspace-add-tile>svg{width:24px;height:24px;color:var(--subtle)}.workspace-add-tile strong{color:var(--text);font-size:13px;font-weight:600}.workspace-add-tile span{color:var(--subtle);font-size:11px;font-weight:400}.workspace-add-tile:hover:not(:disabled){background:#f1f3f5}.workspace-add-tile:disabled{opacity:.48;cursor:not-allowed}.workspace-menu{position:relative}.workspace-menu__popover{z-index:20;border:1px solid var(--border-light);background:#fff;border-radius:7px;min-width:170px;padding:5px;position:absolute;top:36px;right:0;box-shadow:0 12px 30px #0000001f}.workspace-menu__item{text-align:left;cursor:pointer;color:#3c4146;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;width:100%;padding:8px 9px;font-size:12px;display:flex}.workspace-menu__item:hover:not(:disabled),.workspace-menu__item:focus-visible:not(:disabled){outline-offset:1px;background:#f3f4f5;outline:2px solid #91a5c1}.workspace-menu__item:disabled{opacity:.45;cursor:not-allowed}.workspace-menu__item--danger{color:#9f4038}.empty-state{border:1px solid var(--border);text-align:center;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:min(600px,100vw - 64px);min-height:330px;margin:112px auto 0;padding:38px;display:flex}.empty-state__icon{width:52px;height:52px;color:var(--subtle);background:#eef1f4;border:1px solid #dfe3e8;border-radius:9px;place-items:center;font-size:20px;display:grid}.empty-state__title{margin:16px 0 7px;font-size:17px;font-weight:600}.empty-state__copy{max-width:390px;color:var(--muted);margin:0 0 18px;font-size:12px;line-height:1.5}.empty-state__hint{color:var(--subtle);margin:10px 0 0;font-size:10px}.recovery-panel{z-index:60;border:1px solid var(--border);background:#fff;border-radius:9px;width:310px;min-height:354px;padding:16px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 12px 28px #1a1f261a}.recovery-panel__icon{display:none}.recovery-panel__body{width:100%}.recovery-panel__title{margin:0;font-size:14px;font-weight:600}.recovery-panel__copy{color:var(--muted);margin:6px 0 12px;font-size:11px;line-height:1.45}.recovery-panel__layers{border:1px solid var(--border-light);background:#f7f8fa;border-radius:7px;flex-direction:column;gap:0;margin-top:8px;display:flex;overflow:hidden}.recovery-panel__layer-row{min-height:28px;color:var(--muted);border-bottom:1px solid #e3e6ea;justify-content:space-between;align-items:center;gap:10px;padding:0 9px;font-size:11px;display:flex}.recovery-panel__layer-row:last-child{border-bottom:0}.recovery-panel__hint{color:var(--subtle);margin:9px 0 0;font-size:10px;line-height:1.4}.recovery-panel__actions{flex-direction:column;gap:7px;margin-top:12px;display:flex}.recovery-panel__actions .button{width:100%}.recovery-panel__actions .button:last-child{color:#2f5ebd;background:#eaf1ff;border-color:#cbd9f3;order:-1}.recovery-panel--browser-lock{min-height:auto;position:fixed;top:80px;right:32px}.modal{z-index:100;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal__backdrop{background:#11182755;position:absolute;inset:0}.modal__panel{border:1px solid var(--border);background:#fff;border-radius:8px;width:min(600px,100%);max-height:calc(100vh - 44px);position:relative;overflow:auto;box-shadow:0 18px 50px #00000029}.modal__panel--create{width:min(600px,100%)}.modal__panel--detail{width:min(760px,100%);min-height:min(704px,100vh - 44px)}.modal__panel--confirm{z-index:2;width:min(440px,100%);min-height:276px}.modal--confirm .modal__backdrop{background:#11182766}.modal__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 12px;display:flex}.modal__header h2{margin:0;font-size:18px;font-weight:600}.modal__subtitle{color:var(--muted);margin:5px 0 0;font-size:11px}.modal__body{padding:12px 20px 20px}.modal__footer{border-top:1px solid var(--border-light);justify-content:flex-end;gap:9px;padding:14px 20px;display:flex}.modal__footer--destructive{justify-content:flex-start;margin-top:auto;position:sticky;top:100%}.form-stack{flex-direction:column;gap:14px;display:flex}.create-session__workspace-context{border:1px solid var(--border-light);background:#f3f5f7;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:11px 12px;display:flex}.create-session__workspace-context>div{flex-direction:column;gap:4px;min-width:0;display:flex}.create-session__workspace-context strong{font-size:12px;font-weight:600}.create-session__workspace-context span{color:var(--subtle);overflow-wrap:anywhere;font-size:10px}.queue-badge{background:#fff3d9;border:1px solid #ebd7aa;border-radius:5px;flex:none;padding:3px 6px;color:var(--attention)!important}.field{flex-direction:column;flex:1;gap:6px;display:flex}.field>span{color:var(--muted);font-size:11px;font-weight:600}.field textarea,.field select{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:6px;padding:9px 10px}.field textarea{resize:vertical;min-height:150px}.field select{height:44px}.field textarea:focus,.field select:focus{outline-offset:1px;outline:2px solid #91a5c1}.field-row{gap:12px;display:flex}.queue-helper{color:var(--subtle);margin:-2px 0 0;font-size:10px}.form-error{color:#a13d35;background:#fff2f0;border:1px solid #efcbc7;border-radius:6px;margin:0;padding:8px 10px;font-size:11px}.session-detail__context{color:var(--subtle);margin:5px 0 0;font-size:11px}.conversation{background:#fff;flex-direction:column;gap:14px;min-height:300px;display:flex;overflow:auto}.conversation__label{color:var(--subtle);margin:0 0 2px;font-size:10px;font-weight:600}.message-row{flex-direction:column;gap:6px;width:100%;display:flex}.message-row--user{align-items:flex-end}.message-row--assistant{align-items:flex-start}.message-speaker{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.message-speaker--user{padding-right:4px}.assistant-avatar{width:20px;height:20px;color:var(--muted);background:#e6e9ed;border:1px solid #d5dae0;border-radius:50%;place-items:center;font-size:9px;display:grid}.message{border:1px solid var(--border-light);border-radius:7px;padding:12px 14px}.message--user{background:#edf4ff;border-color:#cfddf3;width:min(460px,78%)}.message--assistant{background:#f6f7f9;width:min(618px,92%)}.message p{white-space:pre-wrap;margin:0;font-size:12px;line-height:1.55}.markdown-content{overflow-wrap:anywhere;font-size:12px;line-height:1.55}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3{line-height:1.25}.markdown-content pre{background:#eef0f3;border:1px solid #dfe3e8;border-radius:6px;padding:10px;overflow:auto}.markdown-content code{background:#eef0f3;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.markdown-content pre code{padding:0}.failure-note{color:#8a433b;background:#fff4f2;border:1px solid #efd0c8;border-radius:6px;align-items:flex-start;gap:8px;padding:10px;font-size:11px;display:flex}.confirm-summary{border:1px solid var(--border-light);background:#f5f6f8;border-radius:6px;flex-direction:column;justify-content:center;gap:4px;min-height:58px;margin-top:14px;padding:9px 11px;display:flex}.confirm-summary strong{font-size:12px}.confirm-summary span{color:var(--subtle);font-size:10px}.modal__panel--confirm .modal__header{padding-bottom:8px}.modal__panel--confirm .modal__body{padding-top:4px;font-size:11px;line-height:1.5}.modal__panel--confirm .modal__body p{color:var(--muted);margin-top:0}@media (width<=1120px){.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-add-tile{width:100%}.recovery-panel{right:24px}}@media (width<=760px){.dashboard__header{align-items:flex-start;height:auto;min-height:72px;padding:12px 18px}.dashboard__header-actions{flex-direction:column;align-items:flex-end}.dashboard__content{padding:22px 18px 32px}.dashboard__section-heading{flex-direction:column;align-items:flex-start;gap:8px}.workspace-grid{grid-template-columns:1fr}.workspace-add-tile{min-height:150px}.empty-state{width:100%;min-height:300px;margin-top:48px}.recovery-panel,.recovery-panel--browser-lock{width:min(310px,100vw - 36px)}.field-row{flex-direction:column}.modal{padding:10px}.modal__panel{min-height:0;max-height:calc(100vh - 20px)}.message--user,.message--assistant{width:92%}}@media (width<=520px){.dashboard__header{flex-direction:column}.dashboard__header-actions{align-items:stretch;width:100%}.dashboard__pedelec-status,.dashboard__header-actions .button{justify-content:center;width:100%}.modal__header,.modal__body,.modal__footer{padding-left:14px;padding-right:14px}}
