/* One workspace hierarchy on every screen, with social navigation kept local. */
.workspace-sidebar { display:none; }
.mnav-btn { text-decoration:none; }
.mnav-btn:hover { text-decoration:none; }
.social-tool-navigation { margin:0 0 18px; }
.social-tool-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 8px; }
.social-tool-heading strong { font-size:14px; color:var(--text-2); }
.social-tool-heading a { font-size:13px; min-height:44px; display:flex; align-items:center; }
.social-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid var(--rule); }
.social-tabs a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 4px; color:var(--text-2); font-weight:550; text-decoration:none; border-bottom:3px solid transparent; }
.social-tabs a[aria-current] { color:var(--accent-week); border-bottom-color:var(--accent-week); }
.social-subnav { display:flex; gap:8px; flex-wrap:wrap; padding-top:10px; }
.social-subnav a { min-height:44px; display:flex; align-items:center; padding:6px 12px; border:1px solid var(--rule); border-radius:9px; color:var(--text-2); font-size:13px; text-decoration:none; }
.social-subnav a[aria-current] { background:var(--bg-tint); border-color:var(--accent-week); color:var(--accent-week); }
.workspace-lede { color:var(--text-2); margin:8px 0 24px; }
.workspace-link { display:inline-flex; min-height:44px; align-items:center; margin-top:14px; }
.home-shortcuts-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:4px 0 12px; }
.home-shortcuts-heading h2 { font-size:20px; margin:0; }
.home-customize { min-height:44px; }
.home-layout-controls { padding:16px; border:1px solid var(--rule); border-radius:14px; background:var(--bg-card); margin-bottom:12px; }
.home-layout-controls p { margin:0 0 12px; color:var(--text-2); font-size:14px; }
.workspace-actions { display:flex; flex-wrap:wrap; gap:8px; }
.home-layout-status { margin:0 0 12px; color:var(--text-2); font-size:14px; }
.home-layout-status:empty { display:none; }
.home-edit-card { min-width:0; padding:12px; background:var(--bg-card); border:1px solid var(--rule); border-radius:14px; }
.home-edit-top { display:flex; align-items:center; gap:8px; }
.home-edit-top strong { font-size:16px; }
.home-drag { flex:0 0 44px; width:44px; height:44px; font-size:30px; border:1px solid var(--rule); border-radius:8px; color:var(--accent-week); background:var(--bg); touch-action:none; cursor:grab; }
.home-edit-card.is-dragging { outline:2px solid var(--accent-week); }
.home-edit-card.is-drop-target { background:#e2eeea; outline:3px dashed var(--accent-week); }
.home-show,.access-tool { display:flex; gap:10px; align-items:center; min-height:44px; cursor:pointer; font-size:14px; }
.home-show input,.access-tool input { width:20px; height:20px; flex-shrink:0; accent-color:var(--accent-week); }
.home-move-controls { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.home-move-controls button { flex:1 1 76px; min-height:44px; padding:6px; font-size:12px; }
.workspace-empty { grid-column:1/-1; padding:22px; background:var(--bg-card); border:1px dashed var(--rule); border-radius:14px; }
.account-page { max-width:720px; }
.account-page .sheet-body { padding:0; }
.account-page .set-card { padding:20px; border:1px solid var(--rule); border-radius:14px; margin:14px 0; background:var(--bg-card); }
.account-page .set-select { max-width:100%; min-height:44px; }
.workspace-admin-link { display:flex; align-items:center; min-height:52px; margin-top:18px; font-weight:600; }
.workspace-panel { padding:20px; background:var(--bg-card); border:1px solid var(--rule); border-radius:14px; margin:16px 0; }
.workspace-panel fieldset { border:0; min-width:0; margin:0; padding:0; }
.workspace-panel legend { font-weight:650; font-size:20px; }
.workspace-panel button { margin-top:12px; min-height:44px; }
.workspace-boundary { padding:16px; background:#e9f0ed; color:#274d48; border-radius:12px; line-height:1.5; font-size:14px; }
.access-audit { margin-top:28px; }
.access-audit summary { min-height:44px; padding:10px 0; cursor:pointer; }
.access-audit p { overflow-wrap:anywhere; }
.workspace-error { padding:24px; }
.workspace-nav-link:focus-visible,.social-tabs a:focus-visible,.social-subnav a:focus-visible,.mnav-btn:focus-visible,.home-drag:focus-visible,.home-customize:focus-visible,.home-move-controls button:focus-visible { outline:3px solid var(--accent-week); outline-offset:2px; }
@media (min-width:901px) and (hover:hover) and (pointer:fine) {
  .workspace-sidebar { position:fixed; top:100px; left:20px; width:140px; display:grid; gap:6px; z-index:41; }
  .workspace-nav-link { display:flex; align-items:center; min-height:46px; padding:10px 14px; border-radius:10px; color:var(--text-2); font-size:15px; text-decoration:none; }
  .workspace-nav-link.is-active { color:var(--accent-week); background:#e5eeea; font-weight:650; }
  .workspace-nav-link:hover { background:var(--bg-soft); }
  .app-body { padding-left:calc(var(--rail-w) + 204px); }
  .rail { left:176px; }
  .app-body.is-hub,.app-body.is-rail-collapsed { padding-left:192px; max-width:none; margin:0; width:100%; }
  .app-body.is-hub .main,.app-body.is-rail-collapsed .main { margin:0 auto; }
  .rail-expander { left:180px; }
}
@media (max-width:640px) {
  .social-tool-navigation { margin-bottom:14px; }
  .social-tool-heading { margin-bottom:2px; }
  .social-tool-heading strong { font-size:13px; }
  .social-tabs a { font-size:13px; }
  .social-subnav { padding-top:8px; gap:6px; }
  .social-subnav a { padding:5px 10px; font-size:12px; }
  .home-shortcuts-heading h2 { font-size:18px; }
  .home-edit-card { padding:10px; }
  .home-edit-top { align-items:flex-start; gap:6px; }
  .home-edit-top strong { font-size:14px; padding-top:4px; overflow-wrap:anywhere; }
  .home-drag { flex-basis:36px; width:36px; min-height:44px; }
  .home-show { font-size:12px; gap:6px; }
  .workspace-actions .btn { min-height:44px; }
  .account-page h1,.tools-directory h1 { font-size:27px; }
  .workspace-panel { padding:16px; }
}
@media (max-width:900px), (pointer:coarse) {
  .workspace-sidebar,.rail,.rail-expander { display:none !important; }
  .app-body,.app-body.is-hub,.app-body.is-rail-collapsed { width:100%; max-width:none; margin:0; padding:16px 14px calc(82px + env(safe-area-inset-bottom,0px)); }
  .app-footer { display:none; }
  .mobile-nav { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:60; height:calc(58px + env(safe-area-inset-bottom,0px)); padding:4px 12px calc(4px + env(safe-area-inset-bottom,0px)); background:var(--bg-card); border-top:1px solid var(--rule); box-shadow:0 -1px 12px rgba(0,0,0,.04); }
  .mnav-btn { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-width:0; min-height:48px; padding:2px; color:var(--text-3); font-size:11px; }
  .mnav-btn.is-active { color:var(--accent-week); font-weight:650; }
  body.is-keyboard-open .mobile-nav { display:none; }
}
@media (max-width:640px) {
  /* Local tabs add context; keep the weekly header concise without hiding
     the week, its status, its explanation, or the day-by-day action. */
  .frame.is-week-review .frame-header:has(> .frame-actions) { display:grid; grid-template-columns:auto 1fr; gap:6px 14px; }
  .frame.is-week-review .frame-header:has(> .frame-actions) > * { grid-column:1 / -1; }
  .frame.is-week-review .frame-header:has(> .frame-actions) > .frame-header-top { grid-column:1; margin:0; align-self:center; }
  .frame.is-week-review .frame-header:has(> .frame-actions) > .frame-title { grid-column:2; margin:0; align-self:center; }
  .frame.is-week-review .frame-header:has(> .frame-actions) .frame-eyebrow { margin:0; padding:0; border:0; }
  .frame.is-week-review .frame-actions,.frame.is-week-review .frame-sub { margin:0; }
  .frame.is-week-review .frame-actions .btn { min-height:44px; }
  .frame.is-week-review .stage-box[aria-label="Bank selection review"] { padding:10px; margin:14px 0; }
  .frame.is-week-review .stage-box[aria-label="Bank selection review"] h2 { font-size:17px; }
  .frame.is-week-review .stage-box[aria-label="Bank selection review"] ul { margin:4px 0; padding-left:22px; }
}
@media (max-width:640px) {
  .frame.is-week-review .frame-header:has(> .frame-actions) > :empty { display:none; }
  .frame.is-week-review .stage-box[aria-label="Bank selection review"] { margin-top:8px; }
}
