:root {
  --interior-line: color-mix(in srgb, var(--text) 10%, transparent);
  --interior-shadow: 0 16px 42px color-mix(in srgb, var(--text) 8%, transparent);
  --interior-soft-shadow: 0 5px 18px color-mix(in srgb, var(--text) 5%, transparent);
}
html { background: var(--canvas); }
body { min-height: 100dvh; background: var(--canvas); color: var(--text); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 65%, white); outline-offset: 3px; }
.shell { display:grid; grid-template-columns:250px minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); width:100%; max-width:1680px; min-height:100dvh; margin:0 auto; }
.app-header { position:sticky; top:0; z-index:20; grid-column:1/-1; padding:0 clamp(22px,4vw,62px); border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--canvas) 94%,transparent); backdrop-filter:blur(16px); }
.top { display:grid; grid-template-columns:minmax(170px,1fr) minmax(160px,1fr) minmax(0,2fr); gap:18px; align-items:center; min-height:76px; height:auto; margin:0; border:0; }
.wordmark { gap:9px; color:var(--text); font:650 12px/1 var(--sans); letter-spacing:.14em; }
.wordmark img { width:75px; max-height:31px; }
.wordmark span { color:var(--text); }
.header-studio-name { min-width:0; overflow:hidden; color:var(--text); font:400 20px/1.1 var(--display); text-overflow:ellipsis; white-space:nowrap; }
.header-tools { display:flex; justify-content:flex-end; align-items:center; gap:13px; min-width:0; }
.top-right { display:flex; justify-content:flex-end; align-items:center; gap:12px; min-width:0; }
.workspace-email { max-width:180px; font-size:11px; }
.sync-status { display:inline-flex; align-items:center; min-height:26px; padding:0 9px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:10px; white-space:nowrap; }
.header-link { padding:6px 3px; color:var(--muted); font-size:11px; }
.header-link:hover { color:var(--accent); }
.round { width:34px; height:34px; }
.theme-switch { flex:none; border-color:var(--line); border-radius:999px; background:var(--surface-soft); }
.theme-switch button { min-width:45px; min-height:27px; border-radius:999px; color:var(--muted); font-size:9px; }
.theme-switch button.active { background:var(--surface); color:var(--accent); box-shadow:var(--interior-soft-shadow); }
.app-sidebar { position:sticky; top:77px; grid-column:1; grid-row:2; height:calc(100dvh - 77px); overflow:auto; padding:25px 16px 20px; border-right:1px solid var(--line); background:var(--canvas); }
.sidebar-kicker,.nav-group-label { margin:0 12px 10px; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.15em; }
.header-nav { display:grid; align-content:start; gap:20px; }
.nav-group { display:grid; gap:3px; }
.nav-group-label { margin-top:0; margin-bottom:4px; }
.nav.header-nav button,.nav-settings { position:relative; min-height:42px; padding:0 12px; border:0; border-radius:10px; background:transparent; color:var(--muted); font-size:12px; }
.nav.header-nav button:hover,.nav-settings:hover { transform:none; background:var(--surface-soft); color:var(--text); }
.nav.header-nav button.active { background:var(--surface-soft); color:var(--accent); box-shadow:inset 2px 0 var(--accent); font-weight:650; }
.nav.header-nav button .ico,.nav-settings .ico { width:20px; margin-right:10px; color:currentColor; }
.nav-settings { display:flex; align-items:center; width:100%; margin-top:20px; text-align:left; }
.sidebar-home { display:flex; justify-content:space-between; margin:26px 8px 0; padding:15px 4px 0; border-top:1px solid var(--line); color:var(--muted); font-size:11px; text-decoration:none; }
.sidebar-home:hover { color:var(--accent); }
.main { grid-column:2; grid-row:2; width:100%; min-width:0; max-width:1280px; margin:0 auto; padding:38px clamp(24px,4vw,60px) 68px; }
.welcome { align-items:center; padding:8px 0 24px; }
.welcome h1,.view-head h1 { color:var(--text); font-size:clamp(30px,3.2vw,43px); }
.welcome p,.view-head p { max-width:620px; color:var(--muted); font-size:13px; line-height:1.65; }
.studio-kicker,.eyebrow { color:var(--accent); }
.btn { min-height:42px; border-radius:9px; padding:0 16px; background:var(--accent); font-size:11px; box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 20%,transparent); }
.btn:hover { background:var(--accent-hover); }
.btn.secondary { border-color:var(--line); background:var(--surface); color:var(--text); box-shadow:none; }
.btn.secondary:hover { border-color:var(--accent); color:var(--accent); }
.card,.stat,.person-card,.panel { border-color:var(--line); border-radius:14px; background:var(--surface); box-shadow:var(--interior-soft-shadow); }
.stat { padding:19px; }
.stat-top,.stat-note,.panel-head p,.project-name small,.client,.pct,.task-copy small,.task-date { color:var(--muted); }
.stat-value { color:var(--text); }
.panel { padding:21px; }
.panel-head { margin-bottom:15px; }
.panel-head h2 { color:var(--text); font-size:16px; }
.project-row,.task,.activity,.person-meta,.detail-list>div { border-color:var(--line); }
.project-name,.task-copy b,.person-top h3 { color:var(--text); }
.project-row { grid-template-columns:minmax(150px,1.4fr) minmax(90px,.8fr) auto minmax(90px,.7fr); }
.progress { height:5px; background:var(--surface-alt); }
.progress i,.feature-track i { background:var(--accent); }
.pill.green { border:1px solid color-mix(in srgb,var(--accent) 20%,transparent); background:var(--surface-soft); color:var(--accent); }
.icon-btn { border:1px solid var(--line); background:var(--surface-soft); color:var(--muted); }
.icon-btn:hover { background:var(--accent); color:#fff; }
.table-wrap { border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.table th { background:var(--surface-soft); color:var(--muted); }
.table td { color:var(--text); }
.table tr:hover td { background:var(--surface-soft); }
.search input,.filter,.toolbar input,.toolbar select { min-height:42px; border-color:var(--line); border-radius:9px; background:var(--surface); color:var(--text); }
.empty { border:1px dashed var(--line); border-radius:12px; background:var(--surface-soft); line-height:1.6; }
.modal { border:1px solid var(--line); border-radius:16px; background:var(--surface); color:var(--text); box-shadow:var(--interior-shadow); }
.modal-head { padding-bottom:14px; border-bottom:1px solid var(--line); }
.modal-head p { color:var(--muted); line-height:1.55; }
.field label { color:var(--text); font-size:11px; }
.field input,.field select,.field textarea { min-height:42px; border-color:var(--line); border-radius:9px; background:var(--canvas); color:var(--text); }
.field textarea { min-height:100px; }
.settings-modal { width:min(100%,620px); }
.studio-name-field { margin:18px 0 22px; }
.studio-name-field small { color:var(--muted); font-size:10px; line-height:1.5; }
.settings-section-title { margin:0 0 8px; color:var(--text); font:600 12px/1.4 var(--sans); }
.settings-feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; max-height:42vh; overflow:auto; padding:0 4px; }
.settings-feature-list .task { align-items:center; padding:10px 0; }
.settings-feature-list .check { margin-right:2px; }
.nav-more { border:1px solid var(--line)!important; background:var(--surface)!important; }
.x { border:1px solid var(--line); background:var(--surface-soft); color:var(--text); }
.toast { border:1px solid var(--line); border-radius:10px; background:var(--text); color:var(--canvas); box-shadow:var(--interior-shadow); }
.mobile-nav { display:none; }

/* Access-approved product landing page */
.interior-home { min-height:100dvh; background:var(--canvas); color:var(--text); }
.home-header { position:sticky; top:0; z-index:10; display:flex; justify-content:space-between; align-items:center; min-height:72px; padding:10px clamp(20px,5vw,76px); border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--canvas) 94%,transparent); backdrop-filter:blur(16px); }
.home-brand { display:flex; align-items:center; gap:10px; color:var(--text); font:650 12px/1 var(--sans); letter-spacing:.14em; text-decoration:none; }
.home-brand img { width:78px; max-height:32px; object-fit:contain; }
.home-brand .brand-dark,.wordmark .brand-dark { display:none; }
html[data-theme="dark"] .home-brand .brand-light,html[data-theme="dark"] .wordmark .brand-light { display:none; }
html[data-theme="dark"] .home-brand .brand-dark,html[data-theme="dark"] .wordmark .brand-dark { display:block; }
.home-actions { display:flex; align-items:center; gap:18px; }
.home-email { max-width:220px; overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.home-access { color:var(--accent); font-size:10px; }
.home-link { border:0; background:transparent; color:var(--muted); font-size:11px; }
.home-link:hover { color:var(--accent); }
.home-main { width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:clamp(52px,9vh,104px) 0 34px; }
.home-eyebrow { margin:0 0 17px; color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.17em; }
.home-main h1 { max-width:820px; margin:0; font:400 clamp(42px,7.2vw,82px)/1.02 var(--display); letter-spacing:-.055em; }
.home-intro { max-width:620px; margin:22px 0 25px; color:var(--muted); font-size:15px; line-height:1.75; }
.home-open { display:inline-flex; align-items:center; gap:25px; min-height:48px; padding:0 17px; border-radius:9px; background:var(--accent); color:white; font-size:12px; font-weight:650; text-decoration:none; box-shadow:0 7px 20px color-mix(in srgb,var(--accent) 20%,transparent); transition:transform .18s,background .18s; }
.home-open:hover { transform:translateY(-2px); background:var(--accent-hover); }
.home-open span { font-size:17px; }
.home-guide { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin-top:clamp(54px,9vh,96px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-guide article { min-height:178px; padding:24px 24px 24px 0; }
.home-guide article+article { padding-left:24px; border-left:1px solid var(--line); }
.home-guide article>span { color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.08em; }
.home-guide h2 { margin:18px 0 8px; font:400 21px/1.2 var(--display); }
.home-guide p { max-width:235px; margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.home-foot { display:flex; justify-content:space-between; gap:16px; margin-top:22px; color:var(--muted); font-size:10px; }
.home-foot a { color:inherit; text-decoration:none; }
.home-foot a:hover { color:var(--accent); }
.access-gate { min-height:100dvh; background:var(--canvas); color:var(--text); }
.gate-logo { width:min(190px,55vw); margin-bottom:26px; }
.gate-spinner { width:26px; height:26px; }
.access-gate h1 { font-size:38px; }
.access-gate p { line-height:1.7; }

@media (max-width:1050px) {
  .shell { grid-template-columns:218px minmax(0,1fr); }
  .top { grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(0,2fr); gap:10px; }
  .app-header { padding-inline:24px; }
  .header-tools { gap:8px; }
  .top-right { gap:8px; }
  .workspace-email { max-width:130px; }
  .main { padding-inline:28px; }
  .home-guide { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-guide article:nth-child(3) { padding-left:0; border-left:0; border-top:1px solid var(--line); }
  .home-guide article:nth-child(4) { border-top:1px solid var(--line); }
}
@media (max-width:760px) {
  body { padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
  .shell { display:block; min-height:100dvh; }
  .app-header { padding-inline:15px; }
  .top { display:flex; justify-content:space-between; min-height:61px; gap:8px; }
  .wordmark { gap:6px; font-size:10px; }
  .wordmark img { width:58px; max-height:24px; }
  .header-studio-name { display:none; }
  .header-tools { gap:6px; }
  .top-right { gap:7px; }
  .workspace-email,.header-link[href*="pricing"] { display:none; }
  .sync-status { min-height:24px; padding:0 7px; font-size:9px; }
  .theme-switch { gap:0; padding:2px; }
  .theme-switch button { min-width:34px; min-height:25px; padding-inline:5px; font-size:8px; }
  .round { width:29px; height:29px; }
  .app-sidebar { display:none; }
  .main { padding:25px 17px 35px; }
  .welcome { align-items:flex-start; gap:14px; padding:0 0 19px; }
  .welcome h1 { font-size:32px; }
  .welcome .btn { flex:none; min-height:38px; padding-inline:11px; }
  .stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .stat { padding:14px; }
  .grid,.bottom-grid,.task-page { grid-template-columns:minmax(0,1fr); gap:12px; }
  .person-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .view-head { align-items:flex-start; gap:10px; }
  .view-head h1 { font-size:30px; }
  .project-row { grid-template-columns:minmax(125px,1fr) auto; gap:8px 10px; }
  .project-row .client { display:none; }
  .project-row .progress-wrap { grid-column:1; grid-row:2; }
  .project-row .pill { grid-column:2; grid-row:1; }
  .project-row .pct { grid-column:2; grid-row:2; text-align:right; }
  .mobile-nav { position:fixed; z-index:30; right:0; bottom:0; left:0; display:flex; justify-content:space-around; min-height:61px; padding:7px 5px max(7px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:color-mix(in srgb,var(--surface) 94%,transparent); backdrop-filter:blur(14px); }
  .mobile-nav button { min-width:0; padding:4px 6px; color:var(--muted); font-size:9px; }
  .mobile-nav button.active { color:var(--accent); }
  .mobile-nav .ico { font-size:17px; }
  .modal-backdrop { align-items:end; padding:0; }
  .modal { width:100%; max-width:none; max-height:92dvh; overflow:auto; border-radius:18px 18px 0 0; padding:20px 18px max(18px,env(safe-area-inset-bottom)); }
  .home-header { min-height:62px; padding:8px 15px; }
  .home-brand { gap:6px; font-size:10px; }
  .home-brand img { width:60px; }
  .home-actions { gap:9px; }
  .home-email { display:none; }
  .home-access { max-width:92px; font-size:9px; }
  .home-link { font-size:10px; }
  .home-main { width:calc(100% - 34px); padding:56px 0 26px; }
  .home-main h1 { font-size:clamp(43px,12vw,62px); }
  .home-intro { margin-top:17px; font-size:13px; }
  .home-guide { margin-top:48px; }
  .home-guide article { min-height:160px; padding:19px 15px 19px 0; }
  .home-guide article+article { padding-left:15px; }
  .home-guide h2 { margin-top:14px; font-size:18px; }
  .home-guide p { font-size:11px; }
}
@media (max-width:430px) {
  .workspace-email { display:none; }
  .header-tools { gap:4px; }
  .top-right { gap:5px; }
  .home-guide { grid-template-columns:1fr; }
  .home-guide article,.home-guide article+article,.home-guide article:nth-child(3) { min-height:0; padding:18px 0; border-top:1px solid var(--line); border-left:0; }
  .home-guide article:first-child { border-top:0; }
  .home-guide h2 { margin:9px 0 5px; }
  .home-foot { flex-direction:column; }
  .person-grid { grid-template-columns:1fr; }
  .welcome { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Interior masthead: clear studio identity, calm controls, predictable mobile rows. */
.app-header,.home-header {
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--surface) 90%,transparent);
  box-shadow:0 5px 22px color-mix(in srgb,var(--text) 4%,transparent);
  backdrop-filter:blur(18px) saturate(135%);
}
.app-header { padding:0 clamp(18px,3.4vw,52px); }
.top {
  display:grid;
  grid-template-columns:minmax(180px, .8fr) minmax(180px, 1fr) minmax(0, 2fr);
  gap:clamp(18px,3vw,42px);
  min-height:78px;
  align-items:center;
}
.wordmark,.home-brand {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:11px;
  color:var(--text);
  text-decoration:none;
  font:700 12px/1 var(--sans);
  letter-spacing:.16em;
}
.wordmark img,.home-brand img { width:76px; max-height:30px; object-fit:contain; }
.wordmark span,.home-brand span { padding-left:11px; border-left:1px solid var(--line); }
.workspace-context,.home-context { min-width:0; padding-left:23px; border-left:1px solid var(--line); }
.workspace-context>span,.home-context>span {
  display:block;
  margin-bottom:5px;
  color:var(--accent);
  font:700 8px/1.2 var(--sans);
  letter-spacing:.17em;
}
.header-studio-name,.home-context strong {
  display:block;
  overflow:hidden;
  color:var(--text);
  font:500 17px/1.2 var(--display);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.header-tools { gap:12px; }
.top-right { gap:9px; }
.workspace-email { max-width:170px; overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.sync-status {
  gap:7px;
  min-height:31px;
  padding:0 11px;
  border-color:color-mix(in srgb,var(--accent) 22%,var(--line));
  background:var(--surface-soft);
  color:var(--text);
  font-size:10px;
}
.sync-status::before { width:6px; height:6px; border-radius:50%; background:var(--accent); content:""; }
.header-link { min-height:34px; padding:0 10px; border-radius:8px; color:var(--muted); font-size:11px; text-decoration:none; }
.header-link:hover { background:var(--surface-soft); color:var(--accent); }
.header-logout { border:1px solid var(--line); color:var(--text); }
.round { width:35px; height:35px; border-color:var(--line); background:var(--surface); color:var(--text); }
.round:hover { border-color:var(--accent); color:var(--accent); }
.round svg { width:18px; height:18px; }
.theme-switch { padding:3px; border-radius:10px; }
.theme-switch button { min-width:43px; min-height:29px; font-size:8px; letter-spacing:.08em; }
.home-header { min-height:78px; padding:10px clamp(18px,3.4vw,52px); }
.home-context { margin:0 auto 0 clamp(22px,5vw,80px); }
.home-context strong { font-size:16px; }
.home-actions { gap:10px; }
.home-email { max-width:185px; }
.home-access { padding:8px 11px; border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line)); border-radius:999px; background:var(--surface-soft); color:var(--text); font-size:10px; white-space:nowrap; }
.home-link { min-height:35px; padding:0 12px; border:1px solid var(--line); border-radius:8px; color:var(--text); }
.home-link:hover { border-color:var(--accent); background:var(--surface-soft); }

@media (max-width:1050px) {
  .top { grid-template-columns:minmax(165px,.8fr) minmax(150px,.9fr) minmax(0,1.7fr); gap:16px; }
  .workspace-email { max-width:120px; }
}
@media (max-width:760px) {
  .app-header { padding:0 15px; }
  .top {
    grid-template-columns:minmax(0,1fr) minmax(120px,.9fr);
    grid-template-areas:"brand context" "tools tools";
    gap:9px 14px;
    min-height:0;
    padding:12px 0 10px;
  }
  .wordmark { grid-area:brand; gap:7px; font-size:10px; }
  .wordmark img { width:61px; max-height:24px; }
  .wordmark span { padding-left:7px; }
  .workspace-context { grid-area:context; justify-self:end; padding-left:12px; }
  .workspace-context>span { margin-bottom:3px; font-size:7px; }
  .header-studio-name { max-width:min(48vw,220px); font-size:14px; }
  .header-tools { grid-area:tools; width:100%; justify-content:space-between; gap:8px; padding-top:9px; border-top:1px solid var(--line); }
  .top-right { flex:1; justify-content:space-between; gap:5px; }
  .workspace-email { display:none; }
  .sync-status { min-height:29px; padding:0 8px; font-size:9px; }
  .header-link { min-height:32px; padding:0 7px; font-size:10px; }
  .round { width:32px; height:32px; }
  .theme-switch { gap:1px; }
  .theme-switch button { min-width:39px; min-height:27px; padding:0 6px; font-size:8px; }
  .home-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px 12px; min-height:0; padding:11px 15px; }
  .home-brand { gap:7px; font-size:10px; }
  .home-brand img { width:61px; max-height:24px; }
  .home-brand span { padding-left:7px; }
  .home-context { display:none; }
  .home-actions { grid-column:1/-1; justify-content:flex-end; gap:7px; padding-top:9px; border-top:1px solid var(--line); }
  .home-email { display:none; }
  .home-access { margin-right:auto; max-width:48%; overflow:hidden; padding:7px 9px; font-size:9px; text-overflow:ellipsis; }
  .home-link { min-height:32px; padding:0 9px; font-size:10px; }
}
@media (max-width:390px) {
  .top { grid-template-columns:minmax(0,1fr) minmax(105px,.8fr); gap:8px 9px; }
  .top-right { gap:3px; }
  .header-link { padding:0 5px; font-size:9px; }
  .header-logout { min-width:45px; }
  .sync-status { padding:0 6px; }
  .theme-switch button { min-width:35px; padding:0 4px; font-size:7px; }
  .home-actions { gap:5px; }
}

/* Use the full workspace; keep navigation icon-compact until deliberately entered. */
@media (min-width:761px) {
  .shell { grid-template-columns:72px minmax(0,1fr); max-width:none; }
  .app-sidebar {
    z-index:30;
    width:72px;
    margin-right:0;
    overflow-x:hidden;
    overflow-y:auto;
    padding:18px 10px 20px;
    border-right:1px solid var(--line);
    box-shadow:none;
    transition:width .2s ease,margin-right .2s ease,box-shadow .2s ease,background-color .2s ease;
  }
  .app-sidebar:hover,.app-sidebar:focus-within {
    width:256px;
    margin-right:-184px;
    overflow-x:hidden;
    box-shadow:12px 10px 30px color-mix(in srgb,var(--text) 12%,transparent);
  }
  .app-sidebar .sidebar-kicker,.app-sidebar .nav-group-label,.app-sidebar .nav-settings,.app-sidebar .sidebar-home {
    opacity:0;
    pointer-events:none;
    transition:opacity .12s ease;
  }
  .app-sidebar:hover .sidebar-kicker,.app-sidebar:hover .nav-group-label,.app-sidebar:hover .nav-settings,.app-sidebar:hover .sidebar-home,
  .app-sidebar:focus-within .sidebar-kicker,.app-sidebar:focus-within .nav-group-label,.app-sidebar:focus-within .nav-settings,.app-sidebar:focus-within .sidebar-home {
    opacity:1;
    pointer-events:auto;
  }
  .app-sidebar .header-nav { gap:12px; }
  .app-sidebar .nav-group { gap:4px; }
  .app-sidebar .nav-group-label { overflow:hidden; white-space:nowrap; }
  .app-sidebar .nav.header-nav button,.app-sidebar .nav-settings {
    width:48px;
    min-width:48px;
    min-height:44px;
    justify-content:flex-start;
    gap:12px;
    margin-inline:auto;
    padding:0 14px;
    overflow:hidden;
    font-size:0;
    white-space:nowrap;
    transition:width .2s ease,min-width .2s ease,margin .2s ease,padding .2s ease,background .15s ease,color .15s ease;
  }
  .app-sidebar .nav.header-nav button .ico,.app-sidebar .nav-settings .ico {
    flex:0 0 20px;
    width:20px;
    height:20px;
    margin:0;
    font-size:18px;
  }
  .app-sidebar .nav.header-nav button .ico svg,.app-sidebar .nav-settings .ico svg { width:20px; height:20px; }
  .app-sidebar:hover .nav.header-nav button,.app-sidebar:hover .nav-settings,
  .app-sidebar:focus-within .nav.header-nav button,.app-sidebar:focus-within .nav-settings {
    width:100%;
    min-width:0;
    margin-inline:0;
    padding-inline:12px;
    font-size:13px;
  }
  .app-sidebar .sidebar-home { overflow:hidden; white-space:nowrap; }
  .app-sidebar:hover .sidebar-home,.app-sidebar:focus-within .sidebar-home { display:flex; }
  .main { max-width:none; }
  .home-main { width:100%; max-width:none; padding-right:clamp(28px,5vw,96px); padding-left:clamp(28px,5vw,96px); }
}

/* Slightly larger type across the app for easier scanning. */
body { font-size:15px; }
.nav.header-nav button,.nav-settings { font-size:13px; }
.sidebar-kicker,.nav-group-label { font-size:10px; }
.welcome p,.view-head p { font-size:14px; }
.btn { font-size:12px; }
.stat-top,.stat-note,.panel-head p,.project-name small,.client,.pct,.task-copy small { font-size:12px; }
.table th { font-size:11px; }
.table td,.table strong { font-size:13px; }
.field label,.settings-feature-list .task-copy small { font-size:12px; }
.studio-name-field small { font-size:11px; }
.mobile-nav button { font-size:10px; }
.client-owner-modal { width:min(100%,760px); }
.client-owner-panel { margin:0 0 12px; padding:18px; }
.client-owner-panel .panel-head { margin:0 0 10px; }
.client-owner-panel .panel-head h2 { font:500 20px/1.25 var(--display); }
.client-owner-lead,.client-owner-note { color:var(--muted); font-size:13px; line-height:1.55; }
.client-owner-lead { margin:0 0 14px; }
.client-setting-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 14px; margin-bottom:12px; }
.client-setting-check { display:flex; align-items:flex-start; gap:10px; min-height:40px; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:var(--canvas); color:var(--text); font-size:13px; line-height:1.35; }
.client-setting-check input { flex:none; width:17px; height:17px; margin:0; accent-color:var(--accent); }
.client-password-toggle { margin-top:8px; }
.client-owner-form { display:grid; gap:10px; }
.client-owner-form .field { display:grid; gap:6px; }
.client-owner-form .field span,.client-owner-form .field label { color:var(--text); font-size:12px; font-weight:600; }
.client-owner-form .field input,.client-owner-form .field select,.client-owner-form .field textarea { min-height:42px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--canvas); color:var(--text); font:inherit; }
.client-owner-form .field textarea { min-height:78px; resize:vertical; }
.client-owner-form .modal-actions { justify-content:flex-start; align-items:center; flex-wrap:wrap; margin-top:4px; }
.client-owner-note { margin:0; font-size:12px; }
.client-link-ready { display:grid; gap:9px; padding:14px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line)); border-radius:10px; background:var(--surface-soft); }
.client-link-ready strong { font-size:14px; }
.client-link-ready input { width:100%; min-height:40px; padding:9px 10px; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--text); font-size:12px; }
.client-link-ready p { margin:0; color:var(--muted); font-size:12px; }
.client-revoke { margin-top:10px; color:var(--muted); }
.client-owner-list { display:grid; gap:0; margin-bottom:12px; }
.client-owner-list article { display:grid; gap:7px; padding:13px 0; border-top:1px solid var(--line); }
.client-owner-list article:first-child { border-top:0; }
.client-owner-list article p { margin:0; color:var(--text); font-size:13px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.client-owner-list article small { color:var(--muted); font-size:11px; }
.client-update-type,.client-request-status { color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.09em; }
.client-request-status.approved { color:var(--accent); }
.client-request-status.rejected { color:var(--muted); }
.client-request-actions { display:flex; flex-wrap:wrap; gap:7px; }
.client-request-actions .btn { min-height:34px; }
#clientPasswordField[hidden],#clientBudgetDeltaField[hidden] { display:none!important; }
@media(max-width:600px){.client-owner-modal{padding:18px 15px max(18px,env(safe-area-inset-bottom))}.client-owner-panel{padding:15px}.client-setting-grid{grid-template-columns:1fr;gap:6px}.client-setting-check{font-size:12px}.client-owner-panel .panel-head h2{font-size:18px}}
.client-owner-media-preview img{cursor:zoom-in}.client-media-expand{min-height:36px;margin-top:8px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--text);font:600 12px system-ui,sans-serif;cursor:pointer}.interior-media-viewer{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:max(28px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(36px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:rgba(12,10,14,.96);touch-action:pan-y}.interior-media-viewer-content{display:block;max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain;border-radius:8px}.interior-media-viewer-caption{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));left:16px;right:16px;margin:0;color:#fff;text-align:center;font-size:14px}.interior-media-viewer-close{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:1;width:46px;height:46px;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(20,18,22,.65);color:#fff;font:32px/1 system-ui;cursor:pointer}.interior-media-viewer-close:hover{background:rgba(255,255,255,.18)}

@media (max-width:760px) {
  .main { max-width:none; }
  .app-sidebar { display:none; }
}
.client-owner-media-preview{position:relative;display:grid;place-items:center;width:100%;height:128px;min-height:128px;max-height:128px;overflow:hidden;border-radius:10px;background:var(--surface-soft);color:var(--muted)}.client-owner-media-preview img,.client-owner-media-preview video{display:block;width:100%;height:100%;max-height:none;object-fit:cover}.client-owner-media-preview .client-media-expand{position:absolute;right:6px;bottom:6px;min-height:30px;margin:0;padding:0 9px;background:color-mix(in srgb,var(--surface) 90%,transparent)}
