/* Shell, rail, background, transcript and composer are the pinned live CSS.
   Only scoped adapter geometry and pilot-only account controls belong here. */
[hidden]{display:none!important}
#workspace{height:100dvh;position:relative}
#notes-panel{min-height:0}
#work-panel{min-height:0;min-width:0}
#work-panel:not(.chat-active){overflow:auto}
#work-panel.chat-active{display:flex;overflow:hidden}
.pilot-chat{display:flex;flex:1;min-height:0;flex-direction:column}
.pilot-chat #chat-panel{flex:1;min-height:0}
#session{padding:8px 16px;font-size:11px;color:var(--s-text-secondary)}
#session label{display:none}
#organisation{width:100%;margin:6px 0;padding:5px;font:inherit;color:inherit;border:1px solid var(--s-border);border-radius:4px}
#logout{width:calc(100% - 12px);text-align:left;font:inherit;cursor:pointer}
#drawer-backdrop{position:fixed;inset:0;border:0;background:var(--c-modal-backdrop);z-index:299}
#thread-drawer{max-width:94vw}
.pilot-thread-search{padding:12px}
.voice-sidebar .sidebar-item-open{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;z-index:0}
.voice-sidebar .sidebar-item-header{pointer-events:none;position:relative}
.voice-sidebar .sidebar-item-header button{pointer-events:auto;position:relative;z-index:1}
.pilot-thread-menu{position:relative;z-index:2;width:100%;padding:12px;background:var(--s-bg-menu)}
.pilot-thread-menu input{width:100%;color:inherit;background:var(--s-bg-input);border:1px solid var(--s-border)}
.pilot-thread-menu button{font-size:12px}
#status:empty{display:none}
#status{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:10px 16px;border:1px solid var(--s-border);background:var(--s-bg-menu);color:var(--s-text-primary);font-size:13px;z-index:1000}
.pilot-chat-status:empty{display:none}
.pilot-chat-status,.pilot-inline-error{font-size:12px;color:var(--s-text-secondary);max-width:720px;margin:0 auto 8px}
.pilot-inline-error{color:var(--s-status-error)}
.pilot-composer .pilot-recovery:empty{display:none}
.pilot-tool-activity pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}
.pilot-tool-activity{flex-shrink:0}
@media(max-width:768px){
 #navSidebar{top:0;bottom:0;height:100dvh}
 #navSidebar.closed{transform:translateX(-100%)}
 #navSidebar.open{transform:translateX(0)}
 #navigation-toggle{display:flex!important;position:fixed;left:0;top:50%;width:20px;height:44px;z-index:351}

 #threads-toggle{display:flex!important}
 #workspace.sidebar-open #threads-toggle{position:fixed;right:min(var(--layout-drawer-width,280px),94vw);z-index:351}
 .pilot-split{display:flex;flex-direction:column}.pilot-list{max-height:230px}.pilot-detail{padding:16px}
}
#notes-panel,#work-panel{flex:1;min-width:0}.pilot-split{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100%;font-size:14px}.pilot-list{border-right:1px solid var(--s-border,#ddd);padding:16px}.pilot-detail{padding:24px;max-width:1000px;width:100%}.pilot-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.pilot-toolbar>span{flex:1}.pilot-row{display:block;width:100%;text-align:left;border:0!important;border-bottom:1px solid var(--s-border,#ddd)!important;border-radius:0!important;padding:12px 2px!important;white-space:normal!important;overflow-wrap:anywhere;box-shadow:none!important}.pilot-form{max-width:640px;margin-bottom:20px}.pilot-form label{font-size:13px;margin-top:14px}.pilot-form input,.pilot-form select,.pilot-form textarea{font:14px Arial;width:100%;border:1px solid var(--s-border,#aaa);padding:9px;border-radius:4px;background:var(--s-bg-page,#fff);color:inherit}.pilot-form textarea{min-height:110px;resize:vertical}.pilot-form button{margin-top:12px}.pilot-detail h2{font-size:20px;font-weight:500;margin:0 0 12px}.pilot-detail h3{font-size:15px;font-weight:600;margin:24px 0 10px}.pilot-detail section{border-top:1px solid var(--s-border,#ddd);padding:8px 0 16px}.pilot-muted{font-size:13px;color:var(--s-text-secondary,#666)}.pilot-transcript article{padding:16px 0;border-bottom:1px solid var(--s-border,#ddd)}.pilot-transcript strong{font-size:12px;color:var(--s-accent,#087677)}.pilot-transcript p,.pilot-transcript pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.pilot-transcript details{font-size:12px;margin:10px 0}.pilot-transcript pre{max-height:180px;overflow:auto}#status{border-top:1px solid var(--s-border,#ddd)}

