:root{
  --hw-font: ui-sans-serif, system-ui, -apple-system, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --hw-font-display: ui-sans-serif, system-ui, -apple-system, "SF Pro Display", "Segoe UI", Roboto, Arial, sans-serif;
  --hw-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;

  --hw-fs-2xs:10.5px;
  --hw-fs-xs:11.5px;
  --hw-fs-sm:12.5px;
  --hw-fs-md:14px;
  --hw-fs-lg:16px;
  --hw-fs-xl:19px;
  --hw-fs-2xl:24px;
  --hw-fs-3xl:32px;
  --hw-fs-4xl:44px;
  --hw-lh:1.5;
  --hw-lh-tight:1.2;

  --hw-fw-regular:400;
  --hw-fw-medium:550;
  --hw-fw-semibold:650;
  --hw-fw-bold:760;
  --hw-fw-black:850;

  --hw-space-1:2px;
  --hw-space-2:4px;
  --hw-space-3:6px;
  --hw-space-4:8px;
  --hw-space-5:12px;
  --hw-space-6:16px;
  --hw-space-7:20px;
  --hw-space-8:24px;
  --hw-space-9:32px;
  --hw-space-10:40px;
  --hw-space-11:56px;
  --hw-space-12:72px;

  --hw-radius-xs:6px;
  --hw-radius-sm:10px;
  --hw-radius-md:14px;
  --hw-radius-lg:18px;
  --hw-radius-xl:24px;
  --hw-radius-pill:999px;

  --hw-ctl-h-xs:26px;
  --hw-ctl-h-sm:32px;
  --hw-ctl-h-md:40px;
  --hw-ctl-h-lg:48px;
  --hw-ctl-h-xl:56px;

  --hw-dur-fast:120ms;
  --hw-dur:200ms;
  --hw-dur-slow:340ms;
  --hw-ease:cubic-bezier(.2,.7,.2,1);
  --hw-ease-spring:cubic-bezier(.3,1.35,.5,1);

  --hw-z-base:1;
  --hw-z-sticky:40;
  --hw-z-header:1000;
  --hw-z-dropdown:1100;
  --hw-z-drawer:1200;
  --hw-z-window:1250;
  --hw-z-modal:1300;
  --hw-z-toast:1400;
  --hw-z-tooltip:1500;
  --hw-z-tour:1600;
  --hw-z-preloader:2000;

  --hw-header-h:64px;
  --hw-container:1200px;
  --hw-container-wide:1440px;
  --hw-container-narrow:880px;
  --hw-page-pad:24px;

  --hw-ctl-h:var(--hw-ctl-h-md);
  --hw-ctl-px:14px;
  --hw-ctl-fs:var(--hw-fs-md);
  --hw-ctl-radius:var(--hw-radius-sm);
  --hw-icon-size:18px;
  --hw-gap:var(--hw-space-5);
  --hw-pad:var(--hw-space-7);
}

:root,
html[data-theme="light"]{
  color-scheme:light;
  --hw-primary:#4ca9dc;
  --hw-brand-primary:#4ca9dc;
  --hw-primary-strong:#2f8fc6;
  --hw-primary-contrast:#ffffff;
  --hw-accent:#14b8a6;
  --hw-success:#16a34a;
  --hw-warning:#d97706;
  --hw-danger:#e11d48;
  --hw-info:#3b82f6;
  --hw-neutral:#64748b;

  --hw-bg:#f3f7fd;
  --hw-bg-art:
    radial-gradient(900px 650px at 10% -5%, rgba(96,165,250,.20), transparent 60%),
    radial-gradient(900px 650px at 92% 8%, rgba(94,234,212,.16), transparent 58%),
    radial-gradient(760px 520px at 55% 108%, rgba(244,114,182,.08), transparent 62%);

  --hw-surface:rgba(252,254,255,.84);
  --hw-surface-2:rgba(240,247,253,.78);
  --hw-surface-3:rgba(226,239,249,.86);
  --hw-elevated:rgba(253,254,255,.96);
  --hw-overlay:rgba(15,32,52,.34);
  --hw-inverse:#10243a;

  --hw-border:rgba(47,110,160,.15);
  --hw-border-strong:rgba(47,110,160,.28);
  --hw-divider:rgba(31,80,120,.10);

  --hw-text:#11233a;
  --hw-text-muted:rgba(38,58,82,.72);
  --hw-text-subtle:rgba(38,58,82,.52);
  --hw-text-inverse:#f4f8fc;
  --hw-link:#2582bd;

  --hw-field-bg:rgba(231,241,249,.86);
  --hw-field-bg-hover:rgba(224,237,248,.95);
  --hw-field-border:rgba(47,110,160,.17);

  --hw-rim:inset 0 1px 0 rgba(255,255,255,.70);
  --hw-shadow-sm:0 2px 8px rgba(24,64,104,.06);
  --hw-shadow-md:0 10px 28px rgba(24,64,104,.09);
  --hw-shadow-lg:0 24px 60px rgba(18,48,82,.16);
  --hw-blur:18px;
  --hw-focus:rgba(76,169,220,.45);

  --hw-series-1:#4ca9dc;
  --hw-series-2:#14b8a6;
  --hw-series-3:#8b5cf6;
  --hw-series-4:#f59e0b;
  --hw-series-5:#f43f5e;
  --hw-series-6:#22c55e;
  --hw-series-7:#6366f1;
  --hw-series-8:#ec4899;
  --hw-series-9:#0ea5e9;
  --hw-series-10:#a3a3a3;
}

html[data-theme="dark"]{
  color-scheme:dark;
  --hw-blur:18px;
  --hw-primary:#69b9e6;
  --hw-brand-primary:#69b9e6;
  --hw-primary-strong:#8bcaee;
  --hw-primary-contrast:#06121f;
  --hw-accent:#5eead4;
  --hw-success:#4ade80;
  --hw-warning:#fbbf24;
  --hw-danger:#fb7185;
  --hw-info:#60a5fa;
  --hw-neutral:#94a3b8;

  --hw-bg:#0b1220;
  --hw-bg-art:
    radial-gradient(900px 650px at 12% 0%, rgba(96,165,250,.20), transparent 60%),
    radial-gradient(900px 650px at 90% 12%, rgba(94,234,212,.14), transparent 55%),
    radial-gradient(700px 520px at 55% 105%, rgba(251,113,133,.09), transparent 62%);

  --hw-surface:rgba(18,30,52,.66);
  --hw-surface-2:rgba(22,38,64,.52);
  --hw-surface-3:rgba(30,50,80,.66);
  --hw-elevated:rgba(17,28,48,.96);
  --hw-overlay:rgba(3,8,16,.58);
  --hw-inverse:#e8f0f8;

  --hw-border:rgba(112,190,232,.15);
  --hw-border-strong:rgba(112,190,232,.30);
  --hw-divider:rgba(148,190,230,.10);

  --hw-text:rgba(232,239,248,.96);
  --hw-text-muted:rgba(166,184,207,.88);
  --hw-text-subtle:rgba(140,160,186,.66);
  --hw-text-inverse:#0b1220;
  --hw-link:#8bcaee;

  --hw-field-bg:rgba(9,18,33,.60);
  --hw-field-bg-hover:rgba(14,26,46,.72);
  --hw-field-border:rgba(112,190,232,.18);

  --hw-rim:inset 0 1px 0 rgba(255,255,255,.06);
  --hw-shadow-sm:0 2px 10px rgba(0,0,0,.20);
  --hw-shadow-md:0 12px 32px rgba(0,0,0,.28);
  --hw-shadow-lg:0 26px 70px rgba(0,0,0,.45);
  --hw-focus:rgba(105,185,230,.50);

  --hw-series-1:#69b9e6;
  --hw-series-2:#5eead4;
  --hw-series-3:#a78bfa;
  --hw-series-4:#fbbf24;
  --hw-series-5:#fb7185;
  --hw-series-6:#4ade80;
  --hw-series-7:#818cf8;
  --hw-series-8:#f472b6;
  --hw-series-9:#38bdf8;
  --hw-series-10:#a3a3a3;
}

html[data-skin="solid"]:not([data-theme="dark"]){
  --hw-bg:#eef2f7;
  --hw-bg-art:none;
  --hw-surface:#ffffff;
  --hw-surface-2:#f5f8fb;
  --hw-surface-3:#e9eff6;
  --hw-elevated:#ffffff;
  --hw-border:#dbe3ec;
  --hw-border-strong:#c3cfdc;
  --hw-divider:#e7edf3;
  --hw-field-bg:#f6f8fb;
  --hw-field-bg-hover:#eef3f8;
  --hw-field-border:#d3dde8;
  --hw-rim:none;
  --hw-shadow-sm:0 1px 2px rgba(16,36,60,.06);
  --hw-shadow-md:0 4px 14px rgba(16,36,60,.07);
  --hw-shadow-lg:0 18px 44px rgba(16,36,60,.14);
  --hw-blur:0px;
}
html[data-skin="solid"][data-theme="dark"]{
  --hw-bg:#0e141d;
  --hw-bg-art:none;
  --hw-surface:#161e2a;
  --hw-surface-2:#1b2432;
  --hw-surface-3:#222d3d;
  --hw-elevated:#1a2330;
  --hw-border:#263244;
  --hw-border-strong:#34435a;
  --hw-divider:#212b3a;
  --hw-field-bg:#111925;
  --hw-field-bg-hover:#151e2b;
  --hw-field-border:#2a3749;
  --hw-rim:none;
  --hw-shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --hw-shadow-md:0 6px 18px rgba(0,0,0,.32);
  --hw-shadow-lg:0 20px 50px rgba(0,0,0,.5);
  --hw-blur:0px;
}

html[data-skin="contrast"]:not([data-theme="dark"]){
  --hw-primary:#0b64a8;
  --hw-brand-primary:#0b64a8;
  --hw-primary-strong:#084d82;
  --hw-success:#0f7a37;
  --hw-warning:#9a5300;
  --hw-danger:#b8002f;
  --hw-info:#1d4ed8;
  --hw-neutral:#3f4b5b;
  --hw-bg:#ffffff;
  --hw-bg-art:none;
  --hw-surface:#ffffff;
  --hw-surface-2:#f3f5f8;
  --hw-surface-3:#e5e9ef;
  --hw-elevated:#ffffff;
  --hw-border:#5b6878;
  --hw-border-strong:#1f2937;
  --hw-divider:#9aa5b3;
  --hw-text:#05080d;
  --hw-text-muted:#27313e;
  --hw-text-subtle:#4b5563;
  --hw-link:#0645ad;
  --hw-field-bg:#ffffff;
  --hw-field-bg-hover:#f3f5f8;
  --hw-field-border:#4b5563;
  --hw-rim:none;
  --hw-shadow-sm:none;
  --hw-shadow-md:0 0 0 1px #1f2937;
  --hw-shadow-lg:0 0 0 2px #1f2937, 0 18px 40px rgba(0,0,0,.18);
  --hw-blur:0px;
  --hw-focus:#0b64a8;
}
html[data-skin="contrast"][data-theme="dark"]{
  --hw-primary:#7cc8ff;
  --hw-brand-primary:#7cc8ff;
  --hw-primary-strong:#b5e0ff;
  --hw-primary-contrast:#000000;
  --hw-success:#5ff59a;
  --hw-warning:#ffd24d;
  --hw-danger:#ff8fa6;
  --hw-info:#9cc0ff;
  --hw-neutral:#c3ccd8;
  --hw-bg:#000000;
  --hw-bg-art:none;
  --hw-surface:#0a0a0a;
  --hw-surface-2:#141414;
  --hw-surface-3:#1f1f1f;
  --hw-elevated:#0d0d0d;
  --hw-border:#9aa5b3;
  --hw-border-strong:#e5e7eb;
  --hw-divider:#5b6878;
  --hw-text:#ffffff;
  --hw-text-muted:#e2e8f0;
  --hw-text-subtle:#b8c2cf;
  --hw-link:#9cd3ff;
  --hw-field-bg:#000000;
  --hw-field-bg-hover:#141414;
  --hw-field-border:#b8c2cf;
  --hw-rim:none;
  --hw-shadow-sm:none;
  --hw-shadow-md:0 0 0 1px #9aa5b3;
  --hw-shadow-lg:0 0 0 2px #e5e7eb;
  --hw-blur:0px;
  --hw-focus:#7cc8ff;
}
html[data-skin="contrast"]{ --hw-focus-width:3px; }

html[data-skin="minimal"]{
  --hw-radius-xs:3px;
  --hw-radius-sm:5px;
  --hw-radius-md:7px;
  --hw-radius-lg:9px;
  --hw-radius-xl:12px;
  --hw-blur:0px;
  --hw-rim:none;
  --hw-bg-art:none;
}
html[data-skin="minimal"]:not([data-theme="dark"]){
  --hw-bg:#fafafa;
  --hw-surface:#ffffff;
  --hw-surface-2:#f6f6f7;
  --hw-surface-3:#ededef;
  --hw-elevated:#ffffff;
  --hw-border:#e4e4e7;
  --hw-border-strong:#cfcfd4;
  --hw-divider:#ececef;
  --hw-text:#18181b;
  --hw-text-muted:#52525b;
  --hw-text-subtle:#8a8a93;
  --hw-field-bg:#ffffff;
  --hw-field-bg-hover:#fafafa;
  --hw-field-border:#d8d8dd;
  --hw-shadow-sm:none;
  --hw-shadow-md:0 1px 2px rgba(0,0,0,.05);
  --hw-shadow-lg:0 12px 32px rgba(0,0,0,.12);
}
html[data-skin="minimal"][data-theme="dark"]{
  --hw-bg:#111113;
  --hw-surface:#18181b;
  --hw-surface-2:#1f1f23;
  --hw-surface-3:#27272a;
  --hw-elevated:#1c1c20;
  --hw-border:#2e2e33;
  --hw-border-strong:#3f3f46;
  --hw-divider:#27272a;
  --hw-text:#f4f4f5;
  --hw-text-muted:#a1a1aa;
  --hw-text-subtle:#71717a;
  --hw-field-bg:#131316;
  --hw-field-bg-hover:#18181b;
  --hw-field-border:#34343a;
  --hw-shadow-sm:none;
  --hw-shadow-md:0 1px 2px rgba(0,0,0,.4);
  --hw-shadow-lg:0 16px 40px rgba(0,0,0,.55);
}

html[data-skin="liquid"]{
  --hw-radius-sm:12px;
  --hw-radius-md:18px;
  --hw-radius-lg:24px;
  --hw-radius-xl:30px;
  --hw-blur:5px;
}
html[data-skin="liquid"]:not([data-theme="dark"]){
  --hw-bg:#e6eefb;
  --hw-bg-art:
    radial-gradient(720px 540px at 6% -4%, rgba(59,130,246,.42), transparent 62%),
    radial-gradient(640px 520px at 98% 4%, rgba(20,184,166,.38), transparent 60%),
    radial-gradient(760px 580px at 72% 104%, rgba(236,72,153,.30), transparent 62%),
    radial-gradient(560px 440px at 18% 92%, rgba(250,204,21,.26), transparent 60%),
    radial-gradient(420px 360px at 50% 44%, rgba(139,92,246,.16), transparent 64%);
  --hw-surface:rgba(255,255,255,calc(.40 - var(--hw-liquid,.6) * .34));
  --hw-surface-2:rgba(255,255,255,calc(.30 - var(--hw-liquid,.6) * .26));
  --hw-surface-3:rgba(255,255,255,.30);
  --hw-elevated:rgba(250,252,255,.46);
  --hw-overlay:rgba(18,34,60,.16);
  --hw-border:rgba(255,255,255,.62);
  --hw-border-strong:rgba(255,255,255,.85);
  --hw-divider:rgba(22,44,76,.10);
  --hw-text-muted:rgba(22,38,60,.80);
  --hw-text-subtle:rgba(22,38,60,.60);
  --hw-field-bg:rgba(255,255,255,.30);
  --hw-field-bg-hover:rgba(255,255,255,.44);
  --hw-field-border:rgba(255,255,255,.70);
  --hw-rim:inset 0 1px 0 rgba(255,255,255,.95), inset 1px 0 0 rgba(255,255,255,.40), inset -1px 0 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(255,255,255,.30), inset 0 16px 26px -22px rgba(255,255,255,.95), inset 0 -20px 30px -26px rgba(255,255,255,.60);
  --hw-shadow-sm:0 2px 10px rgba(20,40,80,.08);
  --hw-shadow-md:0 12px 34px rgba(20,40,80,.12);
  --hw-shadow-lg:0 28px 70px rgba(20,40,80,.22);
}
html[data-skin="liquid"][data-theme="dark"]{
  --hw-bg:#060a14;
  --hw-bg-art:
    radial-gradient(720px 540px at 6% -4%, rgba(59,130,246,.44), transparent 62%),
    radial-gradient(640px 520px at 98% 4%, rgba(20,184,166,.32), transparent 60%),
    radial-gradient(760px 580px at 72% 104%, rgba(236,72,153,.30), transparent 62%),
    radial-gradient(560px 440px at 18% 92%, rgba(250,204,21,.14), transparent 60%),
    radial-gradient(420px 360px at 50% 44%, rgba(139,92,246,.20), transparent 64%);
  --hw-surface:rgba(46,62,96,calc(.44 - var(--hw-liquid,.6) * .38));
  --hw-surface-2:rgba(46,62,96,calc(.32 - var(--hw-liquid,.6) * .28));
  --hw-surface-3:rgba(80,102,146,.28);
  --hw-elevated:rgba(20,28,48,.58);
  --hw-overlay:rgba(2,6,14,.30);
  --hw-border:rgba(255,255,255,.18);
  --hw-border-strong:rgba(255,255,255,.34);
  --hw-divider:rgba(255,255,255,.08);
  --hw-field-bg:rgba(255,255,255,.07);
  --hw-field-bg-hover:rgba(255,255,255,.11);
  --hw-field-border:rgba(255,255,255,.18);
  --hw-rim:inset 0 1px 0 rgba(255,255,255,.30), inset 1px 0 0 rgba(255,255,255,.10), inset 0 -1px 0 rgba(255,255,255,.08), inset 0 16px 28px -24px rgba(255,255,255,.40);
  --hw-shadow-sm:0 2px 10px rgba(0,0,0,.28);
  --hw-shadow-md:0 14px 36px rgba(0,0,0,.36);
  --hw-shadow-lg:0 30px 80px rgba(0,0,0,.55);
}

html[data-density="compact"]{
  --hw-ctl-h-xs:20px;
  --hw-ctl-h-sm:26px;
  --hw-ctl-h-md:30px;
  --hw-ctl-h-lg:38px;
  --hw-ctl-h-xl:46px;
  --hw-ctl-h:var(--hw-ctl-h-md);
  --hw-ctl-px:10px;
  --hw-fs-xs:11px;
  --hw-fs-sm:11.5px;
  --hw-fs-md:12.5px;
  --hw-fs-lg:15px;
  --hw-lh:1.4;
  --hw-space-4:6px;
  --hw-space-5:9px;
  --hw-space-6:12px;
  --hw-space-7:15px;
  --hw-space-8:18px;
  --hw-space-9:24px;
  --hw-pad:var(--hw-space-6);
  --hw-gap:var(--hw-space-4);
  --hw-page-pad:12px;
  --hw-header-h:56px;
  --hw-icon-size:16px;
}

html[data-density="airy"]{
  --hw-ctl-h-xs:28px;
  --hw-ctl-h-sm:35px;
  --hw-ctl-h-md:43px;
  --hw-ctl-h-lg:52px;
  --hw-ctl-h-xl:60px;
  --hw-ctl-h:var(--hw-ctl-h-md);
  --hw-ctl-px:16px;
  --hw-fs-xs:12px;
  --hw-fs-sm:13px;
  --hw-fs-md:14.5px;
  --hw-fs-lg:16.5px;
  --hw-lh:1.56;
  --hw-space-3:7px;
  --hw-space-4:10px;
  --hw-space-5:14px;
  --hw-space-6:19px;
  --hw-space-7:24px;
  --hw-space-8:29px;
  --hw-space-9:38px;
  --hw-space-10:46px;
  --hw-pad:var(--hw-space-8);
  --hw-gap:var(--hw-space-6);
  --hw-page-pad:32px;
  --hw-header-h:68px;
  --hw-icon-size:18px;
}
@media (max-width:760px){ html[data-density="airy"]{ --hw-page-pad:22px; --hw-header-h:64px; } }

.hw-primary{ --hw-tone:var(--hw-primary); --hw-tone-contrast:var(--hw-primary-contrast); }
.hw-accent { --hw-tone:var(--hw-accent);  --hw-tone-contrast:#04201c; }
.hw-success{ --hw-tone:var(--hw-success); --hw-tone-contrast:#ffffff; }
.hw-warning{ --hw-tone:var(--hw-warning); --hw-tone-contrast:#1f1300; }
.hw-danger { --hw-tone:var(--hw-danger);  --hw-tone-contrast:#ffffff; }
.hw-info   { --hw-tone:var(--hw-info);    --hw-tone-contrast:#ffffff; }
.hw-neutral{ --hw-tone:var(--hw-neutral); --hw-tone-contrast:#ffffff; }
html[data-theme="dark"] .hw-success,
html[data-theme="dark"] .hw-danger,
html[data-theme="dark"] .hw-info,
html[data-theme="dark"] .hw-neutral{ --hw-tone-contrast:#07111d; }

.hw-xs{ --hw-ctl-h:var(--hw-ctl-h-xs); --hw-ctl-px:8px;  --hw-ctl-fs:var(--hw-fs-xs); --hw-ctl-radius:var(--hw-radius-xs); --hw-icon-size:13px; --hw-pad:var(--hw-space-4); --hw-gap:var(--hw-space-3); }
.hw-sm{ --hw-ctl-h:var(--hw-ctl-h-sm); --hw-ctl-px:11px; --hw-ctl-fs:var(--hw-fs-sm); --hw-ctl-radius:calc(var(--hw-radius-sm) - 2px); --hw-icon-size:15px; --hw-pad:var(--hw-space-5); --hw-gap:var(--hw-space-4); }
.hw-md{ --hw-ctl-h:var(--hw-ctl-h-md); --hw-ctl-px:14px; --hw-ctl-fs:var(--hw-fs-md); --hw-ctl-radius:var(--hw-radius-sm); --hw-icon-size:18px; --hw-pad:var(--hw-space-7); --hw-gap:var(--hw-space-5); }
.hw-lg{ --hw-ctl-h:var(--hw-ctl-h-lg); --hw-ctl-px:18px; --hw-ctl-fs:var(--hw-fs-lg); --hw-ctl-radius:var(--hw-radius-md); --hw-icon-size:20px; --hw-pad:var(--hw-space-8); --hw-gap:var(--hw-space-6); }
.hw-xl{ --hw-ctl-h:var(--hw-ctl-h-xl); --hw-ctl-px:22px; --hw-ctl-fs:var(--hw-fs-xl); --hw-ctl-radius:var(--hw-radius-md); --hw-icon-size:22px; --hw-pad:var(--hw-space-9); --hw-gap:var(--hw-space-7); }
:where(.hw-card,.hw-kpi,.hw-tile,.hw-alert,.hw-toast,.hw-empty,.hw-modal__dialog,.hw-list__item,.hw-item,.hw-option,.hw-tour__card,.hw-hero,.hw-filter) > *{ --hw-tone:initial; --hw-tone-contrast:initial; }
:is(.hw-card,.hw-modal__dialog,.hw-kpi,.hw-tile,.hw-alert,.hw-hero,.hw-empty,.hw-sidebar,.hw-window,.hw-avatar,.hw-badge,.hw-dot,.hw-ring,.hw-spinner,.hw-progress):is(.hw-xs,.hw-sm,.hw-md,.hw-lg,.hw-xl){
  --hw-ctl-h:var(--hw-ctl-h-md); --hw-ctl-px:14px; --hw-ctl-fs:var(--hw-fs-md); --hw-ctl-radius:var(--hw-radius-sm); --hw-icon-size:18px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
html,body{ min-height:100%; }
body{
  margin:0;
  font-family:var(--hw-font);
  font-size:var(--hw-fs-md);
  line-height:var(--hw-lh);
  color:var(--hw-text);
  background:var(--hw-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.hw-app::before{
  content:"";
  position:fixed;
  inset:-10%;
  z-index:-1;
  pointer-events:none;
  background:var(--hw-bg-art), var(--hw-bg);
}
[hidden]{ display:none !important; }
::selection{ background:color-mix(in srgb,var(--hw-primary) 28%,transparent); }
:focus-visible{ outline:var(--hw-focus-width,2px) solid var(--hw-focus); outline-offset:2px; }
:where(.hw-app) :where(img,video,canvas){ max-width:100%; }
:where(.hw-app) :where(a){ color:var(--hw-link); }
:where(.hw-app) :where(button,input,select,textarea){ font:inherit; color:inherit; }
:where(.hw-app) :where(table){ border-collapse:collapse; }
:where(.hw-app) *{ scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--hw-text) 22%,transparent) transparent; }
.hw-app ::-webkit-scrollbar{ width:10px; height:10px; }
.hw-app ::-webkit-scrollbar-thumb{ background:color-mix(in srgb,var(--hw-text) 20%,transparent); border-radius:10px; border:2px solid transparent; background-clip:padding-box; }
.hw-app ::-webkit-scrollbar-thumb:hover{ background-color:color-mix(in srgb,var(--hw-text) 32%,transparent); }
.hw-app ::-webkit-scrollbar-track{ background:transparent; }
body.hw-scroll-lock{ overflow:hidden; }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }

.hw-page{
  min-height:100vh;
  padding:calc(var(--hw-header-h) + var(--hw-page-pad)) var(--hw-page-pad) var(--hw-space-10);
}
.hw-page--flush{ padding:var(--hw-header-h) 0 0; }
.hw-page--bare{ padding:var(--hw-page-pad); }
.hw-page--center{ min-height:100vh; min-height:100dvh; display:grid; place-items:center; }
.hw-page--full{ height:100vh; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.hw-container{ width:100%; max-width:var(--hw-container); margin-inline:auto; }
.hw-container--wide{ max-width:var(--hw-container-wide); }
.hw-container--narrow{ max-width:var(--hw-container-narrow); }
.hw-container--fluid{ max-width:none; }

.hw-stack{ display:flex; flex-direction:column; gap:var(--hw-gap); min-width:0; }
.hw-row{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--hw-gap); min-width:0; }
.hw-row--nowrap{ flex-wrap:nowrap; }
.hw-row--top{ align-items:flex-start; }
.hw-row--bottom{ align-items:flex-end; }
.hw-row--stretch{ align-items:stretch; }
.hw-row--between{ justify-content:space-between; }
.hw-row--end{ justify-content:flex-end; }
.hw-row--center{ justify-content:center; }
.hw-row > .hw-grow,.hw-stack > .hw-grow,.hw-grow{ flex:1 1 auto; min-width:0; }
.hw-spacer{ flex:1 1 auto; }
.hw-shrink-0{ flex-shrink:0; }

.hw-grid{ display:grid; gap:var(--hw-gap); grid-template-columns:var(--hw-template,repeat(var(--hw-cols,1),minmax(0,1fr))); min-width:0; }
.hw-grid > *,.hw-form-grid > *{ --hw-template:initial; }
.hw-grid--2{ --hw-cols:2; }
.hw-grid--3{ --hw-cols:3; }
.hw-grid--4{ --hw-cols:4; }
.hw-grid--5{ --hw-cols:5; }
.hw-grid--6{ --hw-cols:6; }
.hw-grid--auto{ grid-template-columns:repeat(auto-fill,minmax(var(--hw-min,240px),1fr)); }
.hw-grid--fit{ grid-template-columns:repeat(auto-fit,minmax(var(--hw-min,200px),1fr)); }
.hw-span-2{ grid-column:span 2; }
.hw-span-3{ grid-column:span 3; }
.hw-span-4{ grid-column:span 4; }
.hw-span-full{ grid-column:1 / -1; }
@media (max-width:1100px){ .hw-grid--5,.hw-grid--6{ --hw-cols:3; } .hw-grid--4{ --hw-cols:2; } }
@media (max-width:760px){ .hw-grid--2,.hw-grid--3,.hw-grid--4,.hw-grid--5,.hw-grid--6{ --hw-cols:1; } .hw-span-2,.hw-span-3,.hw-span-4{ grid-column:auto; } }

.hw-split{
  display:grid;
  grid-template-columns:var(--hw-aside,280px) minmax(0,1fr);
  gap:var(--hw-gap);
  align-items:start;
  min-width:0;
}
.hw-split--right{ grid-template-columns:minmax(0,1fr) var(--hw-aside,320px); }
.hw-split--fill{ align-items:stretch; min-height:0; }
.hw-split > *{ min-width:0; }
.hw-split > .hw-split__aside--sticky,.hw-app .hw-sticky{ position:sticky; top:calc(var(--hw-header-h) + var(--hw-space-6)); }
@media (max-width:900px){ .hw-split,.hw-split--right{ grid-template-columns:minmax(0,1fr); } .hw-split > .hw-split__aside--sticky{ position:relative; top:auto; } }

.hw-section{ display:flex; flex-direction:column; gap:var(--hw-space-6); min-width:0; }
.hw-section + .hw-section{ margin-top:var(--hw-space-9); }
.hw-section__head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:var(--hw-space-5); }
.hw-section__title{ margin:0; font-size:var(--hw-fs-xl); font-weight:var(--hw-fw-bold); letter-spacing:-.01em; }
.hw-section__desc{ margin:var(--hw-space-2) 0 0; color:var(--hw-text-muted); }

.hw-hero{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--hw-space-7);
  margin-bottom:var(--hw-space-8);
}
.hw-hero__main{ min-width:0; max-width:760px; }
.hw-hero__eyebrow{ margin:0 0 var(--hw-space-3); font-size:var(--hw-fs-xs); font-weight:var(--hw-fw-bold); letter-spacing:.14em; text-transform:uppercase; color:var(--hw-primary); }
.hw-hero__title{ margin:0; font-family:var(--hw-font-display); font-size:var(--hw-fs-4xl); line-height:1.08; font-weight:var(--hw-fw-black); letter-spacing:-.025em; }
.hw-hero__desc{ margin:var(--hw-space-5) 0 0; font-size:var(--hw-fs-lg); color:var(--hw-text-muted); }
.hw-hero__aside{ display:flex; flex-wrap:wrap; gap:var(--hw-space-4); align-items:center; }
.hw-hero--sm .hw-hero__title{ font-size:var(--hw-fs-3xl); }
.hw-hero--xs .hw-hero__title{ font-size:var(--hw-fs-2xl); }
.hw-hero--card{
  padding:var(--hw-space-8);
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-xl);
  background:
    radial-gradient(600px 240px at 0% 0%, color-mix(in srgb,var(--hw-primary) 14%,transparent), transparent 70%),
    var(--hw-surface);
  box-shadow:var(--hw-shadow-md),var(--hw-rim);
  -webkit-backdrop-filter:blur(var(--hw-blur)) saturate(1.15);
  backdrop-filter:blur(var(--hw-blur)) saturate(1.15);
  align-items:center;
}
@media (max-width:760px){ .hw-hero__title{ font-size:var(--hw-fs-3xl); } .hw-hero--sm .hw-hero__title{ font-size:var(--hw-fs-2xl); } }

.hw-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--hw-space-4);
  min-width:0;
}
.hw-toolbar--card{
  padding:var(--hw-space-4);
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-lg);
  background:var(--hw-surface);
  box-shadow:var(--hw-shadow-sm),var(--hw-rim);
  -webkit-backdrop-filter:blur(var(--hw-blur));
  backdrop-filter:blur(var(--hw-blur));
}
.hw-toolbar--sticky{ position:sticky; top:calc(var(--hw-header-h) + var(--hw-space-4)); z-index:var(--hw-z-sticky); }
.hw-toolbar__group{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--hw-space-3); }
.hw-toolbar__sep{ width:1px; align-self:stretch; background:var(--hw-divider); margin:0 var(--hw-space-2); }

.hw-footer{ padding:var(--hw-space-9) 0 var(--hw-space-6); text-align:center; font-size:var(--hw-fs-sm); color:var(--hw-text-subtle); }

.hw-h1,.hw-h2,.hw-h3,.hw-h4,.hw-h5{ margin:0; font-family:var(--hw-font-display); line-height:var(--hw-lh-tight); letter-spacing:-.015em; color:var(--hw-text); }
.hw-h1{ font-size:var(--hw-fs-3xl); font-weight:var(--hw-fw-black); }
.hw-h2{ font-size:var(--hw-fs-2xl); font-weight:var(--hw-fw-bold); }
.hw-h3{ font-size:var(--hw-fs-xl); font-weight:var(--hw-fw-bold); }
.hw-h4{ font-size:var(--hw-fs-lg); font-weight:var(--hw-fw-semibold); }
.hw-h5{ font-size:var(--hw-fs-md); font-weight:var(--hw-fw-semibold); letter-spacing:0; }
.hw-text{ margin:0; }
.hw-lead{ margin:0; font-size:var(--hw-fs-lg); color:var(--hw-text-muted); }
.hw-muted{ color:var(--hw-text-muted); }
.hw-subtle{ color:var(--hw-text-subtle); }
.hw-small{ font-size:var(--hw-fs-sm); }
.hw-tiny{ font-size:var(--hw-fs-xs); }
.hw-strong{ font-weight:var(--hw-fw-semibold); }
.hw-bold{ font-weight:var(--hw-fw-bold); }
.hw-mono{ font-family:var(--hw-font-mono); font-size:.92em; }
.hw-num{ font-variant-numeric:tabular-nums; }
.hw-eyebrow{ font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-bold); letter-spacing:.14em; text-transform:uppercase; color:var(--hw-text-subtle); }
.hw-eyebrow.hw-primary,.hw-eyebrow--accent{ color:var(--hw-primary); }
.hw-label{ font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-semibold); color:var(--hw-text-muted); }
.hw-link{ color:var(--hw-link); text-decoration:none; font-weight:var(--hw-fw-medium); cursor:pointer; background:none; border:0; padding:0; font:inherit; }
.hw-link:hover{ text-decoration:underline; text-underline-offset:3px; }
.hw-link--muted{ color:var(--hw-text-muted); }
.hw-code{ font-family:var(--hw-font-mono); font-size:.9em; padding:.12em .42em; border-radius:var(--hw-radius-xs); background:var(--hw-surface-3); border:1px solid var(--hw-divider); }
.hw-pre{ margin:0; font-family:var(--hw-font-mono); font-size:var(--hw-fs-sm); line-height:1.6; padding:var(--hw-space-6); border-radius:var(--hw-radius-md); background:var(--hw-field-bg); border:1px solid var(--hw-field-border); overflow:auto; white-space:pre; tab-size:2; }
.hw-kbd{ display:inline-flex; align-items:center; min-width:1.6em; justify-content:center; padding:0 .4em; font-family:var(--hw-font-mono); font-size:.82em; border:1px solid var(--hw-border-strong); border-bottom-width:2px; border-radius:var(--hw-radius-xs); background:var(--hw-surface-2); }
.hw-truncate{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.hw-clamp{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:var(--hw-lines,2); overflow:hidden; }
.hw-nowrap{ white-space:nowrap; }
.hw-break{ overflow-wrap:anywhere; word-break:break-word; }
.hw-pre-wrap{ white-space:pre-wrap; }
.hw-center{ text-align:center; }
.hw-right{ text-align:right; }
.hw-upper{ text-transform:uppercase; letter-spacing:.06em; }
.hw-tone-text{ color:var(--hw-tone,var(--hw-text)); }

.hw-prose{ font-size:var(--hw-fs-md); line-height:1.68; color:var(--hw-text); overflow-wrap:anywhere; }
.hw-prose > :first-child{ margin-top:0; }
.hw-prose > :last-child{ margin-bottom:0; }
.hw-prose h1,.hw-prose h2,.hw-prose h3,.hw-prose h4{ margin:1.4em 0 .5em; line-height:1.25; font-weight:var(--hw-fw-bold); letter-spacing:-.01em; }
.hw-prose h1{ font-size:1.7em; } .hw-prose h2{ font-size:1.4em; } .hw-prose h3{ font-size:1.18em; } .hw-prose h4{ font-size:1.05em; }
.hw-prose p,.hw-prose ul,.hw-prose ol,.hw-prose blockquote,.hw-prose pre,.hw-prose table,.hw-prose figure{ margin:0 0 .9em; }
.hw-prose ul,.hw-prose ol{ padding-left:1.4em; }
.hw-prose li{ margin:.25em 0; }
.hw-prose a{ color:var(--hw-link); text-underline-offset:3px; }
.hw-prose img,.hw-prose video{ max-width:100%; height:auto; border-radius:var(--hw-radius-md); }
.hw-prose blockquote{ padding:.6em 1em; border-left:3px solid var(--hw-primary); background:var(--hw-surface-2); border-radius:0 var(--hw-radius-sm) var(--hw-radius-sm) 0; color:var(--hw-text-muted); }
.hw-prose code{ font-family:var(--hw-font-mono); font-size:.9em; padding:.1em .38em; border-radius:var(--hw-radius-xs); background:var(--hw-surface-3); }
.hw-prose pre{ padding:1em; border-radius:var(--hw-radius-md); background:var(--hw-field-bg); overflow:auto; }
.hw-prose pre code{ background:none; padding:0; }
.hw-prose hr{ border:0; height:1px; background:var(--hw-divider); margin:1.4em 0; }
.hw-prose table{ width:100%; border-collapse:collapse; font-size:.95em; }
.hw-prose th,.hw-prose td{ padding:.5em .7em; border:1px solid var(--hw-divider); text-align:left; vertical-align:top; }
.hw-prose th{ background:var(--hw-surface-2); font-weight:var(--hw-fw-semibold); }
.hw-prose [style*="text-align: center"],.hw-prose .ql-align-center{ text-align:center; }
.hw-prose [style*="text-align: right"],.hw-prose .ql-align-right{ text-align:right; }
.hw-prose--sm{ font-size:var(--hw-fs-sm); }

.hw-sr-only{ position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.hw-hidden{ display:none !important; }
.hw-block{ display:block; }
.hw-inline-flex{ display:inline-flex; align-items:center; gap:var(--hw-space-3); }
.hw-w-full{ width:100%; }
.hw-h-full{ height:100%; }
.hw-min-0{ min-width:0; min-height:0; }
.hw-relative{ position:relative; }
.hw-scroll{ overflow:auto; min-height:0; }
.hw-scroll-x{ overflow-x:auto; overflow-y:hidden; }
.hw-scroll-y{ overflow-y:auto; overflow-x:hidden; min-height:0; }
.hw-max-h{ max-height:var(--hw-max-h,420px); overflow:auto; }
.hw-gap-0{ --hw-gap:0; } .hw-gap-1{ --hw-gap:var(--hw-space-2); } .hw-gap-2{ --hw-gap:var(--hw-space-4); } .hw-gap-3{ --hw-gap:var(--hw-space-5); } .hw-gap-4{ --hw-gap:var(--hw-space-6); } .hw-gap-5{ --hw-gap:var(--hw-space-8); } .hw-gap-6{ --hw-gap:var(--hw-space-9); }
.hw-mt-0{ margin-top:0 !important; } .hw-mt-1{ margin-top:var(--hw-space-3); } .hw-mt-2{ margin-top:var(--hw-space-5); } .hw-mt-3{ margin-top:var(--hw-space-6); } .hw-mt-4{ margin-top:var(--hw-space-8); } .hw-mt-5{ margin-top:var(--hw-space-10); }
.hw-mb-0{ margin-bottom:0 !important; } .hw-mb-1{ margin-bottom:var(--hw-space-3); } .hw-mb-2{ margin-bottom:var(--hw-space-5); } .hw-mb-3{ margin-bottom:var(--hw-space-6); } .hw-mb-4{ margin-bottom:var(--hw-space-8); } .hw-mb-5{ margin-bottom:var(--hw-space-10); }
.hw-m-0{ margin:0 !important; } .hw-ml-0{ margin-left:0 !important; }
.hw-ml-auto{ margin-left:auto; } .hw-mt-auto{ margin-top:auto; } .hw-mr-auto{ margin-right:auto; } .hw-mx-auto{ margin-inline:auto; }
.hw-p-0{ padding:0 !important; } .hw-p-1{ padding:var(--hw-space-4); } .hw-p-2{ padding:var(--hw-space-5); } .hw-p-3{ padding:var(--hw-space-6); } .hw-p-4{ padding:var(--hw-space-8); }
.hw-divider{ border:0; height:1px; margin:var(--hw-space-6) 0; background:var(--hw-divider); }
.hw-divider--v{ width:1px; height:auto; align-self:stretch; margin:0 var(--hw-space-3); }
.hw-divider--label{ display:flex; align-items:center; gap:var(--hw-space-5); height:auto; background:none; font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); text-transform:uppercase; letter-spacing:.1em; }
.hw-divider--label::before,.hw-divider--label::after{ content:""; flex:1; height:1px; background:var(--hw-divider); }
.hw-surface{ background:var(--hw-surface); border:1px solid var(--hw-border); border-radius:var(--hw-radius-lg); }
.hw-surface-2{ background:var(--hw-surface-2); border-radius:var(--hw-radius-md); }
.hw-rounded{ border-radius:var(--hw-radius-md); }
.hw-pointer{ cursor:pointer; }
.hw-select-none{ user-select:none; -webkit-user-select:none; }
.guest-probable{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;max-width:100%}
.guest-probable__lead{color:var(--hw-text-muted)}
.guest-probable__user{max-width:190px;padding:0;border:0;background:transparent;color:var(--hw-primary);font:inherit;font-weight:var(--hw-fw-semibold);line-height:inherit;text-align:left;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.guest-probable__user:hover,.guest-probable__user:focus-visible{color:var(--hw-primary-strong);text-decoration-style:solid}
.guest-probable__more{position:relative;display:inline-flex}
.guest-probable__more>summary{list-style:none;cursor:pointer}
.guest-probable__more>summary::-webkit-details-marker{display:none}
.guest-probable__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--hw-z-popover);display:none;width:min(300px,calc(100vw - 48px));max-height:220px;padding:var(--hw-space-2);overflow:auto;border:1px solid var(--hw-border);border-radius:var(--hw-radius-md);background:var(--hw-elevated);box-shadow:var(--hw-shadow-lg),var(--hw-rim)}
.guest-probable__more[open]>.guest-probable__menu{display:flex;flex-direction:column;gap:2px}
.guest-probable__menu .guest-probable__user{max-width:none;width:100%;padding:7px 9px;border-radius:var(--hw-radius-sm);text-decoration:none}
.guest-probable__menu .guest-probable__user:hover,.guest-probable__menu .guest-probable__user:focus-visible{background:color-mix(in srgb,var(--hw-primary) 10%,transparent)}
.hw-disabled,[aria-disabled="true"].hw-disabled,.hw-stack.is-disabled,.hw-card.is-disabled,.hw-list.is-disabled{ opacity:.5; pointer-events:none; }
.hw-clamp.is-expanded{ display:block; -webkit-line-clamp:unset; overflow:visible; }
.hw-clamp[data-log-action],.hw-clamp[role="button"]{ cursor:pointer; }
@media (max-width:760px){ .hw-hide-mobile{ display:none !important; } }
@media (min-width:761px){ .hw-only-mobile{ display:none !important; } }

.hw-icon{
  display:inline-flex;
  flex:0 0 auto;
  width:var(--hw-icon-size);
  height:var(--hw-icon-size);
  align-items:center;
  justify-content:center;
  vertical-align:-.18em;
  line-height:1;
}
.hw-icon > svg,svg.hw-icon{ width:var(--hw-icon-size); height:var(--hw-icon-size); stroke:currentColor; fill:none; stroke-width:1.85; stroke-linecap:round; stroke-linejoin:round; }
.hw-icon--fill > svg,svg.hw-icon--fill{ fill:currentColor; stroke:none; }
.hw-icon--spin > svg{ animation:hw-spin 1s linear infinite; }
.hw-icon-box{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  width:calc(var(--hw-ctl-h) + 2px);
  height:calc(var(--hw-ctl-h) + 2px);
  border-radius:var(--hw-radius-md);
  color:var(--hw-tone,var(--hw-primary));
  background:color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 13%,var(--hw-surface));
  border:1px solid color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 22%,transparent);
  font-weight:var(--hw-fw-bold);
}
.hw-icon-box--round{ border-radius:50%; }

.hw-btn{
  --hw-btn-tone:var(--hw-tone,var(--hw-primary));
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--hw-space-4);
  min-height:var(--hw-ctl-h);
  padding:0 var(--hw-ctl-px);
  border-radius:var(--hw-ctl-radius);
  border:1px solid color-mix(in srgb,var(--hw-btn-tone) 30%,var(--hw-border));
  background:color-mix(in srgb,var(--hw-btn-tone) 11%,var(--hw-surface));
  color:var(--hw-text);
  font:inherit;
  font-size:var(--hw-ctl-fs);
  font-weight:var(--hw-fw-semibold);
  line-height:1.15;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
  box-shadow:var(--hw-shadow-sm),var(--hw-rim);
  transition:background var(--hw-dur-fast) var(--hw-ease),border-color var(--hw-dur-fast) var(--hw-ease),color var(--hw-dur-fast) var(--hw-ease),box-shadow var(--hw-dur) var(--hw-ease),transform var(--hw-dur-fast) var(--hw-ease),opacity var(--hw-dur-fast);
  -webkit-tap-highlight-color:transparent;
}
.hw-btn:hover{ background:color-mix(in srgb,var(--hw-btn-tone) 18%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-btn-tone) 44%,var(--hw-border)); }
.hw-btn:active{ transform:translateY(1px); }
.hw-btn:disabled,.hw-btn[aria-disabled="true"],.hw-btn.is-disabled{ opacity:.52; cursor:not-allowed; transform:none; pointer-events:none; }
.hw-btn.is-active,.hw-btn[aria-pressed="true"]{ background:color-mix(in srgb,var(--hw-btn-tone) 22%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-btn-tone) 55%,var(--hw-border)); color:var(--hw-text); }
.hw-btn > .hw-icon{ --hw-icon-size:calc(var(--hw-ctl-fs) + 3px); }
.hw-btn__label{ font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-bold); letter-spacing:.08em; text-transform:uppercase; color:var(--hw-text-muted); }
.hw-btn__value{ font-weight:var(--hw-fw-bold); font-variant-numeric:tabular-nums; }
.hw-btn__text{ min-width:0; overflow:hidden; text-overflow:ellipsis; }
.hw-btn__badge{ position:absolute; top:-6px; right:-6px; }

.hw-btn--solid{ background:var(--hw-btn-tone); border-color:transparent; color:var(--hw-tone-contrast,var(--hw-primary-contrast)); box-shadow:0 6px 18px color-mix(in srgb,var(--hw-btn-tone) 30%,transparent),var(--hw-rim); }
.hw-btn--solid:hover{ background:color-mix(in srgb,var(--hw-btn-tone) 86%,#000); border-color:transparent; }
html[data-theme="dark"] .hw-btn--solid:hover{ background:color-mix(in srgb,var(--hw-btn-tone) 84%,#fff); }
.hw-btn--solid.is-active{ color:var(--hw-tone-contrast,var(--hw-primary-contrast)); background:color-mix(in srgb,var(--hw-btn-tone) 80%,#000); }
.hw-btn--soft{ }
.hw-btn--outline{ background:transparent; border-color:color-mix(in srgb,var(--hw-btn-tone) 50%,var(--hw-border)); box-shadow:none; }
.hw-btn--outline:hover{ background:color-mix(in srgb,var(--hw-btn-tone) 9%,transparent); }
.hw-btn--ghost{ background:transparent; border-color:transparent; box-shadow:none; color:var(--hw-text-muted); }
.hw-btn--ghost:hover{ background:color-mix(in srgb,var(--hw-btn-tone) 10%,transparent); border-color:transparent; color:var(--hw-text); }
.hw-btn--ghost.is-active{ background:color-mix(in srgb,var(--hw-btn-tone) 15%,transparent); border-color:transparent; color:var(--hw-text); }
.hw-btn--neutral{ --hw-btn-tone:var(--hw-neutral); background:var(--hw-surface); border-color:var(--hw-border); }
.hw-btn--neutral:hover{ background:var(--hw-surface-3); border-color:var(--hw-border-strong); }
.hw-btn--link{ min-height:0; padding:0; border:0; background:none; box-shadow:none; color:var(--hw-tone,var(--hw-link)); font-weight:var(--hw-fw-semibold); }
.hw-btn--link:hover{ background:none; text-decoration:underline; text-underline-offset:3px; }
.hw-btn--plain{ min-height:0; padding:0; border:0; background:none; box-shadow:none; font-weight:inherit; color:inherit; }
.hw-btn--plain:hover{ background:none; }
.hw-btn.hw-danger:not(.hw-btn--solid):not(.hw-btn--link){ color:color-mix(in srgb,var(--hw-danger) 82%,var(--hw-text)); }
.hw-btn--icon{ width:var(--hw-ctl-h); min-width:var(--hw-ctl-h); padding:0; flex:0 0 auto; }
.hw-btn--round{ border-radius:var(--hw-radius-pill); }
.hw-btn--pill{ border-radius:var(--hw-radius-pill); padding-inline:calc(var(--hw-ctl-px) + 4px); }
.hw-btn--block{ display:flex; width:100%; }
.hw-btn--start{ justify-content:flex-start; text-align:left; }
.hw-btn--stack{ flex-direction:column; align-items:flex-start; justify-content:center; gap:1px; padding-block:var(--hw-space-3); line-height:1.15; }
.hw-btn--stack.hw-btn--row{ flex-direction:row; align-items:center; gap:var(--hw-space-4); }
.hw-btn--stack .hw-btn__copy{ display:flex; flex-direction:column; align-items:flex-start; gap:1px; min-width:0; }
.hw-btn--loading{ color:transparent !important; pointer-events:none; }
.hw-btn--loading::after{
  content:"";
  position:absolute;
  width:1.1em; height:1.1em;
  border-radius:50%;
  border:2px solid color-mix(in srgb,var(--hw-text) 25%,transparent);
  border-top-color:var(--hw-btn-tone);
  animation:hw-spin .75s linear infinite;
}
.hw-btn--solid.hw-btn--loading::after{ border-color:color-mix(in srgb,var(--hw-tone-contrast,#fff) 35%,transparent); border-top-color:var(--hw-tone-contrast,#fff); }

.hw-btn-group{ display:inline-flex; align-items:stretch; isolation:isolate; }
.hw-btn-group > .hw-btn{ border-radius:0; margin-left:-1px; box-shadow:none; }
.hw-btn-group > .hw-btn:first-child{ margin-left:0; border-top-left-radius:var(--hw-ctl-radius); border-bottom-left-radius:var(--hw-ctl-radius); }
.hw-btn-group > .hw-btn:last-child{ border-top-right-radius:var(--hw-ctl-radius); border-bottom-right-radius:var(--hw-ctl-radius); }
.hw-btn-group > .hw-btn:hover,.hw-btn-group > .hw-btn.is-active{ z-index:1; }
.hw-actions{ display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:var(--hw-space-4); }
.hw-actions--start{ justify-content:flex-start; }
.hw-actions--between{ justify-content:space-between; }
.hw-actions--stretch > .hw-btn{ flex:1 1 0; }

.hw-fab{
  position:fixed;
  right:calc(var(--hw-space-8) + env(safe-area-inset-right));
  bottom:calc(var(--hw-space-8) + env(safe-area-inset-bottom));
  z-index:var(--hw-z-sticky);
  box-shadow:var(--hw-shadow-lg),var(--hw-rim);
  -webkit-backdrop-filter:blur(var(--hw-blur));
  backdrop-filter:blur(var(--hw-blur));
}
.hw-fab--left{ right:auto; left:calc(var(--hw-space-8) + env(safe-area-inset-left)); }
.hw-fab--stack2{ bottom:calc(var(--hw-space-8) + var(--hw-ctl-h-lg) + var(--hw-space-5)); }

.hw-badge{
  --hw-b:var(--hw-tone,var(--hw-neutral));
  display:inline-flex;
  align-items:center;
  gap:var(--hw-space-3);
  min-height:22px;
  padding:1px 9px;
  border-radius:var(--hw-radius-pill);
  border:1px solid color-mix(in srgb,var(--hw-b) 26%,transparent);
  background:color-mix(in srgb,var(--hw-b) 12%,var(--hw-surface));
  color:color-mix(in srgb,var(--hw-b) 70%,var(--hw-text));
  font-size:var(--hw-fs-xs);
  font-weight:var(--hw-fw-bold);
  line-height:1.3;
  white-space:nowrap;
  vertical-align:middle;
}
.hw-badge--solid{ background:var(--hw-b); border-color:transparent; color:var(--hw-tone-contrast,#fff); }
.hw-badge--outline{ background:transparent; }
.hw-badge--upper{ text-transform:uppercase; letter-spacing:.08em; font-size:var(--hw-fs-2xs); }
.hw-badge--square{ border-radius:var(--hw-radius-xs); }
.hw-badge > .hw-icon{ --hw-icon-size:12px; }
.hw-badge.hw-sm{ min-height:18px; padding:0 7px; font-size:var(--hw-fs-2xs); }
.hw-badge.hw-lg{ min-height:28px; padding:2px 12px; font-size:var(--hw-fs-sm); }

.hw-count{
  display:inline-grid;
  place-items:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:var(--hw-radius-pill);
  background:var(--hw-count-bg,#e5484d);
  color:var(--hw-count-fg,#fff);
  font-family:var(--hw-font);
  font-size:11px;
  font-weight:var(--hw-fw-bold);
  line-height:1;
  letter-spacing:0;
  text-shadow:none;
  font-variant-numeric:tabular-nums;
  box-shadow:0 0 0 2px var(--hw-bg);
}
.hw-count:is(.hw-primary,.hw-success,.hw-warning,.hw-danger,.hw-info,.hw-neutral,.hw-accent){ --hw-count-bg:var(--hw-tone); --hw-count-fg:var(--hw-tone-contrast,#fff); }
.hw-count:empty,.hw-count[data-count="0"]{ display:none; }

.hw-chip{
  --hw-c:var(--hw-tone,var(--hw-primary));
  display:inline-flex;
  align-items:center;
  gap:var(--hw-space-3);
  min-height:calc(var(--hw-ctl-h) - 8px);
  max-width:100%;
  padding:0 var(--hw-space-5);
  border-radius:var(--hw-radius-pill);
  border:1px solid var(--hw-border);
  background:var(--hw-surface-2);
  color:var(--hw-text);
  font-size:var(--hw-fs-sm);
  font-weight:var(--hw-fw-medium);
  white-space:nowrap;
  cursor:default;
  transition:background var(--hw-dur-fast),border-color var(--hw-dur-fast);
}
button.hw-chip,a.hw-chip,label.hw-chip,.hw-chip--interactive{ cursor:pointer; text-decoration:none; }
button.hw-chip:hover,a.hw-chip:hover,label.hw-chip:hover,.hw-chip--interactive:hover{ border-color:color-mix(in srgb,var(--hw-c) 40%,var(--hw-border)); }
.hw-chip.is-active,.hw-chip[aria-pressed="true"],.hw-chip:has(input:checked){ background:color-mix(in srgb,var(--hw-c) 15%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-c) 50%,var(--hw-border)); color:var(--hw-text); }
.hw-chip input[type="checkbox"],.hw-chip input[type="radio"]{ position:absolute; opacity:0; pointer-events:none; }
.hw-chip--state{ --hw-c:var(--hw-danger); background:color-mix(in srgb,var(--hw-danger) 8%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-danger) 28%,var(--hw-border)); color:color-mix(in srgb,var(--hw-danger) 60%,var(--hw-text)); }
.hw-chip--state:has(input:checked){ --hw-c:var(--hw-success); color:color-mix(in srgb,var(--hw-success) 60%,var(--hw-text)); }
.hw-chip:has(input:disabled){ cursor:default; opacity:.72; }
.hw-chip:has(input:focus-visible){ box-shadow:0 0 0 3px var(--hw-focus); }
.hw-chip > .hw-icon{ --hw-icon-size:14px; }
.hw-chip__remove{ display:inline-grid; place-items:center; width:18px; height:18px; margin-right:-6px; border-radius:50%; border:0; padding:0; background:transparent; color:var(--hw-text-muted); cursor:pointer; font-size:14px; line-height:1; }
.hw-chip__remove:hover{ background:color-mix(in srgb,var(--hw-danger) 15%,transparent); color:var(--hw-danger); }
.hw-chip__count{ font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-bold); color:var(--hw-text-subtle); font-variant-numeric:tabular-nums; }
.hw-chips{ display:flex; flex-wrap:wrap; gap:var(--hw-space-3); align-items:center; min-width:0; }
.hw-chips--scroll{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; }

.hw-dot{
  display:inline-block;
  flex:0 0 auto;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--hw-tone,var(--hw-neutral));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-tone,var(--hw-neutral)) 18%,transparent);
  vertical-align:middle;
}
.hw-dot--pulse{ animation:hw-pulse 1.8s ease-out infinite; }
.hw-dot.hw-sm{ width:6px; height:6px; box-shadow:none; }
.hw-dot.hw-lg{ width:11px; height:11px; }
.hw-status{ display:inline-flex; align-items:center; gap:var(--hw-space-4); font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-semibold); color:var(--hw-text-muted); }
.hw-swatch{ display:inline-block; flex:0 0 auto; width:10px; height:10px; border-radius:3px; background:var(--hw-tone,var(--hw-primary)); vertical-align:middle; }

.hw-avatar{
  --hw-av:36px;
  position:relative;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  width:var(--hw-av);
  height:var(--hw-av);
  border-radius:50%;
  overflow:visible;
  background:var(--hw-avatar-bg,linear-gradient(135deg,color-mix(in srgb,var(--hw-primary) 80%,#fff),color-mix(in srgb,var(--hw-primary) 70%,#1e3a8a)));
  color:var(--hw-avatar-fg,#fff);
  font-size:calc(var(--hw-av) * .38);
  font-weight:var(--hw-fw-bold);
  letter-spacing:.02em;
  line-height:1;
  user-select:none;
  box-shadow:0 0 0 2px var(--hw-surface);
}
.hw-avatar > img,.hw-avatar__img{ position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; border-radius:inherit; display:block; }
.hw-avatar > .hw-avatar__status{ z-index:1; }
.hw-avatar--square{ border-radius:var(--hw-radius-md); }
button.hw-avatar,.hw-avatar[role="button"]{ border:0; padding:0; cursor:pointer; font:inherit; }
button.hw-avatar:hover,.hw-avatar[role="button"]:hover{ box-shadow:0 0 0 2px var(--hw-surface),0 0 0 4px color-mix(in srgb,var(--hw-primary) 45%,transparent); }
.hw-avatar.hw-xs{ --hw-av:20px; } .hw-avatar.hw-sm{ --hw-av:28px; } .hw-avatar.hw-md{ --hw-av:36px; } .hw-avatar.hw-lg{ --hw-av:56px; } .hw-avatar.hw-xl{ --hw-av:96px; }
.hw-avatar__status{ position:absolute; right:-1px; bottom:-1px; width:calc(var(--hw-av) * .3); height:calc(var(--hw-av) * .3); min-width:8px; min-height:8px; border-radius:50%; background:var(--hw-tone,var(--hw-success)); box-shadow:0 0 0 2px var(--hw-surface); }
.hw-avatar__edit{ position:absolute; right:-4px; bottom:-4px; }
.hw-avatar-group{ display:inline-flex; align-items:center; }
.hw-avatar-group > .hw-avatar{ margin-left:calc(var(--hw-av) * -.28); }
.hw-avatar-group > .hw-avatar:first-child{ margin-left:0; }
.hw-person{ display:flex; align-items:center; gap:var(--hw-space-5); min-width:0; }
.hw-person__copy{ display:flex; flex-direction:column; min-width:0; line-height:1.25; }
.hw-person__name{ font-weight:var(--hw-fw-semibold); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-person__meta{ font-size:var(--hw-fs-xs); color:var(--hw-text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.hw-card{
  --hw-card-pad:var(--hw-pad);
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-lg);
  background:var(--hw-surface);
  box-shadow:var(--hw-shadow-md),var(--hw-rim);
  -webkit-backdrop-filter:blur(var(--hw-blur)) saturate(1.15);
  backdrop-filter:blur(var(--hw-blur)) saturate(1.15);
  color:var(--hw-text);
}
.hw-card--pad,.hw-card:not(:has(> .hw-card__head, > .hw-card__body, > .hw-card__foot, > .hw-card__media, > .hw-table-wrap, > .hw-list)){ padding:var(--hw-card-pad); }
.hw-card__head{
  display:flex;
  align-items:center;
  gap:var(--hw-space-5);
  min-width:0;
  padding:var(--hw-card-pad) var(--hw-card-pad) 0;
}
.hw-card__head--divided{ padding-bottom:var(--hw-space-6); border-bottom:1px solid var(--hw-divider); }
.hw-card__head--divided + .hw-card__body{ padding-top:var(--hw-space-6); }
.hw-card__heading{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1 1 auto; }
.hw-card__eyebrow{ font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-bold); letter-spacing:.12em; text-transform:uppercase; color:var(--hw-text-subtle); }
.hw-card__title{ margin:0; font-size:var(--hw-fs-lg); font-weight:var(--hw-fw-bold); line-height:1.3; letter-spacing:-.005em; overflow-wrap:anywhere; }
.hw-card__subtitle{ margin:0; font-size:var(--hw-fs-sm); color:var(--hw-text-muted); }
.hw-card__tools{ display:flex; align-items:center; gap:var(--hw-space-2); margin-left:auto; flex:0 0 auto; }
.hw-card__tools .hw-btn{ --hw-ctl-h:30px; }
.hw-card__body{ display:flex; flex-direction:column; gap:var(--hw-gap); padding:var(--hw-space-6) var(--hw-card-pad) var(--hw-card-pad); min-width:0; min-height:0; flex:1 1 auto; }
.hw-card__head + .hw-card__body{ padding-top:var(--hw-space-6); }
.hw-card > .hw-card__body:first-child{ padding-top:var(--hw-card-pad); }
.hw-card__body--flush{ padding:0 !important; gap:0; }
.hw-card__body.hw-grid{ display:grid; }
.hw-card__body.hw-row{ flex-direction:row; flex-wrap:wrap; align-items:center; }
.hw-card__body--scroll{ overflow:auto; }
.hw-card__foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:var(--hw-space-4);
  padding:var(--hw-space-6) var(--hw-card-pad);
  border-top:1px solid var(--hw-divider);
  margin-top:auto;
}
.hw-card__foot--plain{ border-top:0; padding-top:0; }
.hw-card__foot--between{ justify-content:space-between; }
.hw-card__media{ overflow:hidden; border-radius:var(--hw-radius-lg) var(--hw-radius-lg) 0 0; }
.hw-card__media > img{ width:100%; display:block; object-fit:cover; }
.hw-card > .hw-table-wrap:last-child,.hw-card > .hw-list:last-child{ border-bottom-left-radius:inherit; border-bottom-right-radius:inherit; }

.hw-card--flat{ box-shadow:none; }
.hw-card--outline{ background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.hw-card--ghost{ background:transparent; border-color:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.hw-card--soft{ background:var(--hw-surface-2); box-shadow:none; }
.hw-card--dashed{ border-style:dashed; border-color:var(--hw-border-strong); background:transparent; box-shadow:none; }
.hw-card--elevated{ background:var(--hw-elevated); box-shadow:var(--hw-shadow-lg),var(--hw-rim); }
.hw-card--accent{ border-color:color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 32%,var(--hw-border)); background:linear-gradient(180deg,color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 10%,transparent),transparent 60%),var(--hw-surface); }
.hw-card--stripe{ border-left:3px solid var(--hw-tone,var(--hw-primary)); }
.hw-card.hw-row,.hw-card.hw-person{ flex-direction:row; align-items:center; flex-wrap:wrap; }
.hw-card.hw-person{ flex-wrap:nowrap; }
.hw-card--interactive,a.hw-card,button.hw-card{ cursor:pointer; text-align:left; font:inherit; color:inherit; text-decoration:none; transition:transform var(--hw-dur) var(--hw-ease),box-shadow var(--hw-dur) var(--hw-ease),border-color var(--hw-dur) var(--hw-ease); }
.hw-card--interactive:hover,a.hw-card:hover,button.hw-card:hover{ transform:translateY(-2px); border-color:color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 35%,var(--hw-border)); box-shadow:var(--hw-shadow-lg),var(--hw-rim); }
.hw-card.is-selected,.hw-card--selected{ border-color:color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 60%,var(--hw-border)); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 18%,transparent),var(--hw-shadow-md); }
.hw-card.is-disabled{ opacity:.55; pointer-events:none; }
.hw-card.hw-sm{ --hw-card-pad:var(--hw-space-6); border-radius:var(--hw-radius-md); }
.hw-card.hw-sm .hw-card__title{ font-size:var(--hw-fs-md); }
.hw-card.hw-lg{ --hw-card-pad:var(--hw-space-9); border-radius:var(--hw-radius-xl); }
.hw-card.hw-lg .hw-card__title{ font-size:var(--hw-fs-xl); }
.hw-card.hw-xs{ --hw-card-pad:var(--hw-space-5); border-radius:var(--hw-radius-sm); }

.hw-card.is-collapsed > :not(.hw-card__head):not(.hw-resize-handle){ display:none !important; }
.hw-card.is-collapsed > .hw-card__head{ padding-bottom:var(--hw-card-pad); border-bottom:0; }
.hw-card.is-fullscreen,.hw-is-fullscreen{
  position:fixed !important;
  inset:var(--hw-space-6) !important;
  z-index:var(--hw-z-modal) !important;
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  transform:none !important;
  background:var(--hw-elevated);
  box-shadow:var(--hw-shadow-lg),0 0 0 100vmax var(--hw-overlay);
  overflow:auto;
}
.hw-card.is-fullscreen > .hw-card__body{ overflow:auto; }
.hw-drag-handle,[data-hw-draggable] > .hw-card__head{ cursor:grab; touch-action:none; }
.hw-drag-handle:active,.is-dragging .hw-drag-handle,[data-hw-draggable].is-dragging > .hw-card__head{ cursor:grabbing; }
[data-hw-draggable] > .hw-card__head .hw-btn,[data-hw-draggable] > .hw-card__head a,[data-hw-draggable] > .hw-card__head input{ cursor:pointer; }
.is-dragging{ z-index:var(--hw-z-window) !important; box-shadow:var(--hw-shadow-lg),0 0 0 2px color-mix(in srgb,var(--hw-primary) 35%,transparent) !important; opacity:.96; transition:none !important; user-select:none; }
.is-dragging-source{ opacity:.35; }
.is-drop-target{ outline:2px dashed color-mix(in srgb,var(--hw-primary) 60%,transparent); outline-offset:3px; }
.hw-sort-placeholder{ border:2px dashed color-mix(in srgb,var(--hw-primary) 45%,var(--hw-border)); border-radius:var(--hw-radius-lg); background:color-mix(in srgb,var(--hw-primary) 6%,transparent); }
.hw-resize-handle{
  position:absolute;
  right:2px;
  bottom:2px;
  width:16px;
  height:16px;
  cursor:nwse-resize;
  touch-action:none;
  z-index:2;
  opacity:.55;
  background:
    linear-gradient(135deg,transparent 46%,var(--hw-text-subtle) 46%,var(--hw-text-subtle) 54%,transparent 54%) 0 0/100% 100%,
    linear-gradient(135deg,transparent 70%,var(--hw-text-subtle) 70%,var(--hw-text-subtle) 78%,transparent 78%) 0 0/100% 100%;
}
.hw-resize-handle:hover{ opacity:1; }
.hw-resize-handle--x{ top:0; bottom:0; right:-3px; width:8px; height:auto; cursor:ew-resize; background:none; }
.hw-resize-handle--y{ left:0; right:0; bottom:-3px; height:8px; width:auto; cursor:ns-resize; background:none; }
.is-resizing{ user-select:none; transition:none !important; }

.hw-tile{
  --hw-card-pad:var(--hw-space-7);
  position:relative;
  display:flex;
  flex-direction:column;
  gap:var(--hw-space-4);
  min-height:var(--hw-tile-h,150px);
  padding:var(--hw-card-pad);
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-lg);
  background:linear-gradient(180deg,color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 7%,transparent),transparent 58%),var(--hw-surface);
  box-shadow:var(--hw-shadow-md),var(--hw-rim);
  -webkit-backdrop-filter:blur(var(--hw-blur));
  backdrop-filter:blur(var(--hw-blur));
  color:var(--hw-text);
  font:inherit;
  text-align:left;
  text-decoration:none;
  transition:transform var(--hw-dur) var(--hw-ease),box-shadow var(--hw-dur) var(--hw-ease),border-color var(--hw-dur) var(--hw-ease);
}
a.hw-tile,button.hw-tile,.hw-tile--interactive{ cursor:pointer; }
a.hw-tile:hover,button.hw-tile:hover,.hw-tile--interactive:hover{ transform:translateY(-3px); border-color:color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 38%,var(--hw-border)); box-shadow:var(--hw-shadow-lg),var(--hw-rim); }
.hw-tile__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:var(--hw-space-4); }
.hw-tile__title{ margin:var(--hw-space-3) 0 0; font-size:var(--hw-fs-lg); font-weight:var(--hw-fw-bold); line-height:1.3; }
.hw-tile__desc{ margin:0; font-size:var(--hw-fs-sm); color:var(--hw-text-muted); line-height:1.5; }
.hw-tile{ --hw-tl:var(--hw-tone,var(--hw-link)); }
.hw-tile__foot{ margin-top:auto; display:flex; align-items:center; gap:var(--hw-space-4); font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-bold); color:var(--hw-tl); }
.hw-tile--empty{
  align-items:center;
  justify-content:center;
  border-style:dashed;
  border-color:var(--hw-border-strong);
  background:color-mix(in srgb,var(--hw-surface) 60%,transparent);
  box-shadow:none;
  color:var(--hw-text-subtle);
}
.hw-tile--empty:hover{ color:var(--hw-primary); }
.hw-tile.is-dragover{ border-color:var(--hw-primary); box-shadow:0 0 0 3px var(--hw-focus); }

.hw-kpi{
  --hw-card-pad:var(--hw-space-7);
  position:relative;
  display:flex;
  flex-direction:column;
  gap:var(--hw-space-2);
  min-width:0;
  padding:var(--hw-card-pad);
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-lg);
  background:var(--hw-surface);
  box-shadow:var(--hw-shadow-sm),var(--hw-rim);
  -webkit-backdrop-filter:blur(var(--hw-blur));
  backdrop-filter:blur(var(--hw-blur));
}
.hw-kpi__label{ display:flex; align-items:center; gap:var(--hw-space-3); font-size:var(--hw-fs-xs); font-weight:var(--hw-fw-bold); letter-spacing:.06em; text-transform:uppercase; color:var(--hw-text-muted); }
.hw-kpi__value{ font-family:var(--hw-font-display); font-size:var(--hw-fs-2xl); font-weight:var(--hw-fw-black); line-height:1.15; letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:var(--hw-text); overflow-wrap:anywhere; }
.hw-kpi__unit{ margin-left:.2em; font-size:.55em; font-weight:var(--hw-fw-bold); color:var(--hw-text-muted); letter-spacing:0; }
.hw-kpi__meta{ font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); }
.hw-kpi__delta{ display:inline-flex; align-items:center; gap:2px; font-size:var(--hw-fs-xs); font-weight:var(--hw-fw-bold); color:var(--hw-tone,var(--hw-text-muted)); }
.hw-kpi__delta--up{ --hw-tone:var(--hw-success); }
.hw-kpi__delta--down{ --hw-tone:var(--hw-danger); }
.hw-kpi__icon{ position:absolute; top:var(--hw-card-pad); right:var(--hw-card-pad); }
.hw-kpi--accent{ border-color:color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 30%,var(--hw-border)); background:linear-gradient(160deg,color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 12%,transparent),transparent 65%),var(--hw-surface); }
.hw-kpi{ --hw-k:var(--hw-tone,var(--hw-primary)); }
.hw-kpi--accent .hw-kpi__value{ color:color-mix(in srgb,var(--hw-k) 55%,var(--hw-text)); }
.hw-kpi--flat{ box-shadow:none; background:var(--hw-surface-2); }
.hw-kpi--inline{ flex-direction:row; align-items:baseline; gap:var(--hw-space-4); padding:var(--hw-space-4) var(--hw-space-5); border-radius:var(--hw-radius-md); }
.hw-kpi--inline .hw-kpi__value{ font-size:var(--hw-fs-lg); }
.hw-kpi.hw-sm{ --hw-card-pad:var(--hw-space-5); }
.hw-kpi.hw-xs{ --hw-card-pad:var(--hw-space-3) var(--hw-space-4); gap:0; border-radius:var(--hw-radius-md); }
.hw-kpi.hw-xs .hw-kpi__value{ font-size:var(--hw-fs-md); }
.hw-kpi.hw-sm .hw-kpi__value{ font-size:var(--hw-fs-xl); }
.hw-kpi.hw-lg .hw-kpi__value{ font-size:var(--hw-fs-3xl); }
.hw-kpis{ display:grid; gap:var(--hw-gap); grid-template-columns:repeat(auto-fit,minmax(var(--hw-min,170px),1fr)); }

.hw-kv{ display:grid; grid-template-columns:minmax(120px,max-content) minmax(0,1fr); gap:var(--hw-space-4) var(--hw-space-7); margin:0; font-size:var(--hw-fs-sm); }
.hw-kv > dt,.hw-kv__key{ color:var(--hw-text-muted); font-weight:var(--hw-fw-medium); }
.hw-kv > dd,.hw-kv__value{ margin:0; font-weight:var(--hw-fw-semibold); min-width:0; overflow-wrap:anywhere; }
.hw-kv--rows{ grid-template-columns:1fr; gap:0; }
.hw-kv--rows > .hw-kv__row{ display:flex; justify-content:space-between; gap:var(--hw-space-6); padding:var(--hw-space-4) 0; border-bottom:1px solid var(--hw-divider); }
.hw-kv--rows > .hw-kv__row:last-child{ border-bottom:0; }
@media (max-width:560px){ .hw-kv{ grid-template-columns:1fr; gap:var(--hw-space-1) 0; } .hw-kv > dd{ margin-bottom:var(--hw-space-4); } }

.hw-alert{
  --hw-a:var(--hw-tone,var(--hw-info));
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:var(--hw-space-5);
  padding:var(--hw-space-5) var(--hw-space-6);
  border:1px solid color-mix(in srgb,var(--hw-a) 28%,transparent);
  border-radius:var(--hw-radius-md);
  background:color-mix(in srgb,var(--hw-a) 9%,var(--hw-surface));
  color:var(--hw-text);
  font-size:var(--hw-fs-sm);
  line-height:1.5;
}
.hw-alert > .hw-icon{ --hw-icon-size:18px; color:var(--hw-a); margin-top:1px; }
.hw-alert__body{ flex:1 1 auto; min-width:0; }
.hw-alert__title{ display:block; margin:0 0 2px; font-weight:var(--hw-fw-bold); font-size:var(--hw-fs-md); }
.hw-alert__actions{ display:flex; flex-wrap:wrap; gap:var(--hw-space-4); margin-top:var(--hw-space-4); }
.hw-alert__close{ margin:-4px -6px -4px auto; }
.hw-alert--solid{ background:var(--hw-a); color:var(--hw-tone-contrast,#fff); border-color:transparent; }
.hw-alert--solid > .hw-icon{ color:inherit; }
.hw-alert--stripe{ border-left-width:3px; border-left-color:var(--hw-a); }
.hw-alert--plain{ background:transparent; border-color:transparent; padding:0; }
.hw-alert.hw-sm{ padding:var(--hw-space-4) var(--hw-space-5); font-size:var(--hw-fs-xs); }
.hw-hint{ margin:0; font-size:var(--hw-fs-xs); color:var(--hw-tone,var(--hw-text-muted)); line-height:1.45; }
.hw-hint:empty{ display:none; }
.hw-hint.hw-danger{ color:var(--hw-danger); }
.hw-hint.hw-success{ color:var(--hw-success); }
.hw-hint.hw-warning{ color:var(--hw-warning); }

.hw-form{ display:flex; flex-direction:column; gap:var(--hw-space-6); min-width:0; }
.hw-form-grid{ display:grid; gap:var(--hw-space-6) var(--hw-space-6); grid-template-columns:var(--hw-template,repeat(var(--hw-cols,2),minmax(0,1fr))); min-width:0; }
.hw-form-grid--3{ --hw-cols:3; } .hw-form-grid--4{ --hw-cols:4; } .hw-form-grid--1{ --hw-cols:1; }
.hw-form-grid--dense{ gap:var(--hw-space-5) var(--hw-space-5); }
.hw-form-grid--auto{ grid-template-columns:repeat(auto-fill,minmax(var(--hw-min,200px),1fr)); }
.hw-form-grid > .hw-field--full,.hw-form-grid > .hw-span-full{ grid-column:1 / -1; }
@media (max-width:760px){ .hw-form-grid{ --hw-cols:1; --hw-template:minmax(0,1fr); } .hw-grid[style*="--hw-template"]:not(.hw-grid--keep),.hw-form-grid[style*="--hw-template"]:not(.hw-grid--keep){ grid-template-columns:minmax(0,1fr); } }

.hw-field{ display:flex; flex-direction:column; gap:var(--hw-space-3); min-width:0; margin:0; border:0; padding:0; }
.hw-field__label{ display:flex; align-items:center; gap:var(--hw-space-3); font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-semibold); color:var(--hw-text-muted); line-height:1.3; }
.hw-field__label small,.hw-field__optional{ font-weight:var(--hw-fw-regular); color:var(--hw-text-subtle); }
.hw-field__required::after{ content:"*"; margin-left:2px; color:var(--hw-danger); }
.hw-field__top{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--hw-space-4); }
.hw-field__counter{ font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); font-variant-numeric:tabular-nums; }
.hw-field__hint{ font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); line-height:1.4; }
.hw-field__error{ font-size:var(--hw-fs-xs); color:var(--hw-danger); line-height:1.4; }
.hw-field__error:empty{ display:none; }
.hw-field--inline{ flex-direction:row; align-items:center; gap:var(--hw-space-5); }
.hw-field--inline > .hw-field__label{ flex:0 0 auto; }
.hw-field.is-invalid .hw-input,.hw-field.is-invalid .hw-select,.hw-field.is-invalid .hw-textarea,.hw-input.is-invalid,.hw-select.is-invalid,.hw-textarea.is-invalid{ border-color:color-mix(in srgb,var(--hw-danger) 60%,transparent); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-danger) 14%,transparent); }
.hw-fieldset{ margin:0; padding:var(--hw-space-6); border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); min-width:0; }
.hw-fieldset > legend{ padding:0 var(--hw-space-3); font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-bold); color:var(--hw-text-muted); }

.hw-input,.hw-select,.hw-textarea{
  display:block;
  width:100%;
  min-width:0;
  min-height:var(--hw-ctl-h);
  padding:0 var(--hw-ctl-px);
  border:1px solid var(--hw-field-border);
  border-radius:var(--hw-ctl-radius);
  background:var(--hw-field-bg);
  color:var(--hw-text);
  font:inherit;
  font-size:var(--hw-ctl-fs);
  line-height:1.3;
  outline:none;
  box-shadow:inset 0 1px 2px rgba(15,35,60,.04);
  transition:border-color var(--hw-dur-fast),box-shadow var(--hw-dur-fast),background var(--hw-dur-fast);
  -webkit-appearance:none;
  appearance:none;
}
.hw-input::placeholder,.hw-textarea::placeholder{ color:var(--hw-text-subtle); opacity:1; }
.hw-input:hover,.hw-select:hover,.hw-textarea:hover{ background:var(--hw-field-bg-hover); }
.hw-input:focus,.hw-select:focus,.hw-textarea:focus,.hw-input:focus-visible,.hw-select:focus-visible,.hw-textarea:focus-visible{
  outline:none;
  border-color:color-mix(in srgb,var(--hw-primary) 60%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-primary) 18%,transparent);
  background:var(--hw-field-bg-hover);
}
.hw-input:disabled,.hw-select:disabled,.hw-textarea:disabled,.hw-input[readonly].hw-input--locked{ opacity:.6; cursor:not-allowed; }
.hw-input[readonly]{ background:var(--hw-surface-2); }
.hw-input[type="number"]{ font-variant-numeric:tabular-nums; }
.hw-input[type="date"],.hw-input[type="datetime-local"],.hw-input[type="time"],.hw-input[type="month"]{ padding-right:calc(var(--hw-ctl-px) - 4px); }
.hw-input[type="color"]{ padding:3px; width:calc(var(--hw-ctl-h) + 12px); cursor:pointer; }
.hw-input--code{ font-family:var(--hw-font-mono); letter-spacing:.3em; text-align:center; font-size:calc(var(--hw-ctl-fs) + 4px); }
.hw-input--mono{ font-family:var(--hw-font-mono); }
.hw-input--num{ text-align:right; font-variant-numeric:tabular-nums; }
.hw-input--bare{ border-color:transparent; background:transparent; box-shadow:none; }
.hw-input--bare:hover{ background:var(--hw-field-bg); }
.hw-textarea{ border-radius:min(var(--hw-ctl-radius),var(--hw-radius-md)); min-height:calc(var(--hw-ctl-h) * 2.4); padding:calc(var(--hw-ctl-px) * .65) var(--hw-ctl-px); line-height:1.5; resize:vertical; }
.hw-textarea--auto{ resize:none; overflow:hidden; }
.hw-select{
  padding-right:calc(var(--hw-ctl-px) + 22px);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237b8ca3' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right calc(var(--hw-ctl-px) - 2px) center;
  cursor:pointer;
  text-overflow:ellipsis;
}
.hw-select[multiple]{ padding:var(--hw-space-3); background-image:none; min-height:calc(var(--hw-ctl-h) * 3); }
.hw-select option{ background:var(--hw-elevated); color:var(--hw-text); }

.hw-input-wrap{ position:relative; display:flex; align-items:center; min-width:0; width:100%; }
.hw-input-wrap > .hw-input{ flex:1 1 auto; }
.hw-input-wrap > .hw-icon:first-child{ position:absolute; left:calc(var(--hw-ctl-px) - 2px); color:var(--hw-text-subtle); pointer-events:none; --hw-icon-size:16px; }
.hw-input-wrap > .hw-icon:first-child ~ .hw-input{ padding-left:calc(var(--hw-ctl-px) + 22px); }
.hw-input-wrap__end{ position:absolute; right:4px; top:50%; transform:translateY(-50%); display:flex; align-items:center; gap:2px; }
.hw-input-wrap__end .hw-btn{ --hw-ctl-h:calc(var(--hw-ctl-h-md) - 10px); }
.hw-input-wrap:has(.hw-input-wrap__end) > .hw-input{ padding-right:calc(var(--hw-ctl-h) + 4px); }
.hw-input-wrap--2 > .hw-input{ padding-right:calc(var(--hw-ctl-h) * 2) !important; }
.hw-input-group{ display:flex; align-items:stretch; min-width:0; width:100%; }
.hw-input-group > .hw-input,.hw-input-group > .hw-select{ flex:1 1 auto; border-radius:0; }
.hw-input-group > *:not(:first-child){ margin-left:-1px; }
.hw-input-group > :first-child{ border-top-left-radius:var(--hw-ctl-radius); border-bottom-left-radius:var(--hw-ctl-radius); }
.hw-input-group > :last-child{ border-top-right-radius:var(--hw-ctl-radius); border-bottom-right-radius:var(--hw-ctl-radius); }
.hw-input-group > .hw-btn{ border-radius:0; box-shadow:none; }
.hw-input-group > .hw-btn:first-child{ border-top-left-radius:var(--hw-ctl-radius); border-bottom-left-radius:var(--hw-ctl-radius); }
.hw-input-group > .hw-btn:last-child{ border-top-right-radius:var(--hw-ctl-radius); border-bottom-right-radius:var(--hw-ctl-radius); }
.hw-input-group > :focus,.hw-input-group > :focus-within{ z-index:1; position:relative; }
.hw-addon{ display:inline-flex; align-items:center; padding:0 var(--hw-ctl-px); border:1px solid var(--hw-field-border); background:var(--hw-surface-2); color:var(--hw-text-muted); font-size:var(--hw-ctl-fs); white-space:nowrap; }

.hw-search{ position:relative; display:flex; align-items:center; min-width:0; width:100%; max-width:var(--hw-search-w,none); }
.hw-search::before{
  content:"";
  position:absolute;
  left:calc(var(--hw-ctl-px) - 1px);
  width:15px; height:15px;
  pointer-events:none;
  background:currentColor;
  color:var(--hw-text-subtle);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.hw-search > .hw-input{ padding-left:calc(var(--hw-ctl-px) + 22px); padding-right:calc(var(--hw-ctl-px) + 20px); }
.hw-search > .hw-input::-webkit-search-cancel-button{ display:none; }
.hw-search__clear{ position:absolute; right:6px; display:grid; place-items:center; width:24px; height:24px; border:0; border-radius:50%; background:transparent; color:var(--hw-text-subtle); cursor:pointer; font-size:16px; line-height:1; }
.hw-search__clear:hover{ background:var(--hw-surface-3); color:var(--hw-text); }
.hw-search:not(.has-value) > .hw-search__clear{ display:none; }

.hw-password{ position:relative; display:flex; align-items:center; width:100%; }
.hw-password > .hw-input{ padding-right:calc(var(--hw-ctl-h) + 2px); }
.hw-password__toggle{ position:absolute; right:4px; display:grid; place-items:center; width:calc(var(--hw-ctl-h) - 8px); height:calc(var(--hw-ctl-h) - 8px); border:0; border-radius:var(--hw-radius-xs); background:transparent; color:var(--hw-text-subtle); cursor:pointer; }
.hw-password__toggle:hover{ color:var(--hw-text); background:var(--hw-surface-3); }
.hw-password__toggle svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.9; }

.hw-check,.hw-radio,.hw-switch{
  position:relative;
  display:inline-flex;
  align-items:flex-start;
  gap:var(--hw-space-4);
  min-height:22px;
  font-size:var(--hw-ctl-fs);
  line-height:1.4;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
  color:var(--hw-text);
}
.hw-check > input,.hw-radio > input,.hw-switch > input{ position:absolute; opacity:0; width:1px; height:1px; margin:0; pointer-events:none; }
.hw-check__box,.hw-radio__box{
  position:relative;
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:1px;
  border:1.5px solid var(--hw-border-strong);
  border-radius:5px;
  background:var(--hw-field-bg);
  transition:background var(--hw-dur-fast),border-color var(--hw-dur-fast),box-shadow var(--hw-dur-fast);
}
.hw-radio__box{ border-radius:50%; }
.hw-check__box::after{
  content:"";
  position:absolute;
  left:5px; top:1.5px;
  width:5px; height:9px;
  border:solid var(--hw-primary-contrast);
  border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(0);
  transition:transform var(--hw-dur-fast) var(--hw-ease-spring);
}
.hw-radio__box::after{ content:""; position:absolute; inset:4px; border-radius:50%; background:var(--hw-primary-contrast); transform:scale(0); transition:transform var(--hw-dur-fast) var(--hw-ease-spring); }
.hw-check > input:checked + .hw-check__box,.hw-radio > input:checked + .hw-radio__box,.hw-check > input:indeterminate + .hw-check__box{ background:var(--hw-tone,var(--hw-primary)); border-color:var(--hw-tone,var(--hw-primary)); }
.hw-check > input:checked + .hw-check__box::after,.hw-radio > input:checked + .hw-radio__box::after{ transform:rotate(45deg) scale(1); }
.hw-radio > input:checked + .hw-radio__box::after{ transform:scale(1); }
.hw-check > input:indeterminate + .hw-check__box::after{ left:3.5px; top:7px; width:8px; height:0; border-width:0 0 2px 0; transform:none; }
.hw-check > input:focus-visible + .hw-check__box,.hw-radio > input:focus-visible + .hw-radio__box,.hw-switch > input:focus-visible + .hw-switch__track{ box-shadow:0 0 0 3px var(--hw-focus); }
.hw-check > input:disabled ~ *,.hw-radio > input:disabled ~ *,.hw-switch > input:disabled ~ *{ opacity:.5; cursor:not-allowed; }
.hw-check__text,.hw-radio__text,.hw-switch__text{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.hw-check__hint,.hw-radio__hint,.hw-switch__hint{ font-size:var(--hw-fs-xs); color:var(--hw-text-muted); }
.hw-check--only{ gap:0; }

.hw-switch__track{
  position:relative;
  flex:0 0 auto;
  width:38px;
  height:22px;
  border-radius:var(--hw-radius-pill);
  background:color-mix(in srgb,var(--hw-text) 16%,var(--hw-field-bg));
  border:1px solid var(--hw-field-border);
  transition:background var(--hw-dur) var(--hw-ease),border-color var(--hw-dur);
}
.hw-switch__track::after{
  content:"";
  position:absolute;
  top:2px; left:2px;
  width:16px; height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22);
  transition:transform var(--hw-dur) var(--hw-ease-spring);
}
.hw-switch > input:checked + .hw-switch__track{ background:var(--hw-tone,var(--hw-primary)); border-color:transparent; }
.hw-switch > input:checked + .hw-switch__track::after{ transform:translateX(16px); }
.hw-switch--end{ flex-direction:row-reverse; justify-content:space-between; width:100%; }
.hw-switch.hw-sm .hw-switch__track{ width:30px; height:18px; }
.hw-switch.hw-sm .hw-switch__track::after{ width:12px; height:12px; }
.hw-switch.hw-sm > input:checked + .hw-switch__track::after{ transform:translateX(12px); }

.hw-toggle{ position:relative; flex:0 0 auto; width:42px; height:24px; padding:0; border:1px solid var(--hw-field-border); border-radius:var(--hw-radius-pill); background:color-mix(in srgb,var(--hw-text) 16%,var(--hw-field-bg)); cursor:pointer; transition:background var(--hw-dur) var(--hw-ease),border-color var(--hw-dur); }
.hw-toggle::after{ content:""; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.22); transition:transform var(--hw-dur) var(--hw-ease-spring); }
.hw-toggle[data-on="1"],.hw-toggle[aria-checked="true"],.hw-toggle.is-on{ background:var(--hw-tone,var(--hw-primary)); border-color:transparent; }
.hw-toggle[data-on="1"]::after,.hw-toggle[aria-checked="true"]::after,.hw-toggle.is-on::after{ transform:translateX(18px); }
.hw-toggle:disabled{ opacity:.5; cursor:not-allowed; }

.hw-option{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:var(--hw-space-5);
  padding:var(--hw-space-5) var(--hw-space-6);
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-md);
  background:var(--hw-surface);
  cursor:pointer;
  transition:border-color var(--hw-dur-fast),background var(--hw-dur-fast),box-shadow var(--hw-dur-fast);
}
.hw-option:hover{ border-color:var(--hw-border-strong); }
.hw-option:has(input:checked),.hw-option.is-active{ border-color:color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 55%,var(--hw-border)); background:color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 7%,var(--hw-surface)); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 12%,transparent); }
.hw-option > input{ margin-top:3px; accent-color:var(--hw-primary); }
.hw-option__body{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1 1 auto; }
.hw-option__title{ font-weight:var(--hw-fw-semibold); }
.hw-option__desc{ font-size:var(--hw-fs-xs); color:var(--hw-text-muted); }
.hw-options{ display:grid; gap:var(--hw-space-4); grid-template-columns:repeat(auto-fill,minmax(var(--hw-min,220px),1fr)); }

/* MTS Link conversions that have no matching platform-side job. */
.mts-conversion-queue__item--external{
  border:2px solid color-mix(in srgb,var(--hw-warning,#f59e0b) 72%,var(--hw-border));
  background:color-mix(in srgb,var(--hw-warning,#f59e0b) 10%,var(--hw-surface));
}
.mts-conversion-queue__item--external:hover{
  border-color:var(--hw-warning,#f59e0b);
  background:color-mix(in srgb,var(--hw-warning,#f59e0b) 15%,var(--hw-surface));
}
.mts-conversion-queue__item--external:has(input:checked),
.mts-conversion-queue__item--external.is-active{
  --hw-tone:var(--hw-warning,#f59e0b);
}
.mts-conversion-queue__external-badge{
  display:inline-flex;
  align-self:flex-start;
  width:fit-content;
  padding:2px 7px;
  border:1px solid color-mix(in srgb,var(--hw-warning,#f59e0b) 65%,var(--hw-border));
  border-radius:var(--hw-radius-pill);
  background:color-mix(in srgb,var(--hw-warning,#f59e0b) 19%,var(--hw-surface));
  color:color-mix(in srgb,var(--hw-warning,#f59e0b) 78%,var(--hw-text));
  font-size:var(--hw-fs-xs);
  font-weight:var(--hw-fw-semibold);
  line-height:1.25;
}

.hw-range{ --hw-r:var(--hw-tone,var(--hw-primary)); width:100%; height:22px; margin:0; background:transparent; cursor:pointer; -webkit-appearance:none; appearance:none; }
.hw-range:focus-visible{ outline:none; }
.hw-range::-webkit-slider-runnable-track{ height:6px; border-radius:var(--hw-radius-pill); background:color-mix(in srgb,var(--hw-text) 12%,transparent); }
.hw-range::-moz-range-track{ height:6px; border-radius:var(--hw-radius-pill); background:color-mix(in srgb,var(--hw-text) 12%,transparent); }
.hw-range::-moz-range-progress{ height:6px; border-radius:var(--hw-radius-pill); background:var(--hw-r); }
.hw-range::-webkit-slider-thumb{ -webkit-appearance:none; width:18px; height:18px; margin-top:-6px; border-radius:50%; background:var(--hw-r); border:3px solid var(--hw-elevated); box-shadow:0 1px 4px rgba(0,0,0,.25); }
.hw-range::-moz-range-thumb{ width:14px; height:14px; border-radius:50%; background:var(--hw-r); border:3px solid var(--hw-elevated); box-shadow:0 1px 4px rgba(0,0,0,.25); }
.hw-range:focus-visible::-webkit-slider-thumb{ box-shadow:0 0 0 4px var(--hw-focus); }
.hw-range:disabled{ opacity:.5; cursor:not-allowed; }

.hw-checklist{ display:flex; flex-direction:column; gap:1px; max-height:var(--hw-max-h,260px); overflow:auto; padding:var(--hw-space-2); border:1px solid var(--hw-field-border); border-radius:min(var(--hw-ctl-radius),var(--hw-radius-lg)); background:var(--hw-field-bg); }
.hw-checklist > .hw-check{ padding:var(--hw-space-3) var(--hw-space-4); border-radius:var(--hw-radius-xs); width:100%; }
.hw-checklist > .hw-check:hover{ background:var(--hw-surface-3); }
.hw-checklist__empty{ padding:var(--hw-space-5); text-align:center; font-size:var(--hw-fs-sm); color:var(--hw-text-subtle); }

.hw-dropzone{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:var(--hw-space-4);
  min-height:var(--hw-dropzone-h,150px);
  padding:var(--hw-space-8);
  border:2px dashed var(--hw-border-strong);
  border-radius:var(--hw-radius-lg);
  background:color-mix(in srgb,var(--hw-primary) 4%,var(--hw-surface));
  color:var(--hw-text-muted);
  text-align:center;
  cursor:pointer;
  transition:border-color var(--hw-dur),background var(--hw-dur),transform var(--hw-dur);
}
.hw-dropzone:hover{ border-color:color-mix(in srgb,var(--hw-primary) 55%,var(--hw-border)); }
.hw-dropzone.is-ready{ border-style:solid; border-color:color-mix(in srgb,var(--hw-success) 55%,var(--hw-border)); background:color-mix(in srgb,var(--hw-success) 6%,var(--hw-surface)); }
.hw-dropzone.is-ready .hw-dropzone__icon{ color:var(--hw-success); }
.hw-dropzone.is-dragover{ border-color:var(--hw-primary); background:color-mix(in srgb,var(--hw-primary) 12%,var(--hw-surface)); transform:scale(1.005); }
.hw-dropzone > input[type="file"]{ position:absolute; inset:0; opacity:0; cursor:pointer; }
.hw-dropzone__icon{ --hw-icon-size:30px; color:var(--hw-primary); }
.hw-dropzone__title{ font-weight:var(--hw-fw-bold); color:var(--hw-text); }
.hw-dropzone__hint{ font-size:var(--hw-fs-xs); }
.hw-dropzone--compact{ min-height:0; flex-direction:row; padding:var(--hw-space-5) var(--hw-space-6); }
.hw-drop-overlay{
  position:fixed;
  inset:var(--hw-space-5);
  z-index:var(--hw-z-modal);
  display:none;
  place-items:center;
  border:3px dashed var(--hw-primary);
  border-radius:var(--hw-radius-xl);
  background:color-mix(in srgb,var(--hw-primary) 14%,var(--hw-overlay));
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  color:#fff;
  font-size:var(--hw-fs-xl);
  font-weight:var(--hw-fw-bold);
  pointer-events:none;
}
.hw-drop-overlay.is-visible{ display:grid; }
.hw-files{ display:flex; flex-direction:column; gap:var(--hw-space-3); margin:0; padding:0; list-style:none; }
.hw-file{ display:flex; align-items:center; gap:var(--hw-space-5); padding:var(--hw-space-4) var(--hw-space-5); border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface); min-width:0; }
.hw-file__name{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:var(--hw-fw-medium); }
.hw-file__meta{ font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); white-space:nowrap; }
.hw-file .hw-progress{ flex:0 0 120px; }

.hw-tabs{
  display:flex;
  align-items:center;
  gap:var(--hw-space-2);
  min-width:0;
  padding:var(--hw-space-2);
  border:1px solid var(--hw-border);
  border-radius:calc(var(--hw-ctl-radius) + 4px);
  background:var(--hw-surface-2);
  overflow-x:auto;
  scrollbar-width:none;
}
.hw-tabs::-webkit-scrollbar{ display:none; }
.hw-tabs--wrap{ flex-wrap:wrap; overflow-x:visible; }
.hw-tabs--grow > .hw-tab{ flex:1 0 auto; }
.hw-collapse-empty:not(:has(*)){ display:none; }
.hw-tabs--adaptive{ container-type:inline-size; }
@container (max-width:1300px){ .hw-tabs--adaptive > .hw-tab{ padding:0 var(--hw-space-5); gap:var(--hw-space-3); } }
@container (max-width:1120px){ .hw-tabs--adaptive > .hw-tab > :is(.hw-icon,svg){ display:none; } }
.hw-tabs.is-overflow-end{ -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent); mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent); }
.hw-tabs.is-overflow-start{ -webkit-mask-image:linear-gradient(90deg,transparent,#000 40px); mask-image:linear-gradient(90deg,transparent,#000 40px); }
.hw-tabs.is-overflow-start.is-overflow-end{ -webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent); mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent); }
.hw-tabs__sep{ flex:0 0 1px; align-self:stretch; margin:var(--hw-space-2) var(--hw-space-1); background:var(--hw-divider); }
.hw-tab{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--hw-space-4);
  min-height:calc(var(--hw-ctl-h) - 6px);
  padding:0 var(--hw-ctl-px);
  border:1px solid transparent;
  border-radius:var(--hw-ctl-radius);
  background:transparent;
  color:var(--hw-text-muted);
  font:inherit;
  font-size:var(--hw-ctl-fs);
  font-weight:var(--hw-fw-semibold);
  white-space:nowrap;
  text-decoration:none;
  cursor:pointer;
  transition:background var(--hw-dur-fast),color var(--hw-dur-fast),border-color var(--hw-dur-fast),box-shadow var(--hw-dur-fast);
}
.hw-tab:hover{ color:var(--hw-text); background:color-mix(in srgb,var(--hw-text) 5%,transparent); }
.hw-tab.is-active,.hw-tab[aria-selected="true"]{ color:var(--hw-text); background:var(--hw-surface); border-color:var(--hw-border); box-shadow:var(--hw-shadow-sm),var(--hw-rim); }
.hw-tab:disabled,.hw-tab.is-disabled{ opacity:.45; cursor:not-allowed; }
.hw-tab__icon{ display:inline-grid; place-items:center; min-width:22px; height:22px; padding:0 4px; border-radius:7px; font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-black); background:color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 16%,transparent); color:var(--hw-tone,var(--hw-primary)); }
.hw-tab .hw-count{ box-shadow:none; }
.hw-tabs--fill > .hw-tab{ flex:1 1 0; }
.hw-tabs--underline{ gap:var(--hw-space-6); padding:0; border:0; border-bottom:1px solid var(--hw-divider); border-radius:0; background:none; }
.hw-tabs--underline > .hw-tab{ padding:0 2px; min-height:var(--hw-ctl-h); border:0; border-radius:0; background:none; box-shadow:none; }
.hw-tabs--underline > .hw-tab::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; border-radius:2px; background:var(--hw-primary); transform:scaleX(0); transition:transform var(--hw-dur) var(--hw-ease); }
.hw-tabs--underline > .hw-tab.is-active,.hw-tabs--underline > .hw-tab[aria-selected="true"]{ background:none; box-shadow:none; }
.hw-tabs--underline > .hw-tab.is-active::after,.hw-tabs--underline > .hw-tab[aria-selected="true"]::after{ transform:scaleX(1); }
.hw-tabs--pills{ padding:0; border:0; background:none; gap:var(--hw-space-3); }
.hw-tabs--pills > .hw-tab{ border-radius:var(--hw-radius-pill); border-color:var(--hw-border); background:var(--hw-surface); }
.hw-tabs--pills > .hw-tab.is-active,.hw-tabs--pills > .hw-tab[aria-selected="true"]{ background:color-mix(in srgb,var(--hw-primary) 15%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-primary) 45%,var(--hw-border)); }
.hw-tabs--vertical{ flex-direction:column; align-items:stretch; overflow:visible; padding:var(--hw-space-3); gap:var(--hw-space-2); border-radius:min(calc(var(--hw-ctl-radius) + 4px),var(--hw-radius-lg)); }
.hw-tabs--vertical > .hw-tab{ justify-content:flex-start; text-align:left; min-height:var(--hw-ctl-h); white-space:normal; padding-block:var(--hw-space-3); border-radius:min(var(--hw-ctl-radius),var(--hw-radius-md)); }
.hw-tabs--wrap{ border-radius:min(calc(var(--hw-ctl-radius) + 4px),var(--hw-radius-lg)); }
.hw-tabs--vertical > .hw-tab.is-active,.hw-tabs--vertical > .hw-tab[aria-selected="true"]{ background:color-mix(in srgb,var(--hw-primary) 12%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-primary) 34%,var(--hw-border)); }
.hw-tab__copy{ display:flex; flex-direction:column; gap:1px; min-width:0; flex:1 1 auto; }
.hw-tab__title{ font-weight:var(--hw-fw-semibold); color:var(--hw-text); }
.hw-tab__desc{ font-size:var(--hw-fs-xs); font-weight:var(--hw-fw-regular); color:var(--hw-text-muted); }
.hw-tab-panel{ min-width:0; }
.hw-tab-panel:not(.is-active)[data-hw-tab-panel]{ display:none; }
.hw-tab-panel.is-entering{ animation:hw-fade-up var(--hw-dur) var(--hw-ease); }

.hw-segmented{ display:inline-flex; padding:3px; gap:2px; border-radius:calc(var(--hw-ctl-radius) + 3px); border:1px solid var(--hw-border); background:var(--hw-surface-2); }
.hw-segmented > button,.hw-segmented > label,.hw-segmented > .hw-segmented__item{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--hw-space-3);
  min-height:calc(var(--hw-ctl-h) - 8px); padding:0 calc(var(--hw-ctl-px) - 2px);
  border:0; border-radius:var(--hw-ctl-radius); background:transparent; color:var(--hw-text-muted);
  font:inherit; font-size:var(--hw-ctl-fs); font-weight:var(--hw-fw-semibold); cursor:pointer; white-space:nowrap;
  transition:background var(--hw-dur-fast),color var(--hw-dur-fast);
}
.hw-segmented > label > input{ position:absolute; opacity:0; pointer-events:none; }
.hw-segmented > :hover{ color:var(--hw-text); }
.hw-segmented > .is-active,.hw-segmented > [aria-pressed="true"],.hw-segmented > [aria-selected="true"],.hw-segmented > label:has(input:checked){ background:var(--hw-surface); color:var(--hw-text); box-shadow:var(--hw-shadow-sm); }
.hw-segmented--block{ display:flex; } .hw-segmented--block > *{ flex:1 1 0; }
.hw-segmented > a{ text-decoration:none; }

.hw-table-wrap{
  position:relative;
  width:100%;
  min-width:0;
  overflow:auto;
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-md);
  background:var(--hw-surface);
  max-height:var(--hw-table-max-h,none);
}
.hw-card > .hw-table-wrap,.hw-card__body--flush > .hw-table-wrap,.hw-table-wrap--flush{ border:0; border-radius:0; background:transparent; }
.hw-card > .hw-table-wrap{ border-top:1px solid var(--hw-divider); }
.hw-card > .hw-card__head + .hw-table-wrap{ margin-top:var(--hw-space-6); }
.hw-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:var(--hw-fs-sm);
  font-variant-numeric:tabular-nums;
  color:var(--hw-text);
}
.hw-table th,.hw-table td{
  padding:var(--hw-table-py,10px) var(--hw-table-px,14px);
  border-bottom:1px solid var(--hw-divider);
  text-align:left;
  vertical-align:middle;
}
.hw-table thead th{
  position:relative;
  font-size:var(--hw-fs-xs);
  font-weight:var(--hw-fw-bold);
  letter-spacing:.03em;
  color:var(--hw-text-muted);
  background:var(--hw-surface-2);
  white-space:nowrap;
}
.hw-table tbody tr:last-child > td,.hw-table tbody tr:last-child > th{ border-bottom:0; }
.hw-table tfoot td,.hw-table tfoot th{ font-weight:var(--hw-fw-bold); background:var(--hw-surface-2); border-top:1px solid var(--hw-border); border-bottom:0; }
.hw-table tbody th{ font-weight:var(--hw-fw-semibold); }
.hw-table caption{ caption-side:top; padding:var(--hw-space-4) var(--hw-space-6); text-align:left; font-weight:var(--hw-fw-bold); }
.hw-table--hover tbody tr:hover > td,.hw-table--hover tbody tr:hover > th{ background:color-mix(in srgb,var(--hw-primary) 6%,transparent); }
.hw-table--striped tbody tr:nth-child(even) > td{ background:color-mix(in srgb,var(--hw-text) 2.5%,transparent); }
.hw-table--bordered th,.hw-table--bordered td{ border-right:1px solid var(--hw-divider); }
.hw-table--bordered th:last-child,.hw-table--bordered td:last-child{ border-right:0; }
.hw-table--compact{ --hw-table-py:6px; --hw-table-px:10px; }
.hw-table--roomy{ --hw-table-py:14px; --hw-table-px:18px; }
.hw-table--fixed{ table-layout:fixed; }
.hw-table--nowrap td,.hw-table--nowrap th{ white-space:nowrap; }
.hw-table--sticky thead th{ position:sticky; top:0; z-index:2; background:var(--hw-elevated); box-shadow:inset 0 -1px 0 var(--hw-border); }
.hw-table--sticky-first td:first-child,.hw-table--sticky-first th:first-child{ position:sticky; left:0; z-index:1; background:var(--hw-elevated); box-shadow:inset -1px 0 0 var(--hw-divider); }
.hw-table--sticky-first thead th:first-child{ z-index:3; }
.hw-table td.has-bg,.hw-table th.has-bg{ background:var(--hw-cell-bg); }
.hw-table tr.is-selected > td{ background:color-mix(in srgb,var(--hw-primary) 11%,transparent); }
.hw-table tr.is-row-hovered > td,.hw-table tr.is-hovered > td{ background:color-mix(in srgb,var(--hw-primary) 6%,transparent); }
.hw-table--row-h > tbody > tr{ height:var(--hw-row-h,64px); }
.hw-table--row-h td{ overflow:hidden; text-overflow:ellipsis; }
.hw-table--row-h > thead > tr{ height:var(--hw-head-h,52px); }
.hw-table-pinned{ flex:0 0 auto; width:max-content; overflow:hidden; box-shadow:6px 0 14px -10px rgba(10,20,40,.35); position:relative; z-index:1; background:var(--hw-surface); }
.hw-table-pinned > .hw-table{ width:auto; }
.hw-table-pinned + .hw-table-wrap > .hw-table{ width:max-content; min-width:100%; }
th.is-drop-target,td.is-drop-target{ box-shadow:inset 2px 0 0 var(--hw-primary); }
th[draggable="true"]{ cursor:grab; }
.hw-table tr.is-disabled > td{ opacity:.5; }
.hw-table tr.is-clickable,.hw-table tr[data-href]{ cursor:pointer; }
.hw-table tr.is-group > td,.hw-table tr.is-group > th{ background:var(--hw-surface-3); font-weight:var(--hw-fw-bold); }
.hw-table tr.is-total > td,.hw-table tr.is-total > th{ background:color-mix(in srgb,var(--hw-primary) 8%,var(--hw-surface-2)); font-weight:var(--hw-fw-bold); }
.hw-table td.is-num,.hw-table th.is-num,.hw-table .hw-num{ text-align:right; }
.hw-table td.is-center,.hw-table th.is-center{ text-align:center; }
.hw-table td.is-muted{ color:var(--hw-text-muted); }
.hw-table td.is-wrap{ white-space:normal; overflow-wrap:anywhere; }
.hw-table td.is-truncate{ max-width:var(--hw-cell-max,280px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-table .is-check{ width:40px; text-align:center; }
.hw-table .is-actions{ width:1%; white-space:nowrap; text-align:right; }
.hw-table .is-actions .hw-btn{ --hw-ctl-h:30px; }
.hw-table th[data-sort],.hw-table th.is-sortable{ cursor:pointer; user-select:none; padding-right:calc(var(--hw-table-px,14px) + 14px); }
.hw-table th[data-sort]:hover,.hw-table th.is-sortable:hover{ color:var(--hw-text); }
.hw-table th[data-sort]::after,.hw-table th.is-sortable::after{ content:""; position:absolute; right:var(--hw-table-px,14px); top:50%; margin-top:-2px; border:4px solid transparent; border-top-color:currentColor; opacity:.28; }
.hw-table th.is-sorted-asc::after{ border-top-color:transparent; border-bottom-color:var(--hw-primary); margin-top:-7px; opacity:1; }
.hw-table th.is-sorted-desc::after{ border-top-color:var(--hw-primary); opacity:1; }
.hw-table th .hw-th-resize{ position:absolute; right:0; top:0; bottom:0; width:6px; cursor:col-resize; }
.hw-table th .hw-th-resize:hover{ background:color-mix(in srgb,var(--hw-primary) 30%,transparent); }
.hw-table-empty{ padding:var(--hw-space-9) var(--hw-space-6) !important; text-align:center !important; color:var(--hw-text-subtle); }
.hw-table input.hw-input{ --hw-ctl-h:32px; min-width:70px; }
.hw-table--pivot{ --hw-table-py:7px; --hw-table-px:10px; }
.hw-table--pivot thead th{ text-align:center; border-right:1px solid var(--hw-divider); }
.hw-table--pivot td{ text-align:right; border-right:1px solid var(--hw-divider); }
.hw-table--pivot tbody th,.hw-table--pivot .is-rowhead{ text-align:left; position:sticky; left:0; z-index:1; background:var(--hw-elevated); font-weight:var(--hw-fw-semibold); }
.hw-table--pivot .is-rowhead{ white-space:nowrap; }
.hw-table--pivot.hw-table--js-lock .is-rowhead{ position:relative; }
.hw-table--pivot .is-subhead{ font-weight:var(--hw-fw-medium); color:var(--hw-text-muted); padding-left:calc(var(--hw-table-px) + 14px); }
.hw-table--pivot .is-total{ background:color-mix(in srgb,var(--hw-primary) 8%,var(--hw-surface-2)); font-weight:var(--hw-fw-bold); }
.hw-table--pivot .is-sep{ border-left:2px solid var(--hw-border-strong); }
.hw-table--pivot td.is-zero{ color:var(--hw-text-subtle); }
.hw-table--pivot td.is-heat{ background:color-mix(in srgb,var(--hw-primary) calc(var(--hw-heat,0) * 38%),transparent); }
.hw-table-tools{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--hw-space-4); padding:var(--hw-space-5) var(--hw-space-6); border-bottom:1px solid var(--hw-divider); }
.hw-table-foot{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--hw-space-4); padding:var(--hw-space-5) var(--hw-space-6); border-top:1px solid var(--hw-divider); font-size:var(--hw-fs-sm); color:var(--hw-text-muted); }

.hw-bulkbar{
  position:sticky;
  bottom:var(--hw-space-6);
  z-index:var(--hw-z-sticky);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--hw-space-5);
  padding:var(--hw-space-4) var(--hw-space-5);
  border:1px solid color-mix(in srgb,var(--hw-primary) 35%,var(--hw-border));
  border-radius:var(--hw-radius-lg);
  background:var(--hw-elevated);
  box-shadow:var(--hw-shadow-lg);
  -webkit-backdrop-filter:blur(var(--hw-blur));
  backdrop-filter:blur(var(--hw-blur));
  animation:hw-fade-up var(--hw-dur) var(--hw-ease);
}
.hw-bulkbar__count{ font-weight:var(--hw-fw-bold); }
.hw-bulkbar--top{ top:calc(var(--hw-header-h) + var(--hw-space-4)); bottom:auto; }

.hw-pagination{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--hw-space-2); font-size:var(--hw-fs-sm); }
.hw-pagination__item{
  display:inline-grid;
  place-items:center;
  min-width:var(--hw-ctl-h-sm);
  height:var(--hw-ctl-h-sm);
  padding:0 var(--hw-space-4);
  border:1px solid transparent;
  border-radius:var(--hw-radius-sm);
  background:transparent;
  color:var(--hw-text-muted);
  font:inherit;
  font-weight:var(--hw-fw-semibold);
  font-variant-numeric:tabular-nums;
  text-decoration:none;
  cursor:pointer;
}
.hw-pagination__item:hover{ background:var(--hw-surface-3); color:var(--hw-text); }
.hw-pagination__item.is-active,.hw-pagination__item[aria-current="page"]{ background:color-mix(in srgb,var(--hw-primary) 16%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-primary) 40%,var(--hw-border)); color:var(--hw-text); }
.hw-pagination__item:disabled,.hw-pagination__item.is-disabled{ opacity:.4; pointer-events:none; }
.hw-pagination__gap{ padding:0 var(--hw-space-2); color:var(--hw-text-subtle); }
.hw-pagination__info{ margin:0 var(--hw-space-4); color:var(--hw-text-muted); white-space:nowrap; }
.hw-pagination__size{ width:auto; min-width:76px; --hw-ctl-h:var(--hw-ctl-h-sm); }
.hw-pagination__jump{ width:70px; --hw-ctl-h:var(--hw-ctl-h-sm); }

.hw-list{ display:flex; flex-direction:column; margin:0; padding:0; list-style:none; min-width:0; }
.hw-list__item{
  position:relative;
  display:flex;
  align-items:center;
  gap:var(--hw-space-5);
  min-width:0;
  padding:var(--hw-space-5) var(--hw-space-6);
  color:var(--hw-text);
  text-decoration:none;
  text-align:left;
  font:inherit;
  background:transparent;
  border:0;
  width:100%;
}
.hw-list--divided > .hw-list__item + .hw-list__item{ border-top:1px solid var(--hw-divider); }
.hw-list--interactive > .hw-list__item,a.hw-list__item,button.hw-list__item{ cursor:pointer; transition:background var(--hw-dur-fast); }
.hw-list--interactive > .hw-list__item:hover,a.hw-list__item:hover,button.hw-list__item:hover{ background:color-mix(in srgb,var(--hw-primary) 6%,transparent); }
.hw-list__item.is-active,.hw-list__item.is-selected{ background:color-mix(in srgb,var(--hw-primary) 11%,transparent); }
.hw-list__item.is-unread::before{ content:""; position:absolute; left:6px; top:50%; width:6px; height:6px; margin-top:-3px; border-radius:50%; background:var(--hw-primary); }
.hw-list__media{ flex:0 0 auto; display:flex; align-items:center; }
.hw-list__body{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1 1 auto; }
.hw-list__title{ font-weight:var(--hw-fw-semibold); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-list__title--wrap{ white-space:normal; overflow-wrap:anywhere; }
.hw-list__desc{ font-size:var(--hw-fs-sm); color:var(--hw-text-muted); overflow-wrap:anywhere; }
.hw-list__meta{ flex:0 0 auto; display:flex; align-items:center; gap:var(--hw-space-4); font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); white-space:nowrap; }
.hw-list__actions{ flex:0 0 auto; display:flex; align-items:center; gap:var(--hw-space-2); }
.hw-list--hover-actions > .hw-list__item .hw-list__actions{ opacity:0; transition:opacity var(--hw-dur-fast); }
.hw-list--hover-actions > .hw-list__item:hover .hw-list__actions,.hw-list--hover-actions > .hw-list__item:focus-within .hw-list__actions{ opacity:1; }
.hw-list--compact > .hw-list__item{ padding:var(--hw-space-3) var(--hw-space-5); gap:var(--hw-space-4); }
.hw-list--cards{ gap:var(--hw-space-4); }
.hw-list--cards > .hw-list__item{ border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface); box-shadow:var(--hw-shadow-sm); }
.hw-list--grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(var(--hw-min,200px),1fr)); gap:var(--hw-space-5); }
.hw-list--grid > .hw-list__item{ flex-direction:column; align-items:stretch; border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface); }
.hw-list__head{ padding:var(--hw-space-4) var(--hw-space-6); font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-bold); letter-spacing:.12em; text-transform:uppercase; color:var(--hw-text-subtle); }

.hw-nav-list{ display:flex; flex-direction:column; gap:2px; margin:0; padding:0; list-style:none; }
.hw-nav-list__item{
  display:flex;
  align-items:center;
  gap:var(--hw-space-5);
  min-height:var(--hw-ctl-h);
  padding:var(--hw-space-3) var(--hw-space-5);
  border:1px solid transparent;
  border-radius:var(--hw-radius-md);
  background:transparent;
  color:var(--hw-text-muted);
  font:inherit;
  font-weight:var(--hw-fw-semibold);
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  width:100%;
  transition:background var(--hw-dur-fast),color var(--hw-dur-fast),border-color var(--hw-dur-fast);
}
.hw-nav-list__item:hover{ background:color-mix(in srgb,var(--hw-text) 5%,transparent); color:var(--hw-text); }
.hw-nav-list__item.is-active,.hw-nav-list__item[aria-current="page"],.hw-nav-list__item[aria-selected="true"]{ background:color-mix(in srgb,var(--hw-primary) 13%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-primary) 30%,var(--hw-border)); color:var(--hw-text); }
.hw-nav-list__item .hw-count,.hw-nav-list__item .hw-badge{ margin-left:auto; }
.hw-nav-list__group{ padding:var(--hw-space-6) var(--hw-space-5) var(--hw-space-3); font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-bold); letter-spacing:.12em; text-transform:uppercase; color:var(--hw-text-subtle); }

.hw-breadcrumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--hw-space-2); min-width:0; font-size:var(--hw-fs-sm); color:var(--hw-text-muted); }
.hw-breadcrumbs__item{ display:inline-flex; align-items:center; max-width:260px; padding:2px var(--hw-space-3); border:0; border-radius:var(--hw-radius-xs); background:none; color:inherit; font:inherit; text-decoration:none; cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-breadcrumbs__item:hover{ background:var(--hw-surface-3); color:var(--hw-text); }
.hw-breadcrumbs__item.is-current,.hw-breadcrumbs__item[aria-current]{ color:var(--hw-text); font-weight:var(--hw-fw-semibold); cursor:default; }
.hw-breadcrumbs__item.is-drop-target{ background:color-mix(in srgb,var(--hw-primary) 18%,transparent); outline-offset:0; }
.hw-breadcrumbs__sep{ color:var(--hw-text-subtle); opacity:.7; }
.hw-breadcrumbs__sep::before{ content:"/"; }

.hw-dropdown{ position:relative; display:inline-flex; }
.hw-menu,.hw-popover{
  position:absolute;
  z-index:var(--hw-z-dropdown);
  min-width:var(--hw-menu-w,220px);
  max-width:min(420px,calc(100vw - 24px));
  max-height:min(var(--hw-menu-max-h,70vh),calc(100vh - 24px));
  overflow:auto;
  padding:var(--hw-space-3);
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-md);
  background:var(--hw-elevated);
  box-shadow:var(--hw-shadow-lg),var(--hw-rim);
  -webkit-backdrop-filter:blur(calc(var(--hw-blur) + 6px)) saturate(1.2);
  backdrop-filter:blur(calc(var(--hw-blur) + 6px)) saturate(1.2);
  color:var(--hw-text);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px) scale(.98);
  transform-origin:top right;
  transition:opacity var(--hw-dur-fast) var(--hw-ease),transform var(--hw-dur-fast) var(--hw-ease),visibility 0s linear var(--hw-dur-fast);
}
.hw-menu.is-open,.hw-popover.is-open,.hw-dropdown.is-open > .hw-menu,.hw-dropdown.is-open > .hw-popover{ opacity:1; visibility:visible; transform:none; transition:opacity var(--hw-dur-fast) var(--hw-ease),transform var(--hw-dur-fast) var(--hw-ease); }
.hw-menu--end,.hw-dropdown > .hw-menu:not(.hw-menu--start){ right:0; top:calc(100% + 8px); }
.hw-menu--start{ left:0; top:calc(100% + 8px); transform-origin:top left; }
.hw-menu--up{ top:auto !important; bottom:calc(100% + 8px); transform-origin:bottom right; }
.hw-menu--manual{ opacity:1; visibility:visible; transform:none; }
.hw-menu--manual[hidden]{ display:none; }
.hw-menu--fixed,.hw-popover--fixed{ position:fixed; z-index:calc(var(--hw-z-modal) + 10); }
.hw-menu__item{
  display:flex;
  align-items:center;
  gap:var(--hw-space-5);
  width:100%;
  min-height:36px;
  padding:var(--hw-space-3) var(--hw-space-5);
  border:0;
  border-radius:var(--hw-radius-sm);
  background:transparent;
  color:var(--hw-text);
  font:inherit;
  font-size:var(--hw-fs-sm);
  font-weight:var(--hw-fw-medium);
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
}
.hw-menu__item:hover,.hw-menu__item:focus-visible,.hw-menu__item.is-focused{ background:color-mix(in srgb,var(--hw-primary) 10%,transparent); outline:none; }
.hw-menu__item.is-active,.hw-menu__item[aria-checked="true"]{ color:var(--hw-primary); font-weight:var(--hw-fw-semibold); }
.hw-menu__item > .hw-icon{ --hw-icon-size:16px; color:var(--hw-text-muted); }
.hw-menu__item.hw-danger,.hw-menu__item--danger{ color:var(--hw-danger); }
.hw-menu__item.hw-danger > .hw-icon,.hw-menu__item--danger > .hw-icon{ color:currentColor; }
.hw-menu__item:disabled,.hw-menu__item.is-disabled{ opacity:.45; pointer-events:none; }
.hw-menu__item .hw-count,.hw-menu__item .hw-badge,.hw-menu__item .hw-menu__hint{ margin-left:auto; }
.hw-menu__hint{ font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); }
.hw-menu__item.is-selected,.hw-menu__item[aria-selected="true"]{ color:var(--hw-primary); background:color-mix(in srgb,var(--hw-primary) 7%,transparent); }
.hw-menu__item--rich{ white-space:normal; align-items:flex-start; }
.hw-menu__copy{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.hw-menu__copy > small{ font-size:var(--hw-fs-xs); font-weight:var(--hw-fw-regular); color:var(--hw-text-muted); }
.hw-menu__mark{ flex:0 0 auto; width:16px; height:16px; margin-top:2px; border-radius:50%; border:1.5px solid var(--hw-border-strong); }
.hw-menu__item.is-selected .hw-menu__mark,.hw-menu__item[aria-selected="true"] .hw-menu__mark{ border-color:var(--hw-primary); background:var(--hw-primary); box-shadow:inset 0 0 0 3px var(--hw-elevated); }
.hw-menu.hw-lg{ --hw-menu-w:340px; }
.hw-menu__sep{ height:1px; margin:var(--hw-space-3) var(--hw-space-2); background:var(--hw-divider); border:0; }
.hw-menu__label{ padding:var(--hw-space-4) var(--hw-space-5) var(--hw-space-2); font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-bold); letter-spacing:.12em; text-transform:uppercase; color:var(--hw-text-subtle); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hw-menu__head{ display:flex; flex-direction:column; gap:1px; padding:var(--hw-space-4) var(--hw-space-5) var(--hw-space-5); }
.hw-menu__head strong{ font-size:var(--hw-fs-md); }
.hw-menu__head span{ font-size:var(--hw-fs-xs); color:var(--hw-text-muted); }
.hw-popover{ padding:var(--hw-space-6); min-width:var(--hw-menu-w,260px); }
.hw-popover__title{ margin:0 0 var(--hw-space-4); font-weight:var(--hw-fw-bold); }

.hw-tooltip{
  position:fixed;
  z-index:var(--hw-z-tooltip);
  max-width:min(320px,calc(100vw - 16px));
  padding:6px 10px;
  border-radius:var(--hw-radius-sm);
  background:var(--hw-inverse);
  color:var(--hw-text-inverse);
  font-size:var(--hw-fs-xs);
  font-weight:var(--hw-fw-medium);
  line-height:1.45;
  box-shadow:var(--hw-shadow-md);
  pointer-events:none;
  opacity:0;
  transform:translateY(3px);
  transition:opacity var(--hw-dur-fast),transform var(--hw-dur-fast);
  white-space:pre-line;
  overflow-wrap:anywhere;
}
.hw-tooltip.is-visible{ opacity:1; transform:none; }
.hw-tooltip--rich{ padding:var(--hw-space-5) var(--hw-space-6); background:var(--hw-elevated); color:var(--hw-text); border:1px solid var(--hw-border); pointer-events:auto; }
.hw-tooltip--rich:has(.hw-table){ max-width:min(440px,calc(100vw - 16px)); white-space:normal; }
.hw-tooltip .hw-table{ width:auto; min-width:100%; }
.hw-tooltip .hw-table :is(th,td){ white-space:nowrap; overflow-wrap:normal; }
.hw-tooltip:not(.is-visible),.hw-popover:not(.is-open):not(.hw-menu--manual),.hw-menu:not(.is-open):not(.hw-menu--manual):not(.hw-dropdown.is-open > .hw-menu){ pointer-events:none !important; }

.hw-modal{
  position:fixed;
  inset:0;
  z-index:var(--hw-z-modal);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:max(var(--hw-space-6),env(safe-area-inset-top)) var(--hw-space-6) max(var(--hw-space-6),env(safe-area-inset-bottom));
  visibility:hidden;
  opacity:0;
  transition:opacity var(--hw-dur) var(--hw-ease),visibility 0s linear var(--hw-dur);
}
.hw-modal.is-open{ visibility:visible; opacity:1; transition:opacity var(--hw-dur) var(--hw-ease); }
.hw-modal__backdrop{
  position:absolute;
  inset:0;
  background:var(--hw-overlay);
  -webkit-backdrop-filter:blur(6px) saturate(1.1);
  backdrop-filter:blur(6px) saturate(1.1);
}
.hw-modal__dialog{
  --hw-card-pad:var(--hw-space-8);
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(var(--hw-modal-w,560px),100%);
  max-height:calc(100vh - var(--hw-space-9));
  max-height:calc(100dvh - var(--hw-space-9));
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-xl);
  background:var(--hw-elevated);
  box-shadow:var(--hw-shadow-lg),var(--hw-rim);
  color:var(--hw-text);
  transform:translateY(12px) scale(.98);
  transition:transform var(--hw-dur-slow) var(--hw-ease);
  overflow:hidden;
}
.hw-modal.is-open .hw-modal__dialog{ transform:none; }
.hw-modal__dialog.hw-xs{ --hw-modal-w:360px; }
.hw-modal__dialog.hw-sm{ --hw-modal-w:440px; }
.hw-modal__dialog.hw-md{ --hw-modal-w:560px; }
.hw-modal__dialog.hw-lg{ --hw-modal-w:780px; }
.hw-modal__dialog.hw-xl{ --hw-modal-w:1080px; }
.hw-modal__dialog--full{ --hw-modal-w:calc(100vw - 48px); height:calc(100vh - 48px); height:calc(100dvh - 48px); max-height:none; }
.hw-modal__dialog--fill{ height:min(var(--hw-modal-h,82vh),calc(100vh - 48px)); }
.hw-modal__head{
  display:flex;
  align-items:flex-start;
  gap:var(--hw-space-5);
  padding:var(--hw-card-pad) var(--hw-card-pad) var(--hw-space-6);
  flex:0 0 auto;
}
.hw-modal__head--divided{ border-bottom:1px solid var(--hw-divider); }
.hw-modal__heading{ display:flex; flex-direction:column; gap:3px; min-width:0; flex:1 1 auto; }
.hw-modal__eyebrow{ font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-bold); letter-spacing:.14em; text-transform:uppercase; color:var(--hw-primary); }
.hw-modal__title{ margin:0; font-family:var(--hw-font-display); font-size:var(--hw-fs-xl); font-weight:var(--hw-fw-bold); line-height:1.25; letter-spacing:-.01em; }
.hw-modal__subtitle{ margin:0; font-size:var(--hw-fs-sm); color:var(--hw-text-muted); }
.hw-modal__tools{ display:flex; gap:var(--hw-space-2); margin:-4px -8px 0 auto; flex:0 0 auto; }
.hw-modal__body{
  display:flex;
  flex-direction:column;
  gap:var(--hw-space-6);
  padding:0 var(--hw-card-pad) var(--hw-card-pad);
  overflow:auto;
  min-height:0;
  flex:1 1 auto;
}
.hw-modal__head--divided + .hw-modal__body{ padding-top:var(--hw-space-6); }
.hw-modal__body--flush{ padding:0; gap:0; }
.hw-modal__foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:var(--hw-space-4);
  padding:var(--hw-space-6) var(--hw-card-pad);
  border-top:1px solid var(--hw-divider);
  background:color-mix(in srgb,var(--hw-surface-2) 60%,transparent);
  flex:0 0 auto;
}
.hw-modal__foot--between{ justify-content:space-between; }
.hw-modal__intro{ display:flex; align-items:flex-start; gap:var(--hw-space-5); padding:var(--hw-space-5) var(--hw-space-6); border-radius:var(--hw-radius-md); background:color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 8%,var(--hw-surface-2)); border:1px solid color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 18%,transparent); }
.hw-modal__intro strong{ display:block; }
.hw-modal__intro span{ font-size:var(--hw-fs-sm); color:var(--hw-text-muted); }
.hw-modal--top{ align-items:flex-start; padding-top:max(8vh,var(--hw-space-8)); }
.hw-modal--confirm .hw-modal__dialog{ --hw-modal-w:420px; }
.hw-modal--confirm .hw-modal__body{ color:var(--hw-text-muted); }
@media (max-width:640px){
  .hw-modal{ align-items:flex-end; padding:0; }
  .hw-modal__dialog{ --hw-card-pad:var(--hw-space-7); width:100%; max-height:92vh; max-height:92dvh; border-radius:var(--hw-radius-xl) var(--hw-radius-xl) 0 0; transform:translateY(40px); }
  .hw-modal__dialog--full{ height:100vh; height:100dvh; max-height:none; border-radius:0; }
}

.hw-modal--drawer{ justify-content:flex-end; align-items:stretch; padding:0; }
.hw-modal--drawer .hw-modal__dialog{ width:min(var(--hw-modal-w,480px),100vw); max-height:none; height:100%; border-radius:var(--hw-radius-xl) 0 0 var(--hw-radius-xl); transform:translateX(40px); }
.hw-modal--drawer.hw-modal--left{ justify-content:flex-start; }
.hw-modal--drawer.hw-modal--left .hw-modal__dialog{ border-radius:0 var(--hw-radius-xl) var(--hw-radius-xl) 0; transform:translateX(-40px); }
.hw-modal--drawer.is-open .hw-modal__dialog{ transform:none; }
@media (max-width:640px){ .hw-modal--drawer .hw-modal__dialog{ border-radius:0; } }

.hw-window{
  position:fixed;
  z-index:var(--hw-z-window);
  display:flex;
  flex-direction:column;
  width:var(--hw-window-w,440px);
  height:var(--hw-window-h,auto);
  max-width:calc(100vw - 16px);
  max-height:calc(100vh - 16px);
  min-width:260px;
  min-height:120px;
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-lg);
  background:var(--hw-elevated);
  box-shadow:var(--hw-shadow-lg),var(--hw-rim);
  overflow:hidden;
  animation:hw-pop var(--hw-dur) var(--hw-ease);
}
.hw-window > .hw-card__head{ padding:var(--hw-space-5) var(--hw-space-6); border-bottom:1px solid var(--hw-divider); background:var(--hw-surface-2); }
.hw-window > .hw-card__body{ padding:var(--hw-space-6); overflow:auto; }
.hw-window.is-minimized{ height:auto !important; min-height:0; }
.hw-window.is-minimized > :not(.hw-card__head){ display:none; }

.hw-frame-overlay{ position:fixed; inset:0; z-index:var(--hw-z-drawer); display:flex; flex-direction:column; background:var(--hw-bg); }
.hw-frame-overlay__frame{ flex:1 1 auto; width:100%; border:0; background:var(--hw-bg); }
.hw-frame-overlay__loading{ position:absolute; inset:0; display:grid; place-items:center; background:var(--hw-bg); }

.hw-toasts{
  position:fixed;
  z-index:var(--hw-z-toast);
  right:max(var(--hw-space-6),env(safe-area-inset-right));
  bottom:max(var(--hw-space-6),env(safe-area-inset-bottom));
  display:flex;
  flex-direction:column-reverse;
  gap:var(--hw-space-4);
  width:min(400px,calc(100vw - 32px));
  pointer-events:none;
}
.hw-toasts--top{ top:calc(var(--hw-header-h) + var(--hw-space-4)); bottom:auto; flex-direction:column; }
.hw-toasts--center{ left:50%; right:auto; transform:translateX(-50%); }
.hw-toasts--start{ left:max(var(--hw-space-6),env(safe-area-inset-left)); right:auto; }
.live-notification-stack.is-tutorial-focus{ z-index:calc(var(--hw-z-tour) + 5); opacity:1; visibility:visible; transform:none; }
.live-notification-stack.is-tutorial-focus > *{ pointer-events:auto; }
.hw-toast{
  --hw-t:var(--hw-tone,var(--hw-primary));
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:var(--hw-space-5);
  padding:var(--hw-space-5) var(--hw-space-6);
  padding-left:calc(var(--hw-space-6) + 3px);
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-md);
  background:var(--hw-elevated);
  box-shadow:var(--hw-shadow-lg),var(--hw-rim);
  -webkit-backdrop-filter:blur(var(--hw-blur));
  backdrop-filter:blur(var(--hw-blur));
  color:var(--hw-text);
  font-size:var(--hw-fs-sm);
  pointer-events:auto;
  overflow:hidden;
  animation:hw-toast-in var(--hw-dur-slow) var(--hw-ease-spring);
}
.hw-toast::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--hw-t); }
.hw-toast > .hw-icon{ color:var(--hw-t); margin-top:1px; }
.hw-toast__body{ flex:1 1 auto; min-width:0; }
.hw-toast__title{ display:block; font-weight:var(--hw-fw-bold); font-size:var(--hw-fs-md); margin-bottom:1px; }
.hw-toast__text{ color:var(--hw-text-muted); overflow-wrap:anywhere; }
.hw-toast__actions{ display:flex; gap:var(--hw-space-4); margin-top:var(--hw-space-4); }
.hw-toast__close{ margin:-4px -8px -4px 0; --hw-ctl-h:26px; }
.hw-toast__timer{ position:absolute; left:0; bottom:0; height:2px; background:var(--hw-t); opacity:.45; animation:hw-shrink linear forwards; }
.hw-toast.is-leaving{ animation:hw-toast-out var(--hw-dur) var(--hw-ease) forwards; }
.messenger-live-notification{--hw-t:var(--hw-primary);width:min(500px,calc(100vw - 24px));padding:var(--hw-space-6) var(--hw-space-7);border:2px solid color-mix(in srgb,var(--hw-primary) 72%,var(--hw-border));border-left-width:6px;background:color-mix(in srgb,var(--hw-primary) 13%,var(--hw-elevated));box-shadow:0 18px 42px color-mix(in srgb,var(--hw-primary) 32%,transparent),var(--hw-shadow-lg),var(--hw-rim);}
.messenger-live-notification::before{width:0;}
.messenger-live-notification__icon{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--hw-primary);color:var(--hw-primary-contrast,#fff);box-shadow:0 0 0 5px color-mix(in srgb,var(--hw-primary) 18%,transparent);animation:messenger-notification-pulse 1.8s ease-out infinite;}
.messenger-live-notification__icon .hw-icon,.messenger-live-notification__icon svg{width:20px;height:20px;}
.messenger-live-notification__avatar{--hw-av:56px;flex:0 0 auto;box-shadow:0 0 0 4px color-mix(in srgb,var(--hw-primary) 25%,var(--hw-surface)),0 6px 18px color-mix(in srgb,var(--hw-primary) 28%,transparent);}
.messenger-live-notification__heading{display:flex;align-items:center;gap:var(--hw-space-3);}
.messenger-live-notification__sender{display:block;margin-bottom:3px;color:var(--hw-text);font-size:var(--hw-fs-md);}
.messenger-live-notification__count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--hw-primary);color:var(--hw-primary-contrast,#fff);font-size:var(--hw-fs-xs);font-weight:var(--hw-fw-bold);line-height:1;}
.messenger-live-notification__image{display:block;width:112px;height:76px;max-width:100%;margin-top:var(--hw-space-3);object-fit:cover;border:1px solid color-mix(in srgb,var(--hw-primary) 34%,var(--hw-border));border-radius:var(--hw-radius-sm);background:var(--hw-surface);}
.messenger-live-notification__attachment{margin-top:var(--hw-space-2);color:var(--hw-text-muted);font-size:var(--hw-fs-sm);overflow-wrap:anywhere;}
@media (max-width:520px){.messenger-live-notification{width:calc(100vw - 20px);padding:var(--hw-space-5)}.messenger-live-notification__avatar{--hw-av:48px}.messenger-live-notification .hw-toast__actions{gap:var(--hw-space-2);flex-wrap:wrap}}
@keyframes messenger-notification-pulse{0%,100%{box-shadow:0 0 0 5px color-mix(in srgb,var(--hw-primary) 18%,transparent)}50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--hw-primary) 0%,transparent)}}
@media (prefers-reduced-motion:reduce){.messenger-live-notification__icon{animation:none}}

.hw-progress{
  --hw-p:var(--hw-tone,var(--hw-primary));
  position:relative;
  width:100%;
  height:var(--hw-progress-h,8px);
  border-radius:var(--hw-radius-pill);
  background:color-mix(in srgb,var(--hw-text) 9%,transparent);
  overflow:hidden;
}
.hw-progress__bar{
  position:absolute;
  left:0; top:0; bottom:0;
  width:var(--hw-value,0%);
  border-radius:inherit;
  background:linear-gradient(90deg,color-mix(in srgb,var(--hw-p) 80%,#fff),var(--hw-p));
  transition:width var(--hw-dur-slow) var(--hw-ease);
}
.hw-progress--indeterminate .hw-progress__bar{ width:38%; animation:hw-indeterminate 1.3s var(--hw-ease) infinite; }
.hw-progress--striped .hw-progress__bar{ background-image:linear-gradient(45deg,rgba(255,255,255,.22) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.22) 50%,rgba(255,255,255,.22) 75%,transparent 75%); background-size:16px 16px; animation:hw-stripes 1s linear infinite; }
.hw-progress.hw-sm{ --hw-progress-h:4px; } .hw-progress.hw-lg{ --hw-progress-h:12px; }
.hw-progress-block{ display:flex; flex-direction:column; gap:var(--hw-space-3); min-width:0; }
.hw-progress-block__head{ display:flex; justify-content:space-between; gap:var(--hw-space-5); font-size:var(--hw-fs-sm); }
.hw-progress-block__title{ font-weight:var(--hw-fw-semibold); }
.hw-progress-block__value{ font-weight:var(--hw-fw-bold); font-variant-numeric:tabular-nums; color:var(--hw-text-muted); }
.hw-progress-block__meta{ font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); }
.hw-meter{ display:flex; height:var(--hw-progress-h,10px); border-radius:var(--hw-radius-pill); overflow:hidden; background:color-mix(in srgb,var(--hw-text) 9%,transparent); }
.hw-meter > span{ width:var(--hw-value,0%); background:var(--hw-tone,var(--hw-primary)); }
.hw-meter > span + span{ box-shadow:inset 1px 0 0 var(--hw-surface); }

.hw-ring{
  --hw-ring-size:64px;
  --hw-ring-w:7px;
  position:relative;
  display:inline-grid;
  place-items:center;
  width:var(--hw-ring-size);
  height:var(--hw-ring-size);
  border-radius:50%;
  background:conic-gradient(var(--hw-tone,var(--hw-primary)) calc(var(--hw-value,0) * 1%),color-mix(in srgb,var(--hw-text) 10%,transparent) 0);
  font-size:calc(var(--hw-ring-size) * .22);
  font-weight:var(--hw-fw-bold);
  font-variant-numeric:tabular-nums;
}
.hw-ring::before{ content:""; position:absolute; inset:var(--hw-ring-w); border-radius:50%; background:var(--hw-elevated); }
.hw-ring > *{ position:relative; }
.hw-ring.hw-sm{ --hw-ring-size:40px; --hw-ring-w:5px; } .hw-ring.hw-lg{ --hw-ring-size:110px; --hw-ring-w:11px; }

.hw-spinner{
  display:inline-block;
  flex:0 0 auto;
  width:var(--hw-spinner,22px);
  height:var(--hw-spinner,22px);
  border-radius:50%;
  border:2.5px solid color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 20%,transparent);
  border-top-color:var(--hw-tone,var(--hw-primary));
  animation:hw-spin .8s linear infinite;
  vertical-align:middle;
}
.hw-spinner.hw-xs{ --hw-spinner:12px; border-width:2px; } .hw-spinner.hw-sm{ --hw-spinner:16px; border-width:2px; } .hw-spinner.hw-lg{ --hw-spinner:34px; border-width:3px; } .hw-spinner.hw-xl{ --hw-spinner:52px; border-width:4px; }
.hw-loading{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--hw-space-5); padding:var(--hw-space-9) var(--hw-space-6); color:var(--hw-text-muted); font-size:var(--hw-fs-sm); text-align:center; }
.hw-loading--inline{ flex-direction:row; padding:var(--hw-space-4) 0; justify-content:flex-start; }
.hw-loading--cover{ position:absolute; inset:0; z-index:5; border-radius:inherit; background:color-mix(in srgb,var(--hw-surface) 72%,transparent); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
.hw-typing{ display:inline-flex; gap:4px; align-items:center; }
.hw-typing > span{ width:6px; height:6px; border-radius:50%; background:var(--hw-text-subtle); animation:hw-typing 1.2s infinite ease-in-out; }
.hw-typing > span:nth-child(2){ animation-delay:.15s; } .hw-typing > span:nth-child(3){ animation-delay:.3s; }

.hw-skeleton{
  display:block;
  height:var(--hw-skeleton-h,14px);
  width:var(--hw-skeleton-w,100%);
  border-radius:var(--hw-radius-xs);
  background:linear-gradient(90deg,color-mix(in srgb,var(--hw-text) 7%,transparent) 0%,color-mix(in srgb,var(--hw-text) 13%,transparent) 50%,color-mix(in srgb,var(--hw-text) 7%,transparent) 100%);
  background-size:200% 100%;
  animation:hw-shimmer 1.4s ease-in-out infinite;
}
.hw-skeleton--text{ --hw-skeleton-h:.9em; margin:.3em 0; }
.hw-skeleton--title{ --hw-skeleton-h:1.4em; --hw-skeleton-w:55%; }
.hw-skeleton--circle{ border-radius:50%; width:var(--hw-skeleton-h,40px); height:var(--hw-skeleton-h,40px); }
.hw-skeleton--block{ --hw-skeleton-h:120px; border-radius:var(--hw-radius-lg); }

.hw-preloader{
  position:fixed;
  inset:0;
  z-index:var(--hw-z-preloader);
  display:grid;
  place-items:center;
  background:var(--hw-bg-art),var(--hw-bg);
  transition:opacity var(--hw-dur-slow) var(--hw-ease),visibility 0s linear var(--hw-dur-slow);
}
.hw-preloader.is-done,.hw-ready .hw-preloader:not(.is-active){ opacity:0; visibility:hidden; pointer-events:none; }
.hw-preloader__card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--hw-space-6);
  width:min(320px,calc(100vw - 32px));
  padding:var(--hw-space-9) var(--hw-space-8);
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-xl);
  background:var(--hw-surface);
  box-shadow:var(--hw-shadow-lg),var(--hw-rim);
  -webkit-backdrop-filter:blur(var(--hw-blur)) saturate(1.2);
  backdrop-filter:blur(var(--hw-blur)) saturate(1.2);
  animation:hw-pop var(--hw-dur-slow) var(--hw-ease);
}
.hw-preloader__logo{ position:relative; width:64px; height:64px; }
.hw-preloader__logo > span{ position:absolute; width:22px; height:22px; border-radius:50%; animation:hw-orbit 2.4s var(--hw-ease) infinite; }
.hw-preloader__logo > span:nth-child(1){ left:4px; top:22px; background:#5eead4; }
.hw-preloader__logo > span:nth-child(2){ right:6px; top:6px; background:#a855f7; animation-delay:-.8s; }
.hw-preloader__logo > span:nth-child(3){ right:10px; bottom:4px; background:#60a5fa; animation-delay:-1.6s; }
.hw-preloader__title{ font-family:var(--hw-font-display); font-size:var(--hw-fs-xl); font-weight:var(--hw-fw-black); letter-spacing:-.01em; }
.hw-preloader__status{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--hw-space-4); width:100%; margin-top:-6px; margin-bottom:-10px; font-size:var(--hw-fs-sm); line-height:1.4; }
.hw-preloader__sub{ flex:1 1 auto; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:var(--hw-text-muted); text-align:left; }
.hw-preloader__percent{ flex:0 0 auto; min-width:4ch; text-align:right; font-weight:var(--hw-fw-bold); font-variant-numeric:tabular-nums; color:var(--hw-text); }
.hw-preloader .hw-progress{ --hw-progress-h:4px; width:100%; }
.hw-preloader .hw-progress__bar{ transition:width var(--hw-dur) var(--hw-ease); }

.hw-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:var(--hw-space-4);
  padding:var(--hw-space-10) var(--hw-space-7);
  text-align:center;
  color:var(--hw-text-muted);
  min-width:0;
}
.hw-empty{ --hw-e:var(--hw-tone,var(--hw-primary)); }
.hw-empty__icon{ --hw-icon-size:26px; display:grid; place-items:center; width:56px; height:56px; margin-bottom:var(--hw-space-3); border-radius:var(--hw-radius-lg); color:var(--hw-e); background:color-mix(in srgb,var(--hw-e) 11%,var(--hw-surface)); border:1px solid color-mix(in srgb,var(--hw-e) 20%,transparent); font-size:24px; }
.hw-empty__title{ margin:0; font-size:var(--hw-fs-lg); font-weight:var(--hw-fw-bold); color:var(--hw-text); }
.hw-empty__text{ margin:0; max-width:460px; font-size:var(--hw-fs-sm); }
.hw-empty__actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:var(--hw-space-4); margin-top:var(--hw-space-4); }
.hw-empty--compact{ padding:var(--hw-space-7) var(--hw-space-5); gap:var(--hw-space-3); }
.hw-empty--compact .hw-empty__icon{ width:40px; height:40px; --hw-icon-size:20px; }
.hw-empty--bordered{ border:1px dashed var(--hw-border-strong); border-radius:var(--hw-radius-lg); }
.hw-gate{ min-height:calc(100vh - var(--hw-header-h) - 80px); display:grid; place-items:center; padding:var(--hw-space-8); }
.hw-gate > .hw-card{ width:min(520px,100%); text-align:center; align-items:center; }

.hw-accordion{ border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface); min-width:0; }
.hw-accordion + .hw-accordion{ margin-top:var(--hw-space-4); }
.hw-accordion__summary,.hw-accordion > summary{
  display:flex;
  align-items:center;
  gap:var(--hw-space-5);
  padding:var(--hw-space-5) var(--hw-space-6);
  cursor:pointer;
  list-style:none;
  font-weight:var(--hw-fw-semibold);
  border-radius:inherit;
  user-select:none;
}
.hw-accordion > summary::-webkit-details-marker{ display:none; }
.hw-accordion__summary::after,.hw-accordion > summary::after{
  content:"";
  flex:0 0 auto;
  margin-left:auto;
  width:8px; height:8px;
  border:solid var(--hw-text-subtle);
  border-width:0 2px 2px 0;
  transform:rotate(45deg) translate(-2px,-2px);
  transition:transform var(--hw-dur) var(--hw-ease);
}
.hw-accordion[open] > summary::after,.hw-accordion.is-open > .hw-accordion__summary::after{ transform:rotate(-135deg) translate(-2px,-2px); }
.hw-accordion > summary:hover{ background:color-mix(in srgb,var(--hw-text) 3%,transparent); }
.hw-accordion__body{ padding:0 var(--hw-space-6) var(--hw-space-6); display:flex; flex-direction:column; gap:var(--hw-space-5); }
.hw-accordion:not([open]):not(.is-open) > .hw-accordion__body{ display:none; }
.hw-accordion--flush{ border:0; border-radius:0; background:none; border-bottom:1px solid var(--hw-divider); }
.hw-accordion--flush + .hw-accordion--flush{ margin-top:0; }
.hw-accordion--flush > summary{ padding-inline:0; }
.hw-accordion--flush > .hw-accordion__body{ padding-inline:0; }
.hw-collapse{ display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--hw-dur-slow) var(--hw-ease); }
.hw-collapse > *{ overflow:hidden; min-height:0; }
.hw-collapse.is-open{ grid-template-rows:1fr; }

.hw-steps{ display:flex; align-items:center; gap:var(--hw-space-4); margin:0; padding:0; list-style:none; flex-wrap:wrap; }
.hw-steps__item{ display:flex; align-items:center; gap:var(--hw-space-4); font-size:var(--hw-fs-sm); color:var(--hw-text-subtle); font-weight:var(--hw-fw-semibold); }
.hw-steps__item + .hw-steps__item::before{ content:""; width:24px; height:2px; border-radius:2px; background:var(--hw-divider); }
.hw-steps__num{ display:grid; place-items:center; width:26px; height:26px; border-radius:50%; border:1.5px solid var(--hw-border-strong); font-size:var(--hw-fs-xs); font-weight:var(--hw-fw-bold); background:var(--hw-surface); }
.hw-steps__item.is-current{ color:var(--hw-text); }
.hw-steps__item.is-current .hw-steps__num{ border-color:var(--hw-primary); color:var(--hw-primary); box-shadow:0 0 0 3px var(--hw-focus); }
.hw-steps__item.is-done{ color:var(--hw-text-muted); }
.hw-steps__item.is-done .hw-steps__num{ background:var(--hw-primary); border-color:var(--hw-primary); color:var(--hw-primary-contrast); }
.hw-steps--vertical{ flex-direction:column; align-items:flex-start; }
.hw-steps--vertical .hw-steps__item + .hw-steps__item::before{ display:none; }

.hw-timeline{ position:relative; display:flex; flex-direction:column; gap:var(--hw-space-6); margin:0; padding:0 0 0 var(--hw-space-8); list-style:none; }
.hw-timeline::before{ content:""; position:absolute; left:9px; top:6px; bottom:6px; width:2px; border-radius:2px; background:var(--hw-divider); }
.hw-timeline__item{ position:relative; min-width:0; }
.hw-timeline__item::before{ content:""; position:absolute; left:calc(var(--hw-space-8) * -1 + 4px); top:5px; width:12px; height:12px; border-radius:50%; background:var(--hw-surface); border:2px solid var(--hw-tone,var(--hw-primary)); }
.hw-timeline__item.is-current::before{ background:var(--hw-tone,var(--hw-primary)); box-shadow:0 0 0 4px var(--hw-focus); }
.hw-timeline__head{ display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--hw-space-4); }
.hw-timeline__title{ font-weight:var(--hw-fw-bold); }
.hw-timeline__date{ font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); }
.hw-timeline__body{ margin-top:var(--hw-space-3); font-size:var(--hw-fs-sm); color:var(--hw-text-muted); }

.hw-appbar{
  position:fixed;
  top:0; left:0; right:0;
  z-index:var(--hw-z-header);
  height:var(--hw-header-h);
  border-bottom:1px solid var(--hw-border);
  background:color-mix(in srgb,var(--hw-surface) 88%,transparent);
  box-shadow:0 6px 24px rgba(15,40,70,.05);
  -webkit-backdrop-filter:blur(calc(var(--hw-blur) + 4px)) saturate(1.3);
  backdrop-filter:blur(calc(var(--hw-blur) + 4px)) saturate(1.3);
}
html[data-skin="solid"] .hw-appbar,html[data-skin="minimal"] .hw-appbar,html[data-skin="contrast"] .hw-appbar{ background:var(--hw-surface); }
.hw-appbar--static{ position:sticky; }
.hw-appbar__inner{ display:flex; align-items:center; justify-content:space-between; gap:var(--hw-space-6); height:100%; padding:0 var(--hw-space-7); max-width:var(--hw-appbar-max,none); margin:0 auto; }
.hw-appbar__start,.hw-appbar__end{ display:flex; align-items:center; gap:var(--hw-space-4); min-width:0; }
.hw-appbar__start{ flex:1 1 auto; gap:var(--hw-space-7); }
.hw-appbar__end{ flex:0 0 auto; }
.hw-brand{ display:inline-flex; align-items:center; gap:var(--hw-space-5); color:var(--hw-text); text-decoration:none; flex:0 0 auto; }
.hw-brand__logo{ position:relative; width:34px; height:34px; flex:0 0 auto; }
.hw-brand__logo > span{ position:absolute; border-radius:50%; }
.hw-brand__logo > span:nth-child(1){ left:0; top:11px; width:14px; height:14px; background:#5eead4; }
.hw-brand__logo > span:nth-child(2){ right:3px; top:2px; width:12px; height:12px; background:#a855f7; }
.hw-brand__logo > span:nth-child(3){ right:6px; bottom:1px; width:10px; height:10px; background:#60a5fa; }
.hw-brand__copy{ display:flex; flex-direction:column; line-height:1.1; min-width:0; }
.hw-brand__name{ font-family:var(--hw-font-display); font-size:var(--hw-fs-xl); font-weight:var(--hw-fw-black); letter-spacing:-.01em; white-space:nowrap; }
.hw-brand__sub{ font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-bold); letter-spacing:.1em; text-transform:uppercase; color:var(--hw-text-muted); white-space:nowrap; }
.hw-nav{ display:flex; align-items:center; gap:2px; padding:3px; border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface-2); min-width:0; overflow-x:auto; scrollbar-width:none; }
.hw-nav::-webkit-scrollbar{ display:none; }
.hw-nav__link{
  display:inline-flex;
  align-items:center;
  gap:var(--hw-space-4);
  min-height:32px;
  padding:0 var(--hw-space-5);
  border:1px solid transparent;
  border-radius:var(--hw-radius-sm);
  background:transparent;
  color:var(--hw-text-muted);
  font:inherit;
  font-size:var(--hw-fs-sm);
  font-weight:var(--hw-fw-semibold);
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transition:background var(--hw-dur-fast),color var(--hw-dur-fast);
}
.hw-nav__link > .hw-icon,.hw-nav__link > svg{ --hw-icon-size:16px; width:16px; height:16px; }
.hw-nav__link:hover{ color:var(--hw-text); background:color-mix(in srgb,var(--hw-text) 5%,transparent); }
.hw-nav__link.is-active,.hw-nav__link[aria-current="page"]{ color:var(--hw-text); background:color-mix(in srgb,var(--hw-primary) 16%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-primary) 34%,var(--hw-border)); }
@media (max-width:1100px){ .hw-nav__link > span:not(.hw-icon):not(.hw-count){ display:none; } .hw-nav__link{ padding:0 var(--hw-space-4); } }
@media (max-width:760px){
  :root{ --hw-header-h:58px; --hw-page-pad:14px; }
  .hw-appbar__inner{ padding:0 var(--hw-space-5); gap:var(--hw-space-4); }
  .hw-appbar__start{ gap:var(--hw-space-4); }
  .hw-brand__sub{ display:none; }
  .hw-brand__name{ font-size:var(--hw-fs-lg); }
}
@media (max-width:520px){ .hw-brand__copy{ display:none; } }

.hw-sidebar{
  display:flex;
  flex-direction:column;
  gap:var(--hw-space-6);
  min-width:0;
  min-height:0;
  padding:var(--hw-space-6);
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-lg);
  background:var(--hw-surface);
  box-shadow:var(--hw-shadow-sm),var(--hw-rim);
  -webkit-backdrop-filter:blur(var(--hw-blur));
  backdrop-filter:blur(var(--hw-blur));
}
.hw-sidebar__section{ display:flex; flex-direction:column; gap:var(--hw-space-3); }
.hw-sidebar__title{ padding:0 var(--hw-space-3); font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-bold); letter-spacing:.12em; text-transform:uppercase; color:var(--hw-text-subtle); }
.hw-sidebar__foot{ margin-top:auto; }
.hw-sidebar--flush{ border:0; border-radius:0; background:none; box-shadow:none; padding:0; }

.hw-statusbar{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--hw-space-6); padding:var(--hw-space-3) var(--hw-space-6); border-top:1px solid var(--hw-divider); font-size:var(--hw-fs-xs); color:var(--hw-text-muted); }

.hw-chart{ position:relative; display:flex; flex-direction:column; gap:var(--hw-space-5); min-width:0; }
.hw-chart__canvas{ position:relative; width:100%; min-height:var(--hw-chart-h,260px); height:var(--hw-chart-h,260px); }
.hw-chart__canvas > svg{ display:block; width:100%; height:100%; overflow:visible; }
.hw-chart__canvas--auto{ height:auto; min-height:0; }
.hw-chart svg text{ fill:var(--hw-text-muted); font-family:var(--hw-font); font-size:11px; }
.hw-chart__grid line,.hw-chart__grid path{ stroke:var(--hw-divider); stroke-width:1; shape-rendering:crispEdges; }
.hw-chart__axis line,.hw-chart__axis path{ stroke:var(--hw-border-strong); stroke-width:1; }
.hw-chart__axis text{ fill:var(--hw-text-subtle); }
.hw-chart__line{ fill:none; stroke:var(--hw-series,var(--hw-series-1)); stroke-width:2.2; stroke-linejoin:round; stroke-linecap:round; }
.hw-chart__line--dash{ stroke-dasharray:5 5; stroke-width:1.6; opacity:.8; }
.hw-chart__area{ fill:var(--hw-series,var(--hw-series-1)); opacity:.12; }
.hw-chart__dot{ fill:var(--hw-elevated); stroke:var(--hw-series,var(--hw-series-1)); stroke-width:2; }
.hw-chart__hit{ fill:transparent; cursor:pointer; }
.hw-chart__bar{ fill:var(--hw-series,var(--hw-series-1)); rx:3; transition:opacity var(--hw-dur-fast); }
.hw-chart__bar:hover,.hw-chart__slice:hover{ opacity:.82; }
.hw-chart__slice{ stroke:var(--hw-elevated); stroke-width:2; cursor:pointer; transition:opacity var(--hw-dur-fast),transform var(--hw-dur) var(--hw-ease); transform-origin:center; }
.hw-chart__center-value{ font-family:var(--hw-font-display); font-size:22px !important; font-weight:var(--hw-fw-black); fill:var(--hw-text) !important; }
.hw-chart__center-label{ font-size:10px !important; fill:var(--hw-text-subtle) !important; text-transform:uppercase; letter-spacing:.08em; }
.hw-chart__empty{ position:absolute; inset:0; display:grid; place-items:center; color:var(--hw-text-subtle); font-size:var(--hw-fs-sm); }
.hw-chart__tip{
  position:absolute;
  z-index:5;
  min-width:120px;
  padding:var(--hw-space-4) var(--hw-space-5);
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-sm);
  background:var(--hw-elevated);
  box-shadow:var(--hw-shadow-md);
  color:var(--hw-text);
  font-size:var(--hw-fs-xs);
  pointer-events:none;
  white-space:nowrap;
  transform:translate(-50%,calc(-100% - 10px));
}
.hw-chart__tip strong{ display:block; margin-bottom:2px; font-size:var(--hw-fs-sm); }
.hw-chart__tip--fixed{ position:fixed; transform:none; white-space:normal; max-width:340px; z-index:var(--hw-z-tooltip); }
.hw-chart__tip-grid{ display:grid; grid-template-columns:auto auto; gap:2px var(--hw-space-6); margin-top:var(--hw-space-3); }
.hw-chart__tip-grid > :nth-child(even){ text-align:right; font-weight:var(--hw-fw-bold); font-variant-numeric:tabular-nums; }
.hw-chart__donut{ display:block; width:100%; max-width:var(--hw-donut-size,280px); height:auto; margin:0 auto; overflow:visible; }
.hw-chart__track{ fill:none; stroke:color-mix(in srgb,var(--hw-text) 8%,transparent); }
.hw-chart text.hw-chart__label{ fill:var(--hw-text-subtle); font-size:11px; }
.hw-chart__slice:hover{ transform:scale(1.03); }
.hw-legend{ display:flex; flex-wrap:wrap; gap:var(--hw-space-3) var(--hw-space-6); margin:0; padding:0; list-style:none; font-size:var(--hw-fs-xs); color:var(--hw-text-muted); }
.hw-legend--vertical{ flex-direction:column; flex-wrap:nowrap; gap:var(--hw-space-3); }
.hw-legend__item{ display:flex; align-items:center; gap:var(--hw-space-4); min-width:0; border:0; background:none; padding:0; font:inherit; color:inherit; text-align:left; }
button.hw-legend__item{ cursor:pointer; }
button.hw-legend__item:hover{ color:var(--hw-text); }
.hw-legend__item.is-off{ opacity:.4; }
.hw-legend__swatch{ flex:0 0 auto; width:10px; height:10px; border-radius:3px; background:var(--hw-series,var(--hw-series-1)); }
.hw-legend__label{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-legend__value{ margin-left:auto; padding-left:var(--hw-space-4); font-weight:var(--hw-fw-bold); color:var(--hw-text); font-variant-numeric:tabular-nums; }
.hw-series-1{ --hw-series:var(--hw-series-1); } .hw-series-2{ --hw-series:var(--hw-series-2); } .hw-series-3{ --hw-series:var(--hw-series-3); } .hw-series-4{ --hw-series:var(--hw-series-4); } .hw-series-5{ --hw-series:var(--hw-series-5); }
.hw-series-6{ --hw-series:var(--hw-series-6); } .hw-series-7{ --hw-series:var(--hw-series-7); } .hw-series-8{ --hw-series:var(--hw-series-8); } .hw-series-9{ --hw-series:var(--hw-series-9); } .hw-series-10{ --hw-series:var(--hw-series-10); }
.hw-chart-layout{ display:grid; grid-template-columns:minmax(160px,240px) minmax(0,1fr); gap:var(--hw-space-7); align-items:center; }
@media (max-width:640px){ .hw-chart-layout{ grid-template-columns:1fr; } }

.hw-bars{ display:flex; flex-direction:column; gap:var(--hw-space-4); margin:0; padding:0; list-style:none; }
.hw-bars__row{ display:grid; grid-template-columns:minmax(90px,var(--hw-bars-label,32%)) minmax(0,1fr) auto; align-items:center; gap:var(--hw-space-5); font-size:var(--hw-fs-sm); }
.hw-bars__label{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--hw-text-muted); }
.hw-bars__track{ height:var(--hw-bar-h,10px); border-radius:var(--hw-radius-pill); background:color-mix(in srgb,var(--hw-text) 7%,transparent); overflow:hidden; }
.hw-bars__fill{ display:block; height:100%; width:var(--hw-value,0%); border-radius:inherit; background:var(--hw-series,var(--hw-tone,var(--hw-primary))); transition:width var(--hw-dur-slow) var(--hw-ease); }
.hw-bars__value{ font-weight:var(--hw-fw-bold); font-variant-numeric:tabular-nums; white-space:nowrap; }
.hw-columns{ display:flex; align-items:flex-end; gap:var(--hw-space-3); height:var(--hw-chart-h,200px); padding-top:var(--hw-space-6); }
.hw-columns__col{ position:relative; flex:1 1 0; min-width:6px; height:var(--hw-value,0%); border-radius:4px 4px 1px 1px; background:var(--hw-series,var(--hw-primary)); transition:height var(--hw-dur-slow) var(--hw-ease),opacity var(--hw-dur-fast); }
.hw-columns__col:hover{ opacity:.8; }
.hw-columns__col > span{ position:absolute; top:-18px; left:50%; transform:translateX(-50%); font-size:10px; font-weight:var(--hw-fw-bold); color:var(--hw-text-muted); white-space:nowrap; }
.hw-sparkline{ display:inline-block; width:var(--hw-spark-w,90px); height:var(--hw-spark-h,26px); vertical-align:middle; }
.hw-sparkline polyline{ fill:none; stroke:var(--hw-tone,var(--hw-primary)); stroke-width:1.8; stroke-linejoin:round; }

.hw-dashboard{ display:grid; gap:var(--hw-gap); grid-template-columns:repeat(var(--hw-cols,12),minmax(0,1fr)); grid-auto-flow:row dense; }
.hw-dashboard > *{ grid-column:span var(--hw-span,6); min-width:0; }
.hw-dashboard > .hw-w-3{ --hw-span:3; } .hw-dashboard > .hw-w-4{ --hw-span:4; } .hw-dashboard > .hw-w-6{ --hw-span:6; } .hw-dashboard > .hw-w-8{ --hw-span:8; } .hw-dashboard > .hw-w-12{ --hw-span:12; }
@media (max-width:1100px){ .hw-dashboard > *{ --hw-span:12 !important; } }

.hw-filters{ display:flex; flex-direction:column; gap:var(--hw-space-5); min-width:0; }
.hw-filters__grid{ display:grid; gap:var(--hw-space-5); grid-template-columns:repeat(auto-fill,minmax(var(--hw-min,200px),1fr)); align-items:end; }
.hw-filters__actions{ display:flex; flex-wrap:wrap; gap:var(--hw-space-4); align-items:center; justify-content:flex-end; }
.hw-filters__active{ display:flex; flex-wrap:wrap; gap:var(--hw-space-3); align-items:center; }
.hw-filter{ position:relative; display:flex; flex-direction:column; gap:var(--hw-space-3); min-width:0; padding:var(--hw-space-5); border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface-2); }
.hw-filter__head{ display:flex; align-items:center; gap:var(--hw-space-3); font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-semibold); }
.hw-filter__head .hw-card__tools{ margin-left:auto; }

.hw-combo{ position:relative; min-width:0; width:100%; }
.hw-combo__control{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--hw-space-2); width:100%; min-height:var(--hw-ctl-h); padding:3px calc(var(--hw-ctl-px) + 18px) 3px 5px; border:1px solid var(--hw-field-border); border-radius:var(--hw-ctl-radius); background:var(--hw-field-bg); cursor:pointer; text-align:left; font:inherit; font-size:var(--hw-ctl-fs); color:var(--hw-text); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237b8ca3' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right calc(var(--hw-ctl-px) - 2px) center; }
.hw-combo__control:hover{ background-color:var(--hw-field-bg-hover); }
.hw-combo.is-open .hw-combo__control{ border-color:color-mix(in srgb,var(--hw-primary) 60%,transparent); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-primary) 18%,transparent); }
.hw-combo__placeholder{ padding:0 calc(var(--hw-ctl-px) - 5px); color:var(--hw-text-subtle); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hw-combo__value{ padding:0 calc(var(--hw-ctl-px) - 5px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-combo__control .hw-chip{ min-height:24px; padding:0 8px; font-size:var(--hw-fs-xs); }
.hw-combo__panel{ position:absolute; z-index:var(--hw-z-dropdown); left:0; right:0; top:calc(100% + 6px); display:none; flex-direction:column; gap:var(--hw-space-3); padding:var(--hw-space-4); border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-elevated); box-shadow:var(--hw-shadow-lg); min-width:220px; }
.hw-combo.is-open .hw-combo__panel{ display:flex; }
.hw-combo--up .hw-combo__panel{ top:auto; bottom:calc(100% + 6px); }
.hw-combo__options{ display:flex; flex-direction:column; gap:1px; max-height:var(--hw-max-h,260px); overflow:auto; }
.hw-combo__option{ display:flex; align-items:center; gap:var(--hw-space-4); padding:var(--hw-space-3) var(--hw-space-4); border:0; border-radius:var(--hw-radius-xs); background:none; color:var(--hw-text); font:inherit; font-size:var(--hw-fs-sm); text-align:left; cursor:pointer; }
.hw-combo__option:hover,.hw-combo__option.is-focused{ background:color-mix(in srgb,var(--hw-primary) 10%,transparent); }
.hw-combo__option.is-selected{ font-weight:var(--hw-fw-semibold); color:var(--hw-primary); }
.hw-combo__option .hw-check{ pointer-events:none; }
.hw-combo__empty{ padding:var(--hw-space-5); text-align:center; font-size:var(--hw-fs-sm); color:var(--hw-text-subtle); }
.hw-combo__foot{ display:flex; justify-content:space-between; gap:var(--hw-space-4); padding-top:var(--hw-space-3); border-top:1px solid var(--hw-divider); }

.hw-items{ display:grid; gap:var(--hw-space-5); grid-template-columns:repeat(auto-fill,minmax(var(--hw-min,168px),1fr)); align-content:start; }
.hw-item{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:var(--hw-space-4);
  min-width:0;
  padding:var(--hw-space-5);
  border:1px solid var(--hw-border);
  border-radius:var(--hw-radius-md);
  background:var(--hw-surface);
  box-shadow:var(--hw-shadow-sm);
  cursor:pointer;
  user-select:none;
  transition:border-color var(--hw-dur-fast),box-shadow var(--hw-dur-fast),transform var(--hw-dur-fast),background var(--hw-dur-fast);
}
.hw-item:hover{ border-color:color-mix(in srgb,var(--hw-primary) 35%,var(--hw-border)); box-shadow:var(--hw-shadow-md); }
.hw-item.is-selected{ border-color:color-mix(in srgb,var(--hw-primary) 65%,var(--hw-border)); background:color-mix(in srgb,var(--hw-primary) 9%,var(--hw-surface)); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-primary) 16%,transparent); }
.hw-item.is-drop-target{ background:color-mix(in srgb,var(--hw-primary) 14%,var(--hw-surface)); }
.hw-item__preview{ position:relative; display:grid; place-items:center; aspect-ratio:16/10; border-radius:var(--hw-radius-sm); background:var(--hw-surface-2); color:var(--hw-tone,var(--hw-primary)); overflow:hidden; }
.hw-item__preview > img{ width:100%; height:100%; object-fit:cover; }
.hw-item__preview > .hw-icon{ --hw-icon-size:34px; }
.hw-item__name{ font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-semibold); overflow-wrap:anywhere; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.hw-item__meta{ font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); }
.hw-item__check{ position:absolute; top:var(--hw-space-4); left:var(--hw-space-4); z-index:1; }
.hw-item__actions{ position:absolute; top:var(--hw-space-4); right:var(--hw-space-4); display:flex; gap:2px; opacity:0; transition:opacity var(--hw-dur-fast); }
.hw-item:hover .hw-item__actions,.hw-item:focus-within .hw-item__actions,.hw-item.is-selected .hw-item__actions{ opacity:1; }
.hw-items--list{ grid-template-columns:1fr; gap:0; border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface); overflow:hidden; }
.hw-items--list > .hw-item{ flex-direction:row; align-items:center; border:0; border-radius:0; box-shadow:none; padding:var(--hw-space-4) var(--hw-space-6); background:transparent; }
.hw-items--list > .hw-item + .hw-item{ border-top:1px solid var(--hw-divider); }
.hw-items--list > .hw-item .hw-item__preview{ width:36px; height:36px; aspect-ratio:auto; flex:0 0 auto; }
.hw-items--list > .hw-item .hw-item__preview > .hw-icon{ --hw-icon-size:18px; }
.hw-items--list > .hw-item .hw-item__name{ flex:1 1 auto; -webkit-line-clamp:1; }
.hw-items--list > .hw-item .hw-item__check{ position:static; }
.hw-items--list > .hw-item .hw-item__actions{ position:static; }
.hw-selection-box{ position:fixed; z-index:var(--hw-z-sticky); border:1px solid var(--hw-primary); background:color-mix(in srgb,var(--hw-primary) 12%,transparent); border-radius:3px; pointer-events:none; }

.hw-tree{ display:flex; flex-direction:column; gap:1px; margin:0; padding:0; list-style:none; }
.hw-tree .hw-tree{ padding-left:var(--hw-space-7); margin-left:var(--hw-space-4); border-left:1px dashed var(--hw-divider); }
.hw-tree__node{ min-width:0; }
.hw-tree__row{ display:flex; align-items:center; gap:var(--hw-space-4); min-height:34px; padding:var(--hw-space-2) var(--hw-space-4); border:1px solid transparent; border-radius:var(--hw-radius-sm); cursor:pointer; min-width:0; }
.hw-tree__row:hover{ background:color-mix(in srgb,var(--hw-text) 4%,transparent); }
button.hw-tree__row{ width:100%; background:none; color:inherit; font:inherit; text-align:left; }
.hw-tree__row > .hw-count,.hw-tree__row > .hw-tree__meta{ margin-left:auto; }
.hw-tree__node > .hw-list,.hw-tree__node > .hw-stack{ margin:var(--hw-space-2) 0 var(--hw-space-3) var(--hw-space-7); }
.hw-tree__node:not(.is-open) > .hw-list{ display:none; }
.hw-tree__row.is-active,.hw-tree__row.is-selected{ background:color-mix(in srgb,var(--hw-primary) 12%,transparent); border-color:color-mix(in srgb,var(--hw-primary) 30%,transparent); }
.hw-tree__toggle{ display:grid; place-items:center; width:20px; height:20px; flex:0 0 auto; border:0; border-radius:var(--hw-radius-xs); background:none; color:var(--hw-text-subtle); cursor:pointer; transition:transform var(--hw-dur-fast); }
.hw-tree__toggle::before{ content:""; width:6px; height:6px; border:solid currentColor; border-width:0 1.8px 1.8px 0; transform:rotate(-45deg); }
.hw-tree__node.is-open > .hw-tree__row > .hw-tree__toggle{ transform:rotate(90deg); }
.hw-tree__node:not(.is-open) > .hw-tree{ display:none; }
.hw-tree__label{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-medium); }
.hw-tree__meta{ font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); }

.hw-editor{ display:flex; flex-direction:column; min-width:0; border:1px solid var(--hw-field-border); border-radius:min(var(--hw-ctl-radius),var(--hw-radius-lg)); background:var(--hw-field-bg); overflow:hidden; }
.hw-editor:focus-within{ border-color:color-mix(in srgb,var(--hw-primary) 60%,transparent); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-primary) 18%,transparent); }
.hw-editor__toolbar{ display:flex; flex-wrap:wrap; align-items:center; gap:2px; padding:var(--hw-space-3); border-bottom:1px solid var(--hw-field-border); background:var(--hw-surface-2); }
.hw-editor__toolbar .hw-btn{ --hw-ctl-h:30px; --hw-ctl-px:8px; }
.hw-editor__sep{ width:1px; height:20px; margin:0 var(--hw-space-2); background:var(--hw-divider); }
.hw-editor__content{ min-height:var(--hw-editor-h,180px); max-height:var(--hw-editor-max-h,60vh); padding:var(--hw-space-5) var(--hw-space-6); overflow:auto; outline:none; }
.hw-editor__content:empty::before{ content:attr(data-placeholder); color:var(--hw-text-subtle); }
.hw-editor__source{ border:0; border-radius:0; min-height:var(--hw-editor-h,180px); font-family:var(--hw-font-mono); font-size:var(--hw-fs-sm); background:transparent; box-shadow:none !important; }

.hw-cropper{ width:100%; min-height:240px; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:var(--hw-space-5); border:1px solid var(--hw-border); border-radius:var(--hw-radius-lg); background:color-mix(in srgb,var(--hw-bg) 90%,#000 10%); }
.hw-cropper__stage{ position:relative; flex:none; overflow:hidden; touch-action:none; user-select:none; -webkit-user-select:none; background:#060a12; box-shadow:var(--hw-shadow-md); }
.hw-cropper__stage > img{ position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:fill; pointer-events:none; user-select:none; -webkit-user-drag:none; max-width:none; }
.hw-cropper__selection{ position:absolute; box-sizing:border-box; border:2px solid #fff; outline:none; cursor:move; touch-action:none; box-shadow:0 0 0 9999px rgba(2,7,16,.64),0 0 0 1px color-mix(in srgb,var(--hw-primary) 90%,transparent),0 0 24px color-mix(in srgb,var(--hw-primary) 30%,transparent); }
.hw-cropper__selection--round{ border-radius:50%; }
.hw-cropper__selection:focus-visible{ box-shadow:0 0 0 9999px rgba(2,7,16,.64),0 0 0 4px var(--hw-focus); }
.hw-cropper__grid{ position:absolute; pointer-events:none; background:rgba(255,255,255,.42); }
.hw-cropper__grid--v1,.hw-cropper__grid--v2{ top:0; bottom:0; width:1px; }
.hw-cropper__grid--v1{ left:33.333%; } .hw-cropper__grid--v2{ left:66.666%; }
.hw-cropper__grid--h1,.hw-cropper__grid--h2{ left:0; right:0; height:1px; }
.hw-cropper__grid--h1{ top:33.333%; } .hw-cropper__grid--h2{ top:66.666%; }
.hw-cropper__handle{ position:absolute; width:24px; height:24px; padding:0; border:0; background:transparent; cursor:nwse-resize; touch-action:none; }
.hw-cropper__handle::after{ content:""; position:absolute; width:12px; height:12px; border:3px solid #fff; filter:drop-shadow(0 1px 2px rgba(0,0,0,.5)); }
.hw-cropper__handle--nw{ left:-9px; top:-9px; } .hw-cropper__handle--nw::after{ left:7px; top:7px; border-right:0; border-bottom:0; }
.hw-cropper__handle--ne{ right:-9px; top:-9px; cursor:nesw-resize; } .hw-cropper__handle--ne::after{ right:7px; top:7px; border-left:0; border-bottom:0; }
.hw-cropper__handle--se{ right:-9px; bottom:-9px; } .hw-cropper__handle--se::after{ right:7px; bottom:7px; border-left:0; border-top:0; }
.hw-cropper__handle--sw{ left:-9px; bottom:-9px; cursor:nesw-resize; } .hw-cropper__handle--sw::after{ left:7px; bottom:7px; border-right:0; border-top:0; }

.hw-qr{ display:inline-grid; place-items:center; padding:var(--hw-space-5); border-radius:var(--hw-radius-md); background:#fff; border:1px solid var(--hw-border); }
.hw-qr > canvas,.hw-qr > svg,.hw-qr > img{ display:block; width:var(--hw-qr-size,180px); height:var(--hw-qr-size,180px); }
.hw-copy{ display:flex; align-items:center; gap:var(--hw-space-3); min-width:0; padding:3px 3px 3px var(--hw-space-5); border:1px solid var(--hw-field-border); border-radius:var(--hw-ctl-radius); background:var(--hw-field-bg); }
.hw-copy__value{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--hw-font-mono); font-size:var(--hw-fs-sm); }
.hw-copy .hw-btn{ --hw-ctl-h:30px; }

.hw-chat{ display:flex; flex-direction:column; min-height:0; height:100%; }
.hw-chat__messages{ flex:1 1 auto; min-height:0; overflow-y:auto; display:flex; flex-direction:column; gap:var(--hw-space-5); padding:var(--hw-space-6); scroll-behavior:smooth; }
.hw-chat__messages--bottom > :first-child{ margin-top:auto; }
.hw-msg{ display:flex; gap:var(--hw-space-4); max-width:88%; min-width:0; animation:hw-fade-up var(--hw-dur) var(--hw-ease); }
.hw-msg__bubble{ min-width:0; padding:var(--hw-space-5) var(--hw-space-6); border:1px solid var(--hw-border); border-radius:var(--hw-radius-lg); border-bottom-left-radius:6px; background:var(--hw-surface); font-size:var(--hw-fs-md); line-height:1.55; overflow-wrap:anywhere; }
.hw-msg--user{ align-self:flex-end; flex-direction:row-reverse; }
.hw-msg--user .hw-msg__bubble{ background:color-mix(in srgb,var(--hw-primary) 16%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-primary) 30%,var(--hw-border)); border-bottom-left-radius:var(--hw-radius-lg); border-bottom-right-radius:6px; }
.hw-msg--system{ align-self:center; max-width:100%; }
.hw-msg--system .hw-msg__bubble{ background:transparent; border-style:dashed; font-size:var(--hw-fs-sm); color:var(--hw-text-muted); }
.hw-msg--error .hw-msg__bubble{ border-color:color-mix(in srgb,var(--hw-danger) 40%,transparent); background:color-mix(in srgb,var(--hw-danger) 8%,var(--hw-surface)); }
.hw-msg__meta{ margin-top:var(--hw-space-3); font-size:var(--hw-fs-2xs); color:var(--hw-text-subtle); }
.hw-msg__actions{ display:flex; flex-wrap:wrap; gap:var(--hw-space-3); margin-top:var(--hw-space-4); }
.hw-chat__quick{ display:flex; flex-wrap:wrap; gap:var(--hw-space-3); padding:0 var(--hw-space-6) var(--hw-space-4); }
.hw-chat__composer{ display:flex; align-items:flex-end; gap:var(--hw-space-4); padding:var(--hw-space-5) var(--hw-space-6); border-top:1px solid var(--hw-divider); background:var(--hw-surface-2); }
.hw-chat__composer .hw-textarea{ min-height:var(--hw-ctl-h); max-height:180px; resize:none; }
.hw-chat{ position:relative; }
.hw-chat__head{ display:flex; align-items:center; justify-content:space-between; gap:var(--hw-space-5); padding:var(--hw-space-6) var(--hw-space-7); border-bottom:1px solid var(--hw-divider); background:color-mix(in srgb,var(--hw-surface-2) 80%,transparent); flex:0 0 auto; }
.hw-chat__heading{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.hw-chat__heading > strong{ font-size:var(--hw-fs-lg); font-weight:var(--hw-fw-bold); line-height:1.2; }
.hw-chat__composer{ flex-wrap:wrap; }
.hw-chat__composer > .hw-textarea{ flex:1 1 0; }
.hw-chat__note{ flex:1 0 100%; font-size:var(--hw-fs-2xs); color:var(--hw-text-subtle); line-height:1.4; }
.hw-chat__side{ position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; background:linear-gradient(var(--hw-elevated),var(--hw-elevated)),var(--hw-bg); animation:hw-fade-up var(--hw-dur) var(--hw-ease); }
.hw-chat__side-body{ flex:1 1 auto; min-height:0; overflow:auto; display:flex; flex-direction:column; gap:var(--hw-space-6); padding:var(--hw-space-6) var(--hw-space-7); }
.hw-msg--card{ flex-direction:column; align-items:stretch; gap:var(--hw-space-4); padding:var(--hw-space-5) var(--hw-space-6); border:1px solid var(--hw-border); border-radius:var(--hw-radius-lg); border-bottom-left-radius:6px; background:var(--hw-surface); font-size:var(--hw-fs-md); line-height:1.55; overflow-wrap:anywhere; }
.hw-msg--card.hw-msg--user{ flex-direction:column; background:color-mix(in srgb,var(--hw-primary) 16%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-primary) 30%,var(--hw-border)); border-bottom-left-radius:var(--hw-radius-lg); border-bottom-right-radius:6px; }
.hw-msg--card.hw-msg--error{ border-color:color-mix(in srgb,var(--hw-danger) 40%,transparent); background:color-mix(in srgb,var(--hw-danger) 8%,var(--hw-surface)); }
.hw-msg--card > .hw-msg__meta{ margin-top:0; }
.hw-msg__title{ font-weight:var(--hw-fw-bold); }
.hw-msg__text{ white-space:pre-line; }
.hw-msg.is-streaming .hw-msg__text::after{ content:""; display:inline-block; width:2px; height:1.05em; margin-left:2px; vertical-align:-2px; background:currentColor; animation:hw-caret 1s steps(1) infinite; }
@keyframes hw-caret{ 50%{ opacity:0; } }
.hw-msg--typing{ padding:var(--hw-space-5) var(--hw-space-6); }
.hw-chat__work{ align-self:stretch; font-size:var(--hw-fs-sm); }
.hw-chat__work > summary{ display:flex; align-items:center; gap:var(--hw-space-4); cursor:pointer; list-style:none; color:var(--hw-text-muted); font-weight:var(--hw-fw-semibold); }
.hw-chat__work > summary::-webkit-details-marker{ display:none; }
.hw-chat__work > summary::after{ content:""; width:7px; height:7px; margin-left:auto; border:solid currentColor; border-width:0 1.8px 1.8px 0; transform:rotate(-45deg); transition:transform var(--hw-dur-fast); }
.hw-chat__work[open] > summary::after{ transform:rotate(45deg); }
.hw-chat__work:not(.is-finished) > summary::before{ content:""; width:10px; height:10px; border-radius:50%; border:2px solid var(--hw-primary); border-right-color:transparent; animation:hw-spin .8s linear infinite; }
.hw-chat__work > .hw-timeline{ margin-top:var(--hw-space-4); gap:var(--hw-space-3); }
.hw-ui-preview{ display:inline-flex; align-items:center; gap:var(--hw-space-3); pointer-events:none; }
.hw-btn.is-confirm{ --hw-tone:var(--hw-warning); border-color:color-mix(in srgb,var(--hw-warning) 55%,var(--hw-border)); }
.hw-chat--floating{
  position:fixed; right:22px; bottom:22px; z-index:var(--hw-z-window);
  width:min(430px,calc(100vw - 32px)); height:min(680px,calc(100vh - 110px)); height:min(680px,calc(100dvh - 110px));
  border:1px solid var(--hw-border); border-radius:var(--hw-radius-xl); background:var(--hw-elevated);
  box-shadow:var(--hw-shadow-lg),var(--hw-rim); -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px);
  overflow:hidden; opacity:0; visibility:hidden; transform:translateY(16px) scale(.98);
  transition:opacity var(--hw-dur) var(--hw-ease),transform var(--hw-dur) var(--hw-ease),visibility 0s linear var(--hw-dur);
}
.hw-chat--floating.is-open{ opacity:1; visibility:visible; transform:none; transition:opacity var(--hw-dur) var(--hw-ease),transform var(--hw-dur) var(--hw-ease); }
.hw-chat-launcher{ z-index:var(--hw-z-window); }
.hw-chat-launcher.is-open{ opacity:0; pointer-events:none; transform:translateY(8px); }
.hw-chat--page{ height:calc(100vh - var(--hw-header-h) - var(--hw-space-9)); height:calc(100dvh - var(--hw-header-h) - var(--hw-space-9)); max-width:1080px; margin:0 auto; border:1px solid var(--hw-border); border-radius:var(--hw-radius-xl); background:var(--hw-surface); box-shadow:var(--hw-shadow-md),var(--hw-rim); overflow:hidden; }
.hw-chat--page .hw-msg{ max-width:min(760px,88%); }
/* ---------- Nova 1.4.4 r3: full-screen grid, mini window, composer capsule ---------- */
.hws-assistant-main{ display:flex; flex-direction:column; min-width:0; min-height:0; height:100%; }
.hws-assistant-mark{ display:inline-grid; place-items:center; flex:0 0 auto; width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,var(--hw-primary),color-mix(in srgb,var(--hw-primary) 55%,#8b5cf6)); color:var(--hw-primary-contrast); font-weight:var(--hw-fw-black); font-size:var(--hw-fs-sm); box-shadow:var(--hw-rim); }
.hws-assistant-head{ min-height:52px; padding:var(--hw-space-4) var(--hw-space-6); }
.hws-assistant-head__copy{ flex-direction:row; align-items:center; gap:var(--hw-space-4); }
.hws-assistant-head__titles{ display:flex; flex-direction:column; min-width:0; gap:1px; }
.hws-assistant-head__titles > strong{ font-size:var(--hw-fs-md); font-weight:var(--hw-fw-bold); line-height:1.2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:52ch; }
.hws-assistant-status{ display:inline-flex; align-items:center; gap:6px; font-size:var(--hw-fs-2xs); color:var(--hw-text-subtle); line-height:1.3; }
.hws-assistant-status__dot{ width:7px; height:7px; border-radius:50%; background:var(--hw-text-subtle); flex:0 0 auto; }
.hws-assistant-status[data-state="available"] .hws-assistant-status__dot{ background:var(--hw-success); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-success) 22%,transparent); }
.hws-assistant-status:is([data-state="limited"],[data-state="insecure"],[data-state="not_configured"]) .hws-assistant-status__dot{ background:var(--hw-warning); }
.hws-assistant-more{ position:relative; }
.hws-assistant-more__menu{ position:absolute; right:0; top:calc(100% + 6px); z-index:var(--hw-z-dropdown); min-width:248px; max-width:min(320px,calc(100vw - 32px)); display:flex; flex-direction:column; gap:2px; padding:var(--hw-space-3); }
.hws-assistant-more__menu[hidden]{ display:none; }
.hws-assistant-more__voice{ display:flex; flex-direction:column; gap:var(--hw-space-2); padding:var(--hw-space-3) var(--hw-space-4) var(--hw-space-4); border-bottom:1px solid var(--hw-divider); margin-bottom:var(--hw-space-2); }
.hws-assistant-more__voice .hws-assistant-voice [data-voice-mic]{ display:none; }
.hws-assistant-more__about{ white-space:normal; cursor:default; line-height:1.45; }
/* Composer capsule (shared by both modes) */
.hws-assistant-form{ flex-direction:column; align-items:stretch; flex-wrap:nowrap; gap:var(--hw-space-3); padding:var(--hw-space-4) var(--hw-space-6) var(--hw-space-5); background:transparent; border-top:0; }
.hws-assistant-capsule{ display:flex; align-items:flex-end; gap:var(--hw-space-2); padding:6px; border:1px solid var(--hw-border); border-radius:var(--hw-radius-xl); background:var(--hw-surface); box-shadow:var(--hw-shadow-sm),var(--hw-rim); transition:border-color var(--hw-dur-fast),box-shadow var(--hw-dur-fast); }
.hws-assistant-capsule:focus-within{ border-color:color-mix(in srgb,var(--hw-primary) 55%,var(--hw-border)); box-shadow:0 0 0 var(--hw-focus-width,3px) color-mix(in srgb,var(--hw-focus,var(--hw-primary)) 22%,transparent),var(--hw-shadow-sm); }
.hws-assistant-capsule > .hws-assistant-input{ flex:1 1 0; min-width:0; min-height:0; max-height:none; border:0; background:transparent; box-shadow:none; padding:8px 4px; resize:none; line-height:1.45; font-size:var(--hw-fs-md); outline:none; }
.hws-assistant-capsule > .hws-assistant-input:focus{ box-shadow:none; }
.hws-assistant-capsule .hw-btn--icon{ width:40px; height:40px; flex:0 0 auto; border-radius:50%; }
.hws-assistant-capsule .hws-assistant-attachment{ align-self:flex-end; }
.hws-assistant-capsule .hws-assistant-attachment > .hw-btn{ border-radius:50%; }
.hws-assistant-mic.is-active{ color:var(--hw-danger); background:color-mix(in srgb,var(--hw-danger) 12%,transparent); }
.hws-assistant-send{ border-radius:50%; }
.hws-assistant-send[data-mode="send"] .hws-assistant-send__stop,.hws-assistant-send[data-mode="stop"] .hws-assistant-send__send{ display:none; }
.hws-assistant-send[data-mode="stop"]{ --hw-btn-tone:var(--hw-text); }
.hws-assistant-svg{ display:block; }
.hws-assistant-composer__meta{ display:flex; align-items:center; justify-content:space-between; gap:var(--hw-space-4); min-height:0; padding:0 var(--hw-space-4); }
/* 21.10.2026: the row shows only for the visible character counter. The voice
   status inside it is for screen readers; before, its text («Слушаю…») made
   the row appear and pushed the input field up when the microphone started. */
.hws-assistant-composer__meta:not(:has(.hws-assistant-counter:not([hidden]):not(:empty))){ display:none; }
.hws-assistant-counter.is-limit{ color:var(--hw-danger); }
.hws-assistant-caption{ text-align:center; }
.hws-assistant-suggest{ padding:0 var(--hw-space-6) var(--hw-space-2); }
.hws-assistant-suggest[hidden]{ display:none; }
/* Attachment chip above the field */
.hws-assistant-attach-chips{ display:flex; flex-wrap:wrap; gap:var(--hw-space-3); }
.hws-assistant-attach-chips[hidden]{ display:none; }
.hws-assistant-attach{ display:flex; align-items:center; gap:var(--hw-space-3); max-width:100%; padding:6px 6px 6px 12px; border:1px solid var(--hw-border); border-radius:var(--hw-radius-lg); background:var(--hw-surface-2); }
.hws-assistant-attach__body{ display:flex; flex-direction:column; min-width:0; gap:2px; }
.hws-assistant-attach__name{ font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-semibold); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:36ch; }
.hws-assistant-attach__bar{ display:block; width:140px; height:3px; border-radius:3px; background:var(--hw-divider); overflow:hidden; }
.hws-assistant-attach__bar > span{ display:block; height:100%; width:0; background:var(--hw-primary); transition:width var(--hw-dur) var(--hw-ease); }
.hws-assistant-attach[data-state="ready"] .hws-assistant-attach__bar{ display:none; }
.hws-assistant-attach[data-state="error"]{ border-color:color-mix(in srgb,var(--hw-danger) 45%,var(--hw-border)); }
/* Messages: Nova without a bubble, user bubble on the right */
.hws-assistant-messages{ padding:var(--hw-space-6) var(--hw-space-6) var(--hw-space-4); }
.hws-assistant-typing{ flex-direction:row; align-items:center; gap:var(--hw-space-4); }
.hws-assistant-typing__label{ font-size:var(--hw-fs-sm); color:var(--hw-text-muted); }
.hws-assistant-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:2px; margin-top:calc(var(--hw-space-2) * -1); }
.hws-assistant-actions__btn{ gap:6px; color:var(--hw-text-muted); padding-inline:8px; }
.hws-assistant-actions__btn:hover{ color:var(--hw-text); }
.hws-assistant-inline-sources{ display:flex; flex-direction:column; gap:var(--hw-space-4); padding:var(--hw-space-4); border:1px dashed var(--hw-border); border-radius:var(--hw-radius-md); }
.hws-assistant-steps-list,.hws-assistant-links-list{ list-style:none; margin:var(--hw-space-3) 0 0; padding:0; display:flex; flex-direction:column; gap:var(--hw-space-3); }
.hws-assistant-steps-list__item{ display:flex; flex-direction:column; gap:2px; padding-left:22px; position:relative; font-size:var(--hw-fs-sm); }
.hws-assistant-steps-list__item::before{ content:"✓"; position:absolute; left:0; top:0; width:16px; text-align:center; color:var(--hw-success); font-weight:var(--hw-fw-bold); }
.hws-assistant-steps-list__item.is-failed::before{ content:"✕"; color:var(--hw-danger); }
.hws-assistant-steps-list__item:is(.is-running,.is-queued)::before{ content:"•"; color:var(--hw-text-subtle); }
/* Empty state */
.hws-assistant-empty{ margin:auto 0 var(--hw-space-4); display:flex; flex-direction:column; gap:var(--hw-space-5); align-self:stretch; }
.hws-assistant-empty__title{ font-size:var(--hw-fs-2xl); font-weight:var(--hw-fw-bold); letter-spacing:-.01em; }
.hws-assistant-empty__lead{ margin:0; max-width:60ch; }
.hws-assistant-empty__cards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--hw-space-4); }
.hws-assistant-empty__card{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; padding:var(--hw-space-5); border:1px solid var(--hw-border); border-radius:var(--hw-radius-lg); background:var(--hw-surface); text-align:left; color:inherit; font:inherit; cursor:pointer; transition:border-color var(--hw-dur-fast),transform var(--hw-dur-fast),box-shadow var(--hw-dur-fast); }
.hws-assistant-empty__card:hover{ border-color:color-mix(in srgb,var(--hw-primary) 45%,var(--hw-border)); transform:translateY(-1px); box-shadow:var(--hw-shadow-sm); }
.hws-assistant-empty__card:focus-visible,.hws-assistant-nav__item:focus-visible,.hws-assistant-docs__open:focus-visible{ outline:var(--hw-focus-width,3px) solid color-mix(in srgb,var(--hw-focus,var(--hw-primary)) 55%,transparent); outline-offset:2px; }
.hws-assistant-empty__card > .hw-icon{ color:var(--hw-primary); margin-bottom:4px; }
/* Mini window */
.hw-chat--floating.hws-assistant-panel{ width:min(400px,calc(100vw - 32px)); height:min(680px,calc(100vh - 110px)); height:min(680px,calc(100dvh - 110px)); }
.hws-assistant-panel .hws-assistant-head{ min-height:52px; height:52px; padding:0 var(--hw-space-4) 0 var(--hw-space-5); }
.hws-assistant-panel .hws-assistant-capsule .hw-btn--icon{ width:36px; height:36px; }
.hws-assistant-panel .hws-assistant-capsule{ gap:4px; padding:4px; }
.hws-assistant-panel .hws-assistant-input{ min-width:0; padding-inline:3px; }
.hws-assistant-panel .hws-assistant-form{ padding:var(--hw-space-3) var(--hw-space-4) var(--hw-space-4); padding-bottom:calc(var(--hw-space-4) + var(--hws-keyboard,0px)); }
.hws-assistant-panel .hws-assistant-messages{ padding:var(--hw-space-6) var(--hw-space-6) var(--hw-space-3); }
.hws-assistant-panel .hws-assistant-empty__title{ font-size:var(--hw-fs-xl); }
.hws-assistant-panel .hws-assistant-empty__cards{ grid-template-columns:1fr 1fr; gap:var(--hw-space-3); }
.hws-assistant-panel .hws-assistant-empty__card{ padding:var(--hw-space-4); }
.hws-assistant-panel .hws-assistant-suggest{ padding:0 var(--hw-space-4) var(--hw-space-2); }
/* Full screen: 280 px sidebar · chat column (≤ 760 px) · sources panel */
.hw-chat--page.hws-assistant-fullscreen{ display:grid; grid-template-columns:280px minmax(0,1fr); grid-template-rows:minmax(0,1fr); max-width:none; width:100%; }
.hw-chat--page.hws-assistant-fullscreen.has-sources{ grid-template-columns:280px minmax(0,1fr) 340px; }
.hws-assistant-fullscreen .hws-assistant-main{ grid-column:2; }
.hws-assistant-fullscreen .hws-assistant-messages,.hws-assistant-fullscreen .hws-assistant-suggest,.hws-assistant-fullscreen .hws-assistant-form{ width:100%; max-width:calc(760px + 2 * var(--hw-space-6)); margin-inline:auto; }
.hws-assistant-fullscreen .hws-assistant-message--assistant:not(.hw-msg--error):not(.hws-assistant-typing){ max-width:100%; border:0; background:transparent; box-shadow:none; padding:0 0 0 44px; position:relative; }
.hws-assistant-fullscreen .hws-assistant-message--assistant:not(.hw-msg--error):not(.hws-assistant-typing)::before{ content:"N"; position:absolute; left:0; top:0; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(135deg,var(--hw-primary),color-mix(in srgb,var(--hw-primary) 55%,#8b5cf6)); color:var(--hw-primary-contrast); font-weight:var(--hw-fw-black); font-size:var(--hw-fs-sm); }
.hws-assistant-fullscreen .hws-assistant-message--user{ max-width:min(560px,80%); }
.hws-assistant-sidebar{ grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:var(--hw-space-6); min-height:0; overflow:auto; padding:var(--hw-space-6) var(--hw-space-5); border-right:1px solid var(--hw-divider); background:color-mix(in srgb,var(--hw-surface-2) 70%,transparent); }
.hws-assistant-sidebar__brand{ display:flex; align-items:center; gap:var(--hw-space-4); }
.hws-assistant-sidebar__brand > div{ display:flex; flex-direction:column; }
.hws-assistant-sidebar .hws-assistant-mark{ width:36px; height:36px; font-size:var(--hw-fs-md); }
.hws-assistant-nav{ display:flex; flex-direction:column; gap:2px; }
.hws-assistant-nav__item{ display:flex; align-items:center; gap:var(--hw-space-4); width:100%; padding:9px 12px; border:0; border-radius:var(--hw-radius-md); background:transparent; color:var(--hw-text-muted); font:inherit; font-size:var(--hw-fs-sm); text-align:left; cursor:pointer; }
.hws-assistant-nav__item:hover{ background:color-mix(in srgb,var(--hw-primary) 8%,transparent); color:var(--hw-text); }
.hws-assistant-nav__item.is-active{ background:color-mix(in srgb,var(--hw-primary) 14%,transparent); color:var(--hw-text); font-weight:var(--hw-fw-semibold); }
.hws-assistant-docs{ display:flex; flex-direction:column; gap:var(--hw-space-3); min-height:0; }
.hws-assistant-docs__head{ display:flex; align-items:center; justify-content:space-between; }
.hws-assistant-docs__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.hws-assistant-docs__open{ display:flex; align-items:center; justify-content:space-between; gap:var(--hw-space-3); width:100%; padding:7px 10px; border:0; border-radius:var(--hw-radius-sm); background:transparent; color:inherit; font:inherit; font-size:var(--hw-fs-sm); text-align:left; cursor:pointer; }
.hws-assistant-docs__open:hover{ background:color-mix(in srgb,var(--hw-primary) 8%,transparent); }
.hws-assistant-docs__name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.hws-assistant-docs__status.is-queued,.hws-assistant-docs__status.is-indexing{ color:var(--hw-warning); }
.hws-assistant-docs__status.is-error{ color:var(--hw-danger); }
.hws-assistant-sources{ grid-column:3; grid-row:1; display:flex; flex-direction:column; min-height:0; border-left:1px solid var(--hw-divider); background:color-mix(in srgb,var(--hw-surface-2) 70%,transparent); animation:hw-fade-up var(--hw-dur) var(--hw-ease); }
.hws-assistant-sources[hidden]{ display:none; }
.hws-assistant-sources__body{ flex:1 1 auto; min-height:0; overflow:auto; display:flex; flex-direction:column; gap:var(--hw-space-6); padding:var(--hw-space-6); }
.hws-assistant-sources__entry{ display:flex; flex-direction:column; gap:var(--hw-space-4); padding:var(--hw-space-4); border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface); transition:box-shadow var(--hw-dur) var(--hw-ease),border-color var(--hw-dur) var(--hw-ease); }
.hws-assistant-sources__entry.is-target{ border-color:var(--hw-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-primary) 18%,transparent); }
.hws-assistant-sources__entry-head{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.hws-assistant-sources__time{ color:var(--hw-text-subtle); }
.hws-assistant-sources__question{ overflow-wrap:anywhere; }
.hws-assistant-sources__jump{ margin-top:var(--hw-space-2); }
.hws-assistant-sources__trace{ margin-top:var(--hw-space-3); border-radius:var(--hw-radius-sm); }
.hws-assistant-sources__trace-head{ display:flex; align-items:center; gap:var(--hw-space-2); cursor:pointer; list-style:none; padding:var(--hw-space-2) 0; user-select:none; }
.hws-assistant-sources__trace-head::-webkit-details-marker{ display:none; }
.hws-assistant-sources__trace-head::before{ content:""; flex:none; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); transition:transform var(--hw-dur) var(--hw-ease); }
.hws-assistant-sources__trace[open] > .hws-assistant-sources__trace-head::before{ transform:rotate(45deg); }
.hws-assistant-sources__trace-list{ gap:var(--hw-space-3); margin-top:var(--hw-space-3); }
.hws-assistant-sources__trace-list > .hw-timeline__item::before{ width:10px; height:10px; top:4px; left:calc(var(--hw-space-8) * -1 + 5px); }
.hws-assistant-sidebar-toggle{ display:none; }
.hws-assistant-backdrop{ display:none; }
.hws-assistant-version{ width:100%; }
@media (max-width:1100px){
  .hw-chat--page.hws-assistant-fullscreen,.hw-chat--page.hws-assistant-fullscreen.has-sources{ grid-template-columns:minmax(0,1fr); }
  .hws-assistant-fullscreen .hws-assistant-main{ grid-column:1; }
  .hws-assistant-sidebar-toggle{ display:inline-flex; }
  .hws-assistant-sidebar{ position:absolute; inset:0 auto 0 0; z-index:5; width:min(300px,86vw); transform:translateX(-102%); transition:transform var(--hw-dur) var(--hw-ease); background:var(--hw-elevated); box-shadow:var(--hw-shadow-lg); }
  .hws-assistant-fullscreen.is-sidebar-open .hws-assistant-sidebar{ transform:none; }
  .hws-assistant-backdrop:not([hidden]){ display:block; position:absolute; inset:0; z-index:4; background:color-mix(in srgb,#000 32%,transparent); }
  .hws-assistant-sources{ position:absolute; left:0; right:0; bottom:0; z-index:6; max-height:62%; border-left:0; border-top:1px solid var(--hw-divider); border-radius:var(--hw-radius-xl) var(--hw-radius-xl) 0 0; background:var(--hw-elevated); box-shadow:var(--hw-shadow-lg); }
}
@media (max-width:640px){
  .hws-assistant-empty__cards{ grid-template-columns:1fr; }
  .hws-assistant-head__titles > strong{ max-width:22ch; }
  .hws-assistant-fullscreen .hws-assistant-message--assistant:not(.hw-msg--error):not(.hws-assistant-typing){ padding-left:0; }
  .hws-assistant-fullscreen .hws-assistant-message--assistant:not(.hw-msg--error):not(.hws-assistant-typing)::before{ position:static; margin-bottom:var(--hw-space-2); }
  .hws-assistant-messages,.hws-assistant-form{ padding-inline:var(--hw-space-5); }
}
@media (max-width:480px){
  .hw-chat--floating.hws-assistant-panel{ left:0; right:0; bottom:0; top:auto; width:100%; height:100dvh; max-height:100dvh; border-radius:var(--hw-radius-xl) var(--hw-radius-xl) 0 0; }
  .hws-assistant-panel .hws-assistant-empty__cards{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  .hws-assistant-sidebar,.hws-assistant-sources,.hws-assistant-empty__card,.hws-assistant-attach__bar > span,.hws-assistant-capsule{ transition:none; animation:none; }
  .hws-assistant-messages{ scroll-behavior:auto; }
}
/* ---------- Nova 1.4.4 r4: chats, composer, cards, settings ---------- */
/* 2.1: the full-screen Nova page is exactly one viewport tall. Before, the
   .hw-page paddings made it ~32 px taller than the window, so scrollIntoView
   («Документы») scrolled the document and the clipped chat grid and the chat
   header slid off screen until reload. Nothing here can scroll now. */
body[data-assistant-fullscreen="1"]{ overflow:hidden; }
body[data-assistant-fullscreen="1"] .hws-assistant-fullscreen-shell{ box-sizing:border-box; height:100vh; height:100dvh; min-height:0; padding-bottom:var(--hw-page-pad); overflow:clip; }
body[data-assistant-fullscreen="1"] .hws-assistant-fullscreen-shell > .hw-container{ height:100%; }
body[data-assistant-fullscreen="1"] .hw-chat--page.hws-assistant-fullscreen{ height:100%; }
.hw-chat--page.hws-assistant-fullscreen{ overflow:clip; }
/* §3.1: no inner outline — focus is shown only on the capsule (ID wins over skins). */
.hws-assistant-capsule > #hwsAssistantInput,
.hws-assistant-capsule > #hwsAssistantInput:hover,
.hws-assistant-capsule > #hwsAssistantInput:focus,
.hws-assistant-capsule > #hwsAssistantInput:focus-visible{ border:0; background:transparent; box-shadow:none; outline:none; }
.hws-assistant-capsule:focus-within{ outline:2px solid transparent; }
.hws-assistant-form > .hws-assistant-voice{ display:none; }
/* §3.2: compact version combo in the capsule, before the microphone. */
.hws-assistant-composer__meta{ display:flex; padding:0 var(--hw-space-3); min-height:24px; }
.hws-assistant-capsule > .hws-assistant-version-chip{ align-self:flex-end; flex:0 0 auto; }
.hws-assistant-version-chip{ position:relative; display:inline-flex; align-items:center; min-width:0; }
.hws-assistant-version-chip[hidden]{ display:none; }
.hws-assistant-version-chip__host{ min-width:0; }
.hws-assistant-version-chip .hw-combo{ width:auto; min-width:0; }
.hws-assistant-version-chip .hw-combo__control{ width:auto; min-width:0; min-height:40px; height:40px; max-width:154px; padding:0 30px 0 12px; border-color:var(--hw-border); border-radius:var(--hw-radius-pill); background-color:var(--hw-surface-2); color:var(--hw-text-muted); font-size:var(--hw-fs-xs); font-weight:var(--hw-fw-semibold); }
.hws-assistant-version-chip .hw-combo__control:hover{ color:var(--hw-text); border-color:color-mix(in srgb,var(--hw-primary) 40%,var(--hw-border)); }
.hws-assistant-version-chip .hw-combo__panel{ left:0; right:auto; min-width:220px; }
/* 21.10.2026: version menu with a side submenu (Nova 1.4.4 › Lite / PRO); it opens upwards. */
.hws-nova-picker{ position:relative; }
.hws-nova-picker__btn{ position:relative; display:inline-flex; align-items:center; height:40px; max-width:190px; padding:0 30px 0 14px; border:1px solid var(--hw-border); border-radius:var(--hw-radius-pill); background:var(--hw-surface-2); color:var(--hw-text-muted); font:inherit; font-size:var(--hw-fs-xs); font-weight:var(--hw-fw-semibold); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; }
.hws-nova-picker__btn::after{ content:""; position:absolute; right:13px; top:50%; width:6px; height:6px; margin-top:-5px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.hws-nova-picker__btn:hover,.hws-nova-picker__btn[aria-expanded="true"]{ color:var(--hw-text); border-color:color-mix(in srgb,var(--hw-primary) 40%,var(--hw-border)); }
.hws-nova-picker__btn:focus-visible{ outline:none; box-shadow:0 0 0 var(--hw-focus-width,3px) color-mix(in srgb,var(--hw-focus,var(--hw-primary)) 30%,transparent); }
.hws-assistant-panel .hws-nova-picker__btn{ height:36px; }
.hws-nova-picker__menu,.hws-nova-picker__sub{ min-width:190px; padding:4px; border:1px solid var(--hw-border); border-radius:var(--hw-radius-lg); background:var(--hw-elevated); box-shadow:var(--hw-shadow-lg); }
.hws-nova-picker__menu{ position:absolute; z-index:var(--hw-z-dropdown,50); left:0; bottom:calc(100% + 6px); }
.hws-nova-picker.opens-left .hws-nova-picker__menu{ left:auto; right:0; }
.hws-nova-picker__menu[hidden]{ display:none; }
.hws-nova-picker__item{ position:relative; }
.hws-nova-picker__menu button{ display:flex; align-items:center; gap:10px; width:100%; padding:8px 12px; border:0; border-radius:var(--hw-radius-md); background:none; color:var(--hw-text); font:inherit; font-size:var(--hw-fs-sm); text-align:left; white-space:nowrap; cursor:pointer; }
.hws-nova-picker__menu button:hover,.hws-nova-picker__menu button:focus-visible,.hws-nova-picker__item.is-open > button{ background:var(--hw-surface-2); outline:none; }
.hws-nova-picker__menu button[aria-checked="true"]{ color:var(--hw-primary); font-weight:var(--hw-fw-semibold); }
.hws-nova-picker__menu button[aria-checked="true"]:not([data-parent])::after{ content:"✓"; margin-left:auto; }
.hws-nova-picker__menu button[data-parent]::after{ content:"›"; margin-left:auto; font-size:1.2em; line-height:1; }
.hws-nova-picker.opens-left .hws-nova-picker__menu button[data-parent]::after{ content:"‹"; }
.hws-nova-picker__hint{ color:var(--hw-text-muted); font-size:var(--hw-fs-xs); font-weight:400; }
/* 22.10.2026: code in Nova answers — a block with the language and «Копировать», inline code;
   light highlighting through the theme tokens (dark and light). */
.hws-code{ margin:8px 0; border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface-2); overflow:hidden; white-space:normal; }
.hws-code__head{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:2px 4px 2px 10px; border-bottom:1px solid var(--hw-border); background:var(--hw-surface-3); }
.hws-code__lang{ color:var(--hw-text-muted); font-size:var(--hw-fs-xs); font-weight:600; letter-spacing:.02em; }
.hws-code__pre{ margin:0; padding:10px 12px; overflow:auto; max-height:520px; font-family:var(--hw-font-mono); font-size:13px; line-height:1.5; white-space:pre; tab-size:4; color:var(--hw-text); }
.hws-code__pre:focus-visible{ outline:2px solid color-mix(in srgb,var(--hw-primary) 50%,transparent); outline-offset:-2px; }
.hws-code.is-open .hws-code__pre::after{ content:'▍'; color:var(--hw-text-muted); animation:hws-code-caret 1s steps(1) infinite; }
@keyframes hws-code-caret{ 50%{ opacity:0; } }
.hws-code-inline{ padding:1px 5px; border-radius:var(--hw-radius-xs); background:var(--hw-surface-2); border:1px solid var(--hw-border); font-family:var(--hw-font-mono); font-size:.92em; }
.hws-code-k{ color:color-mix(in srgb,var(--hw-primary) 85%,var(--hw-text)); font-weight:600; }
.hws-code-s{ color:color-mix(in srgb,var(--hw-success) 80%,var(--hw-text)); }
.hws-code-n{ color:color-mix(in srgb,var(--hw-warning) 80%,var(--hw-text)); }
.hws-code-c{ color:var(--hw-text-muted); font-style:italic; }
/* 22.10.2026: an answer that broke off — the text stays, the bar offers «Продолжить» / «Повторить». */
.hws-assistant-interrupted{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; margin-top:8px; padding:6px 8px 6px 10px; border:1px solid color-mix(in srgb,var(--hw-warning) 45%,var(--hw-border)); border-radius:var(--hw-radius-md); background:color-mix(in srgb,var(--hw-warning) 10%,var(--hw-surface)); }
.hws-assistant-interrupted__text{ flex:1 1 180px; color:var(--hw-text); font-size:var(--hw-fs-sm); }
.hws-nova-picker__sub{ position:absolute; bottom:-5px; left:100%; display:none; min-width:150px; }
.hws-nova-picker.opens-left .hws-nova-picker__sub{ left:auto; right:100%; }
.hws-nova-picker__item.has-sub:hover > .hws-nova-picker__sub,.hws-nova-picker__item.has-sub:focus-within > .hws-nova-picker__sub,.hws-nova-picker__item.is-open > .hws-nova-picker__sub{ display:block; }
@media (max-width:560px){
  .hws-nova-picker__btn{ max-width:136px; padding:0 26px 0 11px; }
  .hws-nova-picker__menu button[data-parent]::after,.hws-nova-picker.opens-left .hws-nova-picker__menu button[data-parent]::after{ content:"▾"; font-size:1em; }
  .hws-nova-picker__sub{ position:static; min-width:0; padding:0 0 0 14px; border:0; box-shadow:none; background:none; }
  .hws-nova-picker__item.has-sub:hover > .hws-nova-picker__sub{ display:none; }
  .hws-nova-picker__item.is-open > .hws-nova-picker__sub{ display:block; }
}
.hws-assistant-counter{ margin-left:auto; }
/* §3.3: speech toggle in the capsule */
.hws-assistant-tts.is-active{ color:var(--hw-primary); background:color-mix(in srgb,var(--hw-primary) 14%,transparent); }
.hws-assistant-tts:not(.is-active) .hws-assistant-tts__waves{ opacity:.35; }
.hws-assistant-tts.is-starting{ animation:hws-pulse 1.2s ease-in-out infinite; }
/* §3.4: live microphone wave */
.hws-assistant-mic{ position:relative; }
.hws-assistant-mic__wave{ display:none; align-items:center; justify-content:center; gap:2px; height:18px; }
.hws-assistant-mic__wave > i{ display:block; width:3px; height:18px; border-radius:2px; background:currentColor; transform:scaleY(var(--hws-bar,.18)); transform-origin:center; transition:transform 80ms linear; }
.hws-assistant-mic.is-listening .hws-assistant-mic__icon{ display:none; }
.hws-assistant-mic.is-listening .hws-assistant-mic__wave{ display:inline-flex; }
.hws-assistant-mic.is-starting{ animation:hws-pulse 1.2s ease-in-out infinite; }
@keyframes hws-pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.55; } }
@media (prefers-reduced-motion:reduce){
  .hws-assistant-mic__wave > i{ transform:scaleY(.6); transition:none; }
  .hws-assistant-mic.is-listening{ animation:hws-pulse 1.6s ease-in-out infinite; }
}
/* §6: «⋯» menu as hw-menu */
.hws-assistant-more__toggle[aria-expanded="true"]{ background:color-mix(in srgb,var(--hw-text) 8%,transparent); color:var(--hw-text); }
.hws-assistant-more__menu{ min-width:236px; gap:0; padding:var(--hw-space-2); }
.hws-assistant-more__item{ gap:var(--hw-space-4); }
.hws-assistant-more__item[hidden]{ display:none; }
/* §4–5: sidebar — new chat, sections, chats */
.hws-assistant-sidebar{ gap:var(--hw-space-5); }
.hws-assistant-new-chat{ justify-content:flex-start; gap:var(--hw-space-3); }
.hws-assistant-nav__item > .hws-assistant-nav__label{ flex:1 1 auto; }
.hws-assistant-nav__item[data-assistant-nav="documents"]::after{ content:""; width:6px; height:6px; margin-left:2px; border:solid currentColor; border-width:0 1.6px 1.6px 0; transform:rotate(-45deg); opacity:.6; transition:transform var(--hw-dur-fast); }
.hws-assistant-nav__item.is-open::after{ transform:rotate(45deg); }
.hws-assistant-nav__count{ font-variant-numeric:tabular-nums; }
.hws-assistant-docs{ padding:0 0 var(--hw-space-2) var(--hw-space-7); }
.hws-assistant-docs[hidden]{ display:none; }
.hws-assistant-docs__empty{ padding:4px 10px; }
.hws-assistant-chats{ display:flex; flex-direction:column; gap:var(--hw-space-3); min-height:0; flex:1 1 auto; }
.hws-assistant-chats__head{ display:flex; align-items:center; justify-content:space-between; padding:var(--hw-space-3) var(--hw-space-3) 0; border-top:1px solid var(--hw-divider); padding-top:var(--hw-space-5); }
.hws-assistant-chats__search[hidden]{ display:none; }
.hws-assistant-chats__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; max-height:min(60vh,calc(20 * 38px)); overflow:auto; overscroll-behavior:contain; }
.hws-assistant-chat{ position:relative; display:flex; align-items:center; border-radius:var(--hw-radius-md); }
.hws-assistant-chat:hover{ background:color-mix(in srgb,var(--hw-primary) 7%,transparent); }
.hws-assistant-chat.is-active{ background:color-mix(in srgb,var(--hw-primary) 14%,transparent); }
.hws-assistant-chat__open{ display:flex; align-items:center; gap:var(--hw-space-3); flex:1 1 auto; min-width:0; min-height:36px; padding:6px 4px 6px 12px; border:0; border-radius:inherit; background:transparent; color:var(--hw-text-muted); font:inherit; font-size:var(--hw-fs-sm); text-align:left; cursor:pointer; }
.hws-assistant-chat.is-active .hws-assistant-chat__open{ color:var(--hw-text); font-weight:var(--hw-fw-semibold); }
.hws-assistant-chat__open:focus-visible{ outline:var(--hw-focus-width,2px) solid var(--hw-focus); outline-offset:-2px; }
.hws-assistant-chat__title{ min-width:0; flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hws-assistant-chat__pin{ --hw-icon-size:14px; color:var(--hw-primary); flex:0 0 auto; }
.hws-assistant-chat__more{ flex:0 0 auto; opacity:0; transition:opacity var(--hw-dur-fast); }
.hws-assistant-chat:hover .hws-assistant-chat__more,.hws-assistant-chat.is-active .hws-assistant-chat__more,.hws-assistant-chat__more:focus-visible,.hws-assistant-chat__more[aria-expanded="true"]{ opacity:1; }
@media (hover:none){ .hws-assistant-chat__more{ opacity:1; } }
.hws-assistant-chat__menu{ position:fixed; z-index:calc(var(--hw-z-modal) + 10); min-width:180px; max-width:calc(100vw - 16px); }
.hws-assistant-rename{ width:100%; min-height:30px; }
.hws-assistant-head__titles > strong .hws-assistant-rename{ font-size:var(--hw-fs-md); font-weight:var(--hw-fw-semibold); max-width:min(52ch,60vw); }
.hws-assistant-new-chat:disabled{ opacity:.5; cursor:not-allowed; }
/* A message must never widen the chat. Long source URLs and unspaced titles
   wrap inside the answer instead of creating a horizontal scrollbar. */
.hws-assistant-main,.hws-assistant-messages,.hws-assistant-message,.hws-assistant-message__answer,.hws-assistant-inline-sources,.hws-assistant-links-list,.hws-assistant-links-list > li{ min-width:0; max-width:100%; }
.hws-assistant-messages{ overflow-x:hidden; }
.hws-assistant-message :is(.hw-msg__text,.hws-assistant-message__answer,.hws-assistant-inline-link,.hws-assistant-links-list a,.hws-assistant-link){ min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.hws-assistant-message .hws-assistant-links{ max-width:100%; }
.hws-assistant-message .hws-assistant-links > *{ min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
/* §7: wider column, readable lines, avatar closer */
.hws-assistant-fullscreen .hws-assistant-messages,.hws-assistant-fullscreen .hws-assistant-suggest,.hws-assistant-fullscreen .hws-assistant-form{ max-width:calc(920px + 2 * var(--hw-space-6)); }
.hws-assistant-fullscreen .hws-assistant-message--assistant:not(.hw-msg--error):not(.hws-assistant-typing){ padding-left:40px; }
.hws-assistant-fullscreen .hws-assistant-message--assistant:not(.hw-msg--error):not(.hws-assistant-typing)::before{ width:28px; height:28px; }
.hws-assistant-fullscreen .hws-assistant-message__answer{ max-width:86ch; }
.hws-assistant-fullscreen .hws-assistant-message--user{ max-width:min(640px,80%); }
.hws-assistant-fullscreen.is-text-large .hws-assistant-message__answer,.hws-assistant-fullscreen.is-text-large .hws-assistant-input,.hws-assistant-panel.is-text-large .hws-assistant-message__answer{ font-size:calc(var(--hw-fs-md) * 1.12); line-height:1.6; }
.is-trace-hidden .hws-assistant-work{ display:none; }
body[data-assistant-fullscreen="1"] .hws-assistant-fullscreen-shell > .hw-container--wide{ max-width:min(1800px,100%); }
@media (min-width:1400px){ .hw-chat--page.hws-assistant-fullscreen.has-sources{ grid-template-columns:280px minmax(0,1fr) 320px; } }
/* Answer toolbar — one row: copy · speak · sources · 👍 · 👎 */
.hws-assistant-toolbar{ display:flex; flex-wrap:wrap; align-items:center; gap:2px; margin-top:calc(var(--hw-space-2) * -1); }
.hws-assistant-toolbar__btn{ gap:6px; color:var(--hw-text-muted); padding-inline:8px; }
.hws-assistant-toolbar__btn:hover{ color:var(--hw-text); }
.hws-assistant-toolbar__btn[data-state="loading"]{ animation:hws-pulse 1.2s ease-in-out infinite; }
.hws-assistant-toolbar__btn[data-state="playing"]{ color:var(--hw-primary); }
.hws-assistant-feedback__buttons{ display:inline-flex; gap:2px; margin-left:var(--hw-space-2); padding-left:var(--hw-space-3); border-left:1px solid var(--hw-divider); }
.hws-assistant-feedback__btn{ filter:grayscale(1); opacity:.7; font-size:15px; }
.hws-assistant-feedback__btn:hover,.hws-assistant-feedback__btn.is-active{ filter:none; opacity:1; }
.hws-assistant-feedback__btn.is-active{ background:color-mix(in srgb,var(--hw-primary) 14%,transparent); }
.hws-assistant-feedback{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:var(--hw-space-4); }
.hws-assistant-feedback[hidden]{ display:none; }
.hws-assistant-feedback__reason{ max-width:280px; }
.hws-assistant-message > .hws-assistant-message__nova{ align-self:flex-start; }
@media (max-width:640px){
  .hws-assistant-toolbar__label{ display:none; }
  .hws-assistant-toolbar__btn{ padding-inline:6px; }
  .hws-assistant-head__actions{ flex-wrap:nowrap; }
  .hws-assistant-status{ min-width:0; }
  .hws-assistant-status__text{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:42vw; }
}
.hws-assistant-panel .hws-assistant-toolbar__label{ display:none; }
/* ---------- Answer cards ---------- */
.hws-assistant-message.has-card{ align-self:stretch; }
.hws-assistant-message.has-card > .hws-card,.hws-assistant-message.has-card > .hws-card--news,.hws-assistant-message.has-card > .hws-card--digest{ width:100%; }
.hws-card{ display:flex; flex-direction:column; gap:var(--hw-space-4); padding:var(--hw-space-6); }
.hws-card__head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--hw-space-4); flex-wrap:wrap; }
.hws-card__place{ display:flex; flex-direction:column; gap:2px; }
.hws-card__title{ font-size:var(--hw-fs-md); font-weight:var(--hw-fw-bold); }
.hws-card__eyebrow{ margin:0; }
.hws-card__foot{ border-top:1px solid var(--hw-divider); padding-top:var(--hw-space-3); }
.hws-wx{ flex:0 0 auto; stroke:currentColor; stroke-width:2.2; color:var(--hw-text-muted); }
.hws-wx__sun{ color:var(--hw-warning); stroke:var(--hw-warning); }
.hws-wx__cloud{ stroke:var(--hw-text-muted); fill:color-mix(in srgb,var(--hw-text-muted) 12%,transparent); }
.hws-wx__drops,.hws-wx__drops--light{ stroke:var(--hw-primary); }
.hws-wx__snow{ stroke:var(--hw-info,var(--hw-primary)); fill:var(--hw-info,var(--hw-primary)); }
.hws-wx__bolt{ stroke:var(--hw-warning); }
.hws-wx__fog{ stroke:var(--hw-text-subtle); }
.hws-weather__main{ display:flex; align-items:center; gap:var(--hw-space-5); flex-wrap:wrap; }
.hws-weather__temp{ font-size:clamp(2.2rem,5vw,3rem); font-weight:var(--hw-fw-bold); line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.hws-weather__cond{ display:flex; flex-direction:column; gap:2px; font-size:var(--hw-fs-sm); }
.hws-weather__cond > :first-child::first-letter{ text-transform:uppercase; }
.hws-weather__facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:var(--hw-space-3); margin:0; }
.hws-weather__facts > div{ padding:var(--hw-space-3) var(--hw-space-4); border-radius:var(--hw-radius-sm); background:var(--hw-surface-2); }
.hws-weather__facts dt{ font-size:var(--hw-fs-2xs); color:var(--hw-text-subtle); }
.hws-weather__facts dd{ margin:0; font-weight:var(--hw-fw-semibold); font-variant-numeric:tabular-nums; }
.hws-weather__days{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:var(--hw-space-2); text-align:center; }
.hws-weather__day{ display:flex; flex-direction:column; align-items:center; gap:2px; padding:var(--hw-space-2) 0; border-radius:var(--hw-radius-sm); }
.hws-weather__day:first-child{ background:var(--hw-surface-2); }
.hws-weather__day-max{ font-weight:var(--hw-fw-semibold); font-variant-numeric:tabular-nums; }
.hws-card-chart{ display:block; width:100%; height:56px; overflow:visible; }
.hws-card-chart__line{ stroke:var(--hw-primary); stroke-width:2; }
.hws-card-chart__line--max{ stroke:var(--hw-warning); }
.hws-card-chart__line--min{ stroke:var(--hw-primary); opacity:.8; }
.hws-card-chart__line--up{ stroke:var(--hw-success); }
.hws-card-chart__line--down{ stroke:var(--hw-danger); }
.hws-card-chart__dot{ fill:var(--hw-surface); stroke-width:1.5; }
.hws-card-chart__line--max.hws-card-chart__dot{ stroke:var(--hw-warning); }
.hws-news-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--hw-space-4); margin-top:var(--hw-space-3); }
.hws-news{ display:flex; flex-direction:column; overflow:hidden; padding:0; }
.hws-news__img{ display:block; width:100%; aspect-ratio:16/9; object-fit:cover; background:var(--hw-surface-2); }
.hws-news__body{ display:flex; flex-direction:column; gap:var(--hw-space-2); padding:var(--hw-space-5); }
.hws-news__title{ color:var(--hw-text); font-weight:var(--hw-fw-semibold); line-height:1.35; text-decoration:none; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.hws-news__title:hover{ color:var(--hw-primary); text-decoration:underline; }
.hws-news__desc{ margin:0; font-size:var(--hw-fs-sm); color:var(--hw-text-muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hws-fx{ display:flex; flex-direction:column; gap:var(--hw-space-3); }
.hws-fx__row{ display:grid; grid-template-columns:minmax(0,1fr) auto auto 120px; align-items:center; gap:var(--hw-space-4); padding:var(--hw-space-3) 0; border-bottom:1px solid var(--hw-divider); }
.hws-fx__row:last-child{ border-bottom:0; }
.hws-fx__pair{ color:var(--hw-text-muted); font-size:var(--hw-fs-sm); }
.hws-fx__value{ font-size:var(--hw-fs-lg); font-variant-numeric:tabular-nums; }
.hws-fx__change{ font-size:var(--hw-fs-xs); font-weight:var(--hw-fw-semibold); font-variant-numeric:tabular-nums; white-space:nowrap; }
.hws-fx__change.is-up{ color:var(--hw-success); }
.hws-fx__change.is-down{ color:var(--hw-danger); }
.hws-fx__change.is-flat{ color:var(--hw-text-subtle); }
.hws-fx__spark{ width:120px; height:32px; grid-column:4; }
.hws-calc{ display:flex; align-items:center; gap:var(--hw-space-5); flex-wrap:wrap; }
.hws-calc__inputs{ display:flex; flex-direction:column; gap:var(--hw-space-2); margin:0; min-width:0; }
.hws-calc__inputs > div{ display:flex; gap:var(--hw-space-3); align-items:baseline; }
.hws-calc__inputs dt{ font-size:var(--hw-fs-xs); color:var(--hw-text-subtle); }
.hws-calc__inputs dd{ margin:0; font-weight:var(--hw-fw-medium); }
.hws-calc__arrow{ font-size:var(--hw-fs-xl); color:var(--hw-text-subtle); }
.hws-calc__result{ font-size:var(--hw-fs-xl); font-weight:var(--hw-fw-bold); font-variant-numeric:tabular-nums; }
.hws-calc__note{ margin:0; }
.hws-card--digest{ display:flex; flex-direction:column; gap:var(--hw-space-4); }
.hws-digest__section{ display:flex; flex-direction:column; gap:var(--hw-space-3); padding:var(--hw-space-5); }
.hws-digest__section > .hws-card{ padding:0; border:0; background:transparent; box-shadow:none; }
.hws-digest__section.is-failed{ border-style:dashed; }
.hws-digest__text{ margin:0; white-space:pre-line; }
@media (max-width:640px){
  .hws-news-grid{ grid-template-columns:1fr; }
  .hws-weather__days{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .hws-weather__days > :nth-child(n+5){ display:none; }
  .hws-fx__row{ grid-template-columns:minmax(0,1fr) auto; }
  .hws-fx__change{ grid-column:1 / -1; }
  .hws-fx__spark{ grid-column:1 / -1; width:100%; }
  .hws-card{ padding:var(--hw-space-5); }
}
.hws-assistant-panel .hws-news-grid{ grid-template-columns:1fr; }
.hws-assistant-panel .hws-weather__days{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.hws-assistant-panel .hws-weather__days > :nth-child(n+5){ display:none; }
.hws-assistant-panel .hws-fx__row{ grid-template-columns:minmax(0,1fr) auto; }
.hws-assistant-panel .hws-fx__change,.hws-assistant-panel .hws-fx__spark{ grid-column:1 / -1; }
/* Diana's display font replaces «+», «−» and «%» with ornaments: card numbers
   keep a plain face so temperatures and rates stay readable. */
html[data-skin="galaxy"]:not([data-diana-font="off"]) :is(.hws-weather__temp,.hws-weather__cond,.hws-weather__facts dd,.hws-weather__day,.hws-fx__value,.hws-fx__change,.hws-calc__result,.hws-calc__inputs dd){ font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; }
/* ---------- «Настройки Nova» ---------- */
.hws-settings{ display:flex; flex-direction:column; gap:var(--hw-space-6); }
.hws-settings__tabs{ align-self:stretch; }
.hws-settings__tabs > .hw-tab[aria-selected="true"]{ background:var(--hw-surface); color:var(--hw-text); box-shadow:var(--hw-shadow-sm); }
.hws-settings__panel{ display:flex; flex-direction:column; gap:var(--hw-space-6); text-align:left; min-height:min(440px,58vh); }
.hws-settings__panel[hidden]{ display:none; }
.hws-settings__panel:focus-visible{ outline:var(--hw-focus-width,2px) solid var(--hw-focus); outline-offset:4px; border-radius:var(--hw-radius-sm); }
.hws-settings__field{ align-items:stretch; text-align:left; }
.hws-settings__field > .hw-field__label,.hws-settings__field > .hw-field__hint{ text-align:left; }
.hws-settings__switch{ display:flex; width:100%; align-items:flex-start; text-align:left; }
.hws-settings__switch .hw-switch__text{ flex:1 1 auto; }
.hws-settings__range{ display:flex; align-items:center; gap:var(--hw-space-5); }
.hws-settings__range > .hw-range{ --hw-tone:var(--hw-primary); flex:1 1 auto; }
.hws-settings__range-value{ min-width:52px; text-align:right; font-variant-numeric:tabular-nums; font-weight:var(--hw-fw-semibold); }
.hws-settings__static{ display:flex; align-items:center; }
.hws-settings__subhead{ font-size:var(--hw-fs-2xs); font-weight:var(--hw-fw-bold); letter-spacing:.12em; text-transform:uppercase; color:var(--hw-text-subtle); margin-bottom:calc(var(--hw-space-4) * -1); }
.hws-settings__about{ margin:0; }
.hws-settings__link,.hws-settings__sample{ align-self:flex-start; }
.hws-memory__status{ margin:0; }
.hws-memory__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; max-height:280px; overflow:auto; border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); }
.hws-memory__list:empty{ display:none; }
.hws-memory__item{ display:flex; align-items:center; gap:var(--hw-space-4); padding:var(--hw-space-3) var(--hw-space-4); border-bottom:1px solid var(--hw-divider); }
.hws-memory__item:last-child{ border-bottom:0; }
.hws-memory__text{ display:flex; flex-direction:column; gap:2px; flex:1 1 auto; min-width:0; }
.hws-memory__fact{ overflow-wrap:anywhere; }
.hws-memory__actions{ display:flex; gap:2px; flex:0 0 auto; }
.hws-memory__add{ display:flex; gap:var(--hw-space-3); }
.hws-memory__add > .hw-input{ flex:1 1 auto; }
.hws-memory__clear{ align-self:flex-start; color:var(--hw-danger); }
.hws-memory__privacy{ margin:0; }
@media (max-width:480px){ .hws-memory__add{ flex-direction:column; } }
.hw-messenger{ --hw-msgr-side:360px; --hw-msgr-in:color-mix(in srgb,var(--hw-primary) 13%,var(--hw-surface)); --hw-msgr-in-border:color-mix(in srgb,var(--hw-primary) 26%,var(--hw-border)); --hw-msgr-out:color-mix(in srgb,var(--hw-success) 13%,var(--hw-surface)); --hw-msgr-out-border:color-mix(in srgb,var(--hw-success) 30%,var(--hw-border)); display:grid; grid-template-columns:minmax(260px,var(--hw-msgr-side)) minmax(0,1fr); min-height:0; height:100%; overflow:hidden; border:1px solid var(--hw-border); border-radius:var(--hw-radius-xl); background:var(--hw-surface); box-shadow:var(--hw-shadow-md),var(--hw-rim); -webkit-backdrop-filter:blur(var(--hw-blur)); backdrop-filter:blur(var(--hw-blur)); }
.hw-messenger__side{ display:flex; flex-direction:column; min-height:0; border-right:1px solid var(--hw-divider); }
.hw-messenger__side-head{ display:flex; align-items:center; justify-content:space-between; gap:var(--hw-space-4); padding:var(--hw-space-7) var(--hw-space-7) var(--hw-space-5); }
.hw-messenger__title{ margin:0; font-family:var(--hw-font-display,inherit); font-size:var(--hw-fs-2xl); font-weight:var(--hw-fw-bold); line-height:1.15; letter-spacing:-.01em; }
.hw-messenger__side > .hw-search{ width:auto; max-width:none; margin:0 var(--hw-space-7) var(--hw-space-5); }
.hw-messenger__list{ flex:1 1 auto; min-height:0; overflow-y:auto; padding:0 var(--hw-space-4) var(--hw-space-5); scrollbar-width:thin; }
.hw-messenger__section + .hw-messenger__section{ margin-top:var(--hw-space-4); }
.hw-messenger__section-head{ display:flex; align-items:center; justify-content:space-between; width:100%; padding:var(--hw-space-4) var(--hw-space-3); border:0; background:transparent; color:var(--hw-text); font:inherit; font-size:var(--hw-fs-md); font-weight:var(--hw-fw-bold); cursor:pointer; border-radius:var(--hw-radius-sm); }
.hw-messenger__section-head > .hw-icon{ color:var(--hw-text-subtle); transition:transform var(--hw-dur) var(--hw-ease); }
.hw-messenger__section-head[aria-expanded="false"] > .hw-icon{ transform:rotate(180deg); }
.hw-messenger__section-head[aria-expanded="false"] + .hw-messenger__items{ display:none; }
.hw-messenger__items{ display:flex; flex-direction:column; }
.hw-messenger__item{ position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:var(--hw-space-5); width:100%; padding:var(--hw-space-4) var(--hw-space-4); border:0; border-radius:var(--hw-radius-md); background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; transition:background var(--hw-dur-fast) var(--hw-ease); }
.hw-messenger__item + .hw-messenger__item::before{ content:""; position:absolute; top:0; left:calc(var(--hw-space-4) + 48px + var(--hw-space-5)); right:var(--hw-space-4); height:1px; background:var(--hw-divider); }
.hw-messenger__item:hover{ background:color-mix(in srgb,var(--hw-text) 5%,transparent); }
.hw-messenger__item.is-active{ background:color-mix(in srgb,var(--hw-primary) 14%,transparent); }
.hw-messenger__item.is-active::before,.hw-messenger__item.is-active + .hw-messenger__item::before,.hw-messenger__item:hover::before,.hw-messenger__item:hover + .hw-messenger__item::before{ opacity:0; }
.hw-messenger__item > .hw-avatar,.hw-messenger__head > .hw-avatar{ --hw-av:48px; }
.hw-messenger__item-main{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.hw-messenger__item-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:var(--hw-fw-bold); }
.hw-messenger__item-text{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--hw-text-muted); font-size:var(--hw-fs-sm); }
.hw-messenger__item-side{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; align-self:stretch; justify-content:center; }
.hw-messenger__item-time{ color:var(--hw-text-subtle); font-size:var(--hw-fs-xs); white-space:nowrap; }
.hw-messenger__item-side > .hw-count{ --hw-count-bg:var(--hw-primary); --hw-count-fg:var(--hw-primary-contrast,#fff); }
.hw-messenger__pin{ display:inline-grid; place-items:center; width:26px; height:22px; padding:0; border:0; border-radius:var(--hw-radius-sm); background:transparent; color:var(--hw-text-subtle); opacity:.55; cursor:pointer; }
.hw-messenger__pin:hover,.hw-messenger__pin:focus-visible{ opacity:1; color:var(--hw-text); background:color-mix(in srgb,var(--hw-text) 8%,transparent); }
.hw-messenger__pin.is-pinned{ opacity:1; color:var(--hw-primary); }
.hw-messenger__pin > .hw-icon,.hw-messenger__pin > svg{ width:16px; height:16px; }
.hw-messenger__chat{ position:relative; display:flex; flex-direction:column; min-width:0; min-height:0; }
.hw-messenger__head{ display:flex; align-items:center; gap:var(--hw-space-5); padding:var(--hw-space-5) var(--hw-space-7); border-bottom:1px solid var(--hw-divider); background:var(--hw-surface); }
.hw-messenger__head-main{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1 1 auto; }
.hw-messenger__head-main > strong{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--hw-fs-lg); font-weight:var(--hw-fw-bold); line-height:1.2; }
.hw-messenger__head-main > span{ color:var(--hw-text-muted); font-size:var(--hw-fs-sm); }
.hw-messenger__head-actions{ display:flex; align-items:center; gap:var(--hw-space-3); flex:0 0 auto; }
.hw-messenger__head-actions > .hw-btn{ --hw-ctl-h:42px; width:42px; }
.hw-messenger__find{ display:flex; align-items:center; gap:var(--hw-space-3); padding:var(--hw-space-3) var(--hw-space-7); border-bottom:1px solid var(--hw-divider); background:var(--hw-surface-2); }
.hw-messenger__find[hidden]{ display:none; }
.hw-messenger__find > .hw-search{ flex:1 1 auto; }
.hw-messenger__find-count{ color:var(--hw-text-muted); font-size:var(--hw-fs-xs); white-space:nowrap; }
.hw-messenger__stage{ --hw-msgr-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='34' cy='36' r='13'/%3E%3Cpath d='M28 40a7 7 0 0 0 12 0M29.5 32h.01M38.5 32h.01'/%3E%3Cpath d='m150 22 26 10-26 10 4-10z'/%3E%3Crect x='96' y='88' width='26' height='20' rx='4'/%3E%3Cpath d='m98 104 7-7 5 5 4-4 6 6'/%3E%3Cpath d='M22 150h24a6 6 0 0 1 6 6v10a6 6 0 0 1-6 6H32l-8 6v-6h-2a6 6 0 0 1-6-6v-10a6 6 0 0 1 6-6z'/%3E%3Ccircle cx='176' cy='150' r='11'/%3E%3Cpath d='M171 154a6 6 0 0 0 10 0M172.5 147h.01M179.5 147h.01'/%3E%3Cpath d='m118 190 18 7-18 7 3-7z'/%3E%3Crect x='176' y='76' width='22' height='18' rx='3'/%3E%3C/svg%3E"); position:relative; display:flex; flex:1 1 auto; min-height:0; background:color-mix(in srgb,var(--hw-primary) 4%,var(--hw-surface-2)); isolation:isolate; }
.hw-messenger__stage::before{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:color-mix(in srgb,var(--hw-text) 7%,transparent); -webkit-mask:var(--hw-msgr-pattern) 0 0/220px 220px repeat; mask:var(--hw-msgr-pattern) 0 0/220px 220px repeat; }
.hw-messenger__feed{ flex:1 1 auto; min-height:0; overflow-y:auto; display:flex; flex-direction:column; gap:var(--hw-space-6); padding:var(--hw-space-7) var(--hw-space-8); scroll-behavior:smooth; scrollbar-width:thin; }
.hw-messenger__day{ display:flex; align-items:center; gap:var(--hw-space-5); color:var(--hw-text-muted); font-size:var(--hw-fs-sm); }
.hw-messenger__day::before,.hw-messenger__day::after{ content:""; flex:1 1 auto; height:1px; background:var(--hw-divider); }
.hw-messenger__day > span{ padding:6px 18px; border:1px solid var(--hw-border); border-radius:999px; background:var(--hw-surface); }
.hw-messenger__row{ position:relative; display:flex; align-items:flex-start; gap:var(--hw-space-4); max-width:100%; }
.hw-messenger__row > .hw-avatar{ --hw-av:40px; margin-top:2px; }
.hw-messenger__row--mine{ justify-content:flex-end; }
.hw-messenger__row--mine > .hw-avatar{ display:none; }
.hw-messenger__stack{ position:relative; display:flex; min-width:0; max-width:min(560px,78%); }
.hw-messenger__bubble{ position:relative; min-width:120px; max-width:100%; padding:var(--hw-space-5) var(--hw-space-6); border:1px solid var(--hw-msgr-in-border); border-radius:var(--hw-radius-lg); background:var(--hw-msgr-in); color:var(--hw-text); overflow-wrap:anywhere; box-shadow:var(--hw-shadow-sm); transition:box-shadow var(--hw-dur-fast) var(--hw-ease),border-color var(--hw-dur-fast) var(--hw-ease); }
.hw-messenger__row--mine .hw-messenger__bubble{ border-color:var(--hw-msgr-out-border); background:var(--hw-msgr-out); }
.hw-messenger__row.is-selected .hw-messenger__bubble{ border-color:var(--hw-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-primary) 22%,transparent); }
.hw-messenger__row.is-highlighted .hw-messenger__bubble{ border-color:var(--hw-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-accent) 26%,transparent); }
.hw-messenger__row.is-dimmed{ opacity:.35; }
.hw-messenger__text{ white-space:pre-wrap; line-height:1.5; }
.hw-messenger__text mark{ padding:0 1px; border-radius:3px; background:color-mix(in srgb,var(--hw-warning) 40%,transparent); color:inherit; }
.hw-messenger__meta{ display:flex; align-items:center; justify-content:flex-end; gap:6px; margin-top:var(--hw-space-3); color:var(--hw-text-subtle); font-size:var(--hw-fs-xs); line-height:1; }
.hw-messenger__meta > .hw-icon,.hw-messenger__meta > svg{ width:16px; height:16px; color:var(--hw-text-subtle); }
.hw-messenger__meta.is-read > .hw-icon,.hw-messenger__meta.is-read > svg{ color:var(--hw-primary); }
.hw-messenger__quote{ display:block; width:100%; margin:0 0 var(--hw-space-4); padding:var(--hw-space-4) var(--hw-space-5); border:0; border-left:3px solid var(--hw-msgr-quote,var(--hw-primary)); border-radius:var(--hw-radius-sm); background:color-mix(in srgb,var(--hw-msgr-quote,var(--hw-primary)) 10%,transparent); color:inherit; font:inherit; text-align:left; cursor:pointer; }
.hw-messenger__row--mine .hw-messenger__quote{ --hw-msgr-quote:var(--hw-success); }
.hw-messenger__quote > strong{ display:block; margin-bottom:2px; color:color-mix(in srgb,var(--hw-msgr-quote,var(--hw-primary)) 80%,var(--hw-text)); font-size:var(--hw-fs-sm); }
.hw-messenger__quote > span{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--hw-text-muted); font-size:var(--hw-fs-sm); }
.hw-messenger__file{ display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:var(--hw-space-5); margin-top:var(--hw-space-4); padding:var(--hw-space-4); border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface); color:inherit; text-decoration:none; transition:border-color var(--hw-dur-fast) var(--hw-ease); }
.hw-messenger__file:hover{ border-color:var(--hw-primary); }
.hw-messenger__file-icon{ display:grid; place-items:center; width:56px; height:48px; border-radius:var(--hw-radius-sm); background:color-mix(in srgb,var(--hw-primary) 14%,transparent); color:var(--hw-primary); }
.hw-messenger__file-icon > .hw-icon,.hw-messenger__file-icon > svg{ width:24px; height:24px; }
.hw-messenger__file-main{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.hw-messenger__file-main > strong{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:var(--hw-fw-bold); }
.hw-messenger__file-main > span{ color:var(--hw-text-muted); font-size:var(--hw-fs-sm); }
.hw-messenger__image{ display:block; margin-top:var(--hw-space-4); overflow:hidden; border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface); }
.hw-messenger__image > img{ display:block; width:100%; max-height:320px; object-fit:contain; }
.hw-messenger__image > span{ display:block; padding:6px var(--hw-space-4); color:var(--hw-text-muted); font-size:var(--hw-fs-xs); }
.hw-messenger__forward{ margin-bottom:var(--hw-space-4); padding-left:var(--hw-space-4); border-left:3px solid var(--hw-accent); }
.hw-messenger__forward > strong{ display:block; margin-bottom:2px; color:var(--hw-accent); font-size:var(--hw-fs-xs); }
.hw-messenger__reactions{ display:flex; flex-wrap:wrap; gap:6px; margin-top:var(--hw-space-4); }
.hw-messenger__reaction{ display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border:1px solid var(--hw-border); border-radius:999px; background:var(--hw-surface); color:inherit; font:inherit; font-size:var(--hw-fs-sm); cursor:pointer; }
.hw-messenger__reaction.is-mine{ border-color:color-mix(in srgb,var(--hw-primary) 55%,var(--hw-border)); background:color-mix(in srgb,var(--hw-primary) 10%,var(--hw-surface)); }
.hw-messenger__tools{ position:absolute; top:50%; z-index:2; display:flex; align-items:center; gap:2px; padding:4px; border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-elevated); box-shadow:var(--hw-shadow-md); opacity:0; pointer-events:none; transform:translateY(-50%) scale(.97); transition:opacity var(--hw-dur-fast) var(--hw-ease),transform var(--hw-dur-fast) var(--hw-ease); white-space:nowrap; }
.hw-messenger__row:not(.hw-messenger__row--mine) .hw-messenger__tools{ left:calc(100% + var(--hw-space-4)); }
.hw-messenger__row--mine .hw-messenger__tools{ right:calc(100% + var(--hw-space-4)); }
.hw-messenger__stack:hover > .hw-messenger__tools,.hw-messenger__stack:focus-within > .hw-messenger__tools,.hw-messenger__tools.is-open{ opacity:1; pointer-events:auto; transform:translateY(-50%); }
.hw-messenger__tools > .hw-btn{ --hw-ctl-h:32px; }
.hw-messenger__tools::before{ content:""; position:absolute; top:-6px; bottom:-6px; width:calc(var(--hw-space-4) + 2px); }
.hw-messenger__row:not(.hw-messenger__row--mine) .hw-messenger__tools::before{ right:100%; }
.hw-messenger__row--mine .hw-messenger__tools::before{ left:100%; }
.hw-messenger__stack:hover > .hw-messenger__tools::before{ pointer-events:auto; }
.hw-messenger__tools > .hw-sep{ width:1px; height:18px; margin:0 2px; background:var(--hw-divider); }
.hw-messenger__composer{ display:flex; align-items:flex-end; gap:var(--hw-space-4); padding:var(--hw-space-6) var(--hw-space-7); border-top:1px solid var(--hw-divider); background:var(--hw-surface); }
.hw-messenger__composer > .hw-btn{ --hw-ctl-h:52px; width:52px; flex:0 0 auto; border-radius:var(--hw-radius-md); }
.hw-messenger__composer > .hw-btn--solid{ width:64px; }
.hw-messenger__input{ position:relative; display:flex; align-items:flex-end; flex:1 1 auto; min-width:0; }
.hw-messenger__input > .hw-textarea{ flex:1 1 auto; min-height:52px; max-height:180px; padding-right:52px; padding-top:14px; padding-bottom:14px; border-radius:var(--hw-radius-md); resize:none; line-height:1.45; }
.hw-messenger__input > .hw-btn{ position:absolute; right:8px; bottom:8px; --hw-ctl-h:36px; width:36px; }
.hw-messenger__emoji{ position:absolute; right:0; bottom:calc(100% + 8px); z-index:4; display:grid; grid-template-columns:repeat(8,36px); gap:2px; padding:6px; border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-elevated); box-shadow:var(--hw-shadow-lg); }
.hw-messenger__emoji[hidden]{ display:none; }
.hw-messenger__emoji > button{ width:36px; height:36px; padding:0; border:0; border-radius:var(--hw-radius-sm); background:transparent; font-size:20px; line-height:1; cursor:pointer; }
.hw-messenger__emoji > button:hover{ background:color-mix(in srgb,var(--hw-text) 8%,transparent); }
.hw-messenger__empty{ display:flex; flex:1 1 auto; flex-direction:column; align-items:center; justify-content:center; gap:var(--hw-space-4); padding:var(--hw-space-8); text-align:center; }
.hw-messenger__back{ display:none; }
@media (max-width:980px){ .hw-messenger{ --hw-msgr-side:300px; } .hw-messenger__feed{ padding:var(--hw-space-6); } .hw-messenger__tools > .hw-btn > span:not(.hw-icon){ display:none; } }
@media (max-width:760px){
  .hw-messenger{ grid-template-columns:1fr; border-radius:0; }
  .hw-messenger__chat{ display:none; }
  .hw-messenger.has-dialog .hw-messenger__side{ display:none; }
  .hw-messenger.has-dialog .hw-messenger__chat{ display:flex; }
  .hw-messenger__back{ display:inline-flex; }
  .hw-messenger__head{ padding:var(--hw-space-4); gap:var(--hw-space-4); }
  .hw-messenger__head > .hw-avatar{ --hw-av:40px; }
  .hw-messenger__feed{ padding:var(--hw-space-5) var(--hw-space-4); }
  .hw-messenger__stack{ max-width:86%; }
  .hw-messenger__tools{ display:none; }
  .hw-messenger__composer{ padding:var(--hw-space-4); gap:var(--hw-space-3); }
  .hw-messenger__composer > .hw-btn{ --hw-ctl-h:46px; width:46px; }
  .hw-messenger__input > .hw-textarea{ min-height:46px; padding-top:11px; padding-bottom:11px; }
}
html.hw-tour-assistant-active .hw-chat--floating{ z-index:calc(var(--hw-z-tour) + 5); right:12px; bottom:12px; width:min(430px,calc(50vw - 18px)); height:min(680px,calc(100vh - 24px)); }
html.hw-tour-assistant-active .hw-chat-launcher{ z-index:calc(var(--hw-z-tour) + 5); }
html.hw-tour-prefs-active .hw-modal--prefs{ z-index:calc(var(--hw-z-tour) + 5); }
html.hw-tour-prefs-active .hw-modal--prefs .hw-modal__dialog{ margin-left:max(16px,calc(50vw - 660px)); margin-right:auto; }
html.hw-tour-prefs-active .hw-modal--prefs .hw-modal__backdrop{ background:transparent; -webkit-backdrop-filter:none; backdrop-filter:none; }
/* 21.10.2026: the window does not catch clicks outside its dialog — «Продолжить» of the tour card works at once. */
html.hw-tour-prefs-active .hw-modal--prefs,html.hw-tour-prefs-active .hw-modal--prefs .hw-modal__backdrop{ pointer-events:none; }
html.hw-tour-prefs-active .hw-modal--prefs .hw-modal__dialog{ pointer-events:auto; }
html.hw-tour-assistant-active .hw-tour__card{ width:min(340px,calc(50vw - 18px)); max-height:calc(100vh - 24px); overflow:auto; }
@media (max-width:700px){
  .hw-chat--floating{ right:8px; left:8px; bottom:8px; width:auto; height:calc(100dvh - 80px); }
  .hw-chat-launcher > span:not(.hw-icon){ display:none; }
}

html.hw-tour-active{ scroll-behavior:smooth; }
html.hw-tour-active .hw-tour-target{
  outline:2px solid var(--hw-primary) !important;
  outline-offset:3px;
  animation:hw-tour-target 1.5s ease-in-out infinite !important;
}
@keyframes hw-tour-target{
  0%,100%{ outline-color:color-mix(in srgb,var(--hw-primary) 55%,transparent); outline-offset:2px; box-shadow:0 0 0 2px color-mix(in srgb,var(--hw-primary) 8%,transparent); }
  50%{ outline-color:var(--hw-primary); outline-offset:5px; box-shadow:0 0 0 6px color-mix(in srgb,var(--hw-primary) 16%,transparent),0 0 20px color-mix(in srgb,var(--hw-primary) 30%,transparent); }
}
.hw-tour{ position:fixed; inset:0; z-index:var(--hw-z-tour); pointer-events:none; font-family:inherit; }
.hw-tour__shade{ position:fixed; z-index:1; background:color-mix(in srgb,#040a16 72%,transparent); -webkit-backdrop-filter:blur(1.5px); backdrop-filter:blur(1.5px); pointer-events:auto; }
.hw-tour__target-blocker{ position:fixed; z-index:2; border-radius:var(--hw-radius-md); background:transparent; pointer-events:auto; }
.hw-tour--interactive-target .hw-tour__target-blocker{ pointer-events:none !important; }
.hw-tour__spotlight{ position:fixed; z-index:3; border:2px solid var(--hw-primary); border-radius:var(--hw-radius-md); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-primary) 18%,transparent),0 0 28px color-mix(in srgb,var(--hw-primary) 56%,transparent); pointer-events:none; animation:hw-tour-spot 1.5s ease-in-out infinite; }
@keyframes hw-tour-spot{ 0%,100%{ box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-primary) 14%,transparent),0 0 22px color-mix(in srgb,var(--hw-primary) 40%,transparent); } 50%{ box-shadow:0 0 0 6px color-mix(in srgb,var(--hw-primary) 22%,transparent),0 0 38px color-mix(in srgb,var(--hw-primary) 72%,transparent); } }
.hw-tour__arrow{ position:fixed; inset:0; width:100vw; height:100vh; z-index:4; overflow:visible; pointer-events:none; }
.hw-tour__arrow-glow{ fill:none; stroke:rgba(5,12,26,.55); stroke-width:9; stroke-linecap:round; }
.hw-tour__arrow-path{ fill:none; stroke:var(--hw-primary); stroke-width:3.6; stroke-linecap:round; stroke-dasharray:10 8; filter:drop-shadow(0 2px 5px rgba(0,0,0,.4)); animation:hw-tour-flow 1.1s linear infinite; }
.hw-tour__arrow marker path{ fill:var(--hw-primary); }
.hw-tour__arrow-dot{ fill:var(--hw-primary); filter:drop-shadow(0 0 6px color-mix(in srgb,var(--hw-primary) 85%,transparent)); animation:hw-tour-dot 1.5s ease-in-out infinite; }
@keyframes hw-tour-flow{ to{ stroke-dashoffset:-30; } }
@keyframes hw-tour-dot{ 0%,100%{ opacity:.55; } 50%{ opacity:1; } }
.hw-tour__card{
  position:fixed;
  z-index:5;
  width:min(360px,calc(100vw - 24px));
  min-height:154px;
  display:flex;
  flex-direction:column;
  gap:var(--hw-space-3);
  padding:var(--hw-space-7);
  border:1px solid color-mix(in srgb,var(--hw-primary) 30%,var(--hw-border));
  border-radius:var(--hw-radius-xl);
  background:var(--hw-elevated);
  color:var(--hw-text);
  box-shadow:var(--hw-shadow-lg),var(--hw-rim);
  pointer-events:auto;
}
.hw-tour__card.is-appear{ animation:hw-pop var(--hw-dur-slow) var(--hw-ease-spring); }
.hw-tour.is-nudge .hw-tour__card{ animation:hw-tour-nudge .5s ease; }
@keyframes hw-tour-nudge{ 0%,100%{ transform:translateX(0); } 18%{ transform:translateX(-7px); } 38%{ transform:translateX(6px); } 58%{ transform:translateX(-4px); } 78%{ transform:translateX(2px); } }
.hw-tour__progress{ font-size:var(--hw-fs-xs); font-weight:var(--hw-fw-black); letter-spacing:.08em; text-transform:uppercase; color:var(--hw-primary); }
.hw-tour__title{ margin:0; font-size:var(--hw-fs-xl); font-weight:var(--hw-fw-black); line-height:1.2; }
.hw-tour__text{ margin:0; color:var(--hw-text-muted); font-weight:var(--hw-fw-medium); line-height:1.5; }
.hw-tour__error:empty{ display:none; }
.hw-tour__actions{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--hw-space-4); margin-top:var(--hw-space-3); }
.hw-tour__example[hidden],.hw-tour__skip[hidden]{ display:none !important; }
.hw-tour__next-label{ white-space:nowrap; }
.hw-tour__next-timer{ display:none; position:relative; flex:0 0 24px; width:24px; height:24px; border-radius:50%; background:conic-gradient(currentColor calc(var(--hw-gate,0) * 360deg),color-mix(in srgb,currentColor 25%,transparent) 0); }
.is-counting > .hw-tour__next-timer{ display:grid; place-items:center; }
.hw-tour__next-count{ display:grid; place-items:center; width:18px; height:18px; border-radius:50%; background:var(--hw-elevated); color:var(--hw-text); font-size:11px; font-weight:var(--hw-fw-black); font-variant-numeric:tabular-nums; }
.hw-tour__next.is-locked,.hw-tour__skip.is-locked{ cursor:not-allowed; filter:grayscale(.3); opacity:.72; box-shadow:none; }
.hw-tour__next.is-ready,.hw-tour__skip.is-ready{ animation:hw-tour-ready .9s ease; }
@keyframes hw-tour-ready{ 0%{ box-shadow:0 0 0 0 color-mix(in srgb,var(--hw-primary) 75%,transparent); } 70%{ box-shadow:0 0 0 15px transparent; } 100%{ box-shadow:none; } }
.hw-tour-guides{ position:fixed; inset:0; z-index:calc(var(--hw-z-tour) + 1); pointer-events:none; }
.hw-tour__halos{ position:fixed; inset:0; z-index:3; pointer-events:none; }
.hw-tour__halo{ position:fixed; border:2px solid var(--hw-primary); pointer-events:none; animation:hw-tour-halo 1.5s ease-in-out infinite; }
.hw-tour__halo.is-lit{ -webkit-backdrop-filter:brightness(1.6) saturate(1.12); backdrop-filter:brightness(1.6) saturate(1.12); }
.hw-tour__halo::after{ content:""; position:absolute; inset:-5px; border:2px solid color-mix(in srgb,var(--hw-primary) 70%,transparent); border-radius:inherit; opacity:0; animation:hw-tour-ring 1.9s cubic-bezier(.24,.7,.36,1) infinite; }
@keyframes hw-tour-halo{ 0%,100%{ box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-primary) 10%,transparent),0 0 20px color-mix(in srgb,var(--hw-primary) 34%,transparent); } 50%{ box-shadow:0 0 0 7px color-mix(in srgb,var(--hw-primary) 20%,transparent),0 0 42px color-mix(in srgb,var(--hw-primary) 76%,transparent); } }
@keyframes hw-tour-ring{ 0%{ transform:scale(1); opacity:.62; } 72%{ opacity:0; } 100%{ transform:scale(1.15); opacity:0; } }
.hw-tour-guides.is-nudge .hw-tour__arrow-path{ stroke:var(--hw-warning); animation-duration:.55s; }
.hw-tour-guides.is-nudge .hw-tour__arrow-dot,.hw-tour-guides.is-nudge .hw-tour__arrow marker path{ fill:var(--hw-warning); }
.hw-tour__hint{
  position:fixed;
  bottom:26px;
  left:50%;
  z-index:7;
  display:flex;
  align-items:center;
  gap:var(--hw-space-5);
  width:max-content;
  max-width:min(560px,calc(100vw - 28px));
  padding:var(--hw-space-5) var(--hw-space-6);
  border:1px solid color-mix(in srgb,var(--hw-warning) 45%,transparent);
  border-radius:var(--hw-radius-lg);
  background:var(--hw-elevated);
  color:var(--hw-text);
  font-size:var(--hw-fs-sm);
  font-weight:var(--hw-fw-bold);
  box-shadow:var(--hw-shadow-lg);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,18px) scale(.96);
  transition:opacity .2s ease,transform .26s var(--hw-ease-spring),visibility .2s;
  pointer-events:none;
}
.hw-tour__hint.is-visible{ opacity:1; visibility:visible; transform:translate(-50%,0) scale(1); }
.hw-tour__hint.is-top{ top:20px; bottom:auto; }
.hw-tour__hint[data-tone="wait"]{ border-color:color-mix(in srgb,var(--hw-info) 45%,transparent); }
.hw-tour__hint-icon{ flex:0 0 auto; font-size:18px; line-height:1; }
.hw-tour-demo{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--hw-space-5); margin:var(--hw-space-6) var(--hw-space-5) var(--hw-space-2); padding:var(--hw-space-5); border:1px solid var(--hw-divider); border-radius:var(--hw-radius-lg); background:var(--hw-surface-2); }
.hw-tour-demo__item{ display:flex; align-items:center; gap:var(--hw-space-5); min-height:68px; padding:var(--hw-space-5) var(--hw-space-6); border:1px solid color-mix(in srgb,var(--hw-primary) 36%,var(--hw-border)); border-radius:var(--hw-radius-md); background:color-mix(in srgb,var(--hw-primary) 8%,var(--hw-surface)); }
.hw-tour-demo__item--disabled{ border-color:var(--hw-divider); background:var(--hw-surface-3); filter:grayscale(.9); opacity:.58; }
.hw-tour-demo__item strong{ display:block; font-size:var(--hw-fs-sm); }
.hw-tour-demo__item small{ color:var(--hw-text-muted); font-size:var(--hw-fs-xs); }
@media (max-width:640px){ .hw-tour-demo{ grid-template-columns:1fr; } .hw-tour__hint{ bottom:14px; } .hw-tour__card{ padding:var(--hw-space-6); } }
@media (prefers-reduced-motion:reduce){ html.hw-tour-active .hw-tour-target,.hw-tour__spotlight,.hw-tour__arrow-path,.hw-tour__arrow-dot,.hw-tour__halo,.hw-tour__halo::after{ animation:none !important; } }

.hw-locked{ filter:blur(6px); pointer-events:none; user-select:none; }
.hw-lock-screen{ position:fixed; inset:var(--hw-header-h) 0 0; z-index:calc(var(--hw-z-header) - 1); display:grid; place-items:center; padding:var(--hw-space-8); background:color-mix(in srgb,var(--hw-bg) 55%,transparent); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.hw-appear{ animation:hw-fade-up var(--hw-dur-slow) var(--hw-ease) both; }
.hw-appear-2{ animation-delay:60ms; } .hw-appear-3{ animation-delay:120ms; } .hw-appear-4{ animation-delay:180ms; }
.hw-highlight{ animation:hw-highlight 1.6s var(--hw-ease); }

@keyframes hw-spin{ to{ transform:rotate(360deg); } }
@keyframes hw-pulse{ 0%{ box-shadow:0 0 0 0 color-mix(in srgb,var(--hw-tone,var(--hw-success)) 55%,transparent); } 70%{ box-shadow:0 0 0 8px transparent; } 100%{ box-shadow:0 0 0 0 transparent; } }
@keyframes hw-fade-up{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
@keyframes hw-pop{ from{ opacity:0; transform:scale(.96); } to{ opacity:1; transform:none; } }
@keyframes hw-toast-in{ from{ opacity:0; transform:translateY(12px) scale(.96); } to{ opacity:1; transform:none; } }
@keyframes hw-toast-out{ to{ opacity:0; transform:translateX(24px); } }
@keyframes hw-shrink{ from{ width:100%; } to{ width:0; } }
@keyframes hw-indeterminate{ 0%{ left:-40%; } 100%{ left:100%; } }
@keyframes hw-stripes{ to{ background-position:16px 0; } }
@keyframes hw-shimmer{ 0%{ background-position:100% 0; } 100%{ background-position:-100% 0; } }
@keyframes hw-typing{ 0%,80%,100%{ transform:translateY(0); opacity:.4; } 40%{ transform:translateY(-4px); opacity:1; } }
@keyframes hw-orbit{ 0%,100%{ transform:translate(0,0) scale(1); } 33%{ transform:translate(3px,-4px) scale(1.12); } 66%{ transform:translate(-3px,3px) scale(.9); } }
@keyframes hw-highlight{ 0%{ box-shadow:0 0 0 0 var(--hw-focus); } 30%{ box-shadow:0 0 0 6px var(--hw-focus); } 100%{ box-shadow:0 0 0 0 transparent; } }

@media print{
  body.hw-app::before,.hw-appbar,.hw-fab,.hw-toasts,.hw-tour,.hw-preloader{ display:none !important; }
  .hw-page{ padding:0; }
  .hw-card,.hw-kpi,.hw-tile{ box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; break-inside:avoid; }
}
.hw-print-root{ display:none; }
@media print{
  body.hw-printing{ background:#fff !important; }
  body.hw-printing > *:not(.hw-print-root){ display:none !important; }
  body.hw-printing > .hw-print-root{ display:block !important; }
  .hw-print-root{ color:#111; --hw-text:#111; --hw-text-muted:#555; --hw-surface:#fff; --hw-surface-2:#f4f5f7; --hw-elevated:#fff; --hw-border:rgba(0,0,0,.14); --hw-divider:rgba(0,0,0,.12); }
  .hw-print-root .hw-card{ background:#fff; border-color:rgba(0,0,0,.14); }
  .hw-print-root .hw-table{ font-size:10.5px; }
  .hw-print-root .hw-table th,.hw-print-root .hw-table td{ border:1px solid rgba(0,0,0,.12); padding:5px 7px; transform:none !important; }
  .hw-print-root svg{ max-width:260px; height:auto; }
}

.hw-fill-viewport{ max-height:calc(100vh - var(--hw-header-h) - var(--hw-space-10)); max-height:calc(100dvh - var(--hw-header-h) - var(--hw-space-10)); }
.hw-min-h{ min-height:var(--hw-min-h,240px); }
.hw-stage{ position:relative; min-height:var(--hw-min-h,260px); padding:var(--hw-space-8); border-radius:var(--hw-radius-md); background:var(--hw-bg-art),var(--hw-bg); border:1px solid var(--hw-divider); overflow:auto; }
.hw-stage--surface{ background:var(--hw-surface); }
.hw-stage__inner{ width:100%; max-width:var(--hw-stage-w,100%); margin:0 auto; transition:max-width var(--hw-dur) var(--hw-ease); }
.hw-canvas{
  position:relative;
  min-height:var(--hw-min-h,720px);
  overflow:hidden;
  border:1px dashed var(--hw-border-strong);
  border-radius:var(--hw-radius-lg);
  background:var(--hw-bg-art),var(--hw-bg);
}
.hw-canvas--grid{ background-image:radial-gradient(color-mix(in srgb,var(--hw-text) 14%,transparent) 1px,transparent 1.2px); background-size:20px 20px; }
.hw-canvas__item{ position:absolute; min-width:180px; }
.hw-canvas__item > .hw-card__body{ overflow:auto; }
.hw-canvas__empty{ position:absolute; inset:0; display:grid; place-items:center; pointer-events:none; }
.hw-preview-thumb{ position:relative; height:var(--hw-thumb-h,170px); overflow:hidden; border-radius:var(--hw-radius-md); background:var(--hw-bg-art),var(--hw-bg); border:1px solid var(--hw-divider); pointer-events:none; }
.hw-preview-thumb__inner{ position:absolute; left:50%; top:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; width:var(--hw-thumb-w,520px); transform:translate(-50%,-50%) scale(var(--hw-thumb-scale,.62)); transform-origin:center; }
.hw-swatch-btn{ width:28px; height:28px; padding:0; border-radius:50%; border:2px solid var(--hw-surface); box-shadow:0 0 0 1px var(--hw-border); background:var(--hw-swatch,var(--hw-primary)); cursor:pointer; }
.hw-swatch-btn.is-active{ box-shadow:0 0 0 2px var(--hw-text); }

html.hws-embedded #header-root,html.hws-embedded .hw-appbar,html.hws-embedded .hw-preloader,html.hws-embedded .hw-lock-screen{ display:none !important; }
html.hws-embedded .hw-page{ padding-top:var(--hw-page-pad); }
html.hws-embedded body.hw-app::before{ display:none; }
.acl-disabled,[data-acl-clickable="0"]{ opacity:.5 !important; cursor:not-allowed !important; filter:grayscale(.4); }
.acl-disabled *,[data-acl-clickable="0"] *{ pointer-events:none !important; }
.acl-hidden{ display:none !important; }
.hw-tile__remove{ position:absolute; top:var(--hw-space-6); right:var(--hw-space-6); z-index:2; }

.hw-expandable{ position:relative; }
.hw-expandable.is-collapsible{ max-height:360px; overflow:hidden; transition:max-height var(--hw-dur-slow) var(--hw-ease); }
.hw-expandable.is-collapsible:not(.is-expanded)::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:72px; background:linear-gradient(180deg,transparent,var(--hw-surface)); pointer-events:none; }
.hw-fab.is-hidden{ opacity:0; pointer-events:none; transform:translateY(10px); }
.hw-fab{ transition:opacity var(--hw-dur) var(--hw-ease),transform var(--hw-dur) var(--hw-ease); }
mark{ background:color-mix(in srgb,var(--hw-warning) 30%,transparent); color:inherit; border-radius:3px; padding:0 2px; }
.hw-actions > .hw-select,.hw-row > .hw-select,.hw-toolbar > .hw-select,.hw-toolbar__group > .hw-select{ width:auto; min-width:var(--hw-select-min,150px); }

.hw-graph{
  position:relative;
  min-height:var(--hw-min-h,620px);
  height:var(--hw-graph-h,auto);
  overflow:hidden;
  border-radius:var(--hw-radius-lg);
  background:radial-gradient(color-mix(in srgb,var(--hw-text) 12%,transparent) 1px,transparent 1.3px) 0 0/22px 22px,var(--hw-bg-art),var(--hw-bg);
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.hw-graph.is-panning{ cursor:grabbing; }
.hw-graph__scene{ position:absolute; left:0; top:0; transform-origin:0 0; will-change:transform; }
.hw-graph__edges{ position:absolute; inset:0; overflow:visible; pointer-events:none; }
.hw-graph__edges path,.hw-graph__edge{ fill:none; stroke:color-mix(in srgb,var(--hw-primary) 55%,transparent); stroke-width:2.2; stroke-linecap:round; }
.hw-graph__edges path[class$="--long"],.hw-graph__edge--long{ stroke-dasharray:6 6; stroke:color-mix(in srgb,var(--hw-primary) 40%,transparent); }
.hw-graph__nodes{ position:absolute; inset:0; }
.hw-graph__node{
  --hw-n:var(--hw-tone,var(--hw-primary));
  position:absolute;
  display:flex;
  flex-direction:column;
  gap:var(--hw-space-3);
  padding:var(--hw-space-6);
  border:1px solid color-mix(in srgb,var(--hw-n) 26%,var(--hw-border));
  border-radius:var(--hw-radius-lg);
  background:linear-gradient(160deg,color-mix(in srgb,var(--hw-n) 8%,transparent),transparent 60%),var(--hw-elevated);
  box-shadow:var(--hw-shadow-sm),var(--hw-rim);
  color:var(--hw-text);
  font:inherit;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
  transition:border-color var(--hw-dur-fast),box-shadow var(--hw-dur-fast),opacity var(--hw-dur),transform var(--hw-dur-fast);
}
.hw-graph__node:hover{ border-color:color-mix(in srgb,var(--hw-n) 55%,var(--hw-border)); box-shadow:var(--hw-shadow-md),var(--hw-rim); }
.hw-graph__node.is-active{ border-color:var(--hw-n); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-n) 22%,transparent),var(--hw-shadow-md); }
.hw-graph__node.is-current{ --hw-n:var(--hw-info); }
.hw-graph__node.is-match,.hw-graph__node.is-search-match{ box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-warning) 45%,transparent),var(--hw-shadow-md); }
.hw-graph__node.is-muted,.hw-graph__node.is-search-muted{ opacity:.38; }
.hw-graph__node-head{ display:flex; align-items:center; justify-content:space-between; gap:var(--hw-space-3); }
.hw-graph__node-title{ font-size:var(--hw-fs-md); font-weight:var(--hw-fw-bold); line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-graph__node-desc{ font-size:var(--hw-fs-xs); color:var(--hw-text-muted); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.hw-graph__node-meta{ display:grid; grid-template-columns:1fr 1fr; gap:var(--hw-space-3); margin-top:auto; }
.hw-graph__zoom{ position:absolute; top:var(--hw-space-5); right:var(--hw-space-5); z-index:2; display:flex; align-items:center; gap:2px; padding:3px; border:1px solid var(--hw-border); border-radius:var(--hw-radius-pill); background:var(--hw-elevated); box-shadow:var(--hw-shadow-md); cursor:default; }
.hw-graph__empty{ position:absolute; inset:0; display:grid; place-items:center; }

.hw-app .is-dragover,.hw-app .is-drop-target,.hw-app .is-over{ outline:2px dashed color-mix(in srgb,var(--hw-primary) 70%,transparent); outline-offset:2px; background-color:color-mix(in srgb,var(--hw-primary) 7%,transparent); }
.is-reorder-before{ box-shadow:inset 0 3px 0 var(--hw-primary) !important; }
.is-reorder-after{ box-shadow:inset 0 -3px 0 var(--hw-primary) !important; }
.is-drop-proxy{ pointer-events:none; opacity:.85; box-shadow:var(--hw-shadow-lg) !important; }

.hw-size{ width:var(--hw-w,auto); min-width:var(--hw-min-w,0); max-width:var(--hw-max-w,none); flex:var(--hw-flex,0 1 auto); }
.hw-modal__body .hw-modal__foot{ position:sticky; bottom:calc(-1 * var(--hw-card-pad)); z-index:2; margin:var(--hw-space-2) calc(-1 * var(--hw-card-pad)) calc(-1 * var(--hw-card-pad)); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); background:color-mix(in srgb,var(--hw-elevated) 88%,transparent); }

.hw-pick{ position:relative; display:inline-grid; place-items:center; width:20px; height:20px; padding:0; border:1.5px solid var(--hw-border-strong); border-radius:50%; background:var(--hw-field-bg); cursor:pointer; transition:background var(--hw-dur-fast),border-color var(--hw-dur-fast),box-shadow var(--hw-dur-fast); }
.hw-pick:hover{ border-color:var(--hw-primary); }
.hw-pick:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--hw-focus); }
.hw-pick::after{ content:""; width:8px; height:8px; border-radius:50%; background:#fff; transform:scale(0); transition:transform var(--hw-dur-fast) var(--hw-ease); }
.hw-pick.is-on,.hw-pick[aria-pressed="true"]{ background:var(--hw-tone,var(--hw-primary)); border-color:var(--hw-tone,var(--hw-primary)); }
.hw-pick.is-on::after,.hw-pick[aria-pressed="true"]::after{ transform:scale(1); }

.hw-pie{ position:relative; width:var(--hw-pie-size,220px); max-width:100%; aspect-ratio:1; margin:0 auto; border-radius:50%; background:var(--hw-pie,conic-gradient(var(--hw-divider) 0 100%)); }
.hw-pie::after{ content:""; position:absolute; inset:var(--hw-pie-hole,22%); border-radius:50%; background:var(--hw-surface); box-shadow:inset 0 0 0 1px var(--hw-divider); }
.hw-pie__center{ position:absolute; inset:0; z-index:1; display:grid; place-content:center; text-align:center; pointer-events:none; }
.hw-pie__center > strong{ font-family:var(--hw-font-display); font-size:var(--hw-fs-2xl); font-weight:var(--hw-fw-black); line-height:1.1; }
.hw-pie__center > span{ font-size:var(--hw-fs-2xs); text-transform:uppercase; letter-spacing:.08em; color:var(--hw-text-subtle); }
.hw-pie > .hw-chart__tip{ z-index:3; }
.hw-histogram{ display:flex; align-items:stretch; gap:var(--hw-space-3); height:var(--hw-chart-h,240px); overflow-x:auto; padding-bottom:2px; }
.hw-histogram__col{ flex:1 0 36px; min-width:36px; display:flex; flex-direction:column; gap:4px; padding:0; border:0; background:none; font:inherit; color:inherit; cursor:pointer; }
.hw-histogram__value{ font-size:10px; font-weight:var(--hw-fw-bold); text-align:center; color:var(--hw-text-muted); font-variant-numeric:tabular-nums; }
.hw-histogram__track{ flex:1 1 auto; display:flex; align-items:flex-end; border-radius:var(--hw-radius-xs); background:color-mix(in srgb,var(--hw-text) 5%,transparent); overflow:hidden; }
.hw-histogram__fill{ display:block; width:100%; height:var(--hw-value,0%); border-radius:4px 4px 1px 1px; background:var(--hw-series,var(--hw-primary)); transition:height var(--hw-dur-slow) var(--hw-ease),opacity var(--hw-dur-fast); }
.hw-histogram__col:hover .hw-histogram__fill{ opacity:.82; }
.hw-histogram__label{ font-size:10px; text-align:center; color:var(--hw-text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-histogram__col.is-disabled,.hw-bars__row.is-disabled,.hw-legend__item.is-disabled{ opacity:.38; }
.hw-legend__item.is-disabled .hw-legend__label{ text-decoration:line-through; }
button.hw-bars__label{ padding:0; border:0; background:none; font:inherit; color:inherit; text-align:left; cursor:pointer; }
button.hw-bars__label:hover{ color:var(--hw-text); }

.hw-combo__panel--manual{ display:flex; }
.hw-combo__option.is-active{ font-weight:var(--hw-fw-semibold); color:var(--hw-primary); background:color-mix(in srgb,var(--hw-primary) 7%,transparent); }
.hw-combo__option > input[type="checkbox"]{ accent-color:var(--hw-primary); }
.hw-combo__control > .hw-badge{ margin-left:auto; }
.hw-app .has-open-popover{ position:relative; z-index:calc(var(--hw-z-sticky) + 5); }
.hw-drag-ghost{ position:fixed; z-index:var(--hw-z-tooltip); pointer-events:none; padding:var(--hw-space-3) var(--hw-space-5); border:1px solid color-mix(in srgb,var(--hw-primary) 45%,var(--hw-border)); border-radius:var(--hw-radius-sm); background:var(--hw-elevated); box-shadow:var(--hw-shadow-lg); font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-semibold); transform:translate(14px,14px); }
.hw-modal--simple:not([hidden]){ visibility:visible; opacity:1; transition:none; }
.hw-modal--simple:not([hidden]) .hw-modal__dialog{ transform:none; }
.hw-badge.is-ready,.hw-badge.is-success,.hw-dot.is-ready{ --hw-tone:var(--hw-success); }
.hw-badge.is-error,.hw-dot.is-error{ --hw-tone:var(--hw-danger); }
.hw-badge.is-loading{ --hw-tone:var(--hw-info); }
.hw-toast.is-error{ --hw-tone:var(--hw-danger); }

.hw-rank{ --hw-rank-row:34px; --hw-rank-head:30px; display:flex; flex-direction:column; min-width:0; container-type:inline-size; }
.hw-rank--window{ height:calc(var(--hw-rank-head) + var(--hw-rank-rows,10) * var(--hw-rank-row)); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.hw-rank__row{ display:grid; grid-template-columns:var(--hw-rank-template,minmax(90px,1.4fr) minmax(60px,1fr) 78px 88px 56px); align-items:center; gap:var(--hw-space-5); flex:0 0 auto; height:var(--hw-rank-row); border-bottom:1px solid var(--hw-divider); font-size:var(--hw-fs-sm); color:var(--hw-text); }
.hw-rank__row:last-child{ border-bottom:0; }
.hw-rank__row--head{ position:sticky; top:0; z-index:1; height:var(--hw-rank-head); background:var(--hw-surface); color:var(--hw-text-subtle); font-size:var(--hw-fs-xs); font-weight:var(--hw-fw-medium); letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.hw-rank__label{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-rank__track{ height:8px; border-radius:var(--hw-radius-pill); background:color-mix(in srgb,var(--hw-text) 7%,transparent); overflow:hidden; }
.hw-rank__row--head .hw-rank__track{ background:none; }
.hw-rank__fill{ display:block; height:100%; width:var(--hw-value,0%); border-radius:inherit; background:var(--hw-series,var(--hw-series-1)); }
.hw-rank__num{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.hw-rank__num--strong{ font-weight:var(--hw-fw-semibold); }
.hw-rank__num--muted{ color:var(--hw-text-muted); }
.hw-rank__short{ display:none; }
@container (max-width:560px){
  .hw-rank__row{ grid-template-columns:var(--hw-rank-template-md,minmax(72px,1fr) 62px 68px 44px); }
  .hw-rank__track{ display:none; }
}
@container (max-width:430px){
  .hw-rank__row{ grid-template-columns:var(--hw-rank-template-sm,minmax(64px,1fr) 52px 58px 38px); gap:var(--hw-space-4); font-size:var(--hw-fs-xs); }
  .hw-rank__long{ display:none; }
  .hw-rank__short{ display:inline; }
}

.hw-combo__panel--fixed{ position:fixed; z-index:calc(var(--hw-z-modal) + 10); right:auto; overflow:hidden; background:linear-gradient(var(--hw-elevated),var(--hw-elevated)),var(--hw-bg); }
.hw-combo__panel--manual[hidden]{ display:none; }
.hw-combo__panel--fixed > .hw-combo__options{ flex:1 1 auto; min-height:0; max-height:none; }
.hw-combo.is-disabled{ opacity:.55; pointer-events:none; }
.hw-combo > select.hw-sr-only{ position:absolute; }
.hw-chart__cursor{ stroke:var(--hw-border-strong); stroke-width:1; stroke-dasharray:3 3; }
.hw-chart__tip i,.hw-chart__tip .hw-legend__swatch{ display:inline-block; width:10px; height:10px; margin-right:6px; border-radius:3px; background:var(--hw-series,var(--hw-series-1)); vertical-align:-1px; }
.hw-chart__tip > span{ display:block; }
.hw-chart__tip--edge{ top:4px; transform:none; }
.hw-chart__tip[hidden]{ display:none !important; }
.hw-chart__empty--flow{ position:static; padding:var(--hw-space-8) var(--hw-space-5); text-align:center; }

dialog.hw-modal__dialog{ margin:auto; padding:0; max-width:calc(100vw - 32px); transform:none; background:linear-gradient(var(--hw-elevated),var(--hw-elevated)),var(--hw-bg); color:var(--hw-text); }
dialog.hw-modal__dialog:not([open]){ display:none; }
dialog.hw-modal__dialog:modal{ position:fixed; inset:0; }
dialog.hw-modal__dialog::backdrop{ background:var(--hw-overlay); -webkit-backdrop-filter:blur(6px) saturate(1.1); backdrop-filter:blur(6px) saturate(1.1); }
dialog.hw-modal__dialog > .hw-modal__head:only-child,dialog.hw-modal__dialog > .hw-modal__body:first-child{ padding-top:var(--hw-card-pad); }
.hw-modal__head > .hw-icon-box{ flex:0 0 auto; }

.hw-operation{ display:flex; flex-direction:column; gap:var(--hw-space-3); min-width:0; padding:var(--hw-space-4) var(--hw-space-5); border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface-2); font-size:var(--hw-fs-sm); }
.hw-operation[hidden]{ display:none; }
.hw-operation__head{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--hw-space-3) var(--hw-space-5); min-width:0; }
.hw-operation__head > strong{ min-width:0; overflow-wrap:anywhere; }
.hw-operation__meta{ display:inline-flex; flex-wrap:wrap; align-items:center; gap:var(--hw-space-4); margin-left:auto; color:var(--hw-text-muted); font-size:var(--hw-fs-xs); font-variant-numeric:tabular-nums; }
.hw-operation.is-complete{ --hw-tone:var(--hw-success); border-color:color-mix(in srgb,var(--hw-success) 32%,var(--hw-border)); background:color-mix(in srgb,var(--hw-success) 8%,var(--hw-surface)); }
.hw-progress__bar.is-indeterminate{ width:38% !important; animation:hw-indeterminate 1.3s var(--hw-ease) infinite; }

details.hw-combo > summary{ list-style:none; }
details.hw-combo > summary::-webkit-details-marker{ display:none; }
details.hw-combo[open] > .hw-combo__control{ border-color:color-mix(in srgb,var(--hw-primary) 60%,transparent); box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-primary) 18%,transparent); }
details.hw-combo[aria-disabled="true"],details.hw-combo[data-disabled="1"]{ opacity:.6; pointer-events:none; }
details.hw-combo > .hw-combo__panel{ display:flex; }
.hw-combo__panel--float{ position:fixed; right:auto; overflow:auto; background:linear-gradient(var(--hw-elevated),var(--hw-elevated)),var(--hw-bg); }
.hw-combo__panel--float:not(.is-positioned){ visibility:hidden; opacity:0; pointer-events:none; }
.hw-combo__control > strong{ margin-left:auto; color:var(--hw-primary); font-size:var(--hw-fs-xs); white-space:nowrap; }
.hw-combo__option small{ margin-left:var(--hw-space-3); color:var(--hw-text-subtle); font-size:var(--hw-fs-2xs); }

.hw-tab[aria-current="page"]{ color:var(--hw-text); background:var(--hw-surface); border-color:var(--hw-border); box-shadow:var(--hw-shadow-sm),var(--hw-rim); }
.hw-tabs--vertical > .hw-tab[aria-current="page"]{ background:color-mix(in srgb,var(--hw-primary) 12%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-primary) 34%,var(--hw-border)); }
.hw-table tr.is-disabled > td{ opacity:.6; }
.hw-busy[aria-busy="true"]{ opacity:.55; pointer-events:none; transition:opacity var(--hw-dur) var(--hw-ease); }
.hw-self-end{ align-self:end; } .hw-self-start{ align-self:start; } .hw-self-center{ align-self:center; }
.hw-items-end{ align-items:flex-end; } .hw-items-start{ align-items:flex-start; } .hw-items-center{ align-items:center; }
.hw-m-1{ margin:var(--hw-space-3); } .hw-m-2{ margin:var(--hw-space-4); } .hw-m-3{ margin:var(--hw-space-5); }
.hw-my-3{ margin-block:var(--hw-space-5); }
.hw-editor.is-dragover{ border-color:var(--hw-primary); background:color-mix(in srgb,var(--hw-primary) 8%,var(--hw-field-bg)); }
.hw-editor__media{ position:relative; display:inline-flex; flex-direction:column; gap:var(--hw-space-2); max-width:min(320px,100%); margin:var(--hw-space-2); padding:var(--hw-space-2); border:1px solid var(--hw-border); border-radius:var(--hw-radius-sm); background:var(--hw-surface); vertical-align:top; user-select:none; }
.hw-editor__media > img{ display:block; max-width:100%; max-height:220px; border-radius:calc(var(--hw-radius-sm) - 2px); object-fit:contain; }
.hw-editor__media-caption{ font-size:var(--hw-fs-2xs); color:var(--hw-text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-editor__media-remove{ position:absolute; top:var(--hw-space-2); right:var(--hw-space-2); }
.hw-file__thumb{ flex:0 0 auto; display:grid; place-items:center; width:40px; height:40px; border-radius:var(--hw-radius-sm); background:var(--hw-surface-2); color:var(--hw-primary); overflow:hidden; }
.hw-file__thumb > img{ width:100%; height:100%; object-fit:cover; }
.details-attachment.hw-item,.hw-item--static{ cursor:default; user-select:auto; }
.hw-item__preview > .hw-badge{ position:absolute; right:var(--hw-space-3); bottom:var(--hw-space-3); }
details.hw-combo > .hw-combo__control{ flex-wrap:nowrap; }
details.hw-combo > .hw-combo__control > .hw-combo__value{ flex:1 1 auto; min-width:0; }
:is(.hw-card,.hw-sidebar,.hw-kpi,.hw-toolbar--card,.hw-hero,.hw-modal__dialog):has(details[open] > .hw-combo__panel--float){ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
.hw-minw{ min-width:var(--hw-min-w,220px); }

.hw-overlay{ position:fixed; inset:0; z-index:var(--hw-z-modal); background:var(--hw-overlay); -webkit-backdrop-filter:blur(6px) saturate(1.1); backdrop-filter:blur(6px) saturate(1.1); }
.hw-overlay[hidden],.hw-modal__dialog--fixed[hidden]{ display:none; }
.hw-modal__dialog--fixed{ position:fixed; left:50%; top:50%; z-index:calc(var(--hw-z-modal) + 1); width:min(var(--hw-modal-w,560px),calc(100vw - 32px)); transform:translate(-50%,-50%); background:linear-gradient(var(--hw-elevated),var(--hw-elevated)),var(--hw-bg); }

.hw-steps__item.is-active{ color:var(--hw-text); }
.hw-steps__item.is-active .hw-steps__num{ border-color:var(--hw-primary); color:var(--hw-primary); box-shadow:0 0 0 3px var(--hw-focus); }
.hw-steps__item.is-complete{ color:var(--hw-text-muted); }
.hw-steps__item.is-complete .hw-steps__num{ background:var(--hw-primary); border-color:var(--hw-primary); color:var(--hw-primary-contrast); }

.hw-table th.is-sortable[aria-sort="ascending"]::after{ border-top-color:transparent; border-bottom-color:var(--hw-primary); margin-top:-7px; opacity:1; }
.hw-table th.is-sortable[aria-sort="descending"]::after{ border-top-color:var(--hw-primary); opacity:1; }
.hw-table__th-btn{ display:inline-flex; align-items:center; gap:var(--hw-space-2); padding:0; border:0; background:none; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; cursor:pointer; }

span.hw-item__check{ display:grid; place-items:center; width:22px; height:22px; border-radius:50%; border:1.5px solid var(--hw-border-strong); background:var(--hw-surface); color:var(--hw-primary-contrast); opacity:0; transition:opacity var(--hw-dur-fast); --hw-icon-size:13px; }
.hw-item:hover span.hw-item__check,.hw-item:focus-visible span.hw-item__check{ opacity:1; }
.hw-item.is-selected span.hw-item__check,tr.is-selected .hw-item__check{ opacity:1; background:var(--hw-primary); border-color:var(--hw-primary); }
tr .hw-item__check{ position:static; }
.hw-icon-box > img{ width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.hw-item--static{ cursor:default; }

.hw-btn.is-loading{ pointer-events:none; opacity:.65; }
.hw-btn.is-copied{ --hw-tone:var(--hw-success); color:var(--hw-success); }

.hw-drop-overlay{ position:absolute; inset:var(--hw-space-4); z-index:5; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--hw-space-3); border:2px dashed var(--hw-primary); border-radius:var(--hw-radius-lg); background:color-mix(in srgb,var(--hw-primary) 10%,var(--hw-surface)); color:var(--hw-text); pointer-events:none; }
.hw-drop-overlay[hidden]{ display:none; }
.hw-drop-overlay > .hw-icon{ --hw-icon-size:34px; color:var(--hw-primary); }
.hw-menu--wide{ min-width:min(320px,calc(100vw - 32px)); max-height:min(460px,70vh); overflow:auto; }
.hw-row--wrap{ flex-wrap:wrap; }
.hw-card__head.hw-row--wrap > .hw-toolbar{ flex:1 1 auto; justify-content:flex-end; }
.hw-breadcrumbs > button{ display:inline-flex; align-items:center; max-width:260px; padding:2px var(--hw-space-3); border:0; border-radius:var(--hw-radius-xs); background:none; color:inherit; font:inherit; cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-breadcrumbs > button:hover{ background:var(--hw-surface-3); color:var(--hw-text); }
.hw-breadcrumbs > span:not(.hw-icon){ padding:2px var(--hw-space-3); color:var(--hw-text); font-weight:var(--hw-fw-semibold); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hw-breadcrumbs > .hw-icon{ --hw-icon-size:14px; color:var(--hw-text-subtle); }
.hw-tab--block{ justify-content:flex-start; text-align:left; white-space:normal; min-height:var(--hw-ctl-h); }
.hw-tab--block.is-active{ background:color-mix(in srgb,var(--hw-primary) 12%,var(--hw-surface)); border-color:color-mix(in srgb,var(--hw-primary) 34%,var(--hw-border)); }
.hw-tab-slot{ position:relative; display:flex; align-items:stretch; min-width:0; }
.hw-tab-slot > .hw-tab{ flex:1 1 auto; min-width:0; }
.hw-tab-slot.has-action > .hw-tab{ padding-right:calc(var(--hw-ctl-h-sm,32px) + var(--hw-space-3)); }
.hw-tab-slot__action{ position:absolute; top:50%; right:var(--hw-space-2); z-index:1; transform:translateY(-50%); }
.hw-kpi.is-loading .hw-kpi__value{ color:transparent; min-width:70px; border-radius:var(--hw-radius-xs); background:linear-gradient(90deg,color-mix(in srgb,var(--hw-text) 7%,transparent) 25%,color-mix(in srgb,var(--hw-text) 13%,transparent) 50%,color-mix(in srgb,var(--hw-text) 7%,transparent) 75%); background-size:200% 100%; animation:hw-kpi-shimmer 1.2s linear infinite; }
@keyframes hw-kpi-shimmer{ to{ background-position:-200% 0; } }
@media (prefers-reduced-motion:reduce){ .hw-kpi.is-loading .hw-kpi__value{ animation:none; } }
.hw-kpi__head{ display:flex; align-items:center; justify-content:space-between; gap:var(--hw-space-4); }
.hw-kpi__row{ display:flex; align-items:flex-end; justify-content:space-between; gap:var(--hw-space-4); }
.hw-overlay--center{ display:flex; align-items:center; justify-content:center; padding:var(--hw-space-6); }
.hw-overlay--center > .hw-modal__dialog{ max-height:calc(100dvh - 48px); background:linear-gradient(var(--hw-elevated),var(--hw-elevated)),var(--hw-bg); }
.hw-table .is-check > input[type="checkbox"]{ width:16px; height:16px; accent-color:var(--hw-primary); cursor:pointer; }

.hw-badge{ max-width:100%; }
.hw-segmented{ max-width:100%; overflow-x:auto; scrollbar-width:none; }
.hw-segmented::-webkit-scrollbar{ display:none; }
.hw-hero__aside{ min-width:0; max-width:100%; }
@media (max-width:640px){
  .hw-card__head{ flex-wrap:wrap; }
  .hw-card__tools{ flex:0 1 auto; flex-wrap:wrap; justify-content:flex-end; max-width:100%; min-width:0; }
  .hw-badge{ white-space:normal; overflow-wrap:break-word; }
  .hw-hero__aside > *{ max-width:100%; }
  .hw-option{ flex-wrap:wrap; }
  .hw-option > .hw-option__body{ flex:1 1 calc(100% - 64px); }
  .hw-option > .hw-row,.hw-option > .hw-actions{ flex:0 1 auto; margin-left:auto; flex-wrap:wrap; justify-content:flex-end; }
}

.hws-platform-window > .hw-modal__body{ flex:1 1 auto; min-height:0; overflow:hidden; }
.hw-frame-overlay__view{ position:absolute; inset:0; display:flex; flex-direction:column; min-height:0; }
.hw-frame-overlay__view[hidden]{ display:none; }
.hw-frame-overlay__view > .hw-frame-overlay__frame{ flex:1 1 auto; width:100%; height:100%; min-height:0; border:0; background:transparent; opacity:0; transition:opacity var(--hw-dur) var(--hw-ease); }
.hw-frame-overlay__view > .hw-frame-overlay__frame.is-ready{ opacity:1; }

.hw-appbar:has(.hw-dropdown.is-open),.hw-appbar:has(.hw-menu.is-open),html.hw-appbar-raised .hw-appbar{ z-index:calc(var(--hw-z-toast) + 5); }

.hw-qr--sm{ --hw-qr-size:104px; padding:var(--hw-space-3); }
.hw-qr--xs{ --hw-qr-size:72px; padding:var(--hw-space-2); }
.hw-qr-card{ display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:var(--hw-space-6); padding:var(--hw-space-4); border:1px solid var(--hw-border); border-radius:var(--hw-radius-md); background:var(--hw-surface-2); max-width:100%; }
.hw-qr-card[hidden]{ display:none; }
.hw-qr-card--empty{ grid-template-columns:minmax(0,1fr); }
.hw-qr-card--empty > .hw-qr,.hw-qr-card--empty .hw-qr-card__actions{ display:none; }
.hw-qr-card__body{ display:flex; flex-direction:column; gap:var(--hw-space-2); min-width:0; }
.hw-qr-card__title{ font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-bold); }
.hw-qr-card__actions{ display:flex; flex-wrap:wrap; gap:var(--hw-space-3); margin-top:var(--hw-space-3); }
@media (max-width:420px){ .hw-qr-card{ grid-template-columns:minmax(0,1fr); justify-items:center; text-align:center; } .hw-qr-card__actions{ justify-content:center; } }

html[data-skin="liquid"] body.hw-app::before{ filter:saturate(1.15); }
html[data-skin="liquid"] :is(.hw-card,.hw-kpi,.hw-tile,.hw-sidebar,.hw-hero--card,.hw-toolbar--card,.hw-appbar,.hw-bulkbar,.hw-chat--floating,.hw-chat--page,.hw-toast,.hw-menu,.hw-popover,.hw-preloader__card,.hw-modal__dialog,.hw-window,.hw-fab,.hw-segmented,.hw-tabs--pills){
  -webkit-backdrop-filter:blur(var(--hw-blur)) saturate(1.9) brightness(1.05);
  backdrop-filter:blur(var(--hw-blur)) saturate(1.9) brightness(1.05);
  box-shadow:var(--hw-shadow-md),var(--hw-rim);
}
html[data-skin="liquid"] :is(.hw-modal__dialog,.hw-menu,.hw-popover){ background:var(--hw-elevated); }
html[data-skin="liquid"] .hw-appbar{ background:color-mix(in srgb,var(--hw-surface) 70%,transparent); }
html[data-skin="liquid"][data-glass-refraction] :is(.hw-card,.hw-kpi,.hw-tile,.hw-sidebar,.hw-hero--card,.hw-toolbar--card,.hw-appbar,.hw-bulkbar,.hw-chat--floating,.hw-chat--page,.hw-preloader__card,.hw-modal__dialog,.hw-window){
  backdrop-filter:url(#hw-liquid-glass) blur(calc(.6px + (1 - var(--hw-liquid,.6)) * 9px)) saturate(1.9) brightness(1.05);
}
html[data-skin="liquid"][data-glass-refraction] :is(.hw-fab,.hw-segmented,.hw-tabs--pills){
  backdrop-filter:url(#hw-liquid-glass-sm) blur(2px) saturate(2) brightness(1.06);
}
html[data-skin="liquid"][data-glass-refraction] :is(.hw-toast,.hw-menu,.hw-popover){ backdrop-filter:url(#hw-liquid-glass-sm) blur(16px) saturate(2) brightness(1.04); }
html[data-skin="liquid"][data-glass-refraction] .hw-appbar{ backdrop-filter:url(#hw-liquid-glass) blur(4px) saturate(2) brightness(1.05); }
html[data-skin="liquid"][data-glass-refraction] :is(.hw-modal__dialog,.hw-chat--floating,.hw-window){ backdrop-filter:url(#hw-liquid-glass) blur(18px) saturate(1.9) brightness(1.04); }
html[data-skin="liquid"] :is(.hw-toast,.hw-menu,.hw-popover){ -webkit-backdrop-filter:blur(16px) saturate(2); }
html[data-skin="liquid"] :is(.hw-modal__dialog,.hw-chat--floating,.hw-window){ -webkit-backdrop-filter:blur(18px) saturate(1.9); }
html[data-skin="liquid"]:not([data-theme="dark"]) :is(.hw-menu,.hw-popover,.hw-toast){ background:rgba(250,252,255,.88); }
html[data-skin="liquid"][data-theme="dark"] :is(.hw-menu,.hw-popover,.hw-toast){ background:rgba(16,24,42,.9); }
html[data-skin="liquid"] :is(.hw-btn:not(.hw-btn--solid):not(.hw-btn--ghost),.hw-input,.hw-select,.hw-textarea,.hw-search){ box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(255,255,255,.12); }
html[data-skin="liquid"] .hw-btn--solid{ box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -8px 16px -10px rgba(0,0,0,.22),0 6px 18px color-mix(in srgb,var(--hw-tone,var(--hw-primary)) 32%,transparent); }
html[data-skin="liquid"] :is(.hw-card,.hw-toolbar,.hw-modal__dialog,.hw-sidebar):has(details[open] > .hw-combo__panel--float){ -webkit-backdrop-filter:none; backdrop-filter:none; }
@media (prefers-reduced-transparency: reduce){
  html[data-skin="liquid"]{ --hw-surface:var(--hw-elevated); }
}

.hw-inspect-box{ position:fixed; left:0; top:0; z-index:calc(var(--hw-z-preloader) + 10); pointer-events:none; border:2px dashed var(--hw-primary); border-radius:6px; background:color-mix(in srgb,var(--hw-primary) 8%,transparent); transition:transform 60ms linear,width 60ms linear,height 60ms linear; }
.hw-inspect-box--selected{ border-style:solid; box-shadow:0 0 0 4px color-mix(in srgb,var(--hw-primary) 25%,transparent); background:transparent; }
.hw-inspect-box[hidden]{ display:none; }
html.hw-inspecting, html.hw-inspecting *{ cursor:crosshair !important; }
.hw-page-frame{ display:block; width:100%; height:calc(100vh - 260px); height:calc(100dvh - 260px); min-height:520px; border:1px solid var(--hw-border); border-radius:var(--hw-radius-lg); background:var(--hw-bg); margin:0 auto; transition:width var(--hw-dur) var(--hw-ease); }
.hw-page-frame-wrap{ position:relative; overflow:auto; }

html[data-skin="liquid"][data-glass-contrast] :is(.hw-card,.hw-kpi,.hw-tile,.hw-sidebar,.hw-hero--card,.hw-toolbar--card,.hw-appbar,.hw-bulkbar,.hw-chat--floating,.hw-chat--page,.hw-toast,.hw-menu,.hw-popover,.hw-modal__dialog,.hw-window,.hw-segmented,.hw-tabs--pills){
  border-color:rgba(255,255,255,.95);
  box-shadow:0 0 0 1px rgba(10,20,40,.38),var(--hw-shadow-md),var(--hw-rim);
}
html[data-skin="liquid"][data-theme="dark"][data-glass-contrast] :is(.hw-card,.hw-kpi,.hw-tile,.hw-sidebar,.hw-hero--card,.hw-toolbar--card,.hw-appbar,.hw-bulkbar,.hw-chat--floating,.hw-chat--page,.hw-toast,.hw-menu,.hw-popover,.hw-modal__dialog,.hw-window,.hw-segmented,.hw-tabs--pills){
  border-color:rgba(255,255,255,.55);
  box-shadow:0 0 0 1px rgba(0,0,0,.6),var(--hw-shadow-md),var(--hw-rim);
}
html[data-skin="liquid"][data-glass-contrast] :is(.hw-btn,.hw-input,.hw-select,.hw-textarea,.hw-search,.hw-badge,.hw-chip){ outline:1px solid color-mix(in srgb,var(--hw-text) 38%,transparent); outline-offset:-1px; }
html[data-skin="liquid"][data-glass-contrast]{ --hw-text-muted:color-mix(in srgb,var(--hw-text) 88%,transparent); --hw-text-subtle:color-mix(in srgb,var(--hw-text) 72%,transparent); --hw-divider:color-mix(in srgb,var(--hw-text) 22%,transparent); }

html[data-skin="minimal"]{ --hw-shadow-sm:none; --hw-shadow-md:none; --hw-shadow-lg:0 8px 24px rgba(0,0,0,.08); --hw-dur:0ms; --hw-dur-fast:0ms; --hw-dur-slow:0ms; }
html[data-skin="minimal"] body.hw-app::before{ background:var(--hw-bg); }
html[data-skin="minimal"] :is(*,*::before,*::after){ text-shadow:none !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
html[data-skin="minimal"] .hw-select{ box-shadow:none !important; }
html[data-skin="minimal"] :is(.hw-card,.hw-kpi,.hw-tile,.hw-sidebar,.hw-appbar,.hw-toolbar,.hw-hero--card,.hw-btn,.hw-input,.hw-textarea,.hw-chip,.hw-badge,.hw-segmented,.hw-tabs,.hw-tab){ box-shadow:none !important; background-image:none !important; }
html[data-skin="minimal"] .hw-btn--solid{ background:var(--hw-tone,var(--hw-primary)); }
html[data-skin="minimal"] :is(.hw-input,.hw-select,.hw-textarea):focus{ outline:2px solid var(--hw-focus); outline-offset:-1px; }
html[data-skin="minimal"] .hw-preloader__logo > span{ animation:none; }
html[data-skin="minimal"] :is(.hw-card:hover,.hw-tile:hover,.hw-kpi:hover){ transform:none !important; }
html:not([data-skin="angelica"]) .hw-angelica-unicorn{ display:none; }
html[data-accent="teal"]:not([data-theme="dark"]){ --hw-primary:#0fa89a; --hw-primary-strong:#0b8579; }
html[data-accent="violet"]:not([data-theme="dark"]){ --hw-primary:#7c5cf0; --hw-primary-strong:#6343de; }
html[data-accent="orange"]:not([data-theme="dark"]){ --hw-primary:#ea7a12; --hw-primary-strong:#c8620a; }
html[data-accent="pink"]:not([data-theme="dark"]){ --hw-primary:#e0457b; --hw-primary-strong:#c42f64; }
html[data-accent="green"]:not([data-theme="dark"]){ --hw-primary:#1f9d55; --hw-primary-strong:#17803f; }
html[data-accent="blue"]:not([data-theme="dark"]){ --hw-primary:#3b7fe0; --hw-primary-strong:#2a66c0; }
html[data-accent="red"]:not([data-theme="dark"]){ --hw-primary:#d92d35; --hw-primary-strong:#b91c25; }
html[data-theme="dark"][data-accent="teal"]{ --hw-primary:#4fd1c5; --hw-primary-strong:#81e6d9; }
html[data-theme="dark"][data-accent="violet"]{ --hw-primary:#a78bfa; --hw-primary-strong:#c4b5fd; }
html[data-theme="dark"][data-accent="orange"]{ --hw-primary:#fb9a3c; --hw-primary-strong:#fdba74; }
html[data-theme="dark"][data-accent="pink"]{ --hw-primary:#f472b6; --hw-primary-strong:#f9a8d4; }
html[data-theme="dark"][data-accent="green"]{ --hw-primary:#4ade80; --hw-primary-strong:#86efac; }
html[data-theme="dark"][data-accent="blue"]{ --hw-primary:#7aa7ff; --hw-primary-strong:#a9c6ff; }
html[data-theme="dark"][data-accent="red"]{ --hw-primary:#ff6269; --hw-primary-strong:#ff9297; }
html[data-accent]{ --hw-focus:color-mix(in srgb,var(--hw-primary) 50%,transparent); --hw-series-1:var(--hw-primary); }

/* ---------- Nova 1.4.4 tasks (14.10.2026) ---------- */
/* §9: mini header — «Nova» + version badge; never pushes the header buttons. */
.hws-assistant-head__copy{ min-width:0; flex:1 1 auto; }
.hws-assistant-head__actions{ flex:0 0 auto; }
.hws-assistant-head__titles > .hws-assistant-head__label{ display:flex; align-items:center; gap:var(--hw-space-3); min-width:0; max-width:100%; }
.hws-assistant-head__name{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hws-assistant-head__version{ flex:0 0 auto; font-weight:var(--hw-fw-semibold); }
/* §5: honest server status; in full screen a limited status explains itself on click. */
.hws-assistant-status:is([data-state="no_key"],[data-state="degraded"]) .hws-assistant-status__dot{ background:var(--hw-warning); }
.hws-assistant-status.is-clickable{ cursor:pointer; border-radius:var(--hw-radius-sm,6px); }
.hws-assistant-status.is-clickable .hws-assistant-status__text{ text-decoration:underline dotted; text-underline-offset:2px; }
.hws-assistant-status.is-clickable:focus-visible{ outline:2px solid var(--hw-focus); outline-offset:2px; }
/* §2: «Задания» — a view in place of the messages (full screen). */
.hws-assistant-fullscreen.is-view-tasks .hws-assistant-messages,.hws-assistant-fullscreen.is-view-tasks .hws-assistant-suggest,.hws-assistant-fullscreen.is-view-tasks .hws-assistant-form{ display:none; }
.hws-assistant-tasks{ flex:1 1 auto; min-height:0; overflow:auto; display:flex; flex-direction:column; gap:var(--hw-space-4); width:100%; max-width:calc(920px + 2 * var(--hw-space-6)); margin-inline:auto; padding:var(--hw-space-6); box-sizing:border-box; }
.hws-assistant-tasks[hidden]{ display:none; }
.hws-assistant-tasks__head{ display:flex; align-items:center; gap:var(--hw-space-4); flex-wrap:wrap; }
.hws-assistant-tasks__titles{ display:flex; align-items:center; gap:var(--hw-space-3); margin-right:auto; font-size:var(--hw-fs-lg); }
.hws-assistant-tasks__meta{ margin:0; }
.hws-assistant-tasks__meta:empty{ display:none; }
.hws-assistant-tasks__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--hw-space-4); }
.hws-task-item{ display:flex; flex-direction:column; gap:var(--hw-space-2); padding:var(--hw-space-5) var(--hw-space-6); }
.hws-task-item{ overflow:visible; position:relative; }
.hws-assistant-tasks__list > li:has(.hw-menu:not([hidden])){ position:relative; z-index:3; }
.hws-task-item__more .hw-menu{ z-index:4; min-width:200px; }
.hws-task-item.is-paused,.hws-task-item.is-done{ opacity:.78; }
.hws-task-item__head{ display:flex; align-items:center; gap:var(--hw-space-3); min-width:0; }
.hws-task-item__title{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-right:auto; }
.hws-task-item__more{ position:relative; flex:0 0 auto; }
.hws-task-item__schedule{ margin:0; }
.hws-task-item__error{ margin:0; color:var(--hw-danger); }
.hws-task-item__chat{ align-self:flex-start; background:none; border:0; padding:0; cursor:pointer; font:inherit; font-size:var(--hw-fs-sm); }
/* §7: document view — right panel in full screen, hw-modal in the mini window. */
.hws-assistant-docview{ grid-column:3; grid-row:1; display:flex; flex-direction:column; min-height:0; border-left:1px solid var(--hw-divider); background:var(--hw-elevated); animation:hw-fade-up var(--hw-dur) var(--hw-ease); }
.hws-assistant-docview[hidden]{ display:none; }
.hw-chat--page.hws-assistant-fullscreen.has-docview{ grid-template-columns:280px minmax(0,1fr) minmax(360px,42%); }
.hws-assistant-docview__body,.hws-docview{ flex:1 1 auto; min-height:0; overflow:auto; display:flex; flex-direction:column; gap:var(--hw-space-4); padding:var(--hw-space-6); }
.hws-docview__meta{ margin:0; }
.hws-docview__actions{ margin:0; }
.hws-docview__toc summary{ cursor:pointer; }
.hws-docview__toc-list{ margin:var(--hw-space-3) 0 0; padding-left:var(--hw-space-7); display:flex; flex-direction:column; gap:var(--hw-space-2); font-size:var(--hw-fs-sm); }
.hws-docview__toc-list .hw-link{ background:none; border:0; padding:0; cursor:pointer; font:inherit; text-align:left; }
.hws-docview__text{ display:flex; flex-direction:column; gap:var(--hw-space-3); line-height:1.6; }
.hws-docview__heading{ margin:var(--hw-space-5) 0 var(--hw-space-2); font-size:var(--hw-fs-sm); color:var(--hw-text-muted); font-weight:var(--hw-fw-semibold); }
.hws-docview__p{ margin:0 0 var(--hw-space-2); white-space:pre-wrap; overflow-wrap:anywhere; }
.hws-docview__chunk.is-highlight{ border-left:3px solid var(--hw-primary); padding-left:var(--hw-space-4); background:color-mix(in srgb,var(--hw-primary) 6%,transparent); border-radius:var(--hw-radius-sm); }
.hws-docview__text mark{ background:color-mix(in srgb,var(--hw-warning) 35%,transparent); color:inherit; border-radius:2px; }
.hws-docview__next{ align-self:center; }
@media (max-width:1100px){
  .hw-chat--page.hws-assistant-fullscreen.has-docview{ grid-template-columns:minmax(0,1fr); }
  .hws-assistant-docview{ position:absolute; inset:0; z-index:7; border-left:0; box-shadow:var(--hw-shadow-lg); background:linear-gradient(var(--hw-elevated),var(--hw-elevated)),var(--hw-bg); }
  .hws-assistant-tasks{ padding:var(--hw-space-5); }
}
/* §6: interactive cards. */
.hws-card__actions{ display:flex; align-items:center; flex-wrap:wrap; gap:var(--hw-space-3); }
.hws-card__actions:empty{ display:none; }
.hws-card__tabs{ align-self:flex-start; }
.hws-card__refresh{ margin-left:auto; }
.hws-weather__panel{ display:flex; flex-direction:column; gap:var(--hw-space-4); }
.hws-weather__panel[hidden],.hws-weather__hours[hidden],.hws-weather__week[hidden]{ display:none; }
.hws-weather__hours{ display:grid; grid-template-columns:repeat(auto-fit,minmax(52px,1fr)); gap:var(--hw-space-2); text-align:center; }
.hws-weather__hour{ display:flex; flex-direction:column; align-items:center; gap:2px; }
.hws-weather__week{ display:flex; flex-direction:column; gap:var(--hw-space-3); }
.hws-news__sources[hidden]{ display:none; }
.hws-news__sources .hw-chip.is-active{ background:color-mix(in srgb,var(--hw-primary) 16%,transparent); color:var(--hw-primary-strong); }
.hws-news[hidden]{ display:none; }
.hws-news__status:empty{ display:none; }
.hws-fx__tool{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--hw-space-3); }
.hws-fx__amount{ width:8em; }
.hws-fx__result{ font-weight:var(--hw-fw-semibold); font-variant-numeric:tabular-nums; }
.hws-fx__ranges[hidden],.hws-fx__code[hidden]{ display:none; }
.hws-fx__chart:empty{ display:none; }
.hws-digest__toggle{ display:flex; align-items:center; justify-content:space-between; gap:var(--hw-space-3); width:100%; background:none; border:0; padding:0; cursor:pointer; color:inherit; font:inherit; text-align:left; }
.hws-digest__caret{ transition:transform var(--hw-dur) var(--hw-ease); }
.hws-digest__section.is-folded .hws-digest__caret{ transform:rotate(-90deg); }
.hws-digest__body[hidden]{ display:none; }
.hws-task__text{ margin:0; }
.hws-task__status:empty{ display:none; }
.hws-card--task.is-cancelled{ opacity:.7; }
.hws-card--reminder{ border-left:3px solid var(--hw-primary); }
.hws-card--reminder.is-done{ border-left-color:var(--hw-success); }
.hws-reminder__icon{ font-size:var(--hw-fs-lg); }
.hws-card--reminder .hws-card__head{ justify-content:flex-start; align-items:center; }
.hws-card--document .hws-card__head{ justify-content:flex-start; align-items:flex-start; flex-wrap:nowrap; }
.hws-doc-card__path{ overflow-wrap:anywhere; }
.hws-doc-card__quote{ margin:0; padding:var(--hw-space-3) var(--hw-space-5); border-left:3px solid var(--hw-primary); background:color-mix(in srgb,var(--hw-primary) 6%,transparent); border-radius:var(--hw-radius-sm); font-size:var(--hw-fs-sm); }
.hws-steps{ margin:0; padding-left:var(--hw-space-7); display:flex; flex-direction:column; gap:var(--hw-space-3); }
.hws-steps__item.is-done span{ text-decoration:line-through; color:var(--hw-text-muted); }
.hws-steps__check{ align-items:flex-start; }
.hws-link-card__title{ font-weight:var(--hw-fw-semibold); color:var(--hw-text); text-decoration:none; overflow-wrap:anywhere; }
.hws-link-card__title:hover{ color:var(--hw-primary); text-decoration:underline; }
.hws-link-card__desc{ margin:0; font-size:var(--hw-fs-sm); color:var(--hw-text-muted); }
.hws-table__scroll{ overflow-x:auto; max-width:100%; }
.hws-table{ width:100%; border-collapse:collapse; font-size:var(--hw-fs-sm); }
.hws-table th,.hws-table td{ padding:var(--hw-space-2) var(--hw-space-3); border-bottom:1px solid var(--hw-divider); text-align:left; vertical-align:top; }
.hws-table__sort{ background:none; border:0; padding:0; font:inherit; font-weight:var(--hw-fw-semibold); color:inherit; cursor:pointer; }
.hws-table th[aria-sort="ascending"] .hws-table__sort::after{ content:" ▲"; font-size:.75em; }
.hws-table th[aria-sort="descending"] .hws-table__sort::after{ content:" ▼"; font-size:.75em; }
/* ---------- Nova 1.4.4 r6: МТС Линк record, news sources, «В каком городе?» ---------- */
.hws-mts__head{ display:flex; align-items:flex-start; gap:var(--hw-space-4); min-width:0; }
.hws-mts__preview{ flex:0 0 auto; width:112px; aspect-ratio:16/9; object-fit:cover; border-radius:var(--hw-radius-sm); background:var(--hw-surface-2); }
.hws-mts__icon{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:var(--hw-radius-sm); background:color-mix(in srgb,var(--hw-primary) 10%,transparent); color:var(--hw-primary); }
.hws-card--mts.is-denied .hws-mts__icon,.hws-card--mts.is-error .hws-mts__icon{ background:color-mix(in srgb,var(--hw-danger) 10%,transparent); color:var(--hw-danger); }
.hws-card--mts.is-not_found .hws-mts__icon,.hws-card--mts.is-expired .hws-mts__icon,.hws-card--mts.is-unavailable .hws-mts__icon{ background:color-mix(in srgb,var(--hw-warning) 12%,transparent); color:var(--hw-warning); }
.hws-mts__titles{ min-width:0; flex:1 1 auto; align-items:flex-start; }
.hws-mts__title{ overflow-wrap:anywhere; }
.hws-mts__access{ margin-top:var(--hw-space-1); }
.hws-mts__facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:var(--hw-space-3); margin:0; }
.hws-mts__facts > div{ padding:var(--hw-space-3) var(--hw-space-4); border-radius:var(--hw-radius-sm); background:var(--hw-surface-2); min-width:0; }
.hws-mts__facts dt{ font-size:var(--hw-fs-2xs); color:var(--hw-text-subtle); }
.hws-mts__facts dd{ margin:0; font-weight:var(--hw-fw-semibold); overflow-wrap:anywhere; }
.hws-mts__owner{ display:inline-flex; align-items:center; gap:var(--hw-space-2); min-width:0; }
.hws-mts__avatar{ width:22px; height:22px; border-radius:50%; object-fit:cover; flex:0 0 auto; background:var(--hw-surface); }
.hws-mts__error{ margin:0; color:var(--hw-text); }
.hws-mts__hint{ margin:0; }
.hws-mts__open-wrap{ display:inline-flex; flex-direction:column; align-items:flex-start; gap:2px; }
.hws-mts__note{ padding-left:var(--hw-space-2); }
.hws-mts__status:empty,.hws-sources__status:empty{ display:none; }
.hws-sources{ display:flex; flex-direction:column; gap:var(--hw-space-4); min-width:0; }
.hws-sources__tools{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--hw-space-2); }
.hws-sources__count{ margin-left:auto; }
.hws-sources__groups{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:var(--hw-space-4); max-height:min(420px,55vh); overflow:auto; padding-right:var(--hw-space-1); }
.hws-sources__group{ margin:0; padding:0; border:0; min-width:0; display:flex; flex-direction:column; gap:var(--hw-space-2); }
.hws-sources__legend{ padding:0; margin-bottom:var(--hw-space-2); }
.hws-sources__item{ display:flex; align-items:flex-start; gap:var(--hw-space-3); min-width:0; cursor:pointer; }
.hws-sources__text{ display:flex; align-items:center; flex-wrap:wrap; gap:0 var(--hw-space-2); min-width:0; }
.hws-sources__icon{ width:16px; height:16px; border-radius:3px; flex:0 0 auto; }
.hws-sources__name{ font-weight:var(--hw-fw-medium); overflow-wrap:anywhere; }
.hws-sources__domain{ overflow-wrap:anywhere; }
.hws-sources__hint{ color:var(--hw-warning); }
.hws-sources__hint[hidden]{ display:none; }
.hws-settings__news .hws-sources__groups{ max-height:320px; }
.hws-card--ask-city{ border-left:3px solid var(--hw-primary); }
.hws-ask-city__reason{ margin:0; }
.hws-ask-city__form{ display:flex; flex-wrap:wrap; gap:var(--hw-space-2); }
.hws-ask-city__input{ flex:1 1 160px; min-width:0; }
.hws-card--ask-city.is-answered{ opacity:.75; }
.hws-assistant-clarification__question{ margin:var(--hw-space-3) 0 0; font-weight:var(--hw-fw-medium); }
.hws-news__notice{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--hw-space-3); padding:var(--hw-space-3) var(--hw-space-4); border-radius:var(--hw-radius-sm); background:color-mix(in srgb,var(--hw-primary) 8%,transparent); font-size:var(--hw-fs-sm); }
.hws-news__failed,.hws-news__note{ margin:0; }
.hws-news__error{ margin:0; }
.hws-assistant-chat__unread{ flex:0 0 auto; width:8px; height:8px; margin-left:auto; border-radius:50%; background:var(--hw-primary); box-shadow:0 0 0 2px var(--hw-surface); }
.live-notification__time{ margin-top:2px; }
.live-notification[data-kind="nova_reminder"],.live-notification[data-kind="nova_task"]{ border-left:3px solid var(--hw-primary); }
.hws-assistant-panel .hws-mts__head{ flex-wrap:wrap; }
.hws-assistant-panel .hws-mts__preview{ width:100%; max-width:none; }
.hws-assistant-panel .hws-mts__facts,.hws-assistant-panel .hws-sources__groups{ grid-template-columns:minmax(0,1fr); }
.hws-assistant-panel .hws-sources__count{ margin-left:0; width:100%; }
@media (max-width:420px){
  .hws-mts__head{ flex-wrap:wrap; }
  .hws-mts__preview{ width:100%; }
  .hws-sources__groups,.hws-mts__facts{ grid-template-columns:minmax(0,1fr); }
}
/* Mini window (~360 px): cards stay in one column and never overflow. */
.hws-assistant-panel .hws-news-grid{ grid-template-columns:minmax(0,1fr); }
.hws-assistant-panel .hws-fx__row{ grid-template-columns:minmax(0,1fr) auto; }
.hws-assistant-panel .hws-fx__spark{ display:none; }
.hws-assistant-panel .hws-fx__amount{ width:6.5em; }
.hws-assistant-panel .hws-card{ padding:var(--hw-space-5); min-width:0; }
.hws-assistant-panel .hws-card__actions .hw-btn{ white-space:normal; }
.hws-docview-modal .hw-modal__body{ padding:0; }

/* ---------- Карточка слова (тренажёр, 15.10.2026) ----------
   Крупная карточка с вопросом: подпись, слово, транскрипция/подсказка.
   Состояния is-ok / is-fail — ответ верный / неверный. hw-flashcard--sm — для
   мини-игр. <div class="hw-flashcard"><p class="hw-flashcard__label">…</p>
   <p class="hw-flashcard__word">water</p><p class="hw-flashcard__sub">…</p></div> */
.hw-flashcard{
  position:relative; display:grid; place-items:center; align-content:center; gap:var(--hw-space-3);
  min-height:210px; padding:var(--hw-space-8) var(--hw-space-6); overflow:hidden; text-align:center;
  border-radius:var(--hw-radius-xl);
  /* 20.10.2026: neutral while the word is asked; green / red only for the answer. */
  color:var(--hw-text); background:var(--hw-surface-2); border:1px solid var(--hw-border);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),var(--hw-shadow-sm);
  transition:background var(--hw-dur) var(--hw-ease),color var(--hw-dur) var(--hw-ease),border-color var(--hw-dur) var(--hw-ease),transform var(--hw-dur) var(--hw-ease);
}
.hw-flashcard > *{ position:relative; margin:0; max-width:100%; }
.hw-flashcard__label{ font-size:var(--hw-fs-sm); font-weight:var(--hw-fw-bold); opacity:.9; }
.hw-flashcard__word{ font-family:var(--hw-font-display); font-size:clamp(34px,7vw,72px); font-weight:var(--hw-fw-black); line-height:1.02; letter-spacing:-.02em; overflow-wrap:anywhere; }
.hw-flashcard__sub{ font-size:var(--hw-fs-md); opacity:.86; }
.hw-flashcard:not(.is-ok):not(.is-fail) :is(.hw-flashcard__label,.hw-flashcard__sub){ color:var(--hw-text-muted); opacity:1; }
.hw-flashcard .hw-btn{ color:inherit; background:color-mix(in srgb,currentColor 8%,transparent); border-color:color-mix(in srgb,currentColor 20%,transparent); }
.hw-flashcard:is(.is-ok,.is-fail){
  color:#fff; border-color:transparent;
  background:
    radial-gradient(circle at 18% 22%,rgba(255,255,255,.32),transparent 22%),
    radial-gradient(circle at 84% 12%,rgba(255,255,255,.16),transparent 30%),
    linear-gradient(135deg,color-mix(in srgb,var(--hw-fc) 82%,#06140c),color-mix(in srgb,var(--hw-fc) 64%,#0b1b14));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),var(--hw-shadow-md);
}
.hw-flashcard.is-ok{ --hw-fc:var(--hw-success); animation:hw-pop var(--hw-dur) var(--hw-ease); }
.hw-flashcard.is-fail{ --hw-fc:var(--hw-danger); animation:hw-flashcard-shake .34s ease; }
.hw-flashcard--sm{ min-height:0; padding:var(--hw-space-6) var(--hw-space-5); gap:var(--hw-space-2); border-radius:var(--hw-radius-lg); }
.hw-flashcard--sm .hw-flashcard__word{ font-size:clamp(26px,5vw,44px); }
@keyframes hw-flashcard-shake{ 0%,100%{ transform:none; } 25%{ transform:translateX(-6px); } 50%{ transform:translateX(5px); } 75%{ transform:translateX(-3px); } }
@media (prefers-reduced-motion:reduce){ .hw-flashcard.is-ok,.hw-flashcard.is-fail{ animation:none; } }
html[data-motion="reduced"] .hw-flashcard.is-ok,html[data-motion="reduced"] .hw-flashcard.is-fail{ animation:none; }
/* ---------- r13 (22.10.2026): narrow screens — the chat composer, the chat header, iOS zoom ---------- */
/* The composer is a container: the same rules serve a phone (≤ 600 px) and a narrow mini window. */
.hws-assistant-form{ container-type:inline-size; container-name:hws-composer; }
@container hws-composer (max-width:560px){
  /* The field takes a whole row; clip, version chip, microphone, speech and send go below it. */
  .hws-assistant-capsule{ flex-wrap:wrap; align-items:center; row-gap:2px; column-gap:4px; padding:4px 6px; }
  .hws-assistant-capsule > .hws-assistant-input{ order:-1; flex:1 0 100%; width:100%; min-width:0; min-height:40px; padding:9px 8px 4px; }
  .hws-assistant-capsule > .hws-assistant-attachment{ order:1; align-self:center; }
  .hws-assistant-capsule > .hws-assistant-version-chip{ order:2; align-self:center; flex:0 1 auto; min-width:0; max-width:52%; margin-right:auto; }
  .hws-assistant-capsule > .hws-assistant-mic,.hws-assistant-capsule > .hws-assistant-tts{ order:3; align-self:center; }
  .hws-assistant-capsule > .hws-assistant-send{ order:4; align-self:center; }
  /* Without the version chip (the mini window) the clip stays left, the voice and send buttons go right. */
  .hws-assistant-capsule:not(:has(> .hws-assistant-version-chip:not([hidden]))) > .hws-assistant-attachment{ margin-right:auto; }
  .hws-assistant-capsule .hw-btn--icon{ width:36px; height:36px; }
  .hws-assistant-capsule .hws-nova-picker__btn{ height:32px; max-width:100%; padding:0 26px 0 11px; font-size:12px; }
  .hws-assistant-capsule .hws-nova-picker__btn::after{ right:11px; }
}
@supports not (container-type:inline-size){
  @media (max-width:600px){
    .hws-assistant-capsule{ flex-wrap:wrap; align-items:center; }
    .hws-assistant-capsule > .hws-assistant-input{ order:-1; flex:1 0 100%; width:100%; }
    .hws-assistant-capsule > .hws-assistant-version-chip{ order:2; margin-right:auto; max-width:52%; }
    .hws-assistant-capsule > .hws-assistant-mic,.hws-assistant-capsule > .hws-assistant-tts{ order:3; }
    .hws-assistant-capsule > .hws-assistant-send{ order:4; }
  }
}
.hws-assistant-capsule > .hws-assistant-input::placeholder{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:600px){
  /* iOS Safari zooms into a field whose text is smaller than 16 px — every field of the platform is 16 px here. */
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),textarea,select,
  .hw-input,.hw-textarea,.hw-select,.hws-assistant-capsule > .hws-assistant-input{ font-size:16px; }
  /* The chat header: the title and the server status share the row with the buttons without being cut to a few letters. */
  .hws-assistant-head{ min-height:48px; padding:6px var(--hw-space-3); gap:var(--hw-space-2); }
  .hws-assistant-head__copy{ min-width:0; flex:1 1 auto; gap:var(--hw-space-2); }
  .hws-assistant-head__titles{ min-width:0; flex:1 1 auto; }
  .hws-assistant-head__titles > strong{ max-width:100%; font-size:var(--hw-fs-sm); }
  .hws-assistant-head__actions{ flex:0 0 auto; gap:0; }
  .hws-assistant-head__actions .hws-assistant-head-button{ width:34px; height:34px; }
  .hws-assistant-status__text{ max-width:none; }
  .hws-assistant-messages,.hws-assistant-form{ padding-inline:var(--hw-space-3); }
  .hws-assistant-form{ padding-bottom:calc(var(--hw-space-3) + env(safe-area-inset-bottom,0px)); }
  /* A work trace summary is never cut under the header. */
  .hws-assistant-work{ scroll-margin-top:56px; max-width:100%; }
  .hws-assistant-work__summary{ flex-wrap:wrap; row-gap:2px; }
  /* Nothing wider than the screen: tables and code scroll inside themselves. */
  html,body{ max-width:100%; overflow-x:clip; }
  .hws-assistant-message pre,.hws-code,.hws-assistant-message table{ max-width:100%; overflow-x:auto; }
  .hw-page{ overflow-x:clip; }
}
