/* Shared layout and states; no account data is stored in the visual shell. */
button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}fieldset{margin:0;padding:0;border:0;min-width:0}label{line-height:1.5}.muted{color:var(--muted);font-size:12px;line-height:1.7}.mobile-brand{display:none}.auth-heading{font-size:25px;margin:0 0 24px;letter-spacing:-.6px}.auth-card{max-width:430px}.text-button{border:0;background:none;color:var(--accent);padding:10px 2px;font-size:12px;cursor:pointer;text-align:center}.google-entry{display:grid;gap:12px;margin-top:18px}.google-entry>span{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px}.google-entry>span:before,.google-entry>span:after{content:'';flex:1;height:1px;background:var(--line)}.google-entry button{min-height:44px}.account-notice{font-size:12px;color:var(--soft);overflow-wrap:anywhere;padding:12px;border:1px solid var(--line);border-radius:10px}.setup-card .auth-brand{margin-bottom:28px}.setup-card p{overflow-wrap:anywhere;line-height:1.7}.setup-card .settings-actions{flex-wrap:wrap}.connection-status{margin:0 16px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--muted);font-size:11px;line-height:1.5;text-align:left}.connection-status:before{content:'';display:inline-block;width:6px;height:6px;background:#c3a365;border-radius:50%;margin-right:7px}.connection-status.connected:before{background:var(--accent)}.integration-note{padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;background:var(--panel-2);margin:0 0 20px}.integration-note strong{font-size:13px}.integration-note p{color:var(--muted);font-size:12px;line-height:1.8;margin:6px 0 0}.section-heading{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.section-heading>div{min-width:0}.section-heading p{font-size:12px;color:var(--muted);line-height:1.7;margin:8px 0}.section-heading .status-chip{white-space:nowrap;padding:7px 10px;border:1px solid var(--line);border-radius:20px}.activation-steps{display:grid;gap:0;padding:0 0 12px}.activation-steps>div{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line)}.activation-steps>div>span{display:grid;place-items:center;border:1px solid var(--line);background:var(--panel-2);width:32px;height:32px;flex-shrink:0;border-radius:10px;color:var(--accent);font-size:12px;font-weight:700}.activation-steps strong{font-size:14px}.activation-steps p{font-size:12px;color:var(--muted);line-height:1.8;margin:6px 0 0}.settings-empty{padding:28px 0;color:var(--muted);font-size:13px;line-height:1.7}.audit-row{display:flex;gap:16px;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.audit-row>div{display:flex;flex-direction:column;gap:5px}.audit-row span,.audit-row time{color:var(--muted);font-size:11px}.session-notice{color:var(--muted);font-size:12px;line-height:1.7;padding:12px 18px;border-top:1px solid var(--line);background:var(--panel)}.team-row{grid-template-columns:minmax(160px,1.5fr) 110px 110px 105px;gap:14px}.team-row .compact{font-size:11px;padding:8px 10px;min-height:36px}.settings-actions{flex-wrap:wrap}.settings-content{min-width:0}.switch input:focus-visible+i{outline:2px solid var(--accent);outline-offset:3px}.switch input:disabled+i{opacity:.45;cursor:not-allowed}.form-error:empty{display:none}.message-text{overflow-wrap:anywhere;white-space:pre-wrap}.media-card{max-width:100%}.media-card img,.media-card video{max-width:100%;height:auto}.media-card audio{max-width:100%}.form-grid input,.form-grid select,.form-grid textarea{min-width:0;max-width:100%}.auth-panel{overflow:auto;max-height:100dvh}.settings-section .form-grid{margin-top:18px}.settings-header h2{font-size:20px}.chat-empty p{max-width:350px;line-height:1.8}.chat-empty .secondary{margin-top:10px}.settings-section{scroll-margin-top:18px}.team-person>div:last-child{min-width:0}.team-person strong{font-size:12px}.team-person span{font-size:11px}
@media(max-width:1100px){.settings-layout{grid-template-columns:190px minmax(0,1fr);gap:18px;padding:22px}.team-row{grid-template-columns:minmax(130px,1fr) 100px 100px}.team-row>:nth-child(3){display:none}}
@media(max-width:820px){.mobile-brand{display:flex;margin-bottom:36px}.auth-heading{font-size:24px}.auth-panel{padding:28px 22px;min-height:100dvh;align-items:flex-start}.auth-card{margin:auto;width:100%;max-width:420px;padding:16px 0}.settings-layout{display:block;padding:14px}.settings-tabs{gap:4px;padding-bottom:8px}.settings-tabs button{min-height:42px}.settings-actions>button{flex:1;min-height:44px}.section-heading{flex-wrap:wrap;gap:6px}.activation-steps{padding:0}.team-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px 0}.team-row .role-chip{font-size:9px}.team-row>:nth-child(4){grid-column:2;justify-self:end}.team-row .team-person{grid-row:1/3}.team-row .conversation-avatar{display:none}.audit-row{flex-direction:column;gap:7px}.settings-content{padding-bottom:30px}.rail{height:calc(64px + env(safe-area-inset-bottom));padding-bottom:calc(6px + env(safe-area-inset-bottom))}.conversations-pane,.chat-pane,.context-pane,.settings-view{bottom:calc(64px + env(safe-area-inset-bottom))}.setup-screen{padding:22px}.setup-card{max-width:100%}.setup-card h1{font-size:27px}.chat-empty{padding:26px}.context-pane{max-width:100%}.chat-title strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-grid input,.form-grid select,.form-grid textarea,.auth-form input{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.manual-connection{margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}.manual-connection summary{cursor:pointer;color:var(--soft);font-size:12px;font-weight:800;list-style-position:inside}.manual-connection[open] summary{color:var(--text);margin-bottom:10px}.meta-signup-card{border-left-color:var(--accent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--panel-2)),var(--panel-2))}.meta-signup-card .settings-actions{justify-content:flex-start}
[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}[data-icon] svg{display:block;width:20px;height:20px}.rail-btn [data-icon] svg{width:21px;height:21px}.search-wrap [data-icon] svg{width:17px;height:17px}.send-btn [data-icon] svg{width:19px;height:19px}
html{color-scheme:dark}html[data-theme="light"]{color-scheme:light}.settings-tabs{scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}
.weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:7px}.day-choice{position:relative}.day-choice input{position:absolute;opacity:0;pointer-events:none}.day-choice span{display:grid;place-items:center;min-height:38px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.day-choice input:checked+span{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 16%,var(--panel));color:var(--accent)}.day-choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.day-choice input:disabled+span{opacity:.48;cursor:not-allowed}
@media(max-width:520px){.weekday-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.media-state{padding:11px 12px;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:12px;line-height:1.45}.media-state.pending:before{content:'•';display:inline-block;margin-right:7px;color:var(--accent)}.media-state.failed{color:var(--soft)}
@media(min-width:821px) and (max-height:700px){.auth-panel{padding:24px 38px}.auth-heading{font-size:23px;margin-bottom:18px}.auth-tabs{margin-bottom:20px}.auth-form{gap:14px}.auth-hero{padding-top:30px}.hero-copy{margin-top:11vh}.hero-copy h1{font-size:clamp(48px,4.6vw,64px)}.hero-copy p{font-size:15px;line-height:1.7}.hero-chips{margin-top:20px}.hero-chips span{font-size:12px;padding:8px 11px}.google-entry{margin-top:12px;gap:10px}}

/* Team management and employee profiles */
.team-row{grid-template-columns:minmax(190px,1.55fr) 100px 92px minmax(135px,1fr) 100px auto;align-items:center;gap:10px}
.team-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;margin-top:2px}
.team-chip{width:max-content;padding:5px 7px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--accent) 8%,var(--panel-2));color:var(--soft);font-size:10px;font-weight:800;white-space:nowrap}
.team-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}
.team-actions .compact{white-space:nowrap}
.member-profile-grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:14px}
.member-profile-grid .context-card{margin:0}
.member-history-list{display:grid;gap:0}
.member-history-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.member-history-row>div{min-width:0}
.member-history-row strong,.member-history-row span,.member-history-row p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-history-row strong{font-size:12px}.member-history-row span{margin-top:3px;color:var(--muted);font-size:10px}.member-history-row p{margin:6px 0 0;color:var(--soft);font-size:11px;max-width:440px}.member-history-row time{flex:0 0 auto;color:var(--muted);font-size:10px;white-space:nowrap}
@media(max-width:1100px){.team-row{grid-template-columns:minmax(150px,1.4fr) 90px 84px minmax(120px,1fr) 84px auto}.team-actions{justify-content:flex-end}.member-profile-grid{grid-template-columns:1fr}}
@media(max-width:820px){.team-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:16px 0}.team-row .team-person{grid-column:1;grid-row:1/6}.team-row .role-chip{grid-column:2;grid-row:1;justify-self:end;font-size:9px}.team-row .team-chip{display:inline-flex;grid-column:2;grid-row:2;justify-self:end}.team-row .schedule-chip{grid-column:2;grid-row:3;max-width:48vw;justify-self:end}.team-row .status-chip{grid-column:2;grid-row:4;justify-self:end}.team-row .team-actions{grid-column:2;grid-row:5;justify-self:end}.member-profile-grid{grid-template-columns:1fr}}