/* The scoped account rail moves on phone; its edge handle remains viewport-bound. */
#navigation-toggle{position:fixed;left:0;right:auto;top:50%;z-index:351}
@media(min-width:769px){#workspace:has(#navSidebar.expanded) #navigation-toggle{left:220px}}
#workspace:has(#navSidebar.expanded) #navigation-toggle .material-icons{transform:rotate(180deg)}

/* Dashboard uses the live launchpad styles and scoped handlers. */
#work-panel:has(#dashboard-panel) { padding: 0; overflow: hidden; }
#dashboard-panel { height: 100%; min-height: 0; }
#dashboard-panel .dsh-chat-start { min-height: calc(100dvh - 2px); }
#dashboard-panel .dsh-link-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(200px,1fr)); gap: 0 24px; }
#dashboard-panel .dsh-link-head { display: flex; align-items: center; justify-content: space-between; }
#dashboard-panel .dsh-pad { padding: 24px; }
#dashboard-panel .dsh-link-section { margin-bottom: 24px; }
#dashboard-panel .dsh-tile-name { overflow-wrap: anywhere; }
#dashboard-panel .controls-text-group { width: 100%; }
#dashboard-panel .composer-actions svg { width: 22px; height: 22px; }

/* Keep descriptive filenames in their column, including narrow staff layouts. */
#file_manager-panel .fx-name { min-width:0; max-width:100%; overflow:hidden; }
#file_manager-panel .fx-name .material-icons { flex-shrink:0; }
#file_manager-panel .pilot-file-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#file_manager-panel .fx-content h2 { overflow-wrap:anywhere; }
#file_manager-panel .pilot-pending-file { display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-3); border-bottom:1px solid var(--s-border); }
#file_manager-panel .pilot-pending-file span { flex:1; min-width:0; overflow-wrap:anywhere; }
#file_manager-panel .pilot-pending-file button { flex-shrink:0; }

/* Same type, palette, spacing and controls as the current API restart screen. */
#connection-screen{--recovery-page:#1B1D22;--recovery-text:#CDD0D5;--recovery-muted:#B9BEC6;--recovery-accent:#21BFC1;position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;overflow:auto;background:var(--recovery-page);color:var(--recovery-text);font:13px/1.5 Arial,Helvetica,sans-serif}
#connection-screen[hidden]{display:none!important}
html[data-theme=light] #connection-screen{--recovery-page:#FAFAFA;--recovery-text:#202328;--recovery-muted:#525660;--recovery-accent:#087677}
.connection-wrap{width:100%;max-width:352px;text-align:center}.connection-brand{display:block;width:260px;max-width:100%;height:auto;margin:0 auto 28px}.connection-brand.mirai-auth-light{display:none}html[data-theme=light] .connection-brand.mirai-auth-dark{display:none}html[data-theme=light] .connection-brand.mirai-auth-light{display:block}
#connection-screen h1{font-size:18px;font-weight:500;margin:0 0 12px}#connection-screen p{color:var(--recovery-muted)}.connection-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}#connection-screen button{min-height:44px;margin-top:20px;padding:10px 24px;border:1px solid var(--recovery-muted);border-radius:6px;color:var(--recovery-text);background:transparent;font:inherit;cursor:pointer}#connection-screen button:focus-visible{outline:2px solid var(--recovery-accent);outline-offset:4px}.connection-spinner{width:24px;height:24px;margin:28px auto;border:2px solid var(--recovery-muted);border-top-color:var(--recovery-accent);border-radius:50%;animation:connection-spin 1.2s linear infinite}@keyframes connection-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.connection-spinner{animation:none}}
.pilot-no-script{position:fixed;bottom:12px;left:20px;right:20px;text-align:center}

/* Current harness status sits below the reply, inside the transcript. */
#transcript > .pilot-chat-status{font-size:11px;color:var(--chat-activity-accent,var(--s-accent));font-variant-numeric:tabular-nums;margin:6px auto 0;letter-spacing:-.01em}

#session #organisation{min-height:44px;background:var(--s-bg-menu,var(--s-bg-primary));color:var(--s-text-primary);font-size:13px}
#workspace-create{width:100%;min-height:44px;margin-top:4px}
#workspace-dialog{width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--s-border);border-radius:8px;background:var(--s-bg-menu,var(--s-bg-primary));color:var(--s-text-primary)}
#workspace-dialog::backdrop{background:rgba(0,0,0,.55)}
#workspace-dialog h2{font-size:18px;margin:0 0 20px}
#workspace-dialog label{display:block;margin:16px 0 6px;font-size:13px}
#workspace-dialog select,#workspace-dialog input{box-sizing:border-box;width:100%;min-height:44px;background:var(--s-bg-menu,var(--s-bg-primary));color:inherit;border:1px solid var(--s-border);border-radius:8px;padding:8px;font:inherit}
#workspace-dialog p{font-size:13px;line-height:1.5}
#workspace-error{color:var(--s-text-primary)}
.workspace-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;flex-wrap:wrap}
.workspace-dialog-actions button{min-height:44px}

