/* Application shell inspired by the supplied apple-ui-style guide.
   Dense attendance grids and Times New Roman report typography keep their sizing. */
:root{
 --apple-white:#ffffff;--apple-black:#000000;--apple-canvas:#f5f5f7;
 --apple-surface:#ffffff;--apple-ink:#1d1d1f;
 --bg-alt:#f5f5f7;--text-2:#6e6e73;--line:rgba(0,0,0,.1);
 --accent:#0071e3;--accent-hover:#0068d1;
 --glass:rgba(255,255,255,.72);--glass-card:rgba(255,255,255,.35);--glass-border:rgba(255,255,255,.55);
 --shadow:0 2px 12px rgba(0,0,0,.06);
 --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
 --ui-caption:12px;--ui-small:14px;--ui-body:17px;--ui-heading:28px;--ui-heading-compact:24px;--ui-metric-compact:40px;
 --ui-title:clamp(28px,3vw,40px);--ui-metric:clamp(48px,4vw,64px);
 --radius-pill:980px;--radius-large:32px;--radius-card:28px;--radius-inner:24px;--radius-panel:18px;--radius-input:12px;
 --ui-gap:16px;--ui-pad:24px;--ui-page-pad:clamp(22px,3vw,36px);
 --ui-ease:cubic-bezier(.4,0,.2,1);--ui-speed:.22s;
 --ui-status:#248a3d;--ui-status-dark:#72d58c;
 --ui-dark-button-ink:#001d38;
}
:root[data-theme=dark]{
 --apple-canvas:#000000;--apple-surface:#1d1d1f;--apple-ink:#f5f5f7;
 --bg-alt:#161617;--text-2:#a1a1a6;--line:rgba(255,255,255,.14);
 --accent:#2997ff;--accent-hover:#47a7ff;
 --glass:rgba(22,22,23,.72);--glass-card:rgba(255,255,255,.12);--glass-border:rgba(255,255,255,.22);
 --shadow:none;
}
@media screen{
 :root[data-theme] body.workspace-ui{
  --bg:var(--apple-canvas);--surface:var(--apple-surface);--surface-soft:var(--bg-alt);
  --text:var(--apple-ink);--muted:var(--text-2);--border:var(--line);--grid-border:var(--line);
  --blue:var(--accent);--primary:var(--accent);--primary-hover:var(--accent-hover);--focus:var(--accent);
  --on-primary:var(--apple-white);--sidebar:var(--apple-surface);--sidebar-text:var(--apple-ink);--sidebar-muted:var(--text-2);--sidebar-border:var(--line);
  --nav-active:color-mix(in srgb,var(--accent) 9%,var(--surface));--nav-active-text:var(--accent);
  --nav-hover:var(--bg-alt);--info-bg:color-mix(in srgb,var(--accent) 8%,var(--surface));--info-text:var(--accent);
  --sidebar-accent:var(--accent);--on-sidebar-accent:var(--apple-white);
  font-family:var(--font);font-size:var(--ui-body);line-height:1.47059;letter-spacing:-.022em;-webkit-font-smoothing:antialiased;
 }
 :root[data-theme=dark] body.workspace-ui{--on-primary:var(--ui-dark-button-ink);--on-sidebar-accent:var(--ui-dark-button-ink)}
 .workspace-ui main>header{position:sticky;top:0;z-index:30;height:48px;padding:0 var(--ui-page-pad);background:var(--glass);border-bottom:1px solid var(--glass-border);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);font-size:var(--ui-caption)}
 .workspace-ui .workspace-breadcrumb{font-size:var(--ui-caption);font-weight:400;color:var(--text-2)}
 .workspace-ui .workspace-breadcrumb strong{font-size:var(--ui-caption);font-weight:500;color:var(--text)}
 .workspace-ui .workspace-breadcrumb>span{margin-inline:10px;color:var(--text-2)}
 .workspace-ui .page{padding:var(--ui-page-pad);padding-bottom:24px}
 .workspace-ui .page:has(.overview-dashboard){max-width:1152px}
 .workspace-ui .heading{min-height:0;margin-bottom:24px;align-items:center}
 .workspace-ui .heading #title{max-width:16ch;margin:0 0 8px;color:var(--text);font-size:var(--ui-title);font-weight:600;line-height:1.08;letter-spacing:-.035em;text-transform:none}
 .workspace-ui .heading p:last-child{margin:0;max-width:70ch;color:var(--text-2);font-size:var(--ui-body);line-height:1.47;letter-spacing:-.022em}
 .workspace-ui .eyebrow{display:none}
 .workspace-ui .heading>.primary{min-height:44px;padding:10px 22px;border:0;border-radius:var(--radius-pill);font-size:var(--ui-body);font-weight:400}
 .workspace-ui footer{padding-top:28px;font-size:var(--ui-caption);color:var(--text-2)}
 .workspace-ui :where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
 .workspace-ui .heading>.primary:active{transform:scale(.97)}
}
@media screen and (min-width:901px){.workspace-ui main{margin-left:224px}}
@media screen and (max-width:900px){
 .workspace-ui main>header{height:58px;padding:0 14px}
 .workspace-ui .page{padding:24px 22px}
 .workspace-ui .heading{margin-bottom:24px}
 .workspace-ui .heading>.primary{width:auto}
 .workspace-ui .mobile-brand{font-size:var(--ui-body);font-weight:600}
 .workspace-ui #mobileMenuToggle,.workspace-ui .mobile-menu-close{border-radius:var(--radius-input)}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