/* Keep access and loading states framed inside narrow mobile viewports. */
@media(max-width:820px){
  .auth-screen,.auth-panel,.setup-screen{min-height:100dvh}
  .auth-panel{padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));align-items:center;overflow-x:hidden;overflow-y:auto}
  .auth-card{width:min(100%,420px);min-width:0;margin:auto;padding:12px 0}
  .mobile-brand{margin-bottom:24px}
  .auth-heading{font-size:23px;line-height:1.15;margin-bottom:20px}
  .auth-tabs{margin-bottom:20px}
  .auth-form{gap:14px}
  .google-entry{margin-top:14px}
  .setup-screen{width:100%;max-width:100vw;grid-template-columns:minmax(0,1fr);padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));overflow:hidden}
  .setup-card{width:calc(100vw - 36px);max-width:calc(100vw - 36px);min-width:0;justify-self:center;padding:24px 22px;border-radius:20px;overflow:hidden}
  .setup-card .auth-brand{margin-bottom:22px}
  .setup-card h1,.setup-card p{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
  .setup-card h1{font-size:clamp(23px,7vw,28px);line-height:1.12}
}
@media(max-width:380px){
  .auth-panel{padding-left:16px;padding-right:16px}
  .setup-screen{padding-left:14px;padding-right:14px}
  .setup-card{width:calc(100vw - 28px);max-width:calc(100vw - 28px);padding:22px 18px}
  .auth-heading{font-size:21px}
}
