body,html{min-width:0}.conversation-shell,.locale-shell,.owner-app-shell,.project-list-page,body{min-height:100dvh}.locale-switcher-mobile{position:relative;display:none}.locale-switcher-mobile summary{display:grid;width:44px;min-width:44px;height:44px;min-height:44px;place-items:center;border-radius:999px;color:var(--muted);font-size:11px;font-weight:800;list-style:none;cursor:pointer}.locale-switcher-mobile summary::-webkit-details-marker{display:none}.locale-switcher-mobile summary:focus-visible,.locale-switcher-mobile summary:hover,.locale-switcher-mobile[open] summary{background:var(--surface-strong);color:var(--ink)}.locale-switcher-mobile summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.locale-switcher-mobile nav{position:absolute;top:calc(100% + 6px);right:0;z-index:120;display:grid;min-width:132px;grid-gap:2px;gap:2px;padding:6px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.locale-switcher-mobile a{display:flex;min-height:44px;align-items:center;justify-content:center;border-radius:10px;color:var(--muted);font-size:12px;font-weight:800;text-decoration:none}.locale-switcher-mobile a.is-active,.locale-switcher-mobile a:focus-visible,.locale-switcher-mobile a:hover{background:var(--surface-strong);color:var(--ink)}.conversation-sidebar,.owner-app-sidebar{height:100dvh;max-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain}.conversation-sidebar{overflow-y:auto}.conversation-stage,.owner-app-stage{min-width:0;min-height:100dvh;scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom))}.conversation-content,.owner-app-content{padding-right:max(12px,env(safe-area-inset-right));padding-bottom:calc(92px + env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left))}.locale-shell>.owner-control-view{padding:24px max(12px,env(safe-area-inset-right)) 64px max(12px,env(safe-area-inset-left))}.conversation-shell .assistant-composer,.owner-app-shell .review-owner-live>.review-owner-live-section:last-of-type{bottom:max(8px,env(safe-area-inset-bottom))}.conversation-shell .assistant-composer-actions{display:grid;width:100%;grid-template-columns:auto auto minmax(44px,1fr);align-items:center;grid-gap:4px 6px;gap:4px 6px}.conversation-shell .assistant-composer-actions .review-attachment-trigger{grid-row:2;grid-column:1;justify-self:start}.conversation-shell .assistant-composer-actions .review-voice-control{grid-row:2;grid-column:2}.conversation-shell .assistant-composer-actions .primary-button{grid-row:2;grid-column:3;justify-self:end}.conversation-shell .assistant-composer-actions .review-attachment-selection{grid-row:1;grid-column:1/-1;max-height:min(38dvh,360px);overflow-y:auto;padding-right:2px;overscroll-behavior:contain}.conversation-shell .assistant-composer-actions>.form-error{grid-column:1/-1;margin:0 4px 2px}.review-attachment-lightbox{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overscroll-behavior:none}.review-attachment-lightbox-close{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.client-project-facts a,.owner-control-view .assistant-owner-question a,.owner-project-facts a{display:inline-flex;min-height:44px;max-width:100%;align-items:center;overflow-wrap:anywhere}.owner-control-view .assistant-owner-question,.owner-control-view .assistant-owner-question article,.owner-control-view .assistant-owner-question section{min-width:0;max-width:100%}.owner-control-view .assistant-owner-question summary{min-height:44px;overflow-wrap:anywhere}.owner-control-view .assistant-owner-question pre{max-width:100%;overflow-x:auto;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-strong);font-size:12px;line-height:1.55;white-space:pre;overscroll-behavior-inline:contain}.owner-control-view .assistant-owner-question code{overflow-wrap:anywhere}@media (max-width:600px){.locale-switcher-desktop{display:none}.locale-switcher-mobile{display:block}.conversation-topbar,.owner-app-topbar{min-height:calc(60px + env(safe-area-inset-top));padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left))}.conversation-topbar-title,.owner-app-heading{flex:1 1 auto;overflow:hidden}.conversation-topbar-actions,.owner-app-actions{flex:0 0 auto}.conversation-topbar .locale-switcher a:not(.is-active),.owner-app-topbar .locale-switcher a:not(.is-active){display:flex}.conversation-content,.owner-app-content{min-height:calc(100dvh - 60px - env(safe-area-inset-top))}.conversation-shell .assistant-composer{max-height:calc(100dvh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.conversation-shell .assistant-composer-actions .review-attachment-selection{max-height:min(34dvh,300px)}.conversation-shell .review-voice-status{right:auto;left:0;max-width:min(82vw,320px)}.review-attachment-lightbox img{max-width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}@media (max-width:380px){.conversation-topbar-title>div span,.owner-app-heading>div span{display:none}.conversation-sign-out,.owner-app-sign-out{padding-inline:5px;font-size:11px}.conversation-content,.owner-app-content{padding-right:max(10px,env(safe-area-inset-right));padding-left:max(10px,env(safe-area-inset-left))}}@media (max-height:560px) and (orientation:landscape){.conversation-sidebar-status{margin-top:8px}.conversation-sidebar-profile,.owner-app-profile{min-height:56px}}@media (prefers-reduced-motion:reduce){.locale-switcher-mobile nav,.review-attachment-lightbox{scroll-behavior:auto}}:root{--owner-composer-background:#282622;--owner-composer-foreground:#f1eee7;--owner-composer-muted:#aaa39a;--owner-composer-surface:#37342f;--owner-composer-line:#4b4740}.workspace-header-inner{grid-template-columns:minmax(220px,1fr) minmax(0,auto) minmax(220px,1fr)}.workspace-header .brand{gap:0}.login-page .project-list-intro{margin-inline:auto;text-align:center}.login-card,.login-page .project-list-intro>p:last-child{margin-inline:auto}.login-card-body{text-align:center}.login-card-body>p{max-width:460px;margin-inline:auto}.login-card h2{text-align:center}.login-card .action-form{justify-items:center;margin-inline:auto}.login-card .field-label{display:grid;justify-items:center;grid-gap:8px;gap:8px;text-align:center}.login-card .field-label>span{width:100%;text-align:center}.login-card input{text-align:left}.login-card .login-submit-button{min-height:44px;justify-self:center}.login-card-secondary-actions{display:flex;align-items:center;justify-content:center;gap:8px 14px;flex-wrap:wrap;margin-top:12px}.login-card-secondary-actions form{margin:0}.login-secondary-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;margin:10px auto 0}.login-card-secondary-actions .login-secondary-link{margin-top:0}.owner-message-composer{position:-webkit-sticky;position:sticky;bottom:14px;z-index:35;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:8px;gap:8px;padding:8px 10px;border:1px solid var(--owner-composer-line);border-radius:24px;background:var(--owner-composer-background);color:var(--owner-composer-foreground);box-shadow:0 18px 48px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.owner-message-composer-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.review-owner-live .owner-message-composer>textarea{field-sizing:content;width:100%;height:auto;min-height:50px;max-height:160px;overflow-y:auto;resize:none;border:0;border-radius:18px;background:transparent;color:var(--owner-composer-foreground);caret-color:var(--owner-composer-foreground);padding:13px 12px;line-height:1.5;scrollbar-width:none}.review-owner-live .owner-message-composer>textarea::-webkit-scrollbar{display:none}.review-owner-live .owner-message-composer>textarea::placeholder{color:var(--owner-composer-muted);opacity:1}.review-owner-live .owner-message-composer>textarea:focus{outline:0}.review-owner-live .owner-message-composer>textarea:disabled{opacity:1;color:var(--owner-composer-muted);-webkit-text-fill-color:var(--owner-composer-muted)}.owner-message-composer-actions{display:flex;width:auto;align-items:center;align-self:end;justify-content:flex-end;gap:6px}.owner-message-composer .review-attachment-composer{display:contents}.owner-message-composer .review-voice-button,.owner-message-composer button.review-attachment-trigger{display:inline-flex;width:auto;min-width:44px;height:44px;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--owner-composer-muted);cursor:pointer;font:inherit;font-weight:700}.owner-message-composer .review-voice-button:focus-visible,.owner-message-composer .review-voice-button:hover:not(:disabled),.owner-message-composer button.review-attachment-trigger:focus-visible,.owner-message-composer button.review-attachment-trigger:hover:not(:disabled){background:var(--owner-composer-surface);color:var(--owner-composer-foreground)}.owner-message-composer .review-voice-button:disabled,.owner-message-composer button.review-attachment-trigger:disabled{cursor:default;opacity:.5}.owner-message-composer .review-attachment-trigger>span:first-child{font-size:22px;line-height:1}.owner-message-composer .review-voice-control{position:relative;display:grid;width:44px;height:44px;place-items:center}.owner-message-composer .review-voice-button{width:44px;padding:0}.owner-message-composer .review-voice-button svg{width:23px;height:23px;fill:currentColor}.owner-message-composer .review-voice-stop{width:14px;height:14px;border-radius:4px;background:currentColor}.owner-message-composer .review-voice-control[data-state=recording] .review-voice-button{background:var(--accent);color:var(--owner-composer-background)}.owner-message-composer .review-voice-control[data-state=transcribing] .review-voice-button svg{animation:owner-review-voice-pulse .9s ease-in-out infinite alternate}.owner-message-composer .review-voice-status{position:absolute;right:0;bottom:calc(100% + 12px);width:max-content;max-width:min(70vw,360px);padding:7px 10px;border:1px solid var(--owner-composer-line);border-radius:10px;background:var(--owner-composer-surface);color:var(--owner-composer-foreground);box-shadow:0 8px 24px rgba(0,0,0,.2);font-size:12px;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease}.owner-message-composer .review-voice-status:not(:empty){opacity:1;transform:translateY(0)}.owner-message-composer-actions>.primary-button{display:grid;width:44px;min-width:44px;height:44px;min-height:44px;place-items:center;padding:0;border-radius:50%;background:var(--owner-composer-foreground);color:var(--owner-composer-background);font-size:0;line-height:0}.owner-message-composer-actions>.primary-button:before{width:26px;height:26px;background:currentColor;content:"";transform:translateY(6px);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.7 20.2V8.7l-3.8 3.8a1.3 1.3 0 1 1-1.8-1.8l6-6a1.3 1.3 0 0 1 1.8 0l6 6a1.3 1.3 0 1 1-1.8 1.8l-3.8-3.8v11.5a1.3 1.3 0 1 1-2.6 0Z' fill='black'/%3E%3C/svg%3E") center /contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.7 20.2V8.7l-3.8 3.8a1.3 1.3 0 1 1-1.8-1.8l6-6a1.3 1.3 0 0 1 1.8 0l6 6a1.3 1.3 0 1 1-1.8 1.8l-3.8-3.8v11.5a1.3 1.3 0 1 1-2.6 0Z' fill='black'/%3E%3C/svg%3E") center /contain no-repeat}.owner-message-composer .review-attachment-selection,.owner-message-composer-actions>.form-error{grid-column:1/-1;flex:1 0 100%;width:100%}.owner-message-composer .review-attachment-selection{order:20;max-height:min(38dvh,360px);overflow-y:auto;padding-right:2px;overscroll-behavior:contain}.owner-message-composer .review-attachment-selection-card{border-color:var(--owner-composer-line);background:var(--owner-composer-surface);color:var(--owner-composer-foreground)}.owner-message-composer .review-attachment-selection-card span{color:var(--owner-composer-muted)}.owner-message-composer .review-attachment-selection-actions button{border-color:var(--owner-composer-line);color:var(--owner-composer-foreground)}.owner-message-composer-actions>.form-error{margin:0 4px 2px}@keyframes owner-review-voice-pulse{0%{opacity:.45;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (max-width:900px){.workspace-header-inner{grid-template-columns:minmax(0,1fr) auto}}@media (max-width:640px){.login-card-secondary-actions{flex-direction:column;gap:2px}.owner-message-composer{bottom:max(8px,env(safe-area-inset-bottom));max-height:calc(100dvh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:7px 8px}.review-owner-live .owner-message-composer>textarea{max-height:140px}.owner-message-composer-actions{display:grid;width:100%;grid-template-columns:auto auto minmax(44px,1fr);grid-gap:4px 6px;gap:4px 6px}.owner-message-composer-actions .review-attachment-trigger{grid-row:2;grid-column:1;justify-self:start;width:44px;padding:0}.owner-message-composer .review-attachment-trigger-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.owner-message-composer-actions .review-voice-control{grid-row:2;grid-column:2}.owner-message-composer-actions>.primary-button{grid-row:2;grid-column:3;justify-self:end}.owner-message-composer .review-attachment-selection{grid-row:1;grid-column:1/-1;max-height:min(34dvh,300px)}.owner-message-composer .review-voice-status{right:-52px;max-width:min(82vw,320px)}}@media (prefers-reduced-motion:reduce){.owner-message-composer .review-voice-control[data-state=transcribing] .review-voice-button svg{animation:none;opacity:.72}.owner-message-composer .review-voice-status{transition:none}}:root{--control-line:#756e63}html[data-theme=light]{--control-line:#817b72}input,select,textarea{border-color:var(--control-line)}.conversation-shell .assistant-composer textarea:focus-visible,.conversation-shell .review-owner-live>.review-owner-live-section:last-of-type textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.conversation-shell .assistant-composer-actions>.secondary-button{display:inline-flex;min-height:44px}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,select:-webkit-autofill,textarea:-webkit-autofill{-webkit-transition:none;transition:none}@media (max-width:600px){.conversation-shell .assistant-composer-actions>.secondary-button{min-height:44px}}