/* S-Grial Product Visual System — sole shared token and visual contract.
   Structural primitives: styles.css; administrative layout: admin.css. */
@font-face{font-family:'Plus Jakarta Sans';src:url('/fonts/PlusJakartaSans.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{
 font-family:'Plus Jakarta Sans','Segoe UI',sans-serif;font-synthesis:none;color-scheme:light;
 --font-page:32px;--font-section:20px;--font-subsection:16px;--font-body:14px;--font-secondary:13px;--font-meta:12px;--font-label:11px;
 --weight-body:400;--weight-label:600;--weight-heading:700;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;
 --radius-control:12px;--radius-panel:24px;--radius-floating:24px;--sidebar-width:288px;
 --bg:#f4f6fb;--surface:#fff;--surface-subtle:#fafbfd;--surface-inset:#fafbfd;
 --text:#0f172a;--muted:#64748b;--muted-soft:var(--muted);--border:#eef2f6;--border-strong:#dfe7f2;
 --primary:#2563eb;--primary-hover:#1d4ed8;--primary-soft:#eff6ff;--link:#2563eb;
 --success:#047857;--success-soft:#ecfdf5;--warning:#9a5b10;--warning-soft:#fff7ed;
 --danger:#b4233b;--danger-soft:#fff1f2;--violet:#6d28d9;--violet-soft:#f5f3ff;--inactive-soft:#f1f5f9;
 --scroll-thumb:#cbd5e1;--shadow-panel:0 2px 4px rgb(15 23 42 / 2%),0 12px 32px -12px rgb(15 23 42 / 7%);
 --shadow-floating:0 10px 30px rgb(15 23 42 / 12%);
 color:var(--text);background:var(--bg);
}
:root[data-theme=dark]{color-scheme:dark;--bg:#101827;--surface:#172235;--surface-subtle:#1b293d;--surface-inset:#1b293d;--text:#edf2fa;--muted:#b0bdd0;--border:#29364a;--border-strong:#3b4b63;--primary-soft:#213656;--link:#8cb2ff;--success:#8bdfba;--success-soft:#1c3b34;--warning:#f4cc99;--warning-soft:#3b3028;--danger:#ffb1bf;--danger-soft:#422938;--violet:#cab5ff;--violet-soft:#322847;--inactive-soft:#263246;--scroll-thumb:#41526a;--shadow-panel:none;--shadow-floating:0 10px 30px rgb(0 0 0 / 24%)}
body{font-size:var(--font-body);line-height:1.6;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}h1{font-size:var(--font-page);font-weight:750;line-height:1.25;letter-spacing:-.04em}h2{font-size:var(--font-section);font-weight:700;line-height:1.4;letter-spacing:-.02em}h3{font-size:var(--font-subsection)}
.eyebrow,.workspace-label,.task-list-heading h2,.overline{font-size:var(--font-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
button,.primary,.button-secondary,.button-danger,.button-ghost,.button-subtle{min-height:44px;border-radius:var(--radius-control);font-size:var(--font-body);font-weight:600;padding:10px 16px;line-height:1.5}
.primary{background:var(--primary);color:#fff;border:1px solid transparent;box-shadow:0 2px 5px rgb(37 99 235 / 15%)}.primary:hover:not(:disabled){background:var(--primary-hover)}.primary:active:not(:disabled){transform:scale(.96)}
.button-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.button-secondary:hover:not(:disabled){background:var(--primary-soft)}
.button-ghost{background:transparent;border-color:transparent;color:var(--muted)}.button-subtle{background:var(--primary-soft);border-color:transparent;color:var(--link)}
.button-danger{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 20%,var(--border));color:var(--danger)}.button-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 15%,var(--surface))}
button:hover:not(:disabled),summary:hover{filter:none}button:disabled{opacity:.5}
input,textarea,select{font-size:var(--font-body);border-radius:var(--radius-control);background:var(--surface-inset);color:var(--text);border-color:var(--border-strong)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 60%,transparent);outline-offset:3px}
.avatar{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:12px;background:var(--primary-soft);color:var(--link);font-size:13px;font-weight:700}
.chevron{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7}
.floating-menu{position:relative;flex:0 0 auto}.floating-menu>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:6px 8px;list-style:none;cursor:pointer;border:1px solid transparent;border-radius:12px}
.floating-menu>summary::-webkit-details-marker{display:none}.floating-menu>summary:hover,.floating-menu[open]>summary{background:var(--surface-subtle)}
.floating-panel{position:absolute;z-index:30;right:0;top:calc(100% + 8px);width:248px;max-width:calc(100vw - 32px);padding:8px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-floating);text-align:left}
.floating-panel[popover]{position:fixed;margin:0;inset:auto;max-height:calc(100dvh - 32px);overflow:auto}.floating-panel::backdrop{background:transparent}
.floating-panel button,.floating-panel a{display:flex;width:100%;align-items:center;min-height:44px;padding:10px 12px;border:0;background:transparent;color:var(--text);text-align:left;text-decoration:none;font-size:13px}
.floating-panel button:hover:not(:disabled),.floating-panel a:hover{background:var(--primary-soft)}.floating-panel .button-danger{color:var(--danger)}.floating-panel small{display:block;padding:8px 12px;color:var(--muted)}
dialog,.rename-dialog,.attachment-popover{padding:24px;border:1px solid var(--border-strong);border-radius:24px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-floating);max-width:calc(100vw - 32px);max-height:85dvh;overflow:auto}
dialog::backdrop{background:rgb(15 23 42 / 24%)}dialog h2,.rename-dialog h2{font-size:20px;margin:0 0 12px}.rename-dialog form{padding:4px;gap:16px}.rename-dialog input{min-height:44px;font-size:14px}.rename-actions{gap:12px;margin-top:20px}.rename-actions .primary{min-height:44px;font-size:14px}
#import-dialog[open]{display:flex;flex-direction:column;overflow:hidden}#import-dialog .dialog-body{min-height:0;overflow:auto;padding-right:4px}#import-dialog .dialog-actions{flex:0 0 auto;margin-top:16px}
/* Client chrome: same inventory, no new navigation. */
.sidebar{padding:24px 20px;background:var(--surface)}.sidebar-brand{gap:12px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--border)}.brand-mark{width:44px;height:44px;flex:0 0 44px;border-radius:16px;font-size:20px;font-weight:700}.sidebar-brand strong{font-size:18px}.sidebar-brand div span{font-size:12px}
.new-task{justify-content:center;min-height:44px}.task-list-heading{margin:36px 8px 12px}.task-list-heading h2{font-size:11px}.count-badge{border-radius:999px;background:var(--surface-subtle);font-variant-numeric:tabular-nums}
.task-list{gap:8px;padding-right:2px}.task-row{gap:0;flex-shrink:0;border:1px solid transparent;border-radius:16px}.task-row.selected{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 24%,var(--border))}.task-row .task-item,.task-row .task-item.selected{border:0;background:transparent;border-radius:16px;padding:16px 12px;gap:8px}.task-row:hover{background:var(--surface-subtle)}
.task-title-small{display:block;overflow:visible;white-space:normal;overflow-wrap:anywhere;line-height:1.5;font-size:13px;font-weight:650;-webkit-line-clamp:unset}.task-row.selected .task-title-small{color:var(--text)}
.task-subline{display:grid;gap:6px;min-width:0}.task-state{display:flex;align-items:center;gap:6px;font-size:11px;min-width:0}.task-state>span:last-child{overflow-wrap:anywhere;min-width:0}.task-state .state-dot.processing{display:none}.task-subline time{font-size:11px;white-space:normal;overflow-wrap:anywhere;margin:0;font-variant-numeric:tabular-nums}
.task-menu-trigger{width:44px;min-width:44px;min-height:44px;height:44px;flex-basis:44px;padding:0;margin:4px 0;align-self:flex-start;border-radius:12px}.task-menu{border-radius:16px;box-shadow:var(--shadow-floating)}
.sidebar-footer{margin-top:16px;padding:16px 0 0;border-top:1px solid var(--border)}.theme-toggle{min-height:44px;padding:8px 12px;font-size:12px;border-radius:12px}
.workspace-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:80px;height:80px;flex:0 0 80px;padding:0 32px;gap:16px;background:var(--surface);border-bottom:1px solid var(--border)}.workspace-reference{display:flex;align-items:center;gap:20px;min-width:0}.workspace-label{display:block;color:var(--text);font-size:11px}.connection-status{font-size:12px;border-radius:999px;background:var(--surface-subtle);padding:4px 10px}
#user-menu,#user-menu[open]{margin:0;padding:0;background:transparent;box-shadow:none;order:initial;max-width:260px;grid-column:2;grid-row:1;justify-self:end}#user-identity{font-size:12px;padding:6px 8px}#identity-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#user-menu #user-username{display:block;padding:8px 12px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
#client-controls{padding:0;min-width:0;max-width:none;display:grid;gap:8px}#client-controls[hidden]{display:none}#client-controls label{font-size:12px;color:var(--muted)}#client-controls select{width:100%;min-width:0;min-height:44px;padding:8px 12px;background:var(--surface-inset);border-color:var(--border-strong)}#company-notice{margin:0;font-size:12px;color:var(--muted)}#company-notice:empty{display:none}#creation-form>p{margin:0;line-height:1.6}
.workspace-empty,.workspace-empty.needs-company{background:var(--primary-soft);color:var(--text);border:0;border-radius:24px;box-shadow:none;transform:none;max-width:560px;padding:48px 32px}.workspace-empty h1{font-size:28px}.workspace-empty p,.workspace-empty.needs-company p{color:var(--muted);font-size:14px}.workspace-empty .empty-symbol,.workspace-empty.needs-company .empty-symbol{width:64px;height:64px;border-radius:20px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--link);margin-bottom:24px}.workspace-empty button,.workspace-empty.needs-company button{background:var(--primary);color:#fff;border:1px solid transparent;min-height:44px;white-space:normal}.workspace-empty button:hover{background:var(--primary-hover)}
/* Before first execution: the existing composer becomes the formal task form. */
.workspace-scroll.has-formal-composer{padding:40px}.formal-composer{width:min(100%,1040px);margin:0 auto;padding:40px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-panel)}
#composer-intro{position:relative;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--border)}#composer-intro .eyebrow{display:inline-block;background:var(--primary-soft);color:var(--link);padding:4px 12px;border-radius:8px;margin:0 0 12px}#composer-intro h1{font-size:32px;line-height:1.25;margin:0 0 12px;letter-spacing:-.04em}#composer-intro>p:last-child{font-size:14px;color:var(--muted);margin:0}
#composer-fields{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:24px}#composer-fields label,#instruction-label{display:block;font-size:11px;font-weight:650;letter-spacing:.06em;color:var(--muted)}#composer-fields #draft-company-label{max-width:none;font-size:11px}#composer-fields input,#composer-fields select{width:100%;height:52px;margin:8px 0 0;padding:14px 16px;background:var(--surface-inset);border:1px solid var(--border-strong);font-size:14px;font-weight:400;letter-spacing:normal}#instruction-label{margin-bottom:8px}
.formal-composer .composer-box{padding:0;border:0;background:transparent;box-shadow:none}.formal-composer textarea{min-height:176px;max-height:400px;padding:14px 16px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-inset)}.formal-composer textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 40%,transparent);outline-offset:2px}
.formal-composer .composer-row{margin-top:28px;flex-direction:column;align-items:stretch;gap:24px}.formal-composer .composer-files{flex-direction:column;align-items:stretch;gap:12px}.formal-composer .attach-button{width:100%;min-height:128px;justify-content:center;padding:24px;border:1px dashed var(--border-strong);border-radius:16px;background:var(--surface-inset);color:var(--link);font-size:14px}.formal-composer .attach-button:hover{background:var(--primary-soft)}.formal-composer .attach-label{display:inline}.formal-composer .selected-files{max-width:none}.formal-composer .send-button{min-width:160px;align-self:flex-end}.formal-composer .composer-hint{display:block;margin-top:16px;text-align:left}
.composer-error{padding:12px 16px;border-radius:12px;background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 20%,var(--border));font-size:13px}
/* Active work: efficient context, continuous surface, reserved composer row. */
.task-content{width:min(100%,1120px);margin:0 auto;padding:16px 40px 12px}.task-header{padding:0;margin-bottom:12px;background:transparent;border:0;border-radius:0;box-shadow:none;gap:16px}.task-header h1{font-size:28px;margin:4px 0 8px}.task-header .eyebrow{margin:0}.task-actions{padding-top:0;align-self:flex-start;flex:0 0 auto}.task-actions button{font-size:12px;padding:10px 12px}
#task-company{display:block;margin:0;color:var(--muted);background:transparent;border:0;padding:0;font-size:13px;font-weight:400;border-radius:0}.task-meta{margin-top:8px;flex-wrap:wrap;gap:8px}.task-meta>.muted{font-size:12px}.state-chip{min-height:0;border:0;border-radius:999px;font-size:12px;padding:4px 10px;background:var(--surface-subtle)}.state-chip.ready{background:var(--success-soft);color:var(--success)}.state-chip.processing{background:var(--primary-soft);color:var(--link)}.state-chip.queued{background:var(--warning-soft);color:var(--warning)}.state-chip.error{background:var(--danger-soft);color:var(--danger)}
.workspace-assets{font-size:12px;color:var(--muted);margin-top:8px}.workspace-assets summary{min-height:0;display:flex;align-items:center;width:fit-content;padding:4px 12px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-inset);cursor:pointer;color:var(--text)}.workspace-assets summary::before{content:'▸';margin-right:6px}.workspace-assets[open] summary::before{content:'▾'}.workspace-assets>div{max-height:240px;overflow:auto}.workspace-assets p{margin:8px 0;overflow-wrap:anywhere}.workspace-assets small{font-size:12px}.formal-composer>.workspace-assets{margin:-12px 0 24px}
.task-surface{background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-panel);overflow:hidden}.task-summary{display:grid;grid-template-columns:1fr;gap:0;background:transparent;border:0;border-radius:0;overflow:visible}
.task-summary>.summary-block,.task-summary>.work-status{min-height:0;border:0;border-radius:0;padding:12px 24px;box-shadow:none;grid-column:auto}.block-heading{gap:12px;margin:0 0 8px}.block-heading h2{font-size:16px}.block-icon,.status-symbol{width:32px;height:32px;flex:0 0 32px;border-radius:12px;background:var(--primary-soft);color:var(--link)}.output-icon{background:var(--success-soft);color:var(--success)}.block-subtitle{font-size:12px;margin-top:4px}
.attachment-card,.artifact-card{border:0;border-radius:0;box-shadow:none;background:transparent;padding:8px 0;gap:12px}.attachment-copy strong,.artifact-info strong{font-size:13px;font-weight:650;white-space:normal;overflow-wrap:anywhere}.attachment-copy span,.artifact-info span{font-size:12px}.attachment-file-icon,.file-type{background:var(--surface-subtle);border-radius:10px;color:var(--muted);width:36px;height:40px;flex:0 0 36px}.file-type{font-size:10px}.attachment-icon{color:var(--muted)}.download-link{min-height:44px;padding:10px 0 10px 12px;background:transparent;color:var(--link);font-size:12px}.download-link:hover{background:var(--primary-soft);color:var(--link)}.artifact-info{min-width:0}.artifact-info-copy{min-width:0}.file-list{gap:8px}.compact-list,.output-list{max-height:none;overflow:visible}.refresh-button{width:44px;height:44px;top:12px;right:16px;padding:0;border:0;border-radius:12px}.outputs-block{padding-right:56px}.work-status{display:flex;align-items:center;gap:16px}.work-status strong{font-size:14px;padding:0}.work-status p{font-size:12px;margin:2px 0 0}.execution-timing{font-size:12px;margin-top:2px;font-variant-numeric:tabular-nums}.work-status[data-kind=ready]{background:var(--success-soft);color:var(--success)}.work-status[data-kind=processing]{background:var(--primary-soft);color:var(--link)}.work-status[data-kind=queued]{background:var(--warning-soft);color:var(--warning)}.work-status[data-kind=error]{background:var(--danger-soft);color:var(--danger)}.work-status p,.work-status .execution-timing{color:inherit}.work-status .status-symbol{background:var(--surface);color:inherit}
.activity-section{margin:0;padding:16px 24px;border-top:1px solid var(--border)}.activity-heading{align-items:center;margin-bottom:12px}.activity-heading h2{font-size:18px;margin:4px 0 0}.activity-heading .eyebrow{margin:0}.activity-heading>.muted{font-size:12px}.messages{position:relative;display:grid;padding:0 0 0 44px;gap:16px;min-height:0}.messages::before{display:none}.messages .message{position:relative;justify-self:stretch;max-width:100%;width:100%;border:0;background:transparent;border-radius:0;padding:0;line-height:1.65}.message::before{content:'✦';display:grid;place-items:center;position:absolute;left:-44px;top:0;width:32px;height:32px;border-radius:12px;background:var(--violet-soft);color:var(--violet);font-size:16px}.message.user::before{content:'↑';background:var(--primary-soft);color:var(--link)}.message-role{font-size:12px;color:var(--text);font-weight:650;margin-bottom:6px}.message>div:not(.message-role):not(.artifact-cards){font-size:13px}.artifact-cards{margin-top:12px;padding-top:8px;border-top:1px solid var(--border)}.artifact-card+.artifact-card{border-top:1px solid var(--border)}
.composer:not(.formal-composer){padding:8px 40px 12px;background:var(--bg);border:0}.composer:not(.formal-composer) .composer-box{width:min(100%,1040px);padding:12px 16px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-panel)}.composer:not(.formal-composer) textarea{min-height:44px;max-height:180px;padding:0 0 8px;background:transparent;font-size:14px;border:0}.composer:not(.formal-composer) .composer-row{padding-top:8px;flex-wrap:nowrap}.composer:not(.formal-composer) .attach-button{min-height:44px;padding:8px 12px;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;font-size:12px;color:var(--text)}.composer:not(.formal-composer) .composer-files{flex:1;flex-wrap:wrap;gap:8px}.composer-hint{width:min(100%,1040px);margin:8px auto 0;font-size:11px;text-align:left;line-height:1.5}.send-button{min-height:44px;font-size:14px}.send-icon{transform:rotate(90deg)}
.selected-files{max-width:none;font-size:12px}.selected-file{padding:4px 8px;gap:8px;border-radius:12px;background:var(--surface-inset);border:1px solid var(--border-strong)}.selected-file strong,.selected-file .selected-file-status{font-size:12px}.selected-file button{flex:0 0 44px;min-width:44px;min-height:44px;width:44px;padding:0}.attachment-overflow{min-height:44px;border-radius:12px;background:var(--primary-soft);color:var(--link);font-size:12px}.attachment-popover{position:fixed;margin:0;inset:auto;border-radius:16px}.attachment-popover::backdrop{background:transparent}
.toast{font-size:13px;border-radius:12px;box-shadow:var(--shadow-floating)}.diagnostics pre{font-size:12px}.password-toggle{padding:10px;min-height:44px}.asset-preview{display:block;width:80px;height:48px;object-fit:contain;margin-bottom:8px;background:#fff;border-radius:12px}
/* Admin keeps its real, denser forms and tables in the same visual language. */
body:has(.admin-main),body:has(.admin-auth){overflow:auto}.admin-main{max-width:1160px;margin:32px auto;padding:0 32px}.admin-auth{margin:64px auto;padding:40px;border-radius:24px;border-color:var(--border);box-shadow:var(--shadow-panel)}.auth-brand{margin-bottom:28px}.admin-auth h1{font-size:28px}.admin-main nav{border-color:var(--border);box-shadow:var(--shadow-panel)}.admin-main a,.admin-auth a,.row-actions>button{color:var(--link)}.admin-main section{border-bottom-color:var(--border)}.table-wrap{border-color:var(--border);box-shadow:var(--shadow-panel)}th{background:var(--surface-subtle)}th,td{border-bottom-color:var(--border)}fieldset,.editor{border-color:var(--border);border-radius:20px}.editor>summary{font-size:16px}.status-badge{width:fit-content;justify-self:start;border-radius:999px}.notice{background:var(--primary-soft);color:var(--text)}.notice.error{background:var(--danger-soft);color:var(--danger)}.import-field{background:var(--surface-subtle);border-color:var(--border);border-radius:16px}.pending-changes{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 20%,var(--border));border-radius:20px}pre{background:var(--surface-subtle);color:var(--text)}
@media(min-width:1101px){
 .task-summary .inputs-block{display:grid;grid-template-columns:248px minmax(0,1fr);column-gap:24px;align-items:center}.inputs-block .block-heading{margin:0}.task-summary .outputs-block{display:grid;grid-template-columns:248px minmax(0,1fr);column-gap:24px;padding-right:24px}.outputs-block .block-heading{grid-column:1;grid-row:1;margin:0;padding-right:48px}.outputs-block .output-list{grid-column:2;grid-row:1}.outputs-block .refresh-button{left:228px;right:auto}.task-header{margin-bottom:8px}.messages{gap:12px}
}
@media(max-width:1100px){.task-content{padding:16px 24px 12px}.workspace-scroll.has-formal-composer{padding:28px}.formal-composer{padding:28px}.composer:not(.formal-composer){padding:8px 24px 12px}}
@media(max-width:900px){
 .workspace-topbar{grid-template-columns:auto minmax(0,1fr) auto;height:72px;min-height:72px;flex-basis:72px;padding:0 16px;gap:12px}.mobile-tasks{display:flex;grid-column:1;grid-row:1;min-height:44px;font-size:13px}.workspace-reference{grid-column:2;grid-row:1;justify-content:center}.workspace-topbar .workspace-label{display:none}.workspace-topbar #user-menu{grid-column:3;grid-row:1}#identity-name{display:none}
 .task-header{display:block}.task-actions{padding-top:12px}.task-header h1{font-size:26px}.task-summary>.summary-block,.task-summary>.work-status{padding:16px 20px;grid-column:auto}.block-heading{margin-bottom:12px}.outputs-block{padding-right:56px}.activity-section{padding:20px}.messages{gap:16px}.workspace-scroll.has-formal-composer{padding:24px 16px}.formal-composer{padding:24px}.formal-composer #composer-intro h1{font-size:28px}
 .app-shell{height:auto;min-height:100dvh}.workspace{height:auto;min-height:100dvh;overflow:visible}.workspace-scroll{overflow:visible;flex:none}.workspace-scroll.is-empty{min-height:calc(100dvh - 72px)}body:has(.app-shell){height:auto;overflow:auto}.composer:not(.formal-composer){padding:12px 16px max(12px,env(safe-area-inset-bottom))}.composer:not(.formal-composer) .composer-row{flex-wrap:wrap}.composer:not(.formal-composer) .composer-files{flex-basis:100%}.composer-hint{display:block}.attach-label{display:inline}.attach-button{width:auto}
 .sidebar{width:288px;max-width:85vw}.task-list{flex:1}.task-content{padding:16px}.workspace-empty{padding:40px 24px}.workspace-empty h1{font-size:24px}.formal-composer .send-button{align-self:stretch}.admin-auth{padding:28px}.admin-main{padding:0 24px}.admin-main h1{font-size:28px}
}
@media(max-width:600px){.admin-main{padding:0 16px}.admin-auth{padding:24px;margin:24px auto}.workspace-topbar{gap:8px}.formal-composer #composer-intro{padding-bottom:24px;margin-bottom:24px}.formal-composer .composer-row{gap:20px}.task-meta{align-items:flex-start}.task-actions{gap:8px}.task-actions button{min-height:44px}.block-heading h2{font-size:15px}.attachment-copy strong,.artifact-info strong{font-size:12px}.download-link{font-size:11px}.work-status{gap:12px}.message>div:not(.message-role):not(.artifact-cards){font-size:13px}.composer:not(.formal-composer) .attach-button{font-size:12px}.composer-hint{font-size:11px}}
*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}
@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto;scrollbar-color:auto}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:2px solid transparent;border-radius:999px;min-height:40px}::-webkit-scrollbar-thumb:hover{background-color:var(--muted)}::-webkit-scrollbar-button{display:none;width:0;height:0}::-webkit-scrollbar-corner{background:transparent}}
@media(prefers-reduced-motion:reduce){.primary:active:not(:disabled){transform:none}}
@media(forced-colors:active){*{scrollbar-color:auto;scrollbar-width:auto}::-webkit-scrollbar,::-webkit-scrollbar-track,::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-button,::-webkit-scrollbar-corner{all:revert}}
@media(max-width:900px){
 /* Keep the context anchor stable while the document scrolls and menus open. */
 .workspace-topbar{position:sticky;top:0;z-index:6;}
}
.status-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.5}
.status-badge.active{background:var(--success-soft);color:var(--success)}
.status-badge.inactive{background:var(--inactive-soft);color:var(--muted)}
.attachment-card .attachment-file-icon{background:var(--surface-subtle);color:var(--muted)}
.formal-composer{position:relative}
.formal-composer>.workspace-assets:not([open]){position:absolute;top:40px;right:40px;margin:0}
@media(max-width:1100px){.formal-composer>.workspace-assets:not([open]){top:28px;right:28px}}
@media(max-width:900px){.formal-composer>.workspace-assets:not([open]){position:static;margin:-12px 0 24px}}
@supports selector(::-webkit-scrollbar){.task-list,.workspace-scroll{scrollbar-width:auto;scrollbar-color:auto}}
@media(forced-colors:active){.task-list,.workspace-scroll{scrollbar-width:auto;scrollbar-color:auto}}
.formal-composer .attach-button{flex-direction:column;gap:12px}
.formal-composer .attach-button>span:first-child{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);color:var(--link);box-shadow:0 2px 3px rgb(15 23 42 / 3%)}
.composer:not(.formal-composer) .send-button{margin-left:auto}
/* Long multi-upload names must not set the form's intrinsic width. */
.composer-row,.composer-files,.selected-files{min-width:0;max-width:100%}
.formal-composer .composer-files{width:100%;flex:0 1 auto}
.selected-file{max-width:100%;min-width:0}
.selected-file strong{min-width:0;flex:1 1 auto}