#password-dialog{margin:auto;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:24px;border:1px solid var(--s-border);border-radius:8px;background:var(--s-bg-menu,var(--s-bg-primary));color:var(--s-text-primary)}
#password-dialog::backdrop{background:rgba(0,0,0,.55)}
#password-dialog h2{font-size:18px;margin:0 0 20px}
#password-dialog label{display:block;margin:16px 0 6px;font-size:13px}
#password-dialog input{box-sizing:border-box;width:100%;min-height:44px;background:var(--s-bg-menu,var(--s-bg-primary));color:inherit;border:1px solid var(--s-border);border-radius:8px;padding:8px;font:inherit}
#password-dialog p{font-size:13px;line-height:1.5}
#password-error{color:var(--s-text-primary)}
#account-security{min-height:44px;margin-top:8px}

.team-dialog{margin:auto;box-sizing:border-box;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--s-border);border-radius:8px;background:var(--s-bg-menu,var(--s-bg-primary));color:var(--s-text-primary)}
.team-dialog::backdrop{background:rgba(0,0,0,.55)}
.team-dialog h2{font-size:18px}.team-dialog h3{font-size:16px}.team-dialog p{font-size:13px;line-height:1.5}.team-dialog label{display:block;margin:12px 0 6px}
.team-dialog input,.team-dialog select{box-sizing:border-box;width:100%;min-height:44px;background:var(--s-bg-menu,var(--s-bg-primary));color:inherit;border:1px solid var(--s-border);border-radius:8px;padding:8px;font:inherit}.team-dialog button{min-height:44px;white-space:normal;overflow-wrap:anywhere}
.team-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-bottom:1px solid var(--s-border);padding:12px 0}.team-row span{flex:1 1 180px;overflow-wrap:anywhere;min-width:0}.team-row select{width:auto;max-width:100%}
#team-manage,#workspace-join,#workspace-refresh{width:100%;min-height:44px;margin-top:4px}

/* Contacts use the primary harness's flat rows, readable labels and touch targets. */
.pilot-contacts{padding:24px;max-width:1200px;width:100%;margin:0 auto}
.pilot-contacts .pilot-toolbar input{min-width:0;flex:1 1 160px;color:var(--s-text-primary);background:var(--s-bg-input);border:1px solid var(--s-border);padding:10px;font:inherit}
.pilot-contacts button,.pilot-contacts select,.pilot-contacts input{min-height:44px}
.pilot-contact-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,2fr) minmax(110px,1fr);gap:16px;width:100%;padding:18px 0;text-align:left;border:0;border-bottom:1px solid var(--s-border);background:transparent;color:var(--s-text-primary);font:inherit;cursor:pointer;overflow-wrap:anywhere}
.pilot-contact-row span{color:var(--s-text-secondary);font-size:13px}
.pilot-contacts .pilot-form{max-width:720px}
@media(max-width:768px){.pilot-contacts{padding:16px}.pilot-contact-row{grid-template-columns:1fr;gap:6px}.pilot-contacts .pilot-toolbar{align-items:stretch}.pilot-contacts .pilot-toolbar select{max-width:100%}}

/* Account help sits outside the measured sign-in shell; dialogs reuse team geometry. */
#login-help{position:fixed;left:0;right:0;bottom:16px;z-index:20;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 16px}
#login-help button{min-height:44px;padding:8px 14px;border:1px solid var(--auth-border);border-radius:6px;background:var(--auth-page);color:var(--auth-text);font:400 13px/1.5 Arial,Helvetica,sans-serif;cursor:pointer}
#login-help button:focus-visible{outline:2px solid var(--auth-focus);outline-offset:3px}
.account-dialog{width:min(420px,calc(100vw - 32px))}
.team-dialog form{margin-top:8px}
#enrol-error,#recover-error,#codes-error{color:var(--s-text-primary)}
#account-codes{width:100%;min-height:44px;margin-top:4px}
