/* Hundred design system (from Claude Design export, flattened). */
/* Geist en Geist Mono, zelf gehost (was Google Fonts). Alleen latin + latin-ext. */
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/geist-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/geist-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/geist-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/geist-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/geist-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/geist-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/geist-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/geist-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/geist-mono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/geist-mono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/geist-mono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/geist-mono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* --- tokens/fonts.css --- */
/* Geist — the product face. Numbers use tabular figures everywhere. */

:root{
  --font-sans:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'Geist Mono',ui-monospace,monospace;
  /* type scale: size/line-height, weight */
  --text-display:27px;--lh-display:32px;   /* page title, 600, -0.025em */
  --text-heading:18px;--lh-heading:23px;   /* dialog title, step title, StatTile and tile figures, 600, -0.02em */
  --text-title:16px;--lh-title:22px;       /* section title, 600, -0.015em */
  --text-subtitle:13.5px;--lh-subtitle:20px; /* card title, 600 */
  --text-body:12.25px;--lh-body:1.45;/* @kind font */       /* default, 400/500 */
  --text-small:11.25px;                    /* meta, deltas, hints */
  --text-micro:10.5px;                     /* sub-labels, axis */
  --text-kpi:24px;--lh-kpi:29px;           /* KPI value, 600, -0.025em */
  --tracking-tight:-.025em;--tracking-title:-.015em;
}
/* --- tokens/colors.css --- */
/* Hundred OS colour tokens. Warm neutrals, one ink, one accent, two outcome colours. */
:root{
  /* surfaces */
  --bg:#F5F5F3;          /* app background behind the sheet and sidebar */
  --surface:#FFFFFF;     /* sheet, cards, popovers */
  --surface-soft:#F1F1EE;/* segmented track, chips, hover fill, table totals */
  --surface-hover:#FAFAF8;
  --surface-sunken:#FCFCFB;/* level-1 table rows, totals, sorted column */
  /* ink */
  --ink:#15181D;         /* primary text, active states */
  --ink-2:#565D6A;       /* secondary text, labels */
  --ink-3:#8E949E;       /* tertiary text, axis, placeholders, icons at rest */
  /* lines */
  --line:#EDEDEA;        /* rules inside cards and tables */
  --border:#E7E7E3;      /* card and control edges */
  --border-strong:#D6D6D1;/* hover edge */
  /* brand */
  --navy:#2C3A4A;        /* brand navy: logo box, final totals */
  --accent:#2E7DD1;      /* the one accent: links, focus, active nav icon, selected markers */
  --accent-tint:#E6F0FA;
  --sky:#0EA5E9;         /* logo inner ring; only in the logo and the Scout mark */
  --highlight:#E3EFFB;   /* row flash after navigating to it */
  --ink-hover:#2A2F37;   /* primary button hover */
  /* outcomes */
  --positive:#17864F;--positive-tint:#E8F5EE;
  --negative:#C9372C;--negative-tint:#FCEDEB;
  --warning:#B5760B;--warning-tint:#FBF3E4;
  --live:#26B36B;
  /* data colours used by CSS (same values as dataviz SEMANTIC_COLOR) */
  --dv-positive:#43907A;--dv-negative:#E0795E;
  /* sidebar (dark variant) */
  --side-dark:#1B2530;
}
/* --- tokens/effects.css --- */
:root{
  /* radius */
  --radius-xs:5px;   /* code chips (CM0–CM4) */
  --radius-sm:7px;   /* nav items, small segments, menu items */
  --radius-md:9px;  /* buttons, pills, inputs, segmented track */
  --radius-lg:11px;  /* popovers, help, tiles in dialogs */
  --radius-xl:14px;  /* cards, KPI cards */
  --radius-2xl:16px; /* the sheet */
  --radius-3xl:18px; /* dialogs */
  --radius-full:999px;
  /* shadows — ink-tinted, never black */
  --shadow-hairline:0 0 0 1px rgba(21,24,29,.05),0 1px 3px rgba(21,24,29,.04);
  --shadow-raised:0 1px 2px rgba(21,24,29,.08),0 0 0 .5px rgba(21,24,29,.06);
  --shadow-hover:0 4px 13px rgba(21,24,29,.05);
  --shadow-pop:0 14px 36px rgba(21,24,29,.14),0 2px 5px rgba(21,24,29,.05);
  --shadow-dialog:0 27px 72px rgba(21,24,29,.28),0 0 0 1px rgba(21,24,29,.06);
  --shadow-sticky:0 1px 0 var(--line),0 5px 14px -9px rgba(21,24,29,.18);
  /* controls */
  --control-sm:24px;--control-md:27px;--control:31px;
  /* density — switch with .hos-compact on any ancestor */
  --pad:18px;--gap:13px;--section-gap:32px;
  /* layout */
  --sidebar-w:209px;--sidebar-collapsed:58px;--content-max:1224px;--content-x:25px;--aside-w:378px;
  /* motion */
  --ease:cubic-bezier(.2,.8,.2,1);/* @kind other */
  --dur:.15s;/* @kind other */
}
.hos-compact{--pad:14px;--gap:9px;--radius-xl:12px}
/* --- tokens/base.css --- */
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);font-size:var(--text-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;font-feature-settings:'tnum' 1}
button{font:inherit;color:inherit}
a{color:var(--accent);text-decoration:none}a:hover{color:var(--navy);text-decoration:underline}
h1,h2,h3,h4{margin:0}
.hos-up{color:var(--positive)}.hos-down{color:var(--negative)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* --- components/actions/actions.css --- */
.hos-btn{display:inline-flex;align-items:center;gap:7px;height:var(--control);padding:0 11px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;font-weight:500;white-space:nowrap;transition:background var(--dur),border-color var(--dur),color var(--dur)}
.hos-btn--sm{height:var(--control-md);padding:0 9px;font-size:var(--text-small);gap:5px}
.hos-btn--primary{background:var(--ink);color:var(--surface)}.hos-btn--primary:hover{background:var(--ink-hover)}
.hos-btn--secondary{background:var(--surface);border-color:var(--border);color:var(--ink)}.hos-btn--secondary:hover{background:var(--surface-soft)}
.hos-btn--secondary.is-active{border-color:transparent;background:var(--accent-tint);box-shadow:none;color:var(--accent)}.hos-btn--secondary.is-active:hover{background:color-mix(in oklch,var(--accent) 16%,var(--surface))}
.hos-btn--ghost{background:transparent;color:var(--ink-2)}.hos-btn--ghost:hover{background:var(--surface-soft);color:var(--ink)}
.hos-btn--link{background:none;border:0;padding:0;height:auto;color:var(--accent);font-weight:600}.hos-btn--link:hover{color:var(--navy)}
.hos-btn:disabled{opacity:.45;cursor:default}
.hos-btn svg{flex-shrink:0}
.hos-iconbtn{position:relative;width:var(--control);height:var(--control);display:grid;place-items:center;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--ink-2);cursor:pointer}
.hos-iconbtn:hover{background:var(--surface-soft);color:var(--ink)}
.hos-iconbtn--sm{width:var(--control-md);height:var(--control-md)}
.hos-iconbtn--bare{border-color:transparent;background:transparent}
.hos-iconbtn:disabled{opacity:.4;cursor:default}
.hos-iconbtn__count{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 4px;border-radius:var(--radius-full);background:var(--negative);color:var(--surface);font-size:var(--text-micro);font-weight:600;display:grid;place-items:center;border:2px solid var(--surface)}
/* --- components/controls/controls.css --- */
.hos-seg{display:inline-flex;padding:3px;gap:2px;background:var(--surface-soft);border-radius:var(--radius-md)}
.hos-seg__item{border:0;background:transparent;height:var(--control-md);padding:0 12px;border-radius:var(--radius-sm);cursor:pointer;color:var(--ink-2);font-weight:500;white-space:nowrap;transition:background var(--dur),color var(--dur)}
.hos-seg__item:hover{color:var(--ink)}
.hos-seg__item.is-on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-raised)}
.hos-seg__item:disabled{opacity:.4;cursor:default}
.hos-seg--sm{padding:2px;border-radius:var(--radius-sm)}.hos-seg--sm .hos-seg__item{height:var(--control-sm);padding:0 9px;font-size:var(--text-small);border-radius:5px}
.hos-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line)}
.hos-tab{position:relative;border:0;background:none;padding:0 0 9px;cursor:pointer;color:var(--ink-3);font-weight:500;display:inline-flex;align-items:center;gap:5px}
.hos-tab:hover{color:var(--ink)}
.hos-tab.is-on{color:var(--ink)}.hos-tab.is-on::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--ink)}
.hos-tab.is-soon,.hos-tab.is-soon:hover{color:var(--ink-3);cursor:default}
.hos-tab__count{font-size:var(--text-micro);color:var(--ink-3);background:var(--surface-soft);border-radius:var(--radius-full);padding:0 5px}
.hos-menu{position:relative;display:inline-flex}
.hos-menu__sub{color:var(--ink-3);font-weight:400}
.hos-pop{position:absolute;top:calc(100% + 5px);z-index:60;min-width:198px;padding:5px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:1px}
.hos-pop--cols{flex-direction:row;gap:5px}.hos-pop--cols .hos-pop__col+.hos-pop__col{border-left:1px solid var(--line);padding-left:5px}
.hos-pop__col{display:flex;flex-direction:column;gap:1px;min-width:189px}
.hos-pop__label{font-size:var(--text-micro);font-weight:500;color:var(--ink-3);padding:5px 9px 4px}
.hos-pop__item{display:flex;align-items:center;gap:9px;height:31px;padding:0 9px;border:0;border-radius:var(--radius-sm);background:none;cursor:pointer;text-align:left;color:var(--ink);white-space:nowrap}
.hos-pop__item:hover{background:var(--surface-soft)}
.hos-pop__item.is-on{font-weight:600}.hos-pop__item svg:last-child{color:var(--accent);margin-left:auto}
.hos-pop__item:disabled{opacity:.45;cursor:default}
.hos-pop__text{flex:1}.hos-pop__hint{color:var(--ink-3);font-size:var(--text-small);font-weight:400}
.hos-mp__label{display:flex;justify-content:space-between;font-size:var(--text-micro);font-weight:500;color:var(--ink-3);padding:5px 9px 4px}
.hos-mp__check{display:flex;align-items:center;gap:9px;height:31px;padding:0 9px;border:0;border-radius:var(--radius-sm);background:none;cursor:pointer;text-align:left}
.hos-mp__check:hover{background:var(--surface-soft)}.hos-mp__check.is-dis{opacity:.45;cursor:default}
.hos-mp__box{width:14px;height:14px;border-radius:5px;border:1.5px solid var(--border-strong);display:grid;place-items:center;color:var(--surface);flex-shrink:0}
.hos-mp__box.is-on{background:var(--ink);border-color:var(--ink)}
.hos-mp__name{flex:1;font-weight:500}
.hos-mp__row{display:flex;align-items:center;border-radius:var(--radius-sm)}.hos-mp__row>.hos-mp__check{flex:1;min-width:0}
.hos-mp__row[draggable]{cursor:grab}.hos-mp__row[draggable]:hover{background:var(--surface-soft)}.hos-mp__row[draggable]:hover .hos-mp__check{background:none}
.hos-mp__grip{display:grid;place-items:center;width:23px;height:31px;flex:none;color:var(--ink-3);opacity:.55}.hos-mp__row:hover .hos-mp__grip{opacity:1}
.hos-mp__row.is-drag{background:var(--surface-soft);box-shadow:inset 0 0 0 1px var(--border)}.hos-mp__row.is-drag .hos-mp__grip{opacity:1;color:var(--ink)}
.hos-mp__rule{height:1px;background:var(--line);margin:4px 9px}
.hos-mp__tag{font-size:var(--text-micro);color:var(--ink-3);background:var(--surface-soft);border-radius:var(--radius-full);padding:0 5px}
.hos-mp__reset{margin-top:4px;border:0;border-top:1px solid var(--line);background:none;padding:9px 9px 5px;text-align:left;color:var(--accent);font-weight:600;font-size:var(--text-small);cursor:pointer}
.hos-pop--foot{flex-direction:column}.hos-pop__cols{display:flex;gap:5px}.hos-pop__cols .hos-pop__col+.hos-pop__col{border-left:1px solid var(--line);padding-left:5px}
.hos-pop__foot{font-size:var(--text-small);color:var(--ink-3);padding:7px 9px 4px;border-top:1px solid var(--line);margin-top:4px}
.hos-mp__header{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:5px 5px 7px 9px;margin-bottom:4px;border-bottom:1px solid var(--line);font-weight:500;font-size:var(--text-small)}
.hos-search{display:inline-flex;align-items:center;gap:7px;height:var(--control);max-width:100%;padding:0 9px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--ink-3);transition:border-color var(--dur),box-shadow var(--dur)}
.hos-search--sm{height:var(--control-md)}
.hos-search:focus-within{border-color:color-mix(in oklch,var(--accent) 50%,white);box-shadow:0 0 0 3px var(--accent-tint)}
.hos-search input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;color:var(--ink)}
.hos-search input::placeholder{color:var(--ink-3)}
.hos-search button{width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:var(--radius-full);background:var(--surface-soft);color:var(--ink-2);cursor:pointer}
.hos-pp__trigger{gap:7px}
.hos-pp__vs{display:inline-flex;align-items:center;gap:5px;color:var(--ink-3);font-weight:400;padding-left:7px;border-left:1px solid var(--border)}
.hos-pp__dash{display:inline-block;width:11px;border-top:1.5px dashed var(--ink-3);flex-shrink:0}
.hos-pp__line{display:inline-block;width:11px;height:2px;border-radius:2px;background:var(--ink);flex-shrink:0}
.hos-pp{position:absolute;top:calc(100% + 5px);z-index:60;width:601px;max-width:calc(100vw - 29px);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-pop);overflow:hidden}
.hos-pp__body{display:flex}
.hos-pp__rail{width:153px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;padding:7px;background:var(--surface-sunken);border-right:1px solid var(--line)}
.hos-pp__preset{height:29px;padding:0 9px;border:0;border-radius:var(--radius-sm);background:none;text-align:left;font:inherit;font-size:var(--text-small);font-weight:500;color:var(--ink-2);cursor:pointer}
.hos-pp__preset:hover{background:var(--surface-soft);color:var(--ink)}
.hos-pp__preset.is-on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow-raised)}
.hos-pp__preset:disabled{color:var(--ink-3);opacity:.6;cursor:default;background:none}
.hos-pp__cal{flex:1;min-width:0;padding:11px 14px 13px}
.hos-pp__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.hos-pp__nav .hos-iconbtn:disabled{opacity:.35;cursor:default}
.hos-pp__status{font-size:var(--text-small);color:var(--ink-3)}
.hos-pp__months{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hos-pp__mname{text-align:center;font-size:var(--text-small);font-weight:600;padding:2px 0 9px}
.hos-pp__grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:3px}
.hos-pp__wd{text-align:center;font-size:var(--text-micro);font-weight:500;color:var(--ink-3);padding-bottom:5px}
.hos-pp__day{position:relative;height:27px;border:0;background:none;padding:0;font:inherit;font-size:var(--text-small);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:var(--radius-sm);cursor:pointer}
.hos-pp__day:hover{background:var(--surface-soft)}
.hos-pp__day.is-off{color:var(--ink-3);opacity:.55;cursor:default;background:none}
.hos-pp__day.is-mid{background:var(--accent-tint);border-radius:0}
.hos-pp__day.is-start,.hos-pp__day.is-end,.hos-pp__day.is-one{background:var(--ink);color:var(--surface);font-weight:600}
.hos-pp__day.is-start{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.hos-pp__day.is-end{border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.hos-pp__day.is-cmp::after{content:'';position:absolute;left:5px;right:5px;bottom:3px;border-top:1.5px dashed var(--ink-3)}
.hos-pp__day.is-cmp.is-start::after,.hos-pp__day.is-cmp.is-end::after,.hos-pp__day.is-cmp.is-one::after{border-color:rgba(255,255,255,.7)}
.hos-pp.is-cmp .hos-pp__day.is-mid{background:var(--surface-soft)}
.hos-pp.is-cmp .hos-pp__day.is-start,.hos-pp.is-cmp .hos-pp__day.is-end,.hos-pp.is-cmp .hos-pp__day.is-one{background:var(--ink-2)}
.hos-pp__cmpbar{display:flex;flex-direction:column;gap:9px;padding:11px 14px;border-top:1px solid var(--line);background:var(--surface-sunken)}
.hos-pp__cmprow{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.hos-pp__cmplabel{font-size:var(--text-small);font-weight:600}
.hos-pp__preview{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-small);color:var(--ink-2)}
.hos-pp__hint{font-size:var(--text-small);color:var(--ink-3)}
.hos-pp__target{display:inline-flex;align-items:center;gap:5px;height:27px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit;font-size:var(--text-small);font-weight:500;color:var(--ink);cursor:pointer}
.hos-pp__target span:last-child{color:var(--ink-3);font-weight:400}
.hos-pp__target.is-on{border-color:transparent;background:var(--accent-tint);box-shadow:none;color:var(--accent)}.hos-pp__target.is-on span:last-child{color:var(--accent)}
.hos-pp__foot{display:flex;justify-content:flex-end;gap:7px;padding:9px 14px;border-top:1px solid var(--line)}
.hos-pp__foot .hos-btn:disabled{opacity:.45;cursor:default}
.hos-pp__mgrid{display:grid;grid-template-columns:repeat(3,1fr);row-gap:5px}
.hos-pp__mon{height:32px}
.hos-pp--months .hos-pp__day.is-mid{border-radius:0}
.hos-pp__mgrid .hos-pp__mon:nth-child(3n+1).is-mid,.hos-pp__mgrid .hos-pp__mon:nth-child(3n+1).is-end{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}
.hos-pp__mgrid .hos-pp__mon:nth-child(3n).is-mid,.hos-pp__mgrid .hos-pp__mon:nth-child(3n).is-start{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}
.hos-pp__note{margin:9px 0 0;font-size:var(--text-micro);color:var(--ink-3)}
@media (max-width:990px){.hos-pp__vs{display:none}}
@media (max-width:648px){.hos-pp__rail{display:none}.hos-pp__months{grid-template-columns:1fr}.hos-pp__month+.hos-pp__month{display:none}}
.hos-shop__sep{height:1px;background:var(--line);margin:5px 0}
.hos-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.hos-field__head{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:18px}
.hos-field__label{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-small);font-weight:500;color:var(--ink-2)}
.hos-field__hint{font-size:var(--text-small);color:var(--ink-3);text-wrap:pretty}
.hos-field.is-error .hos-field__hint{color:var(--negative)}
.hos-input{display:flex;align-items:center;gap:5px;height:var(--control);padding:0 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);transition:border-color var(--dur),box-shadow var(--dur)}
.hos-input--sm{height:var(--control-md);padding:0 8px}
.hos-input:hover{border-color:var(--border-strong)}
.hos-input:focus-within{border-color:color-mix(in oklch,var(--accent) 50%,white);box-shadow:0 0 0 3px var(--accent-tint)}
.hos-input input{flex:1;min-width:0;width:100%;border:0;outline:0;background:none;padding:0;font:inherit;color:var(--ink)}
.hos-input input::placeholder{color:var(--ink-3)}
.hos-input--num input{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}
.hos-input__affix{color:var(--ink-3);font-size:var(--text-small);flex-shrink:0}
.hos-input.is-changed{background:var(--accent-tint);border-color:color-mix(in oklch,var(--accent) 30%,white)}
.hos-input.is-invalid{border-color:var(--negative);box-shadow:0 0 0 3px var(--negative-tint)}
.hos-switch{display:inline-flex;align-items:flex-start;gap:9px;cursor:pointer}
.hos-switch.is-disabled{opacity:.5;cursor:default}
.hos-switch__track{position:relative;flex-shrink:0;width:31px;height:18px;margin-top:1px;padding:0;border:0;border-radius:var(--radius-full);background:var(--border-strong);cursor:inherit;transition:background var(--dur)}
.hos-switch__track span{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-raised);transition:transform var(--dur)}
.hos-switch__track.is-on{background:var(--ink)}.hos-switch__track.is-on span{transform:translateX(13px)}
.hos-switch__track:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.hos-switch__text{display:flex;flex-direction:column;gap:1px}
.hos-switch__label{font-weight:500}
.hos-switch__hint{font-size:var(--text-small);color:var(--ink-3)}
.hos-month{display:flex;flex-direction:column;gap:7px;padding:4px}
.hos-month__head{display:flex;align-items:center;justify-content:space-between}
.hos-month__head .hos-iconbtn:disabled{opacity:.35;cursor:default}
.hos-month__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.hos-month__m{height:31px;border:0;border-radius:var(--radius-sm);background:none;font:inherit;font-size:var(--text-small);color:var(--ink);cursor:pointer}
.hos-month__m:hover{background:var(--surface-soft)}
.hos-month__m.is-on{background:var(--ink);color:var(--surface);font-weight:600}
.hos-month__m:disabled{color:var(--ink-3);opacity:.5;cursor:default;background:none}
.hos-stepper{display:flex;align-items:center;gap:5px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.hos-step{display:flex;align-items:center;gap:5px}
.hos-step+.hos-step::before{content:'';width:20px;height:1px;background:var(--border-strong)}
.hos-step button{display:inline-flex;align-items:center;gap:7px;height:29px;padding:0 9px 0 4px;border:0;border-radius:var(--radius-full);background:none;font:inherit;font-size:var(--text-small);font-weight:500;color:var(--ink-3);cursor:pointer}
.hos-step button:hover{background:var(--surface-soft);color:var(--ink)}
.hos-step__n{width:22px;height:22px;border-radius:var(--radius-full);display:grid;place-items:center;font-size:var(--text-micro);font-weight:600;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-3);font-variant-numeric:tabular-nums}
.hos-step.is-on button{color:var(--ink);font-weight:600}
.hos-step.is-on .hos-step__n{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.hos-step.is-done button{color:var(--ink-2)}
.hos-step.is-done .hos-step__n{background:var(--positive-tint);border-color:transparent;color:var(--positive)}
.hos-step.is-bad .hos-step__n{background:var(--negative-tint);border-color:transparent;color:var(--negative)}
@media (max-width:810px){.hos-step__l{display:none}.hos-step.is-on .hos-step__l{display:inline}}
.hos-stepcard{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}
.hos-stepcard__head{display:flex;flex-direction:column;gap:4px;padding:22px 25px 0}
.hos-stepcard__head h2{margin:0;font-size:var(--text-heading);font-weight:600;letter-spacing:-.02em}
.hos-stepcard__head p{margin:0;color:var(--ink-2)}
.hos-stepcard__count{font-size:var(--text-micro);font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.hos-stepcard__body{display:flex;flex-direction:column;gap:20px;padding:20px 25px 23px}
.hos-stepcard__foot{display:flex;align-items:center;justify-content:space-between;gap:11px;padding:13px 18px;border-top:1px solid var(--line);background:var(--surface-sunken);border-radius:0 0 var(--radius-xl) var(--radius-xl)}
.hos-stepcard__next{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.hos-stepcard__hint{font-size:var(--text-small);color:var(--ink-3)}
.hos-stepcard__foot .hos-btn:disabled{opacity:.45;cursor:default}
.hos-menu__label{flex-shrink:0;max-width:234px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hos-mp__check{min-width:0}.hos-mp__name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hos-mp__check .hos-badge--code{flex:none}
.hos-preset__group{margin-top:4px;padding-top:4px;border-top:1px solid var(--line)}
.hos-filter{display:flex;flex-direction:column;gap:2px}
.hos-filter__groups{display:grid;align-content:start;align-items:start;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));gap:2px 11px;max-height:min(62vh,486px);overflow-y:auto;overscroll-behavior:contain}
.hos-filter__g{display:flex;flex-direction:column;gap:1px;padding:2px 0 9px;min-width:0}
.hos-filter__g.is-wide{grid-column:1/-1}.hos-filter__col{display:flex;flex-direction:column;min-width:0}
.hos-filter__h{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:23px;padding:0 9px;font-size:var(--text-micro);font-weight:600;color:var(--ink-3)}
.hos-filter__h button,.hos-filter__clear,.hos-chips__clear{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer}
.hos-filter__h button:hover,.hos-filter__clear:hover,.hos-chips__clear:hover{color:var(--ink)}
.hos-filter__q{padding:2px 4px 5px}
.hos-filter__list{display:flex;flex-direction:column;gap:1px}
.hos-filter__list.is-tree{max-height:270px;overflow-y:auto}
.hos-filter__r{display:flex;align-items:center;gap:2px;min-width:0}
.hos-filter__r.is-sub{padding-left:22px}
.hos-filter__o{flex:1;display:flex;align-items:center;gap:8px;min-width:0;min-height:29px;padding:0 9px;border:0;border-radius:var(--radius-sm);background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.hos-filter__o:hover{background:var(--surface-soft)}
.hos-filter__o:focus-visible,.hos-filter__ex:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.hos-filter__o:disabled{cursor:default;color:var(--ink-2)}.hos-filter__o:disabled:hover{background:none}
.hos-filter__o:disabled .hos-filter__box{opacity:.45}
.hos-filter__box{display:grid;place-items:center;width:14px;height:14px;flex:none;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--surface);transition:background var(--dur),border-color var(--dur)}
.hos-filter__box.is-radio{border-radius:50%}
.hos-filter__o.is-on .hos-filter__box{background:var(--ink);border-color:var(--ink)}
.hos-filter__o.is-on .hos-filter__box.is-radio{background:var(--surface);border:5px solid var(--ink)}
.hos-filter__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hos-filter__hint{flex:none;font-size:var(--text-micro);color:var(--ink-3);font-variant-numeric:tabular-nums}
.hos-filter__ex{display:grid;place-items:center;width:25px;height:25px;flex:none;border:0;border-radius:var(--radius-sm);background:none;color:var(--ink-3);cursor:pointer}
.hos-filter__ex:hover{background:var(--surface-soft);color:var(--ink)}
.hos-filter__ex svg{transition:transform var(--dur) var(--ease)}.hos-filter__ex.is-open svg{transform:rotate(90deg)}
.hos-filter__foot{display:flex;align-items:center;gap:11px;padding:9px 5px 2px 9px;border-top:1px solid var(--line);font-size:var(--text-small);color:var(--ink-3)}
.hos-filter__done{margin-left:auto;height:25px;padding:0 11px;border:0;border-radius:var(--radius-sm);background:var(--ink);font:inherit;font-size:var(--text-small);font-weight:600;color:var(--surface);cursor:pointer}
.hos-filter__done:hover{background:var(--ink-hover)}
.hos-filter__lbl{display:inline-flex;align-items:center;gap:5px}
.hos-filter__n{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 5px;border-radius:var(--radius-full);background:var(--ink);color:var(--surface);font-size:var(--text-micro);font-weight:600;font-variant-numeric:tabular-nums}
.hos-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:calc(var(--section-gap) / -2)}
.hos-chip{display:inline-flex;align-items:center;gap:5px;height:25px;padding:0 3px 0 10px;border-radius:var(--radius-full);background:var(--surface-soft);font-size:var(--text-small);font-weight:500;color:var(--ink);white-space:nowrap}
.hos-chip__g{color:var(--ink-3);font-weight:400}
.hos-chip button{display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;background:none;color:var(--ink-3);cursor:pointer}
.hos-chip button:hover{background:var(--surface);color:var(--ink)}
.hos-chips__clear{padding:0 5px;font-size:var(--text-small)}
/* --- components/data/data.css --- */
.hos-dot{width:7px;height:7px;border-radius:var(--radius-full);display:inline-block;flex-shrink:0}
.hos-delta{display:inline-flex;align-items:center;gap:3px;font-weight:600;font-size:var(--text-small);font-variant-numeric:tabular-nums;white-space:nowrap}
.hos-delta--pill{padding:1px 6px;border-radius:var(--radius-full)}
.hos-delta--pill.is-up{color:var(--positive);background:var(--positive-tint)}.hos-delta--pill.is-down{color:var(--negative);background:var(--negative-tint)}.hos-delta--pill.is-flat{color:var(--ink-2);background:var(--surface-soft)}
.hos-delta--text.is-up{color:var(--positive)}.hos-delta--text.is-down{color:var(--negative)}.hos-delta--text.is-flat{color:var(--ink-3)}
.hos-delta__arrow{font-size:var(--text-micro)}
.hos-badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-weight:500}
.hos-badge--pill{height:18px;padding:0 7px;border-radius:var(--radius-full);font-size:var(--text-micro)}
.hos-badge--pill.hos-badge--neutral{background:var(--surface-soft);color:var(--ink-2)}
.hos-badge--pill.hos-badge--accent{background:var(--accent-tint);color:var(--accent)}
.hos-badge--pill.hos-badge--positive{background:var(--positive-tint);color:var(--positive)}
.hos-badge--pill.hos-badge--negative{background:var(--negative-tint);color:var(--negative)}
.hos-badge--pill.hos-badge--warning{background:var(--warning-tint);color:var(--warning)}
.hos-badge--pill.hos-badge--soon{height:16px;padding:0 6px;background:transparent;border:1px solid var(--border);color:var(--ink-3);font-size:var(--text-micro);letter-spacing:.02em}
.hos-badge--code{font-family:var(--font-mono);font-size:var(--text-micro);font-weight:600;letter-spacing:.03em;color:var(--ink-3);border:1px solid var(--border);border-radius:var(--radius-xs);padding:0 5px;line-height:15px}
.hos-badge--count{min-width:16px;height:16px;padding:0 5px;border-radius:var(--radius-full);background:var(--negative);color:var(--surface);font-size:var(--text-micro);font-weight:600;justify-content:center}
.hos-badge__dot{width:5px;height:5px;border-radius:var(--radius-full);background:currentColor}
.hos-help{position:relative;display:inline-flex;color:var(--ink-3);cursor:pointer;border-radius:var(--radius-full);padding:1px;outline:none;vertical-align:middle}
.hos-help:hover,.hos-help.is-open,.hos-help:focus-visible{color:var(--accent);background:var(--accent-tint)}
.hos-help__pop{position:fixed;z-index:100;width:252px;padding:11px 13px;border-radius:var(--radius-lg);background:var(--surface);color:var(--ink-2);border:1px solid var(--border);font-size:var(--text-small);line-height:1.5;font-weight:400;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:5px;cursor:auto;text-align:left;white-space:normal;letter-spacing:0;text-transform:none}
.hos-help__arrow{position:absolute;width:9px;height:9px;margin-left:-5px;background:var(--surface);border-left:1px solid var(--border);border-top:1px solid var(--border)}
.hos-help__title{font-weight:600;color:var(--ink);font-size:var(--text-body)}
.hos-help__formula{display:flex;flex-direction:column;gap:2px;margin-top:2px;padding:7px 9px;border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--ink);font-weight:500}
.hos-help__formula span{font-size:var(--text-micro);color:var(--ink-3)}
.hos-badge--pill.hos-badge--outline{background:transparent;border:1px solid var(--border);color:var(--ink-2);border-radius:var(--radius-xs);height:16px;padding:0 5px;font-size:var(--text-micro)}
.hos-mark{display:inline-grid;place-items:center;flex-shrink:0;font-weight:700;letter-spacing:-.02em;background:var(--surface-soft);color:var(--ink-2);border:1px solid transparent}
.hos-mark.is-bordered{border-color:var(--border)}
.hos-marks{display:inline-flex}.hos-marks .hos-mark{box-shadow:0 0 0 2px var(--surface)}.hos-marks .hos-mark+.hos-mark{margin-left:-5px}
/* --- components/data/kpi.css --- */
.hos-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(171px,1fr));gap:var(--gap)}
.hos-kpi{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0;padding:var(--pad);padding-bottom:calc(var(--pad) - 4px);border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);text-align:left;transition:border-color var(--dur),box-shadow var(--dur)}
.hos-kpi.is-click{cursor:pointer}.hos-kpi.is-click:hover{border-color:var(--border-strong);box-shadow:var(--shadow-hover)}
.hos-kpi.is-selected{border-color:transparent;background:color-mix(in oklch,var(--kc) 9%,var(--surface));box-shadow:none}.hos-kpi.is-selected.is-click:hover{border-color:transparent;background:color-mix(in oklch,var(--kc) 13%,var(--surface))}
.hos-kpi.is-blocked{background:var(--surface-soft);border-color:transparent}.hos-kpi.is-blocked .hos-kpi__value{color:var(--ink-3)}
.hos-kpi__top{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:23px}
.hos-kpi__label{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-weight:500}
.hos-kpi__value{font-size:var(--text-kpi);line-height:var(--lh-kpi);font-weight:600;letter-spacing:var(--tracking-tight);white-space:nowrap;font-variant-numeric:tabular-nums}
.hos-compact .hos-kpi__value{font-size:var(--text-heading);line-height:25px}
.hos-kpi__meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:var(--text-small)}
.hos-kpi__vs{color:var(--ink-3)}
.hos-kpi__note{font-size:var(--text-small);color:var(--ink-2)}
.hos-kpi__spark{margin:5px -4px 0}
.hos-kpis__item{position:relative;display:grid;min-width:0}.hos-kpis__item>.hos-kpi{min-height:100%}
.hos-kpis__item.is-drag{opacity:.4}
.hos-kpis__grip{position:absolute;left:3px;top:50%;transform:translateY(-50%);display:grid;color:var(--ink-3);opacity:0;transition:opacity var(--dur);pointer-events:none}
.hos-kpis__item:hover .hos-kpis__grip{opacity:.75}
/* --- components/data/labels.css --- */
.hos-dotlabel{display:inline-flex;align-items:center;gap:6px;font-weight:500;white-space:nowrap}
.hos-stars{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-variant-numeric:tabular-nums}.hos-stars svg{color:var(--warning);fill:var(--warning)}
.hos-starn{display:inline-flex;gap:1px;font-size:var(--text-small);letter-spacing:1px;color:var(--border-strong)}.hos-starn .is-on{color:var(--warning)}
/* --- components/layout/layout.css --- */
.hos-hero{display:flex;flex-direction:column;gap:16px;padding-top:5px}
.hos-hero__row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.hos-hero h1{font-size:var(--text-display);line-height:var(--lh-display);font-weight:600;letter-spacing:var(--tracking-tight)}
.hos-section{display:flex;flex-direction:column;gap:var(--gap);scroll-margin-top:65px}
.hos-section__head{display:flex;align-items:center;justify-content:space-between;gap:11px;flex-wrap:wrap;min-height:var(--control)}
.hos-section__title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.hos-section__title h2{font-size:var(--text-title);line-height:var(--lh-title);font-weight:600;letter-spacing:var(--tracking-title)}
.hos-section__sub{color:var(--ink-3)}
.hos-section__tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.hos-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);min-width:0}
.hos-card--padded{padding:var(--pad);display:flex;flex-direction:column;gap:13px}
.hos-card--flush{overflow:hidden}
.hos-card--chart{padding:14px var(--pad) 9px;display:flex;flex-direction:column;gap:9px}
.hos-chartcard__head{display:flex;align-items:center;justify-content:space-between;gap:11px;flex-wrap:wrap;min-height:27px}
.hos-chartcard__title{font-weight:600;font-size:var(--text-body);margin-right:4px}
.hos-chartcard__controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.hos-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.hos-legend__item{display:inline-flex;align-items:center;gap:6px;font-weight:500}
.hos-legend__swatch{width:13px;height:3px;border-radius:2px}
.hos-legend__item--muted{color:var(--ink-3);font-weight:400}
.hos-legend__dash{width:13px;border-top:1.5px dashed var(--ink-3)}
.hos-legend__hint{color:var(--ink-3);font-size:var(--text-small)}
.hos-note{margin:0;font-size:var(--text-small);color:var(--ink-3);text-wrap:pretty}
.hos-disc{display:flex;flex-direction:column;gap:11px}
.hos-disc__head{display:flex;align-items:center;gap:7px;width:100%;padding:11px 0;border:0;border-top:1px solid var(--line);background:none;cursor:pointer;text-align:left}
.hos-disc__head h2{font-size:var(--text-subtitle);font-weight:600;letter-spacing:-.01em}
.hos-disc__chev{display:grid;place-items:center;color:var(--ink-3);transition:transform .2s var(--ease)}
.hos-disc.is-open .hos-disc__chev{transform:rotate(90deg)}
.hos-disc__hint{margin-left:auto;font-size:var(--text-small);color:var(--ink-3);font-weight:500}
.hos-disc__head:hover .hos-disc__hint{color:var(--accent)}
.hos-disc__body{display:flex;flex-direction:column;gap:var(--gap)}
.hos-wintag{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 4px 0 8px;border-radius:var(--radius-full);background:var(--surface-soft);color:var(--ink-2);font-size:var(--text-small);font-weight:500;white-space:nowrap;cursor:default}
.hos-wintag>svg{color:var(--ink-3)}
.hos-wintag:not(:has(.hos-help)){padding-right:8px}
.hos-empty{padding:43px 22px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;color:var(--ink-2)}
.hos-empty b{font-size:var(--text-subtitle);color:var(--ink)}
.hos-empty span{max-width:396px;text-wrap:pretty}
.hos-toolbar{display:flex;align-items:center;justify-content:space-between;gap:7px;flex-wrap:wrap}
.hos-toolbar__side{display:flex;align-items:center;gap:7px;flex-wrap:wrap;flex:0 0 auto;max-width:100%}
.hos-summary{margin:-2px 0 2px;font-size:var(--text-subtitle);color:var(--ink-2);text-wrap:pretty}
.hos-summary b{color:var(--ink);font-weight:600}.hos-summary__vs{color:var(--ink-3)}
.hos-cardhead{display:flex;align-items:center;justify-content:space-between;gap:11px;flex-wrap:wrap}
.hos-cardhead h3{font-size:var(--text-subtitle);font-weight:600;letter-spacing:-.01em}
.hos-cardhead>span{font-size:var(--text-small);color:var(--ink-3)}
.hos-legend__item{min-width:0;max-width:100%}.hos-legend__label{min-width:0;max-width:234px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* --- components/layout/columns.css --- */
.hos-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap)}
.hos-cols>*{min-width:0}
.hos-cols--wide{grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr)}
.hos-cols--wider{grid-template-columns:minmax(0,1.45fr) minmax(306px,1fr)}
.hos-cols--gsm{gap:11px}
@media (max-width:990px){.hos-cols--b1100{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.hos-cols--b1000{grid-template-columns:minmax(0,1fr)}}
@media (max-width:810px){.hos-cols--b900{grid-template-columns:minmax(0,1fr)}}
.hos-focus{display:flex;align-items:center;gap:7px;margin-bottom:11px;font-size:var(--text-small);color:var(--ink-2)}.hos-focus b{color:var(--ink)}
.hos-lrow{display:flex;align-items:center;gap:11px;width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.hos-lrow--hover{justify-content:space-between;min-height:38px;padding:4px 7px;margin:0 -7px;width:calc(100% + 14px);border-radius:var(--radius-sm)}.hos-lrow--hover:hover{background:var(--surface-soft)}
.hos-lrow--divided{gap:9px;padding:7px 2px;border-bottom:1px solid var(--line)}.hos-lrow--divided:hover{background:var(--surface-hover)}.hos-lrow--divided:last-child{border-bottom:0}
.hos-lrow svg{color:var(--ink-3);flex:none}
.hos-lrow__main{display:flex;flex-direction:column;min-width:0;flex:1}
.hos-lrow__title{font-weight:500;display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.hos-lrow__sub{font-size:var(--text-micro);color:var(--ink-3);font-weight:400}
/* --- components/charts/charts.css --- */
.hos-chart{position:relative}.hos-chart svg{display:block}
.hos-axis{font-size:var(--text-micro);fill:var(--ink-3);font-variant-numeric:tabular-nums}
.hos-tip{position:absolute;z-index:5;min-width:180px;padding:9px 11px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-pop);pointer-events:none;display:flex;flex-direction:column;gap:5px;font-size:var(--text-small)}
.hos-tip__head{font-weight:600;color:var(--ink);display:flex;align-items:center;gap:7px}
.hos-tip__partial{font-size:var(--text-micro);font-weight:500;color:var(--warning);background:var(--warning-tint);border-radius:var(--radius-full);padding:0 5px}
.hos-tip__row{display:flex;align-items:center;gap:7px}
.hos-tip__label{color:var(--ink-2);flex:1}
.hos-tip__val{font-weight:600;font-variant-numeric:tabular-nums}
.hos-tip__d{font-weight:600;font-size:var(--text-micro)}.hos-tip__d.is-up{color:var(--positive)}.hos-tip__d.is-down{color:var(--negative)}
.hos-share{display:flex;gap:2px;border-radius:var(--radius-full);overflow:hidden}
.hos-share span{display:block;min-width:2px;transition:opacity var(--dur)}.hos-share span.is-dim{opacity:.3}
.hos-tip__foot{color:var(--ink-3);font-size:var(--text-micro);border-top:1px solid var(--line);padding-top:5px}
.hos-wf{display:flex;flex-direction:column;gap:5px}
.hos-wf__row{display:grid;grid-template-columns:135px minmax(0,1fr) 99px 50px;align-items:center;gap:13px;height:29px}
.hos-wf--nopct .hos-wf__row{grid-template-columns:135px minmax(0,1fr) 99px}
.hos-wf--sm .hos-wf__row{grid-template-columns:99px minmax(0,1fr) 76px;height:23px;gap:9px}.hos-wf--sm .hos-wf__pct{display:none}.hos-wf--sm .hos-wf__track{height:14px}
.hos-wf__label{color:var(--ink-2);font-weight:500}.hos-wf__row.is-total .hos-wf__label{color:var(--ink);font-weight:600}
.hos-wf__track{position:relative;height:20px}
.hos-wf__bar{position:absolute;top:0;bottom:0;border-radius:5px}
.hos-wf__bar--total{background:var(--accent)}.hos-wf__bar--loss{background:var(--dv-negative);opacity:.85}.hos-wf__bar--gain{background:var(--dv-positive,var(--positive));opacity:.85}.hos-wf__bar--result{background:var(--dv-positive)}
.hos-wf__val{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.hos-wf__pct{text-align:right;font-size:var(--text-small);color:var(--ink-3);font-variant-numeric:tabular-nums}
@media (max-width:810px){.hos-wf__row{grid-template-columns:99px minmax(0,1fr) 81px}.hos-wf__pct{display:none}}

.hos-legend__dots{width:13px;border-top:2px dotted currentColor}
.hos-axis--strong{fill:var(--ink-2);font-weight:500}
.hos-dot--ring{background:transparent;border:1.5px dashed var(--ink-3)}
.hos-tip{max-width:306px}.hos-tip__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* --- components/charts/bars.css --- */
/* Composition bars (StackBars) use .hos-chart / .hos-tip from charts.css. BarList: */
.hos-bars{display:flex;flex-direction:column;gap:9px}
.hos-bars__row{display:grid;grid-template-columns:minmax(135px,1.1fr) minmax(0,1fr) 50px 43px;align-items:center;gap:11px}
.hos-bars__l{font-weight:500;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hos-bars__track{height:9px;border-radius:var(--radius-full);background:var(--surface-soft);overflow:hidden}.hos-bars__track span{display:block;height:100%;border-radius:var(--radius-full)}
.hos-bars__v{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.hos-bars__p{text-align:right;font-size:var(--text-small);color:var(--ink-3);font-variant-numeric:tabular-nums}
/* --- components/tables/tables.css --- */
.hos-table__wrap{overflow-x:auto}
.hos-table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
.hos-table th,.hos-table td{padding:9px 13px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.hos-table thead th{position:sticky;top:0;z-index:1;background:var(--surface);font-size:var(--text-small);font-weight:500;color:var(--ink-3)}
.hos-table th.is-sortable{cursor:pointer;user-select:none}.hos-table th.is-sortable:hover,.hos-table th.is-sorted{color:var(--ink)}
.hos-th{display:inline-flex;align-items:center;gap:5px}.hos-th__arrow{width:7px;font-size:var(--text-micro)}
.hos-table td.is-sorted{background:var(--surface-sunken)}
.hos-table__name{text-align:left!important;position:sticky;left:0;z-index:1;background:var(--surface);width:34%;min-width:252px}
.hos-table thead .hos-table__name{z-index:2}
.hos-table tbody tr:last-child td{border-bottom:0}
.hos-row.is-click{cursor:pointer}
.hos-row:hover td{background:var(--surface-hover)}
.hos-row--l1 td{background:var(--surface-sunken)}.hos-row--l2 td{background:var(--surface-hover)}
.hos-row.is-muted td{color:var(--ink-3)}
.hos-name{display:flex;align-items:center;gap:8px;min-width:0}
.hos-name__chev{width:13px;display:inline-grid;place-items:center;color:var(--ink-3);flex-shrink:0}
.hos-name__dot{width:5px;height:5px;border-radius:var(--radius-full);background:var(--border-strong)}
.hos-name__text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.hos-name__main{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.hos-name__label{font-weight:500;white-space:normal;line-height:1.35}
.hos-name__sub{font-size:var(--text-micro);color:var(--ink-3);white-space:normal}
.hos-name__share{display:block;width:81px;height:4px;margin-top:4px;border-radius:var(--radius-full);background:var(--surface-soft);overflow:hidden}.hos-name__share span{display:block;height:100%;border-radius:var(--radius-full)}
.hos-name__open{display:inline-flex;align-items:center;gap:3px;border:0;background:none;padding:0;font-size:var(--text-micro);font-weight:500;color:var(--accent);opacity:0;transition:opacity .12s;cursor:pointer;flex-shrink:0}
.hos-row:hover .hos-name__open{opacity:1}
.hos-cell{font-weight:500}.hos-cell.is-neg{color:var(--negative)}
.hos-cell__d{font-size:var(--text-micro);font-weight:600;color:var(--ink-3)}.hos-cell__d.is-up{color:var(--positive)}.hos-cell__d.is-down{color:var(--negative)}
.hos-na{color:var(--ink-3)}
.hos-table tfoot td{background:var(--surface-soft);font-weight:600;border-bottom:0;border-top:1px solid var(--border)}
.hos-table__empty{text-align:center!important;color:var(--ink-3);padding:29px!important}
.hos-name__sharerow{display:flex;align-items:center;gap:7px;margin-top:3px}.hos-name__sharerow .hos-name__share{margin-top:0}
.hos-name__pct{font-size:var(--text-micro);color:var(--ink-2);font-weight:500}
.hos-row.is-hl td{animation:hoshl 2.4s ease-out forwards}
@keyframes hoshl{0%,55%{background:var(--highlight)}100%{background:var(--surface)}}
.hos-table--compact th,.hos-table--compact td{padding:7px 11px}
.hos-table td{vertical-align:top}.hos-table td.hos-table__name{vertical-align:middle}
.hos-row.is-total td{font-weight:600;background:var(--surface-sunken)}.hos-row.is-total .hos-cell{font-weight:600}
.hos-row.is-grand td{font-weight:600;border-top:1px solid var(--border-strong);font-size:var(--text-body)}
.hos-row.is-margin td{font-size:var(--text-small);color:var(--ink-3);padding-top:0;background:var(--surface-sunken)}.hos-row.is-margin .hos-name__dot{visibility:hidden}
.hos-row.is-sub td{font-size:var(--text-small)}
.hos-name__main{min-width:0}.hos-name__label.is-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;min-width:0}
.hos-pager{display:flex;align-items:center;justify-content:space-between;gap:11px;flex-wrap:wrap;padding:7px 9px 7px 14px;border-top:1px solid var(--line);font-size:var(--text-small);color:var(--ink-3);font-variant-numeric:tabular-nums}
.hos-pager__nav{display:flex;align-items:center;gap:5px}.hos-pager__page{min-width:58px;text-align:center;color:var(--ink-2)}.hos-pager .hos-iconbtn:disabled{opacity:.35;cursor:default}
.hos-table th.is-left,.hos-table td.is-left{text-align:left}.hos-table th.is-left .hos-th{flex-direction:row}
.hos-table__name .hos-name{position:relative}
.hos-table__name .hos-name__open{position:absolute;right:0;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;gap:5px;height:23px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-raised);color:var(--ink-2);font-size:var(--text-micro);font-weight:600;white-space:nowrap;opacity:0;pointer-events:none}
.hos-table__name .hos-name__open>span{display:none}.hos-table__name .hos-name__open:hover{color:var(--accent);border-color:var(--border-strong)}.hos-table__name .hos-name__open:hover>span{display:inline}
.hos-row:hover .hos-name__open{opacity:1}.hos-row:hover button.hos-name__open{pointer-events:auto}
.hos-table--flat .hos-name__main{flex-wrap:nowrap}.hos-table--flat .hos-name__main>.hos-badge{flex:none}
.hos-table--fixedname .hos-name__label.is-text{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:0 1 auto}
.hos-name__label.is-text{overflow-wrap:break-word}
.hos-table__name .hos-name{align-items:flex-start}.hos-table__name .hos-name__chev{height:18px;align-self:flex-start}.hos-table__name .hos-name>.hos-mark,.hos-table__name .hos-name>img{margin-top:1px}
.hos-name__subrow{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}
.hos-table__name .hos-name__text{padding-right:4px}
.hos-table--flat:not(.hos-table--fixedname) .hos-table__name{min-width:180px}
.hos-th__addon{display:inline-flex}
.hos-table th.is-subcol,.hos-table td.is-subcol{background:var(--surface-sunken)}.hos-table tfoot td.is-subcol{background:var(--surface-soft)}
.hos-xchip{display:inline-flex;align-items:center;gap:2px;height:18px;min-width:18px;padding:0 4px;border:1px solid var(--border);border-radius:5px;background:var(--surface);font:inherit;font-size:var(--text-micro);font-weight:600;color:var(--ink-2);cursor:pointer;transition:background var(--dur),border-color var(--dur)}
.hos-xchip:hover{background:var(--surface-soft);border-color:var(--border-strong);color:var(--ink)}
.hos-xchip.is-open{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.hos-xchip.is-open svg{transform:rotate(180deg)}
/* --- components/overlays/overlays.css --- */
.hos-dlg-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:29px;background:rgba(21,24,29,.34);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:hosfade .16s ease-out}
.hos-dlg{max-height:calc(100vh - 58px);display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-3xl);box-shadow:var(--shadow-dialog);overflow:hidden;animation:hosin .2s var(--ease)}
@keyframes hosin{from{transform:translateY(7px) scale(.985);opacity:0}to{transform:none;opacity:1}}
@keyframes hosfade{from{background:rgba(21,24,29,0)}}
.hos-dlg__head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px 16px 22px;border-bottom:1px solid var(--line)}
.hos-dlg__title{display:flex;align-items:center;gap:13px;min-width:0;flex:1 1 auto}
.hos-dlg__titletext{min-width:0}
.hos-dlg__title h3{margin:0 0 4px;font-size:var(--text-heading);font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hos-dlg__meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:var(--text-small);color:var(--ink-3)}
.hos-dlg__nav{display:flex;align-items:center;gap:5px;flex-shrink:0}
.hos-dlg__pos{font-size:var(--text-small);color:var(--ink-3);margin-right:4px;white-space:nowrap}
.hos-dlg__sep{width:1px;height:18px;background:var(--line);margin:0 4px}
.hos-dlg__body{flex:1;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:22px}
.hos-dlg__block{display:flex;flex-direction:column;gap:9px;min-width:0}
.hos-dlg__blockhead{display:flex;align-items:center;justify-content:space-between;gap:11px;flex-wrap:wrap}
.hos-dlg__blockhead h4{font-size:var(--text-subtitle);font-weight:600;letter-spacing:-.01em}
.hos-dlg__blockhead>span{font-size:var(--text-small);color:var(--ink-3)}
.hos-stat{padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:2px}
.hos-stat__l{font-size:var(--text-small);color:var(--ink-3);font-weight:500}
.hos-stat__v{font-size:var(--text-heading);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.hos-dlg__body--split{display:grid;grid-template-columns:minmax(234px,306px) minmax(0,1fr);gap:25px}
.hos-dlg__aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:0;align-self:start}
.hos-dlg__main{display:flex;flex-direction:column;gap:22px;min-width:0}
@media (max-width:774px){.hos-dlg__body--split{grid-template-columns:1fr}.hos-dlg__aside{position:static}}
.hos-stats{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:9px}
@media (max-width:810px){.hos-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hos-detail{display:grid;grid-template-columns:243px minmax(0,1fr);grid-template-areas:"aside stats" "aside c1";gap:14px 18px;align-items:start}
.hos-detail--two{grid-template-columns:243px minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"aside stats stats" "aside c1 c2"}
.hos-detail__aside{grid-area:aside;display:flex;flex-direction:column;gap:9px}.hos-detail__stats{grid-area:stats}.hos-detail__col{min-width:0}.hos-detail__col--1{grid-area:c1}.hos-detail__col--2{grid-area:c2}
@media (max-width:1062px){.hos-detail--two{grid-template-columns:234px minmax(0,1fr);grid-template-areas:"aside stats" "aside c1" "aside c2"}}
@media (max-width:684px){.hos-detail,.hos-detail--two{grid-template-columns:minmax(0,1fr);grid-template-areas:"stats" "c1" "c2" "aside"}}
.hos-info{display:flex;flex-direction:column;gap:2px;padding:9px 13px 5px;border:1px solid var(--border);border-radius:var(--radius-lg)}.hos-info h4{margin:0 0 2px;font-size:var(--text-small);font-weight:600}
.hos-info__rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:11px;padding:4px 0;border-top:1px solid var(--line);font-size:var(--text-small)}.hos-info__rows>div:first-child{border-top:0}
.hos-info__rows span{color:var(--ink-3);flex:none}.hos-info__rows b{font-weight:500;text-align:right;min-width:0;overflow-wrap:anywhere}
.hos-ledger{display:flex;flex-direction:column;font-variant-numeric:tabular-nums}
.hos-ledger__r{display:grid;grid-template-columns:minmax(0,1fr) 94px 52px;gap:9px;align-items:center;min-height:24px;padding:0 9px;border-bottom:1px solid var(--line)}
.hos-ledger__r>span:nth-child(2),.hos-ledger__r>span:nth-child(3){text-align:right}
.hos-ledger__l{display:inline-flex;align-items:center;gap:7px;min-width:0}.hos-ledger__p{color:var(--ink-3);font-size:var(--text-small)}
.hos-ledger__r.is-line .hos-ledger__l{padding-left:11px;color:var(--ink-2)}.hos-ledger__r.is-zero,.hos-ledger__r.is-zero .hos-ledger__l{color:var(--ink-3)}
.hos-ledger__r.is-total{font-weight:600;background:var(--surface-sunken);border-bottom-color:transparent;border-radius:var(--radius-sm);margin:1px 0}
.hos-ledger__r.is-result{font-weight:600;font-size:var(--text-body);border-top:1px solid var(--border-strong);border-bottom:0;margin-top:2px}
/* --- components/overlays/message.css --- */
.hos-sumlist{margin:0;display:flex;flex-direction:column;gap:7px;padding:11px 13px;border-radius:var(--radius-md);background:var(--accent-tint)}
.hos-sumlist__r{display:grid;grid-template-columns:108px minmax(0,1fr);gap:11px;font-size:var(--text-small);line-height:1.45}
.hos-sumlist__r dt{color:var(--ink-2)}.hos-sumlist__r dd{margin:0;color:var(--ink);text-wrap:pretty}
.hos-msg{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.hos-msg__h{display:flex;flex-direction:column;gap:2px;font-size:var(--text-small)}.hos-msg__h b{font-weight:600}.hos-msg__h em{font-style:normal;color:var(--ink-3);font-size:var(--text-micro)}
.hos-msg__body{display:flex;flex-direction:column;gap:5px;font-size:var(--text-small);line-height:1.5;color:var(--ink);align-self:stretch}.hos-msg__body p{margin:0;text-wrap:pretty}
.hos-msg__body.is-clamped{max-height:7.5em;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent);mask-image:linear-gradient(to bottom,#000 60%,transparent)}
.hos-hl{background:var(--accent-tint);color:inherit;border-radius:3px;padding:0 2px;box-shadow:inset 0 -1px 0 var(--accent)}
@media (max-width:630px){.hos-sumlist__r{grid-template-columns:1fr;gap:2px}}
/* --- components/shell/shell.css --- */
.hos-app{display:flex;height:100vh;overflow:hidden;background:var(--bg)}
.hos-main{flex:1;min-width:0;overflow-y:auto;padding:7px 7px 7px 0}
.hos-sb--dark+.hos-main{padding-left:7px}
.hos-main::before{content:"";display:block;position:sticky;top:-7px;z-index:21;height:calc(7px + var(--radius-2xl));margin:-7px -7px calc(-1 * var(--radius-2xl));pointer-events:none;background:linear-gradient(var(--bg),var(--bg)) top/100% 7px no-repeat,linear-gradient(var(--bg),var(--bg)) left top/7px 100% no-repeat,linear-gradient(var(--bg),var(--bg)) right top/7px 100% no-repeat,radial-gradient(circle at 100% 100%,transparent calc(var(--radius-2xl) - .5px),var(--bg) var(--radius-2xl)) left 7px bottom/var(--radius-2xl) var(--radius-2xl) no-repeat,radial-gradient(circle at 0 100%,transparent calc(var(--radius-2xl) - .5px),var(--bg) var(--radius-2xl)) right 7px bottom/var(--radius-2xl) var(--radius-2xl) no-repeat}
.hos-sheet{background:var(--surface);border-radius:var(--radius-2xl);min-height:calc(100vh - 14px);box-shadow:var(--shadow-hairline)}
.hos-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:11px;padding:11px var(--content-x);background:var(--surface);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;transition:box-shadow .2s}
.hos-top.is-scrolled{box-shadow:var(--shadow-sticky)}
.hos-top__side{display:flex;align-items:center;gap:7px}
.hos-content{padding:9px var(--content-x) 50px;display:flex;flex-direction:column;gap:var(--section-gap);max-width:var(--content-max);margin:0 auto}
.hos-avatar{width:25px;height:25px;border-radius:var(--radius-full);background:var(--surface-soft);border:1px solid var(--border);display:grid;place-items:center;font-weight:600;font-size:var(--text-small);flex-shrink:0}
.hos-avatar--sq{width:20px;height:20px;border-radius:5px;background:var(--navy);color:var(--surface);border:0;font-size:var(--text-micro)}
.hos-sb{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;padding:13px 9px;gap:13px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;transition:width .24s var(--ease)}
.hos-sb::-webkit-scrollbar{display:none}
/* collapse: one movement. Width animates, labels fade, icons keep their x (padding shifts them to the centre of the narrow bar). */
.hos-sb--collapsed{width:var(--sidebar-collapsed)}
.hos-sb__fade{transition:opacity .16s var(--ease)}
.hos-sb--collapsed .hos-sb__fade{opacity:0;pointer-events:none}
.hos-sb-item,.hos-sb-group__head,.hos-sb__head,.hos-sb__userwrap .hos-sb__user,.hos-sb__rule{transition:padding .24s var(--ease),margin .24s var(--ease),background var(--dur),color var(--dur)}
.hos-sb-item,.hos-sb-group__head,.hos-sb__userwrap .hos-sb__user{overflow:hidden;white-space:nowrap}
.hos-sb-item__icon,.hos-avatar{flex-shrink:0}
.hos-sb-item>.hos-sb__fade,.hos-sb-group__head>.hos-sb__fade,.hos-sb__user>.hos-sb__fade{min-width:0;flex-shrink:1}
.hos-sb--collapsed .hos-sb-item,.hos-sb--collapsed .hos-sb-group__head,.hos-sb--collapsed .hos-sb__userwrap .hos-sb__user{padding-right:0}
.hos-sb__head{position:relative}
.hos-sb__brand{display:block;flex:none;width:127px;overflow:hidden;transition:width .24s var(--ease)}
.hos-sb__brand img{display:block;height:22px;max-width:none}
.hos-sb--collapsed .hos-sb__brand{width:21px}
.hos-sb__collapse{transition:opacity .16s var(--ease)}
.hos-sb--collapsed .hos-sb__collapse{opacity:0;pointer-events:none}
.hos-sb__expand{flex:none;height:0;margin:-13px 0 0 7.5px;opacity:0;overflow:hidden;pointer-events:none;transition:height .24s var(--ease),margin .24s var(--ease),opacity .16s var(--ease)}
.hos-sb--collapsed .hos-sb__expand{height:25px;margin-top:-6px;opacity:1;pointer-events:auto}
.hos-sb--collapsed .hos-sb__head{padding-left:9px}
.hos-sb--collapsed .hos-sb-item,.hos-sb--collapsed .hos-sb-group__head{padding-left:13px}
.hos-sb--collapsed .hos-sb__rule{margin-left:9px;margin-right:9px}
.hos-sb-tip{position:fixed;transform:translateY(-50%);z-index:200;padding:4px 8px;border-radius:6px;background:var(--ink);color:var(--surface);font-size:var(--text-small);font-weight:500;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-pop);animation:hos-sb-tip .12s var(--ease)}
@keyframes hos-sb-tip{from{opacity:0;transform:translate(-3px,-50%)}to{opacity:1;transform:translateY(-50%)}}
/* user card */
.hos-sb__pop{z-index:120;padding:5px}
.hos-sb__pophead{display:flex;align-items:center;gap:9px;padding:7px 7px 9px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.hos-sb__pophead .hos-sb__usertext span:last-child{white-space:nowrap}
.hos-sb__popsep{height:1px;margin:4px 3px;background:var(--line)}
.hos-sb__pop .hos-pop__item svg{color:var(--ink-3)}
.hos-sb__logout:hover{background:var(--negative-tint);color:var(--negative)}.hos-sb__logout:hover svg{color:var(--negative)}

.hos-sb__head{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:4px 5px 5px 7px;min-height:36px}
.hos-sb__head img{display:block;height:22px}

.hos-sb__icon{width:25px;height:25px;display:grid;place-items:center;border:0;background:none;border-radius:var(--radius-sm);color:var(--ink-3);cursor:pointer}
.hos-sb__icon:hover{background:rgba(21,24,29,.05);color:var(--ink)}
.hos-sb__nav{display:flex;flex-direction:column;gap:2px;width:100%}

.hos-sb__rule{height:1px;background:var(--border);margin:7px}

.hos-sb-item,.hos-sb-group__head{position:relative;display:flex;align-items:center;gap:9px;width:100%;height:29px;padding:0 7px 0 9px;border:0;border-radius:var(--radius-sm);background:none;cursor:pointer;color:var(--ink-2);font-weight:500;text-align:left}

.hos-sb-item:hover,.hos-sb-group__head:hover{background:rgba(21,24,29,.05);color:var(--ink)}
.hos-sb-item.is-on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-raised)}
.hos-sb-item.is-on .hos-sb-item__icon,.hos-sb-group__head.is-current .hos-sb-item__icon{color:var(--accent)}
.hos-sb-item.is-soon{cursor:default;color:var(--ink-3)}.hos-sb-item.is-soon:hover{background:none}
.hos-sb-item__icon{display:grid;place-items:center;color:var(--ink-3)}
.hos-sb-item__label{flex:1;white-space:nowrap}
.hos-sb-item__tip{position:absolute;left:calc(100% + 9px);top:50%;transform:translateY(-50%);background:var(--ink);color:var(--surface);font-size:var(--text-small);padding:4px 7px;border-radius:5px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;z-index:30}
.hos-sb-item:hover .hos-sb-item__tip,.hos-sb-group__head:hover .hos-sb-item__tip{opacity:1}
.hos-sb-group.is-open>.hos-sb-group__head{color:var(--ink)}
.hos-sb-group__chev{display:grid;place-items:center;color:var(--ink-3);transition:transform .2s var(--ease)}
.hos-sb-group.is-open .hos-sb-group__chev{transform:rotate(90deg)}
.hos-sb-group__kids{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s var(--ease)}
.hos-sb-group.is-open .hos-sb-group__kids{grid-template-rows:1fr}

.hos-sb-group__inner{overflow:hidden;display:flex;flex-direction:column;gap:1px;margin-left:16px;padding-left:9px;border-left:1px solid var(--border)}
.hos-sb-group.is-open .hos-sb-group__inner{padding:2px 0 5px 9px}
.hos-sb-kid{position:relative;display:flex;align-items:center;justify-content:space-between;gap:7px;height:27px;padding:0 9px;border:0;border-radius:6px;background:none;cursor:pointer;color:var(--ink-2);font-size:var(--text-body);text-align:left;white-space:nowrap}
.hos-sb-kid:hover{background:rgba(21,24,29,.05);color:var(--ink)}
.hos-sb-kid.is-on{color:var(--ink);font-weight:600;background:var(--surface);box-shadow:var(--shadow-raised)}
.hos-sb-kid.is-on::before{content:'';position:absolute;left:-10px;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent)}
.hos-sb-kid.is-soon{cursor:default;color:var(--ink-3)}.hos-sb-kid.is-soon:hover{background:none}
.hos-sb__foot{margin-top:auto;display:flex;flex-direction:column;gap:2px;width:100%}

.hos-sb__user{display:flex;align-items:center;gap:9px;padding:7px 5px 4px 7px;margin-top:5px;border-top:1px solid var(--border)}
.hos-sb__userwrap{position:relative;width:100%;margin-top:5px;padding-top:5px;border-top:1px solid var(--border)}
.hos-sb__userwrap .hos-sb__user{width:100%;margin:0;padding:5px 7px;border:0;border-radius:var(--radius-sm);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.hos-sb__userwrap .hos-sb__user:hover,.hos-sb__userwrap .hos-sb__user.is-open{background:var(--surface-soft)}



.hos-avatar{position:relative}
.hos-sb-item__icon{position:relative}
.hos-sb-dot{position:absolute;top:-2px;right:-3px;width:6px;height:6px;border-radius:var(--radius-full);background:var(--negative);box-shadow:0 0 0 2px var(--bg)}
.hos-avatar .hos-sb-dot{top:-1px;right:-1px}
.hos-sb-dot--inline{position:static;box-shadow:none;margin-left:auto}
.hos-sb--dark .hos-sb__rule{background:rgba(255,255,255,.08)}
.hos-sb--dark .hos-sb-dot{box-shadow:0 0 0 2px var(--side-dark)}
.hos-sb--dark .hos-sb__userwrap{border-color:rgba(255,255,255,.1)}.hos-sb--dark .hos-sb__userwrap .hos-sb__user:hover,.hos-sb--dark .hos-sb__userwrap .hos-sb__user.is-open{background:rgba(255,255,255,.06)}
.hos-sb__usertext{display:flex;flex-direction:column;min-width:0;flex:1}
.hos-sb__usertext span:first-child{font-weight:600;font-size:var(--text-body)}.hos-sb__usertext span:last-child{font-size:var(--text-micro);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis}
.hos-sb--dark{background:var(--side-dark);color:#E9ECEF}
.hos-sb--dark .hos-sb-item,.hos-sb--dark .hos-sb-group__head,.hos-sb--dark .hos-sb-kid{color:rgba(233,236,239,.7)}
.hos-sb--dark .hos-sb-item:hover,.hos-sb--dark .hos-sb-group__head:hover,.hos-sb--dark .hos-sb-kid:hover{background:rgba(255,255,255,.06);color:var(--surface)}
.hos-sb--dark .hos-sb-item.is-on,.hos-sb--dark .hos-sb-kid.is-on{background:rgba(255,255,255,.1);color:var(--surface);box-shadow:none}
.hos-sb--dark .hos-sb-group__inner,.hos-sb--dark .hos-sb__rule,.hos-sb--dark .hos-sb__user{border-color:rgba(255,255,255,.1)}
.hos-sb--helder{background:var(--bg);padding:14px 11px 11px;gap:14px}
.hos-sb--helder+.hos-main{padding-left:7px}.hos-sb--helder+.hos-main .hos-sheet{box-shadow:0 0 0 1px rgba(21,24,29,.05),0 1px 2px rgba(21,24,29,.04),0 2px 7px -2px rgba(21,24,29,.07)}
.hos-sb--helder .hos-sb__head{padding:2px 4px 7px 5px}
.hos-sb--helder.hos-sb--collapsed .hos-sb__head{padding-left:9px}
.hos-sb--helder.hos-sb--collapsed .hos-sb-item,.hos-sb--helder.hos-sb--collapsed .hos-sb-group__head{padding-left:8.5px}
.hos-sb--helder.hos-sb--collapsed .hos-sb__userwrap .hos-sb__user{padding-left:7.5px}
.hos-sb--helder .hos-sb__nav{gap:3px}
.hos-sb--helder .hos-sb-item,.hos-sb--helder .hos-sb-group__head{height:32px;padding:0 7px 0 5px;gap:10px;border-radius:9px;color:var(--ink-2);letter-spacing:-.005em}

.hos-sb--helder .hos-sb-item__icon{width:23px;height:23px;border-radius:7px;background:linear-gradient(180deg,#FFFFFF,#F6F6F4);box-shadow:0 0 0 1px rgba(21,24,29,.07),0 1px 2px rgba(21,24,29,.06);color:var(--ink-2);transition:background .15s,color .15s,box-shadow .15s}
.hos-sb--helder .hos-sb-item:hover,.hos-sb--helder .hos-sb-group__head:hover{background:rgba(21,24,29,.04);color:var(--ink)}
.hos-sb--helder .hos-sb-item:hover .hos-sb-item__icon,.hos-sb--helder .hos-sb-group__head:hover .hos-sb-item__icon{color:var(--ink);box-shadow:0 0 0 1px rgba(21,24,29,.1),0 2px 4px rgba(21,24,29,.08)}
.hos-sb--helder .hos-sb-item.is-on{background:none;box-shadow:none;color:var(--ink);font-weight:600}
.hos-sb--helder .hos-sb-item.is-on .hos-sb-item__icon,.hos-sb--helder .hos-sb-group:has(.hos-sb-kid.is-on)>.hos-sb-group__head .hos-sb-item__icon{background:linear-gradient(180deg,#3D8FE3 0%,#2468B8 100%);color:var(--surface);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 0 1px rgba(36,104,184,.35),0 2px 5px -1px rgba(36,104,184,.4)}
.hos-sb--helder .hos-sb-group.is-open>.hos-sb-group__head{font-weight:600}
.hos-sb--helder .hos-sb-item.is-soon{color:var(--ink-3)}.hos-sb--helder .hos-sb-item.is-soon .hos-sb-item__icon{color:var(--ink-3);box-shadow:0 0 0 1px rgba(21,24,29,.05)}
.hos-sb--helder .hos-sb-item.is-soon:hover{background:none}
.hos-sb--helder .hos-sb-group__inner{margin-left:16px;padding-left:11px;border-left-color:rgba(21,24,29,.08)}
.hos-sb--helder .hos-sb-group.is-open .hos-sb-group__inner{padding:4px 0 7px 11px}
.hos-sb--helder .hos-sb-kid{height:29px;border-radius:8px;color:var(--ink-2)}
.hos-sb--helder .hos-sb-kid:hover{background:rgba(21,24,29,.04)}
.hos-sb--helder .hos-sb-kid.is-on{background:#fff;font-weight:600;box-shadow:0 0 0 1px rgba(21,24,29,.06),0 1px 3px rgba(21,24,29,.08)}
.hos-sb--helder .hos-sb-kid.is-on::before{left:-12px;top:7px;bottom:7px;background:var(--accent)}
.hos-sb--helder .hos-sb__rule{background:rgba(21,24,29,.07);margin:7px 5px}
.hos-sb--helder .hos-sb__userwrap{border-top-color:rgba(21,24,29,.07)}
.hos-sb--helder .hos-sb__userwrap .hos-sb__user{padding:6px 5px;border-radius:9px}
.hos-sb--helder .hos-sb__userwrap .hos-sb__user:hover,.hos-sb--helder .hos-sb__userwrap .hos-sb__user.is-open{background:rgba(21,24,29,.04)}
.hos-sb--helder .hos-avatar{background:linear-gradient(180deg,#2C3A4A,#1B2530);border:0;color:var(--surface);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.hos-sb--helder .hos-sb-item__icon .hos-sb-dot{top:-3px;right:-3px;box-shadow:0 0 0 2px #F5F5F3}
.hos-sb--helder{scrollbar-width:thin;scrollbar-color:rgba(21,24,29,.14) transparent}
.hos-top{flex-wrap:wrap;row-gap:7px}
.hos-top__side{flex-shrink:0}.hos-top__side:last-child{margin-left:auto}
.hos-trial{display:inline-flex;align-items:center;gap:5px;height:23px;padding:0 9px;border-radius:var(--radius-full);background:var(--accent-tint);color:var(--accent);font-size:var(--text-small);font-weight:500;white-space:nowrap}
.hos-trial__rest{font-weight:400;opacity:.85}
.hos-aside{width:var(--aside-w);flex-shrink:0;display:flex;padding:7px 7px 7px 0;min-height:0;animation:hos-aside-in .22s var(--ease)}
.hos-aside>*{flex:1;min-width:0}
@keyframes hos-aside-in{from{opacity:0;transform:translateX(11px)}to{opacity:1;transform:none}}
@media (max-width:990px){.hos-aside{position:fixed;right:0;top:0;bottom:0;z-index:90;width:min(var(--aside-w),calc(100vw - 22px));padding:7px}.hos-aside>*{box-shadow:var(--shadow-dialog)}}
@media (prefers-reduced-motion:reduce){.hos-aside{animation:none}}
@media (max-width:1152px){.hos-trial__rest{display:none}}
@media (max-width:990px){.hos-trial{display:none}.hos-menu__sub{display:none}}

.hos-shopbtn{display:inline-flex;align-items:center;gap:8px;height:var(--control);max-width:320px;padding:0 9px 0 4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;letter-spacing:-.005em;cursor:pointer;transition:background var(--dur),border-color var(--dur)}
.hos-shopbtn:hover{background:var(--surface-soft)}
.hos-shopbtn.is-open{background:var(--surface-soft);border-color:var(--border-strong)}
.hos-shopbtn__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hos-shopbtn__tag{flex-shrink:0;padding:1px 7px;border-radius:var(--radius-full);background:var(--surface-soft);font-size:var(--text-micro);font-weight:500;color:var(--ink-2);letter-spacing:0}
.hos-shopbtn:hover .hos-shopbtn__tag,.hos-shopbtn.is-open .hos-shopbtn__tag{background:var(--surface)}
.hos-shopbtn__chev{flex-shrink:0;color:var(--ink-3)}
.hos-shop{left:0;width:288px;padding:0;display:flex;flex-direction:column;overflow:hidden;animation:hos-shop-in .14s var(--ease)}
@keyframes hos-shop-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.hos-shop__search{display:flex;align-items:center;gap:8px;height:40px;padding:0 9px 0 12px;border-bottom:1px solid var(--line);color:var(--ink-3);cursor:text}
.hos-shop__search input{flex:1;min-width:0;height:100%;padding:0;border:0;outline:0;background:none;font:inherit;color:var(--ink)}
.hos-shop__search input::placeholder{color:var(--ink-3)}
.hos-shop__clear{flex-shrink:0;display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:var(--radius-full);background:var(--surface-soft);color:var(--ink-2);cursor:pointer}
.hos-shop__clear:hover{background:var(--border);color:var(--ink)}
.hos-shop__list{position:relative;display:flex;flex-direction:column;max-height:min(360px,60vh);overflow-y:auto;padding:5px;scrollbar-width:thin;scrollbar-color:rgba(21,24,29,.14) transparent}
.hos-shop__group{display:flex;flex-direction:column;gap:1px}
.hos-shop__group+.hos-shop__group{margin-top:5px;padding-top:5px;border-top:1px solid var(--line)}
.hos-shop__label{padding:5px 8px 4px;font-size:var(--text-micro);font-weight:500;color:var(--ink-3)}
.hos-shop__item{flex-shrink:0;display:flex;align-items:center;gap:9px;height:32px;padding:0 9px 0 5px;border:0;border-radius:var(--radius-sm);background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.hos-shop__item.is-act{background:var(--surface-soft)}
.hos-shop__item.is-on{font-weight:600}
.hos-shop__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hos-shop.is-q .hos-shop__name{color:var(--ink-2)}
.hos-shop__name mark{background:none;color:var(--ink);font-weight:600}
.hos-shop__check{flex-shrink:0;color:var(--accent)}
.hos-shop__av{flex-shrink:0;width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);font-size:var(--text-micro);font-weight:600;line-height:1;color:var(--ink-2);letter-spacing:.01em}
.hos-shop__av--pf{background:var(--surface-soft);box-shadow:none}
.hos-shop__av.is-on{background:var(--navy);box-shadow:none;color:var(--surface)}
.hos-shop__empty{padding:20px 12px;text-align:center;color:var(--ink-3)}
.hos-shop__foot{white-space:nowrap;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 12px;border-top:1px solid var(--line);background:var(--surface-sunken);font-size:var(--text-micro);color:var(--ink-3)}
.hos-shop__keys{display:inline-flex;align-items:center;gap:4px}
.hos-shop__keys span{margin-right:4px}.hos-shop__keys span:last-child{margin-right:0}
.hos-shop__keys kbd{min-width:16px;height:16px;padding:0 4px;display:inline-grid;place-items:center;border-radius:4px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border),0 1px 0 var(--border);font:inherit;font-size:var(--text-micro);color:var(--ink-2)}
