/* @business-os/ui 0.4.0 — generated by npm run build; edit src/styles/*.css */
/* Override these tokens in an application stylesheet, never fork components for branding. */
/* Color scheme is independent of theme files. Colors are light-dark(light, dark) pairs; data-color-scheme forces one, absent follows the system. */
:root { color-scheme: light dark; }
[data-color-scheme="light"] { color-scheme: light; }
[data-color-scheme="dark"] { color-scheme: dark; }
:root {
  --bos-font: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
  --bos-font-mono: ui-monospace, monospace;
  --bos-text-xs: .75rem; --bos-text-sm: .875rem; --bos-text-md: 1rem; --bos-text-lg: 1.25rem; --bos-text-xl: 1.75rem; --bos-text-display: 2.25rem;
  --bos-leading: 1.5; --bos-weight-strong: 650;
  --bos-bg: light-dark(#f4f6f8, #0f1a22); --bos-surface: light-dark(#fff, #16232d); --bos-surface-soft: light-dark(#eef2f5, #1e2e3a);
  --bos-text: light-dark(#172b3a, #e3ebf0); --bos-muted: light-dark(#536574, #9dafbc); --bos-border: light-dark(#d5dee5, #2d3f4c);
  --bos-accent: light-dark(#155e75, #67bdd3); --bos-accent-ink: light-dark(#fff, #0b1a20); --bos-accent-soft: light-dark(#e4f2f4, #17343e); --bos-focus: light-dark(#027da4, #7fd0e6);
  --bos-success: light-dark(#19613f, #74d19c); --bos-success-soft: light-dark(#e9f5ed, #15301f);
  --bos-warning: light-dark(#805800, #e8bb52); --bos-warning-soft: light-dark(#fff5d9, #362a0d);
  --bos-danger: light-dark(#a22b32, #f2898f); --bos-danger-soft: light-dark(#fff0f0, #3b1719);
  --bos-space-1: .25rem; --bos-space-2: .5rem; --bos-space-3: .75rem; --bos-space-4: 1rem; --bos-space-5: 1.5rem; --bos-space-6: 2rem; --bos-space-7: 3rem;
  --bos-radius-sm: .375rem; --bos-radius: .75rem; --bos-radius-pill: 100rem;
  --bos-shadow: 0 8px 30px light-dark(#172b3a0a, #00000040); --bos-shadow-dialog: 0 20px 80px light-dark(#172b3a33, #00000080);
  --bos-sidebar-width: 15rem; --bos-rail-width: 4.25rem; --bos-topbar-height: 3rem; --bos-avatar-size: 2rem; --bos-menu-width: 17rem; --bos-content-max: 88rem; --bos-control-height: 2.75rem; --bos-line: 1px; --bos-motion: 150ms;
  --bos-search-width: 26rem; --bos-search-height: 2.25rem; --bos-search-layer: 50; --bos-search-popup-width: 34rem; --bos-search-edge-gap: .5rem;
  --bos-footer-padding-block: var(--bos-space-4); --bos-footer-padding-inline: var(--bos-space-6); --bos-footer-background: var(--bos-surface);
  --bos-backdrop: light-dark(#172b3a80, #000000b3);
}
[data-theme="forest"] {
  --bos-accent: light-dark(#315c3d, #86c48c); --bos-accent-ink: light-dark(#fff, #0e1a10); --bos-accent-soft: light-dark(#edf4e9, #1c3020);
  --bos-focus: light-dark(#3a753c, #98d69d); --bos-bg: light-dark(#f5f6f1, #111811); --bos-radius: 1rem;
}
:root { --bos-drawer-width:28rem; --bos-prose-width:70ch; --bos-clamp-lines:3; }

* { box-sizing:border-box; }
body { margin:0; background:var(--bos-bg); color:var(--bos-text); font-family:var(--bos-font); font-size:var(--bos-text-md); line-height:var(--bos-leading); }
button,input,select,textarea { font:inherit; }
a { color:var(--bos-accent); text-underline-offset:.2em; }
h1,h2,h3,p { margin:0; }
h1 { font-size:var(--bos-text-display); line-height:1.2; letter-spacing:-.03em; }
h2 { font-size:var(--bos-text-xl); line-height:1.3; letter-spacing:-.02em; }
h3 { font-size:var(--bos-text-lg); }
button,a,input,select,textarea,summary { touch-action:manipulation; }
:focus-visible { outline:3px solid var(--bos-focus); outline-offset:3px; }
[hidden] { display:none !important; }
.bos-skip { position:fixed; left:var(--bos-space-4); top:var(--bos-space-4); z-index:10; padding:var(--bos-space-3); background:var(--bos-surface); transform:translateY(-200%); }
.bos-skip:focus { transform:translateY(0); }

bos-app-shell,bos-tabs,bos-dialog,bos-user-menu,bos-theme-choice { display:block; }
.bos-shell { min-height:100dvh; display:grid; grid-template-columns:var(--bos-sidebar-width) minmax(0,1fr); transition:grid-template-columns var(--bos-motion); }
.bos-sidebar { position:sticky; top:0; height:100dvh; border-right:var(--bos-line) solid var(--bos-border); background:var(--bos-surface); padding:var(--bos-space-6) var(--bos-space-4); display:flex; flex-direction:column; gap:var(--bos-space-7); overflow:hidden auto; transition:padding var(--bos-motion); }
.bos-brand { display:flex; align-items:center; gap:var(--bos-space-3); white-space:nowrap; font-size:var(--bos-text-lg); font-weight:var(--bos-weight-strong); letter-spacing:-.03em; text-decoration:none; color:var(--bos-text); }
.bos-nav { display:grid; gap:var(--bos-space-2); }
.bos-nav a { display:flex; gap:var(--bos-space-3); align-items:center; padding:var(--bos-space-3); border-radius:var(--bos-radius-sm); color:var(--bos-muted); text-decoration:none; font-size:var(--bos-text-sm); font-weight:var(--bos-weight-strong); white-space:nowrap; }
.bos-nav a[aria-current="page"],.bos-nav a:hover { background:var(--bos-accent-soft); color:var(--bos-accent); }
.bos-sidebar-footer { margin-top:auto; }
.bos-workspace { min-width:0; display:flex; flex-direction:column; }
.bos-workspace > main { flex:1; width:100%; }
.bos-topbar { display:flex; flex-wrap:nowrap; align-items:center; gap:var(--bos-space-3); block-size:var(--bos-topbar-height); padding:0 var(--bos-space-5); border-bottom:var(--bos-line) solid var(--bos-border); background:var(--bos-surface); }
.bos-topbar-spacer { flex:1; }
.bos-breadcrumb { min-width:0; font-size:var(--bos-text-sm); color:var(--bos-muted); }
.bos-breadcrumb ol { display:flex; gap:var(--bos-space-2); margin:0; padding:0; list-style:none; white-space:nowrap; }
.bos-breadcrumb li { overflow:hidden; text-overflow:ellipsis; }
.bos-breadcrumb li + li::before { content:"/"; margin-inline-end:var(--bos-space-2); }
.bos-breadcrumb [aria-current] { color:var(--bos-text); font-weight:var(--bos-weight-strong); }
.bos-main { padding:var(--bos-space-6); max-width:var(--bos-content-max); margin-inline:auto; }
.bos-menu-toggle { display:none !important; }
.bos-icon { inline-size:1.25rem; block-size:1.25rem; flex:none; }
.bos-visually-hidden { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.bos-rail-toggle { display:flex; align-items:center; gap:var(--bos-space-3); padding:var(--bos-space-3); border:0; border-radius:var(--bos-radius-sm); background:transparent; color:var(--bos-muted); cursor:pointer; font-size:var(--bos-text-sm); }
.bos-rail-toggle:hover { background:var(--bos-surface-soft); color:var(--bos-text); }
.bos-rail-toggle .bos-icon { transition:transform var(--bos-motion); }
@media (min-width:48.01rem) {
  .bos-shell[data-rail="collapsed"] { grid-template-columns:var(--bos-rail-width) minmax(0,1fr); }
  .bos-shell[data-rail="collapsed"] .bos-sidebar { padding-inline:var(--bos-space-3); }
  .bos-shell[data-rail="collapsed"] :is(.bos-nav a,.bos-brand,.bos-rail-toggle) { justify-content:center; }
  .bos-shell[data-rail="collapsed"] :is(.bos-nav-label,.bos-brand-name,.bos-rail-label) { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); }
  .bos-shell[data-rail="collapsed"] .bos-sidebar-footer { display:none; }
  .bos-shell[data-rail="collapsed"] .bos-rail-toggle { margin-top:auto; }
  .bos-shell[data-rail="collapsed"] .bos-rail-toggle .bos-icon { transform:scaleX(-1); }
}

.bos-stack { display:flex; flex-direction:column; gap:var(--bos-space-5); }
.bos-stack-sm { display:flex; flex-direction:column; gap:var(--bos-space-3); }
.bos-cluster { display:flex; flex-wrap:wrap; align-items:center; gap:var(--bos-space-3); }
.bos-between { justify-content:space-between; }
.bos-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr)); gap:var(--bos-space-5); }
.bos-card { min-width:0; background:var(--bos-surface); border:var(--bos-line) solid var(--bos-border); border-radius:var(--bos-radius); padding:var(--bos-space-5); box-shadow:var(--bos-shadow); }
.bos-card-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--bos-space-3); margin-bottom:var(--bos-space-5); }
.bos-eyebrow { color:var(--bos-accent); text-transform:uppercase; letter-spacing:.1em; font-size:var(--bos-text-xs); font-weight:var(--bos-weight-strong); }
.bos-muted { color:var(--bos-muted); }
.bos-small { font-size:var(--bos-text-sm); }
.bos-metric { font-size:var(--bos-text-display); font-weight:var(--bos-weight-strong); letter-spacing:-.04em; }

.bos-button { display:inline-flex; justify-content:center; align-items:center; gap:var(--bos-space-2); min-height:var(--bos-control-height); padding:var(--bos-space-2) var(--bos-space-4); border:var(--bos-line) solid var(--bos-accent); background:var(--bos-accent); color:var(--bos-accent-ink); border-radius:var(--bos-radius-sm); cursor:pointer; font-weight:var(--bos-weight-strong); font-size:var(--bos-text-sm); text-decoration:none; transition:filter var(--bos-motion); }
.bos-button:hover { filter:brightness(.92); }
.bos-button[data-variant="secondary"] { background:var(--bos-surface); color:var(--bos-text); border-color:var(--bos-border); }
.bos-button[data-variant="quiet"] { background:transparent; color:var(--bos-accent); border-color:transparent; }
.bos-button[data-variant="danger"] { background:var(--bos-danger); border-color:var(--bos-danger); }
.bos-button:disabled { cursor:not-allowed; opacity:.55; }
.bos-badge { display:inline-flex; align-items:center; gap:var(--bos-space-2); border-radius:var(--bos-radius-pill); padding:var(--bos-space-1) var(--bos-space-3); background:var(--bos-surface-soft); color:var(--bos-muted); font-size:var(--bos-text-xs); font-weight:var(--bos-weight-strong); white-space:nowrap; }
.bos-badge[data-tone="success"] { color:var(--bos-success); background:var(--bos-success-soft); }
.bos-badge[data-tone="warning"] { color:var(--bos-warning); background:var(--bos-warning-soft); }
.bos-badge[data-tone="danger"] { color:var(--bos-danger); background:var(--bos-danger-soft); }
.bos-badge[data-tone="info"] { color:var(--bos-accent); background:var(--bos-accent-soft); }
.bos-field { display:grid; gap:var(--bos-space-2); font-size:var(--bos-text-sm); }
.bos-field > label,.bos-label { font-weight:var(--bos-weight-strong); }
.bos-input { width:100%; min-height:var(--bos-control-height); padding:var(--bos-space-2) var(--bos-space-3); border:var(--bos-line) solid var(--bos-border); border-radius:var(--bos-radius-sm); color:var(--bos-text); background:var(--bos-surface); }
.bos-input[aria-invalid="true"] { border-color:var(--bos-danger); }
.bos-field-error { color:var(--bos-danger); font-size:var(--bos-text-sm); }
.bos-checkbox { display:flex; gap:var(--bos-space-3); align-items:center; min-height:var(--bos-control-height); }
.bos-checkbox input { width:1.2rem; height:1.2rem; accent-color:var(--bos-accent); }
.bos-table-wrap { overflow:auto; }
.bos-table { width:100%; border-collapse:collapse; text-align:left; font-size:var(--bos-text-sm); }
.bos-table caption { text-align:left; margin-bottom:var(--bos-space-4); font-weight:var(--bos-weight-strong); }
.bos-table th { color:var(--bos-muted); font-size:var(--bos-text-xs); font-weight:var(--bos-weight-strong); }
.bos-table th,.bos-table td { padding:var(--bos-space-4) var(--bos-space-3); border-bottom:var(--bos-line) solid var(--bos-border); vertical-align:middle; }
.bos-table tbody tr:last-child td { border-bottom:0; }
.bos-alert { display:flex; gap:var(--bos-space-3); padding:var(--bos-space-4); border:var(--bos-line) solid var(--bos-border); border-radius:var(--bos-radius-sm); background:var(--bos-accent-soft); }
.bos-alert[data-tone="danger"] { background:var(--bos-danger-soft); border-color:var(--bos-danger); }
.bos-empty { text-align:center; padding:var(--bos-space-7); display:grid; justify-items:center; gap:var(--bos-space-3); }
.bos-tablist { display:flex; gap:var(--bos-space-2); border-bottom:var(--bos-line) solid var(--bos-border); margin-bottom:var(--bos-space-5); overflow:auto; }
.bos-tab { cursor:pointer; background:transparent; color:var(--bos-muted); border:0; border-bottom:3px solid transparent; padding:var(--bos-space-3) var(--bos-space-4); white-space:nowrap; }
.bos-tab[aria-selected="true"] { border-bottom-color:var(--bos-accent); color:var(--bos-accent); font-weight:var(--bos-weight-strong); }
.bos-dialog { width:min(36rem,calc(100% - var(--bos-space-6))); border:var(--bos-line) solid var(--bos-border); border-radius:var(--bos-radius); padding:var(--bos-space-6); color:var(--bos-text); background:var(--bos-surface); box-shadow:var(--bos-shadow-dialog); }
.bos-dialog::backdrop { background:var(--bos-backdrop); }
.bos-code { font-family:var(--bos-font-mono); font-size:var(--bos-text-xs); background:var(--bos-surface-soft); padding:var(--bos-space-4); border-radius:var(--bos-radius-sm); overflow:auto; white-space:pre-wrap; }
.bos-divider { border:0; border-top:var(--bos-line) solid var(--bos-border); margin:var(--bos-space-2) 0; }
.bos-loading { display:flex; align-items:center; gap:var(--bos-space-3); color:var(--bos-muted); }
.bos-spinner { width:1rem; height:1rem; border:2px solid var(--bos-border); border-top-color:var(--bos-accent); border-radius:50%; animation:bos-spin 1s linear infinite; }
@keyframes bos-spin { to { transform:rotate(360deg); } }
@media (max-width:48rem) {
  .bos-shell { grid-template-columns:1fr; }
  .bos-sidebar { display:none; position:static; height:auto; border-right:0; border-bottom:var(--bos-line) solid var(--bos-border); }
  .bos-shell[data-nav-open] .bos-sidebar { display:flex; }
  .bos-menu-toggle { display:inline-flex !important; }
  .bos-main { padding:var(--bos-space-4); }
  .bos-topbar { padding-inline:var(--bos-space-3); }
  .bos-rail-toggle { display:none; }
  h1 { font-size:var(--bos-text-xl); }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
.bos-scheme-switch { display:inline-flex; gap:2px; padding:2px; border:var(--bos-line) solid var(--bos-border); border-radius:var(--bos-radius-pill); background:var(--bos-surface-soft); margin:0; min-inline-size:0; }
.bos-scheme-switch label { position:relative; display:grid; place-items:center; inline-size:2rem; block-size:2rem; border-radius:var(--bos-radius-pill); color:var(--bos-muted); cursor:pointer; transition:background var(--bos-motion), color var(--bos-motion); }
.bos-scheme-switch input { position:absolute; inset:0; margin:0; opacity:0; cursor:inherit; }
.bos-scheme-switch svg { inline-size:1.05rem; block-size:1.05rem; pointer-events:none; }
.bos-scheme-switch label:hover { color:var(--bos-text); }
.bos-scheme-switch label:has(:checked) { background:var(--bos-surface); color:var(--bos-accent); box-shadow:0 1px 3px #0000001f; }
.bos-scheme-switch label:has(:focus-visible) { outline:2px solid var(--bos-focus); outline-offset:1px; }
.bos-user-menu-button { display:grid; place-items:center; padding:2px; border:0; border-radius:var(--bos-radius-pill); background:transparent; cursor:pointer; anchor-name:--bos-user-menu; }
.bos-avatar { display:grid; place-items:center; inline-size:var(--bos-avatar-size); block-size:var(--bos-avatar-size); border-radius:var(--bos-radius-pill); background:var(--bos-accent); color:var(--bos-accent-ink); font-size:var(--bos-text-xs); font-weight:var(--bos-weight-strong); }
.bos-user-menu-button:hover .bos-avatar,.bos-user-menu-button[aria-expanded="true"] .bos-avatar { box-shadow:0 0 0 2px var(--bos-surface),0 0 0 4px var(--bos-accent-soft); }
.bos-user-menu-popup { position:fixed; inset:auto var(--bos-space-3) auto auto; top:calc(var(--bos-topbar-height) + var(--bos-space-1)); margin:0; inline-size:min(var(--bos-menu-width),calc(100vw - 2 * var(--bos-space-3))); max-block-size:calc(100dvh - var(--bos-topbar-height) - var(--bos-space-4)); overflow:auto; display:none; flex-direction:column; gap:var(--bos-space-4); padding:var(--bos-space-4); border:var(--bos-line) solid var(--bos-border); border-radius:var(--bos-radius); background:var(--bos-surface); color:var(--bos-text); box-shadow:var(--bos-shadow-dialog); }
.bos-user-menu-popup:popover-open { display:flex; }
@supports (anchor-name:--a) {
  bos-user-menu { anchor-scope:--bos-user-menu; }
  .bos-user-menu-popup { position-anchor:--bos-user-menu; top:calc(anchor(bottom) + var(--bos-space-1)); right:max(var(--bos-space-3),anchor(right)); position-try-fallbacks:flip-block; }
}
.bos-user-menu-head { display:flex; align-items:center; gap:var(--bos-space-3); }
.bos-menu-group { display:grid; gap:var(--bos-space-2); margin:0; padding:var(--bos-space-3) 0 0; border:0; border-top:var(--bos-line) solid var(--bos-border); min-inline-size:0; }
.bos-menu-group > :is(legend,.bos-menu-label) { float:left; inline-size:100%; padding:0 0 var(--bos-space-2); font-size:var(--bos-text-xs); font-weight:var(--bos-weight-strong); color:var(--bos-muted); }
.bos-menu-group > label { display:flex; align-items:center; gap:var(--bos-space-3); padding:var(--bos-space-2); border-radius:var(--bos-radius-sm); font-size:var(--bos-text-sm); cursor:pointer; }
.bos-menu-group > label:hover { background:var(--bos-surface-soft); }
.bos-menu-group input[type="radio"] { accent-color:var(--bos-accent); margin:0; }

/* Inline header search. Popup is viewport-positioned to avoid narrow-header clipping. */
.bos-search { display:block; flex:0 1 auto; min-width:0; }
.bos-search [hidden] { display:none; }
.bos-search-toggle { padding:var(--bos-space-2); min-height:var(--bos-search-height); }
.bos-search-form { margin:0; width:min(var(--bos-search-width), 40vw); }
.bos-search-form .bos-input { width:100%; min-width:0; min-height:var(--bos-search-height); height:var(--bos-search-height); }
.bos-search-popup { position:fixed; width:min(var(--bos-search-popup-width), calc(100vw - var(--bos-search-edge-gap) * 2)); margin:0 var(--bos-search-edge-gap); z-index:var(--bos-search-layer); box-sizing:border-box; overflow-y:auto; background:var(--bos-surface); color:var(--bos-text); border:var(--bos-line) solid var(--bos-border); border-radius:var(--bos-radius); box-shadow:var(--bos-shadow-dialog); padding:var(--bos-space-3); overflow-wrap:anywhere; }
.bos-search-status { margin:0 0 var(--bos-space-2); color:var(--bos-muted); font-size:var(--bos-text-sm); }
.bos-search-options { list-style:none; margin:0; padding:0; }
.bos-search-options [role=option] { display:grid; gap:var(--bos-space-1); padding:var(--bos-space-3); border-radius:var(--bos-radius-sm); cursor:pointer; }
.bos-search-options [role=option]:hover, .bos-search-options [aria-selected=true] { background:var(--bos-accent-soft); outline:var(--bos-line) solid var(--bos-accent); }
@media(max-width:48rem) { .bos-search-form { width:min(var(--bos-search-width), 43vw); } .bos-topbar:has(.bos-search-form:not([hidden])) .bos-breadcrumb { display:none; } }

/* Shared application footer. Native footer supplies the contentinfo landmark. */
bos-app-footer { display:block; margin-block-start:auto; flex:none; }
.bos-app-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--bos-space-3) var(--bos-space-5); padding:var(--bos-footer-padding-block) var(--bos-footer-padding-inline); border-block-start:var(--bos-line) solid var(--bos-border); background:var(--bos-footer-background); color:var(--bos-muted); font-size:var(--bos-text-sm); overflow-wrap:anywhere; }
.bos-app-footer p { margin:0; }
.bos-app-footer-identity,.bos-app-footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:var(--bos-space-2) var(--bos-space-4); min-inline-size:0; }
.bos-app-footer-identity strong { color:var(--bos-text); }
.bos-app-footer-note { flex-basis:100%; font-size:var(--bos-text-xs); }

/* Reusable native controls and status primitives. */
.bos-button[data-size=sm]{min-height:1.8rem;padding:.2rem .65rem;font-size:var(--bos-text-xs)}
.bos-button[data-size=lg]{min-height:3rem;padding:.7rem 1.4rem}.bos-button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--bos-text)}
.bos-icon-button{display:inline-grid;place-items:center;min-width:var(--bos-control-height);min-height:var(--bos-control-height);padding:.4rem;border:1px solid var(--bos-border);border-radius:var(--bos-radius-sm);background:var(--bos-surface);color:var(--bos-text);cursor:pointer}.bos-icon-button:disabled{opacity:.5;cursor:not-allowed}.bos-icon{width:1.2em;height:1.2em;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8}
.bos-choice-group{border:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--bos-space-3)}.bos-choice-group legend{font-weight:var(--bos-weight-strong);margin-bottom:var(--bos-space-2)}.bos-choice-group[data-layout=vertical]{flex-direction:column}.bos-choice-group label{display:flex;align-items:center;gap:var(--bos-space-2)}.bos-choice-group input{accent-color:var(--bos-accent)}
.bos-checkbox[data-size=sm] input,.bos-choice-group[data-size=sm] input{width:1rem;height:1rem}.bos-checkbox:has(:disabled),.bos-choice-group label:has(:disabled){opacity:.55}
.bos-switch{display:inline-flex;align-items:center;gap:var(--bos-space-3);cursor:pointer}.bos-switch input{appearance:none;inline-size:2.5rem;block-size:1.4rem;border-radius:var(--bos-radius-pill);border:1px solid var(--bos-border);background:var(--bos-surface-soft);position:relative;cursor:inherit}.bos-switch input::before{content:'';position:absolute;inline-size:1rem;block-size:1rem;inset-block-start:.13rem;inset-inline-start:.14rem;background:var(--bos-muted);border-radius:50%;transition:transform var(--bos-motion)}.bos-switch input:checked{background:var(--bos-accent)}.bos-switch input:checked::before{background:var(--bos-accent-ink);transform:translateX(1rem)}.bos-switch:has(:disabled){opacity:.55;cursor:not-allowed}
.bos-segmented{display:inline-flex;flex-wrap:wrap;border:1px solid var(--bos-border);border-radius:var(--bos-radius-sm);padding:.2rem;gap:.2rem}.bos-segmented label{position:relative;padding:.4rem .8rem;border-radius:var(--bos-radius-sm);cursor:pointer}.bos-segmented input{position:absolute;inset:0;opacity:0;cursor:inherit}.bos-segmented label:has(:checked){background:var(--bos-accent);color:var(--bos-accent-ink)}.bos-segmented label:has(:focus-visible){outline:2px solid var(--bos-focus);outline-offset:2px}.bos-segmented label:has(:disabled){opacity:.5;cursor:not-allowed}
.bos-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:var(--bos-radius-pill);background:var(--bos-surface-soft);font-size:var(--bos-text-xs)}.bos-chip[data-tone=success],.bos-alert[data-tone=success]{background:var(--bos-success-soft);color:var(--bos-success)}.bos-chip[data-tone=warning],.bos-alert[data-tone=warning]{background:var(--bos-warning-soft);color:var(--bos-warning)}.bos-chip[data-tone=danger]{background:var(--bos-danger-soft);color:var(--bos-danger)}.bos-chip[data-tone=info]{background:var(--bos-accent-soft);color:var(--bos-accent)}
.bos-count{display:inline-grid;place-items:center;min-inline-size:1.4em;padding:.1em .35em;border-radius:var(--bos-radius-pill);background:var(--bos-accent);color:var(--bos-accent-ink);font-size:var(--bos-text-xs);font-variant-numeric:tabular-nums}
.bos-progress{display:grid;gap:var(--bos-space-2)}.bos-progress progress{width:100%;height:.7rem;accent-color:var(--bos-accent)}.bos-progress[data-size=sm] progress{height:.35rem}.bos-skeleton{display:block;background:var(--bos-surface-soft);border-radius:var(--bos-radius-sm);min-height:1em;overflow:hidden;position:relative}.bos-skeleton[data-shape=circle]{border-radius:50%;aspect-ratio:1;width:3rem}.bos-skeleton[data-shape=block]{min-height:6rem}.bos-skeleton[data-motion=shimmer]::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--bos-border),transparent);animation:bos-shimmer 1.5s infinite}@keyframes bos-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.bos-spinner[data-size=sm]{width:.7rem;height:.7rem}.bos-spinner[data-size=lg]{width:2rem;height:2rem}.bos-swatch{display:inline-flex;align-items:center;gap:.5rem}.bos-swatch::before{content:'';inline-size:1.25rem;block-size:1.25rem;border:1px solid var(--bos-border);border-radius:var(--bos-radius-sm);background:var(--bos-swatch-color,var(--bos-accent))}
.bos-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bos-space-2)}.bos-pagination [aria-current=page]{background:var(--bos-accent);color:var(--bos-accent-ink)}
.bos-table[data-hover] tbody tr:hover{background:var(--bos-surface-soft)}.bos-input[data-size=sm]{min-height:1.8rem;padding:.2rem .5rem}.bos-input[data-size=lg]{min-height:3rem}.bos-input:disabled{opacity:.55;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){.bos-skeleton::after{animation:none!important}.bos-switch input::before{transition:none}}
.bos-chip[data-variant=outline]{background:transparent;border:1px solid currentColor}.bos-table .bos-numeric{text-align:right;font-variant-numeric:tabular-nums}.bos-mono,code,kbd{font-family:var(--bos-font-mono)}.bos-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bos-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--bos-clamp-lines,3);overflow:hidden}.bos-prose{max-width:var(--bos-prose-width,70ch);line-height:1.65}.bos-prose>*+*{margin-block-start:1em}.bos-spinner[data-state=stopped]{animation:none;visibility:hidden}.bos-button[aria-busy=true]{cursor:progress}.bos-swatch[data-size=sm]::before{inline-size:.8rem;block-size:.8rem}.bos-topbar[data-sticky]{position:sticky;top:0;z-index:50}.bos-app-footer[data-density=compact]{padding-block:var(--bos-space-2)}.bos-card[data-interaction=selectable]:has(input:checked){outline:2px solid var(--bos-accent);outline-offset:2px}.bos-card[data-interaction=selectable] input{accent-color:var(--bos-accent)}.bos-icon[data-size=sm]{width:1rem;height:1rem}.bos-icon[data-size=lg]{width:1.5rem;height:1.5rem}.bos-icon[data-tone=success]{color:var(--bos-success)}.bos-icon[data-tone=warning]{color:var(--bos-warning)}.bos-icon[data-tone=danger]{color:var(--bos-danger)}
@media(forced-colors:active){.bos-switch input{appearance:auto}.bos-switch input::before{display:none}.bos-segmented label:has(:checked),.bos-pagination [aria-current=page]{outline:2px solid Highlight}.bos-skeleton{border:1px solid CanvasText}.bos-spinner{border-color:CanvasText;border-top-color:Highlight}.bos-chip,.bos-count,.bos-toast{border:1px solid CanvasText}}
@media print{.bos-sidebar,.bos-topbar,.bos-toast-region,.bos-menu,.bos-tooltip{display:none!important}.bos-shell{display:block}.bos-main{padding:0}.bos-card,.bos-panel{break-inside:avoid;box-shadow:none}.bos-accordion-content[hidden],.bos-panel-content[hidden]{display:block!important}.bos-app-footer{margin-top:1rem}}
.bos-icon[data-tone=muted]{color:var(--bos-muted)}.bos-icon[data-tone=info]{color:var(--bos-accent)}

