/* Build22: shared responsive shell; existing feature controls keep their IDs. */
.skip-link{position:fixed;top:-8rem;left:1rem;z-index:10000;padding:12px 18px;background:var(--surface);color:var(--ink);border:2px solid var(--primary);border-radius:8px}.skip-link:focus{top:1rem}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
button,select,.menu-item,summary{min-height:44px}:root{--ink-soft:#53596d;--primary:#5548ce;--primary-dark:#473abd}html[data-theme=dark]{--ink-soft:#b8bed0;--primary:#aaa0ff;--primary-dark:#5145b7}
#sidebar{width:276px;flex-shrink:0;padding-top:env(safe-area-inset-top)}.side-head{padding:22px 18px 14px}.history-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 14px;max-height:43dvh;overflow-y:auto;flex-shrink:0}
.history-tools>#history-search,.history-tools>.history-filters,.history-tools>#btn-schedules,.history-tools>#btn-agent,.history-tools>.ereo-teams-switch{grid-column:1/-1}.history-tools>button{text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);font-size:12px}.history-tools>button:hover{background:var(--surface);border-color:var(--line)}
#conv-list{min-height:75px;overscroll-behavior:contain}#main-col{min-width:0;min-height:0;position:relative}#topbar{min-height:64px;padding-top:env(safe-area-inset-top);flex-wrap:wrap;height:auto}#conversation-title{flex:1;min-width:80px;max-width:42vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#chat-scroll{min-height:100px;overscroll-behavior:contain;scroll-padding-bottom:20px}.chat-inner,.welcome{max-width:880px;margin-left:auto;margin-right:auto}.welcome{padding:clamp(28px,8dvh,100px) 20px 30px}.welcome h1{font-size:clamp(26px,3.2vw,40px);letter-spacing:-.035em;line-height:1.2}
.composer-wrap{width:100%;max-width:920px;margin:0 auto;padding:8px 20px calc(12px + env(safe-area-inset-bottom));max-height:55dvh;overflow-y:auto;overflow-x:clip}.composer{display:grid;grid-template-columns:1fr 44px 44px 44px;gap:8px;align-items:center;padding:12px;border-radius:20px;box-shadow:0 6px 24px #24224208}
.composer #input{grid-row:1;grid-column:1/-1;order:initial;min-height:48px;max-height:180px;width:100%;font-size:16px;padding:8px;resize:none}.composer .model-wrap{grid-row:2;grid-column:1;align-self:center;justify-self:start}.composer #attach{grid-row:2;grid-column:2}.composer #mic{grid-row:2;grid-column:3}.composer #send{grid-row:2;grid-column:4;margin-left:0}
.composer #model-menu{position:fixed;bottom:180px;left:auto;max-height:55dvh;overflow:auto;z-index:70}.ereo-create-tools,.research-controls{display:flex;align-items:center;gap:6px;overflow-x:auto;flex-wrap:nowrap;min-height:48px;scrollbar-width:thin;overscroll-behavior-inline:contain}.ereo-create-tools>button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex:0 0 auto;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface);padding:6px 10px;font-size:12px}.ereo-create-tools svg{flex-shrink:0}.research-controls>*{flex-shrink:0}.research-controls label{white-space:nowrap}
.ereo-file-limits{font-size:12px;color:var(--ink-soft);margin:3px 0}.ereo-file-limits summary{display:flex;align-items:center;cursor:pointer;min-height:30px}.ereo-file-limits .ereo-file-hint{padding:6px 0;line-height:1.5}#device-status:not(:empty){padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--ink)}#install-app{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:6px 12px;white-space:nowrap}
.device-dialog{max-width:min(520px,calc(100vw - 24px));max-height:85dvh;overflow:auto;margin:auto;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);font:inherit}.device-dialog::backdrop{background:#10122588}.device-dialog h2{margin:0 0 16px}.device-dialog p{line-height:1.6;margin:12px 0}.device-dialog button{padding:8px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);margin:6px 6px 0 0}
[role=dialog],dialog{overscroll-behavior:contain;scroll-padding:20px;max-width:calc(100vw - 20px)}[role=dialog] input,[role=dialog] textarea,[role=dialog] select,dialog input,dialog textarea,dialog select{font-size:16px;max-width:100%}.mini-modal,.pricing-modal{max-height:90dvh;overflow-y:auto}.fineprint{line-height:1.5;color:var(--ink-soft)}
@media(max-width:800px){#sidebar{width:min(320px,90vw)}#topbar{gap:6px;padding-left:10px;padding-right:10px}#branch-select{max-width:100px}#save-status{max-width:78px}#btn-share{font-size:11px;padding:4px 6px}#install-app{font-size:12px;padding:6px 8px}.composer-wrap{padding-left:10px;padding-right:10px;max-height:54dvh}.composer{gap:6px;padding:8px}.research-controls{font-size:12px}.ereo-create-tools>button{font-size:11px;padding:5px 9px}.welcome p{font-size:14px}.history-tools{max-height:46dvh}#chat-scroll{min-height:60px}.mini-modal,.pricing-modal{max-height:90dvh}}
@media(max-height:550px){.composer-wrap{max-height:58dvh}.fineprint,.ereo-file-limits{display:none}.welcome{padding:14px}.history-tools{max-height:45dvh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

#close-navigation{display:none}@media(max-width:800px){#close-navigation{display:block;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:4px 8px;font-size:12px}.side-head{gap:8px}}
/* Override legacy icon-only widths after moving controls into the tool strip. */
.ereo-create-tools>#imgmode,.ereo-create-tools>#videomode,.ereo-create-tools>#execution-tools,.ereo-create-tools>#workspace-tools,.ereo-create-tools>#attach-camera{width:auto;height:44px;min-height:44px;font-size:12px;padding:6px 10px;margin:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;flex:0 0 auto}
.research-controls>button{padding:6px 10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;font-size:12px}.research-controls #read-url-controls{flex:0 0 auto;width:auto;max-width:min(340px,80vw)}
#btn-share:disabled{display:none}
@media(max-width:800px){#sidebar{transform:translateX(-110%)}#sidebar.open{transform:translateX(0)}#branch-select{max-width:80px}#topbar{flex-wrap:wrap;min-height:56px}#install-app{padding:4px 7px;font-size:11px}#save-status{font-size:10px}#conversation-actions{flex-shrink:0}#btn-share{max-width:60px;white-space:normal;font-size:10px}}

.ereo-update-action{margin-left:10px;padding:4px 10px;border:1px solid var(--primary);border-radius:7px;background:var(--surface);color:var(--primary);font:inherit;font-weight:600}.ereo-update-action:disabled{opacity:.6;cursor:wait}

/* Build 23: keep readable link accents separate from white-on-color controls. */
:root { --button-fill:#5548ce; --button-hover:#473abd; }
@media (prefers-color-scheme:dark) { :root { --button-fill:#5548ce; --button-hover:#473abd; } }
#send, #voice-conversation, #imgmode, #videomode, #mic, #attach { min-width:44px; min-height:44px; }
#send { width:44px; height:44px; }
#voice-conversation { height:auto; padding:10px 12px; }
button[data-availability="unavailable"] { border-style:dashed; }
.ereo-availability-dialog { width:min(440px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; overflow:auto; border:1px solid var(--line); border-radius:16px; padding:24px; background:var(--surface); color:var(--ink); }
.ereo-availability-dialog::backdrop { background:rgba(0,0,0,.45); }
.ereo-availability-dialog p { line-height:1.6; }
.ereo-availability-dialog button { display:block; width:100%; min-height:44px; margin-top:12px; padding:10px; border-radius:8px; border:1px solid var(--line); background:var(--surface); color:var(--ink); }
.ereo-availability-note { line-height:1.5; padding:12px; border:1px solid var(--line); border-radius:8px; color:var(--ink); }

/* Compatibility aliases used by inherited image controls. */
:root { --card:var(--surface); --text:var(--ink); }
/* Build52: consistent touch and zoom behavior for dynamically added forms. */
@media(max-width:800px){dialog button,[role="dialog"] button,dialog select,[role="dialog"] select,dialog summary,[role="dialog"] summary,.ereo-file-limits summary{min-height:44px}dialog input[type="checkbox"],[role="dialog"] input[type="checkbox"]{min-width:24px;min-height:24px}dialog label,[role="dialog"] label{line-height:1.5}dialog,[role="dialog"]{max-height:calc(var(--ereo-visible-height,100dvh) - 24px)} }
@media(forced-colors:active){button,a,input,select,textarea,summary{forced-color-adjust:auto}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid Highlight}}
