/* Owner workspace: one conversation, one visible computer, quieter supporting views. */
body.portal-app { --ground:#111311; --panel:#1a1d19; --panel-raised:#22261f; --display:#fff9ec; --strong:#f2eee4; --body:#c8cbbf; --muted:#a1a798; --line:rgba(232,236,220,.13); background:var(--ground); }
body.portal-app .topbar { background:rgba(17,19,17,.97); border-bottom:1px solid var(--line); }
body.portal-app .sidebar { background:#151813; border-right:1px solid var(--line); }
body.portal-app .sidebar-logo-text { font-weight:650; letter-spacing:-.035em; }
body.portal-app .sidebar-nav-item { border-radius:10px; margin-block:3px; font-weight:550; }
body.portal-app .sidebar-nav-item.active { background:#2b2b21; color:#ffba8d; border-color:transparent; }
body.portal-app .sidebar-nav-item[data-view='chat'] { order:-1; }
body.portal-app .sidebar-nav { display:flex; flex-direction:column; gap:3px; }
body.portal-app .sidebar-nav-item.secondary-nav { color:var(--muted); }
body.portal-app .main { padding-inline:24px; }
body.portal-app .welcome-h { font-family:'Fraunces',serif; font-weight:500; letter-spacing:-.035em; font-size:clamp(28px,3vw,40px); }
body.portal-app .welcome-sub { max-width:65ch; line-height:1.6; }
body.portal-app .priority-panel, body.portal-app .status-hero, body.portal-app .settings-section, body.portal-app .work-item, body.portal-app .tool-card { border-radius:16px; box-shadow:none; border:1px solid var(--line); }
body.portal-app .section-heading { font-size:20px; letter-spacing:-.02em; }
body.portal-app .section-summary { max-width:65ch; line-height:1.6; }
body.portal-app details.simple-details { border-radius:10px; }
body.portal-app summary { min-height:44px; align-content:center; }
body.portal-app .work-detail-sheet { background:var(--ground); border-left:1px solid var(--line); }
body.portal-app .login-card { max-width:460px; padding:40px; border-radius:24px; box-shadow:0 24px 90px #0004; }
body.portal-app .login-title { font-family:'Fraunces',serif; font-size:32px; letter-spacing:-.04em; }
body.portal-app .login-input { border-radius:12px; }
body.portal-app #employeeRoom {
 --room-graphite:#171a16; --room-panel:#1c201a; --room-line:#34392f;
 --room-paper:#171a16; --room-paper-line:#34392f; --room-ink:#f2eee4; --room-muted:#a1a798; --room-violet:#ff7d38;
 display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr); grid-template-rows:48px minmax(0,1fr);
 height:calc(var(--portal-viewport-height,100dvh) - 100px); max-width:1600px; border-radius:18px; box-shadow:0 12px 48px #0002;
}
#employeeRoom .room-tabs { grid-column:1/-1; grid-row:1; display:flex; padding-inline:8px; gap:6px; align-items:center; height:48px; background:#1c201a; }
#employeeRoom .room-tab { flex:0 0 auto; min-height:44px; padding:8px 14px; border:0; border-radius:8px; color:#adb3a6; }
#employeeRoom .room-tab[aria-selected='true'] { background:#2b3026; color:#fff6e5; }
#employeeRoom .room-tab[hidden] { display:none!important; }
#employeeRoom .room-live-panel { grid-column:1; grid-row:2; border:0; background:#10130f; }
#employeeRoom .room-chat-panel { grid-column:2; grid-row:2; border-left:1px solid var(--room-line); background:var(--room-paper); }
#employeeRoom .chat-head { padding:16px 20px; display:flex; align-items:center; gap:12px; }
#employeeRoom .chat-head-name { font-size:17px; font-weight:600; letter-spacing:-.025em; }
#employeeRoom .chat-head-status { font-size:12px; margin-top:4px; }
#employeeRoom .chat-messages { padding:20px; overflow:auto; overscroll-behavior:contain; scrollbar-color:#4c5544 transparent; }
#employeeRoom .chat-bubble { max-width:100%; font-size:15px; line-height:1.65; border-radius:14px; overflow-wrap:anywhere; }
body.portal-app #employeeRoom .chat-bubble.employee { background:transparent!important; border:0!important; color:#f2eee4!important; padding:6px 0 16px; }
body.portal-app #employeeRoom .chat-bubble.owner { background:#303929!important; border:1px solid #46503b!important; color:#fff9ee!important; margin-left:auto; max-width:92%; padding:12px 16px; }
body.portal-app #employeeRoom .chat-bubble.system { background:#30291b!important; color:#efd5a7!important; border:1px solid #59482b!important; }
#employeeRoom .chat-meta { color:#989f90; margin-top:10px; font-size:11px; }
#employeeRoom .chat-prose { white-space:pre-wrap; }
#employeeRoom .chat-prose a { color:#ffba8d; text-decoration:underline; text-underline-offset:3px; }
#employeeRoom .chat-code { max-width:100%; overflow:auto; padding:14px; background:#0d100c; border:1px solid #394032; border-radius:10px; font:12px/1.6 'JetBrains Mono',monospace; white-space:pre; }
#employeeRoom .chat-input-bar { padding:12px 16px 4px; gap:10px; align-items:flex-end; position:static; }
body.portal-app #employeeRoom .chat-input { resize:vertical; min-height:60px; max-height:180px; padding:12px 14px; border:1px solid #4c5742; border-radius:14px; background:#23291e; color:#fff9ec; font:16px/1.5 'Public Sans',sans-serif; }
#employeeRoom .chat-input:focus-visible { outline:2px solid #ff9a60; outline-offset:2px; box-shadow:none; }
#employeeRoom .chat-input::placeholder { color:#a0a993; }
#employeeRoom .chat-send { border-radius:14px; min-width:46px; height:46px; margin-bottom:5px; }
#employeeRoom .chat-composer-hint { flex:0 0 auto; margin:0; padding:5px 16px 12px; font-size:11px; color:#969f8d; }
#employeeRoom .chat-file-status:empty { display:none; }
body.portal-app #employeeRoom .chat-file-download, body.portal-app #employeeRoom .chat-work-link { background:#282d22; border:1px solid #46503b; border-radius:10px; color:#f0e7d5; padding:10px 12px; margin-block:8px; text-align:left; min-height:44px; }
#employeeRoom .chat-work-link > span:last-child { color:#ffba8d; }
#employeeRoom .live-workspace-head { min-height:62px; padding:12px 16px; background:#1c201a; }
#employeeRoom .live-workspace-kicker { display:none; }
#employeeRoom .live-workspace-frame { flex:1; min-height:0; width:100%; aspect-ratio:auto; }
#employeeRoom .live-workspace-empty { font-size:13px; color:#9aa18f; padding:20px; text-align:center; }
#employeeRoom .live-workspace-controls { background:#1c201a; border-top:1px solid #34392f; min-height:58px; }
#employeeRoom .room-needs-panel:not([hidden]) { position:absolute; z-index:8; top:48px; right:0; bottom:0; width:min(440px,100%); overflow:auto; background:#20251c; border-left:1px solid #49533f; box-shadow:-15px 0 45px #0005; }
#employeeRoom .room-needs-panel { color:#f2eee4; }
#employeeRoom .room-needs-item { color:#f2eee4; background:#2a3024; border-color:#46503b; }
@media(max-width:1100px) { body.portal-app:has(#view-chat.active) .main { padding-inline:12px; } }
@media(max-width:767px) {
 body.portal-app .main { padding-inline:14px; }
 body.portal-app:has(#view-chat.active) .main { padding:64px 0 0; margin:0; width:100%; height:var(--portal-viewport-height,100dvh); overflow:hidden; }
 body.portal-app #employeeRoom { height:calc(var(--portal-viewport-height,100dvh) - 132px - env(safe-area-inset-bottom)); grid-template-columns:minmax(0,1fr); grid-template-rows:44px var(--room-mobile-live-height,190px) 24px minmax(0,1fr); border-radius:0; border-inline:0; }
 #employeeRoom .room-tabs { height:44px; padding-inline:6px; }
 #employeeRoom .room-tab { min-height:44px; font-size:13px; }
 #employeeRoom .room-live-panel { grid-column:1; grid-row:2; }
 #employeeRoom .room-chat-panel { grid-column:1; grid-row:4; border-left:0; }
 #employeeRoom .room-splitter { display:grid!important; grid-column:1; grid-row:3; height:24px; min-height:24px; background:#2a3024; border-color:#46503b; }
 #employeeRoom .chat-head { padding:8px 12px; }
 #employeeRoom .chat-head-name { font-size:14px; }
 #employeeRoom .chat-head-status { font-size:11px; }
 #employeeRoom .chat-messages { padding:10px 14px; }
 #employeeRoom .chat-bubble { font-size:14px; }
 #employeeRoom .chat-input-bar { padding:8px 10px 5px; }
 body.portal-app #employeeRoom .chat-input { min-height:48px; max-height:110px; resize:none; padding:9px 12px; }
 #employeeRoom .chat-send { min-width:44px; height:44px; min-height:44px; margin:0; }
 #employeeRoom .chat-composer-hint { display:none; }
 #employeeRoom .live-workspace-head { min-height:36px; padding:4px 10px; }
 #employeeRoom .live-workspace-head h2 { display:none; }
 #employeeRoom .live-workspace-controls { min-height:44px; padding:0 6px; grid-template-columns:repeat(6,minmax(0,1fr)); gap:2px; }
 #employeeRoom .live-workspace-controls button { min-width:0; width:100%; height:44px; min-height:44px; padding:4px; font-size:10px; }
 #employeeRoom .live-workspace-freshness { bottom:47px; font-size:9px; }
 #employeeRoom .room-needs-panel:not([hidden]) { top:44px; }
 body.portal-keyboard-open #employeeRoom { height:calc(var(--portal-viewport-height,100dvh) - 64px); grid-template-rows:0 var(--room-mobile-live-height,100px) 18px minmax(0,1fr); }
 body.portal-keyboard-open #employeeRoom .room-tabs { visibility:hidden; height:0; min-height:0; overflow:hidden; }
 body.portal-keyboard-open #employeeRoom .room-splitter { height:18px; min-height:18px; }
 body.portal-keyboard-open #employeeRoom .chat-head { display:none; }
 body.portal-keyboard-open .mobile-bottom-nav { display:none!important; }
}
@media(prefers-reduced-motion:reduce) { body.portal-app * { scroll-behavior:auto!important; } }

#employeeRoom .room-needs-item strong { color:#f2eee4; }
#employeeRoom .live-workspace-controls { display:grid; grid-template-columns:minmax(80px,1fr) repeat(5,44px); gap:4px; position:relative; }
#employeeRoom .live-workspace-freshness { position:absolute; left:10px; right:10px; bottom:calc(100% + 6px); width:auto; max-width:none; padding:3px 6px; line-height:1.5; background:#111a; border-radius:4px; white-space:normal; overflow:visible; }
@media(max-width:767px) {
 body.portal-app #employeeRoom { grid-template-rows:44px var(--room-mobile-live-height,160px) 44px minmax(0,1fr); }
 #employeeRoom .room-splitter { height:44px; min-height:44px; }
 #employeeRoom .live-workspace-controls { grid-template-columns:repeat(6,minmax(0,1fr)); gap:2px; }
 #employeeRoom .live-workspace-freshness { font-size:9px; }
}

#employeeRoom .live-options { display:none; }
@media(max-width:767px) {
 #employeeRoom .room-live-panel { position:relative; }
 #employeeRoom .live-workspace-head { height:44px; min-height:44px; padding:0 8px; }
 #employeeRoom .live-workspace-context { flex:1; }
 #employeeRoom .live-options { display:block; width:44px; min-width:44px; height:44px; border:0; border-radius:8px; background:transparent; color:#f2eee4; font-size:18px; }
 #employeeRoom .live-workspace-controls { display:none; position:absolute; z-index:3; top:44px; bottom:auto; left:0; right:0; padding:4px; border:1px solid #49533f; box-shadow:0 8px 20px #0008; }
 #employeeRoom .screen-options-open .live-workspace-controls { display:grid; }
 #employeeRoom .live-workspace-freshness { display:none; }
 #employeeRoom .chat-head { display:none; }
 body.portal-app #employeeRoom .chat-input { height:48px; }
}

@media(max-width:767px) {
 body.portal-app.portal-keyboard-open #employeeRoom { height:calc(var(--portal-viewport-height,100dvh) - 64px); grid-template-rows:0 var(--room-mobile-live-height,96px) 18px minmax(0,1fr); }
 body.portal-app.portal-keyboard-open #employeeRoom .room-splitter { height:18px; min-height:18px; }
}