bos-accordion,bos-panel,bos-code-block{display:block}.bos-accordion{border:1px solid var(--bos-border);border-radius:var(--bos-radius);overflow:clip}.bos-accordion h3,.bos-accordion h4{margin:0}.bos-accordion button[aria-controls]{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;text-align:left;padding:var(--bos-space-4);background:var(--bos-surface);border:0;border-bottom:1px solid var(--bos-border);color:var(--bos-text);cursor:pointer;font-weight:var(--bos-weight-strong)}.bos-accordion button[aria-controls]::after{content:'+';font-size:1.2rem}.bos-accordion button[aria-expanded=true]::after{content:'−'}.bos-accordion button:disabled{opacity:.5;cursor:not-allowed}.bos-accordion-content{padding:var(--bos-space-4)}.bos-accordion[data-surface=flush]{border:0}.bos-accordion[data-density=compact] button[aria-controls],.bos-accordion[data-density=compact] .bos-accordion-content{padding:var(--bos-space-2)}
.bos-panel{border:1px solid var(--bos-border);border-radius:var(--bos-radius);background:var(--bos-surface);overflow:clip}.bos-panel-header,.bos-panel-footer{padding:var(--bos-space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--bos-space-3);flex-wrap:wrap}.bos-panel-header{border-bottom:1px solid var(--bos-border)}.bos-panel-content{padding:var(--bos-space-4)}.bos-panel-footer{border-top:1px solid var(--bos-border)}.bos-panel[data-flush] .bos-panel-content{padding:0}.bos-panel[data-tone=warning]{border-color:var(--bos-warning)}.bos-panel[data-tone=danger]{border-color:var(--bos-danger)}
.bos-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(var(--bos-drawer-width,28rem),100%);max-width:100%;height:100dvh;max-height:100dvh;overflow:auto;border:0;border-inline-start:1px solid var(--bos-border);padding:var(--bos-space-5);background:var(--bos-surface);color:var(--bos-text);box-shadow:var(--bos-shadow-dialog)}.bos-drawer[data-side=start]{inset:0 auto 0 0}.bos-drawer::backdrop{background:var(--bos-backdrop)}.bos-dialog[data-size=sm]{width:min(24rem,calc(100% - 2rem))}.bos-dialog[data-size=lg]{width:min(60rem,calc(100% - 2rem))}
.bos-menu{position:fixed;margin:0;padding:var(--bos-space-2);min-width:12rem;max-width:calc(100vw - 1rem);max-height:70dvh;overflow:auto;border:1px solid var(--bos-border);border-radius:var(--bos-radius-sm);background:var(--bos-surface);color:var(--bos-text);box-shadow:var(--bos-shadow-dialog)}.bos-menu [role^=menuitem]{display:flex;width:100%;align-items:center;gap:.5rem;border:0;padding:.6rem .8rem;text-align:left;background:transparent;color:inherit;border-radius:var(--bos-radius-sm);cursor:pointer}.bos-menu [role^=menuitem]:hover,.bos-menu [role^=menuitem]:focus{background:var(--bos-accent-soft)}.bos-menu [aria-checked=true]::before{content:'✓'}.bos-menu [aria-disabled=true],.bos-menu :disabled{opacity:.5;cursor:not-allowed}.bos-menu[data-density=compact] [role^=menuitem]{padding:.3rem .5rem}
.bos-tooltip{position:fixed;z-index:1000;max-width:min(20rem,calc(100vw - 1rem));padding:.4rem .7rem;border-radius:var(--bos-radius-sm);background:var(--bos-text);color:var(--bos-surface);font-size:var(--bos-text-xs);pointer-events:auto}.bos-tooltip[hidden]{display:none}
.bos-toast-region{position:fixed;inset:auto var(--bos-space-4) var(--bos-space-4) auto;z-index:900;display:grid;gap:var(--bos-space-3);width:min(26rem,calc(100vw - 2rem));max-height:80dvh;overflow:auto}.bos-toast{display:flex;align-items:center;gap:var(--bos-space-3);padding:var(--bos-space-4);background:var(--bos-surface);border:1px solid var(--bos-border);border-inline-start:4px solid var(--bos-accent);border-radius:var(--bos-radius-sm);box-shadow:var(--bos-shadow-dialog)}.bos-toast p{margin:0;flex:1}.bos-toast[data-tone=danger]{border-inline-start-color:var(--bos-danger)}.bos-toast[data-tone=success]{border-inline-start-color:var(--bos-success)}.bos-toast[data-tone=warning]{border-inline-start-color:var(--bos-warning)}
.bos-list{list-style:none;padding:0;margin:0}.bos-list>li{padding:var(--bos-space-3);border-bottom:1px solid var(--bos-border)}.bos-list[data-truncate]>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bos-stat{display:grid;gap:var(--bos-space-2);padding:var(--bos-space-5);border:1px solid var(--bos-border);border-radius:var(--bos-radius);background:var(--bos-surface)}.bos-stat-value{font-size:var(--bos-text-display);font-weight:var(--bos-weight-strong);font-variant-numeric:tabular-nums}.bos-stat[data-tone=success] .bos-stat-change{color:var(--bos-success)}.bos-stat[data-tone=warning] .bos-stat-change{color:var(--bos-warning)}
.bos-card[data-density=compact]{padding:var(--bos-space-3)}.bos-card[data-tone=accent]{background:var(--bos-accent-soft)}.bos-card[data-layout=horizontal]{display:flex;align-items:start;gap:var(--bos-space-4)}.bos-card-media{max-width:100%;height:auto;border-radius:var(--bos-radius-sm)}.bos-card[data-layout=horizontal] .bos-card-media{width:35%}.bos-subnav{display:flex;gap:var(--bos-space-3);flex-wrap:wrap}.bos-subnav a{padding:var(--bos-space-2);text-decoration:none}.bos-subnav [aria-current=page]{border-bottom:3px solid var(--bos-accent);font-weight:var(--bos-weight-strong)}.bos-nav-group summary{cursor:pointer;padding:var(--bos-space-3);font-weight:var(--bos-weight-strong)}
.bos-tablist[aria-orientation=vertical]{flex-direction:column;border-bottom:0;border-inline-end:1px solid var(--bos-border)}.bos-tablist[aria-orientation=vertical] .bos-tab{text-align:start;border-bottom:0;border-inline-end:3px solid transparent}.bos-tablist[aria-orientation=vertical] .bos-tab[aria-selected=true]{border-inline-end-color:var(--bos-accent)}.bos-tab:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:40rem){.bos-card[data-layout=horizontal]{display:block}.bos-card[data-layout=horizontal] .bos-card-media{width:100%}}
.bos-card[data-tone=raised]{box-shadow:var(--bos-shadow-dialog)}.bos-card[data-tone=filled]{background:var(--bos-surface-soft);border-color:transparent}.bos-panel[data-tone=info]{border-color:var(--bos-accent)}.bos-drawer[data-size=sm]{width:min(22rem,100%)}.bos-drawer[data-size=md]{width:min(34rem,100%)}.bos-drawer[data-tone=primary]{border-inline-start:4px solid var(--bos-accent)}bos-pagination[data-density=compact] .bos-button{min-height:1.8rem;padding:.2rem .5rem}
@media(max-width:35rem){.bos-dialog[data-fullscreen-narrow]{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border-radius:0}}

/* Native media, people, and DOM board. All appearance derives from public tokens. */
:root {
  --bos-image-thumbnail:4rem; --bos-image-small:10rem; --bos-image-medium:20rem; --bos-image-large:40rem; --bos-image-hero:80rem;
  --bos-image-position:50% 50%; --bos-media-ratio:16 / 9;
  --bos-avatar-overlap:.5rem; --bos-board-column-min:15rem; --bos-board-gap:var(--bos-space-4);
}
.bos-image { display:block; max-inline-size:100%; block-size:auto; }
.bos-image-thumbnail { inline-size:100%; max-inline-size:min(100%,var(--bos-image-thumbnail)); }
.bos-image-small { inline-size:100%; max-inline-size:min(100%,var(--bos-image-small)); }
.bos-image-medium { inline-size:100%; max-inline-size:min(100%,var(--bos-image-medium)); }
.bos-image-large { inline-size:100%; max-inline-size:min(100%,var(--bos-image-large)); }
.bos-image-hero { inline-size:100%; max-inline-size:min(100%,var(--bos-image-hero)); }
.bos-media-frame { overflow:hidden; background:var(--bos-surface-soft); border-radius:var(--bos-radius); }
.bos-ratio-square { aspect-ratio:1 / 1; } .bos-ratio-standard { aspect-ratio:4 / 3; } .bos-ratio-video { aspect-ratio:16 / 9; } .bos-ratio-photo { aspect-ratio:3 / 2; } .bos-ratio-cinema { aspect-ratio:21 / 9; }
.bos-media-frame > :is(img,video,iframe),.bos-image-cover,.bos-image-contain { inline-size:100%; block-size:100%; object-position:var(--bos-image-position); }
.bos-image-cover { object-fit:cover; } .bos-image-contain { object-fit:contain; }
.bos-image-placeholder { display:grid; place-content:center; min-block-size:6rem; padding:var(--bos-space-4); text-align:center; color:var(--bos-muted); background:var(--bos-surface-soft); }
.bos-audio,.bos-video { min-inline-size:0; border:var(--bos-line) solid var(--bos-border); border-radius:var(--bos-radius); background:var(--bos-surface); }
.bos-audio > audio,.bos-video > video { display:block; inline-size:100%; }
.bos-video > video { max-block-size:80dvh; background:var(--bos-surface-soft); }
.bos-media-controls { display:flex; flex-wrap:wrap; align-items:center; gap:var(--bos-space-2); padding:var(--bos-space-3); }
.bos-media-controls > :is(input,select) { min-inline-size:0; inline-size:auto; max-inline-size:100%; }
.bos-media-controls input[aria-label="Seek"] { flex:1 1 10rem; }
.bos-media-controls input[aria-label="Volume"] { inline-size:6rem; }
.bos-media-loading,.bos-media-error { padding:var(--bos-space-3); }
.bos-media-error { color:var(--bos-danger); }
.bos-transcript-cues { display:grid; gap:var(--bos-space-2); padding-inline-start:var(--bos-space-5); }
.bos-transcript-cues button { text-align:start; white-space:normal; }
.bos-transcript-cues [aria-current="true"] { background:var(--bos-accent-soft); color:var(--bos-accent); border-color:var(--bos-accent); }
.bos-embed [data-bos-embed-stage] { aspect-ratio:var(--bos-media-ratio); display:grid; place-items:center; background:var(--bos-surface-soft); border-radius:var(--bos-radius); overflow:hidden; }
.bos-embed iframe { inline-size:100%; block-size:100%; border:0; }
.bos-presence { display:inline-flex; align-items:center; gap:var(--bos-space-2); color:var(--bos-muted); font-size:var(--bos-text-sm); }
.bos-presence-mark { display:inline-grid; place-items:center; inline-size:1.15em; block-size:1.15em; border:var(--bos-line) solid currentColor; border-radius:50%; line-height:1; flex:none; }
.bos-presence-sm .bos-presence-mark { font-size:.625rem; } .bos-presence-lg .bos-presence-mark { font-size:1.125rem; }
.bos-presence[data-availability="available"] .bos-presence-mark { color:var(--bos-success); }
.bos-presence[data-availability="busy"] .bos-presence-mark,.bos-presence[data-availability="do-not-disturb"] .bos-presence-mark { color:var(--bos-danger); }
.bos-presence[data-availability="away"] .bos-presence-mark { color:var(--bos-warning); }
.bos-presence-oof { border:var(--bos-line) solid currentColor; border-radius:50%; line-height:1; }
.bos-avatar-people { --bos-person-size:2rem; display:inline-flex; position:relative; inline-size:var(--bos-person-size); block-size:var(--bos-person-size); border-radius:50%; background:var(--bos-accent-soft); color:var(--bos-accent); flex:none; vertical-align:middle; font-size:calc(var(--bos-person-size) * .36); font-weight:var(--bos-weight-strong); }
.bos-avatar-people[data-color-index="1"],.bos-avatar-people[data-color-index="4"] { background:var(--bos-success-soft); color:var(--bos-success); }
.bos-avatar-people[data-color-index="2"],.bos-avatar-people[data-color-index="5"] { background:var(--bos-warning-soft); color:var(--bos-warning); }
.bos-avatar-xs { --bos-person-size:1.5rem; } .bos-avatar-sm { --bos-person-size:1.75rem; } .bos-avatar-lg { --bos-person-size:3rem; } .bos-avatar-xl { --bos-person-size:4rem; }
.bos-avatar-fallback { display:grid; position:absolute; inset:0; place-items:center; border-radius:inherit; overflow:hidden; }
.bos-avatar-people img { position:absolute; inset:0; inline-size:100%; block-size:100%; border-radius:inherit; object-fit:cover; object-position:var(--bos-image-position); }
.bos-avatar-people > .bos-presence { position:absolute; inset-inline-end:-.2rem; inset-block-end:-.15rem; background:var(--bos-surface); border-radius:50%; gap:0; }
.bos-avatar-group-wrap { display:flex; flex-wrap:wrap; align-items:flex-start; gap:var(--bos-space-3); }
.bos-avatar-group { display:flex; flex-wrap:wrap; align-items:center; padding:0; margin:0; list-style:none; }
.bos-avatar-group > li + li { margin-inline-start:calc(-1 * var(--bos-avatar-overlap)); }
.bos-avatar-group .bos-avatar-people { outline:2px solid var(--bos-surface); }
.bos-avatar-group-spaced { gap:var(--bos-space-2); } .bos-avatar-group-spaced > li + li { margin-inline-start:0; }
.bos-avatar-group :is(a,button) { display:inline-flex; min-inline-size:2.75rem; min-block-size:2.75rem; align-items:center; justify-content:center; }
.bos-avatar-group:has(a,button) { gap:var(--bos-space-2); } .bos-avatar-group:has(a,button) > li + li { margin-inline-start:0; }
.bos-avatar-overflow { min-inline-size:2.75rem; } .bos-avatar-overflow summary { cursor:pointer; min-block-size:2.75rem; display:flex; align-items:center; }
.bos-board { display:grid; gap:var(--bos-board-gap); min-inline-size:0; }
.bos-board-columns { display:flex; gap:var(--bos-board-gap); overflow-x:auto; padding-block-end:var(--bos-space-2); }
.bos-board-column { flex:1 0 var(--bos-board-column-min); min-inline-size:min(100%,var(--bos-board-column-min)); padding:var(--bos-space-3); border:var(--bos-line) solid var(--bos-border); border-radius:var(--bos-radius); background:var(--bos-surface-soft); }
.bos-board-parts { display:flex; flex-direction:column; gap:var(--bos-space-3); }
.bos-board-parts[data-split="horizontal"] { flex-direction:row; flex-wrap:wrap; } .bos-board-lane { flex:1; min-inline-size:0; }
.bos-board :is(ul) { list-style:none; margin:0; padding:0; display:grid; gap:var(--bos-space-2); }
.bos-board-item { display:block; inline-size:100%; min-block-size:var(--bos-control-height); padding:var(--bos-space-3); border:var(--bos-line) solid var(--bos-border); border-radius:var(--bos-radius-sm); background:var(--bos-surface); color:var(--bos-text); font:inherit; text-align:start; overflow-wrap:anywhere; cursor:pointer; }
.bos-board-item { border-inline-start:var(--bos-space-1) solid var(--bos-board-item-color,var(--bos-border)); border-block-end-color:var(--bos-board-item-priority,var(--bos-border)); }
.bos-board-item[data-blocked="true"] { border-inline-start:var(--bos-space-1) solid var(--bos-warning); }
.bos-board-buckets { display:grid; gap:var(--bos-space-3); } .bos-board-bucket summary { padding:var(--bos-space-3); cursor:pointer; }
@media print { .bos-board-columns { display:block; overflow:visible; } .bos-board-column { break-inside:avoid; margin-block-end:var(--bos-space-4); } .bos-media-controls { display:none; } }
@media (forced-colors:active) { .bos-presence-mark,.bos-avatar-people { border:1px solid CanvasText; } }

.bos-board-print { display:none; }
@media print { .bos-board-print { display:block; } .bos-board-columns,.bos-board-buckets { display:none; } }
