/* hwesta Design System — gerado a partir de 'hwesta Design System/' (tokens + base + componentes hw-*). Não editar à mão: ajustes do app vão em hwesta.css. */

/* ── tokens/fonts.css ── */
/* Webfonts — self-hosted from Google Fonts (OFL). Funnel Display = hwesta wordmark face; Nunito = UI face (from reference); JetBrains Mono = URLs, IDs, code. */
/* Nunito italic latin-ext */
@font-face {font-family: 'Nunito';font-style: italic;font-weight: 400 800;font-display: swap;src: url('../fonts/hwesta/Nunito-italic-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* Nunito italic latin */
@font-face {font-family: 'Nunito';font-style: italic;font-weight: 400 800;font-display: swap;src: url('../fonts/hwesta/Nunito-italic-latin.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* Nunito normal latin-ext */
@font-face {font-family: 'Nunito';font-style: normal;font-weight: 400 800;font-display: swap;src: url('../fonts/hwesta/Nunito-normal-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* Nunito normal latin */
@font-face {font-family: 'Nunito';font-style: normal;font-weight: 400 800;font-display: swap;src: url('../fonts/hwesta/Nunito-normal-latin.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* Funnel Display normal latin-ext */
@font-face {font-family: 'Funnel Display';font-style: normal;font-weight: 400 800;font-display: swap;src: url('../fonts/hwesta/FunnelDisplay-normal-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* Funnel Display normal latin */
@font-face {font-family: 'Funnel Display';font-style: normal;font-weight: 400 800;font-display: swap;src: url('../fonts/hwesta/FunnelDisplay-normal-latin.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* JetBrains Mono normal latin-ext */
@font-face {font-family: 'JetBrains Mono';font-style: normal;font-weight: 400 600;font-display: swap;src: url('../fonts/hwesta/JetBrainsMono-normal-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* JetBrains Mono normal latin */
@font-face {font-family: 'JetBrains Mono';font-style: normal;font-weight: 400 600;font-display: swap;src: url('../fonts/hwesta/JetBrainsMono-normal-latin.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ── tokens/colors.css ── */
/* hwesta — color tokens. Base ramps first, semantic aliases below. Components only consume semantic aliases. */
:root{
/* Brand violet — #421BCF sampled from the hwesta symbol */
--violet-50:#F4F1FE;--violet-100:#E9E3FD;--violet-200:#D3C8FA;--violet-300:#B09CF4;--violet-400:#8768EA;--violet-500:#6440DE;--violet-600:#421BCF;--violet-700:#3615AD;--violet-800:#2A1089;--violet-900:#1D0B5E;
/* Cool neutrals */
--gray-0:#FFFFFF;--gray-25:#FAFBFC;--gray-50:#F5F6F9;--gray-100:#EEF0F4;--gray-150:#E7E9EE;--gray-200:#DFE2E8;--gray-300:#C9CDD6;--gray-400:#9AA0AC;--gray-500:#6B7180;--gray-600:#4D5260;--gray-700:#353944;--gray-800:#22252D;--gray-900:#14161B;
/* Semantic ramps */
--green-50:#EAF8F0;--green-100:#D4F1E0;--green-200:#A9E3C2;--green-500:#22B567;--green-600:#179452;--green-700:#117441;
--amber-50:#FEF6E7;--amber-100:#FCEBC6;--amber-200:#F8D68C;--amber-500:#EFA20F;--amber-600:#B87806;--amber-700:#8A5A06;
--red-50:#FDEEEE;--red-100:#FBDADB;--red-200:#F6B4B6;--red-500:#E5484D;--red-600:#C8252C;--red-700:#A01C22;
--sky-50:#EAF5FB;--sky-100:#D5ECF7;--sky-200:#A9D7EF;--sky-500:#2795CF;--sky-600:#1A77AA;--sky-700:#155E86;
/* Pastel tints — calendar/category palette (from reference) */
--tint-lavender:#DDD7FB;--tint-sky:#DCEFF7;--tint-mint:#DCF3E4;--tint-cream:#FCEFD4;--tint-stone:#E8E9EC;--tint-rose:#FBE1E3;
--tint-lavender-text:#2A1089;--tint-sky-text:#155E86;--tint-mint-text:#117441;--tint-cream-text:#8A5A06;--tint-stone-text:#353944;--tint-rose-text:#A01C22;
--tint-lavender-edge:#B09CF4;--tint-sky-edge:#7EC4E6;--tint-mint-edge:#22B567;--tint-cream-edge:#EFC15A;--tint-stone-edge:#C9CDD6;--tint-rose-edge:#EE8D91;

/* ---------- Semantic aliases ---------- */
--bg-app:var(--gray-50);
--surface-card:var(--gray-0);
--surface-raised:var(--gray-0);
--surface-sunken:var(--gray-100);
--surface-muted:var(--gray-25);
--surface-hover:var(--gray-50);
--surface-input:var(--gray-0);
--surface-input-soft:var(--gray-100);
--surface-inverse:var(--gray-900);
--surface-backdrop:rgba(20,22,27,.36);

--border-subtle:var(--gray-150);
--border-default:var(--gray-200);
--border-strong:var(--gray-300);
--border-focus:var(--violet-600);

--text-primary:var(--gray-900);
--text-secondary:var(--gray-500);
--text-tertiary:var(--gray-400);
--text-disabled:var(--gray-300);
--text-inverse:var(--gray-0);
--text-on-brand:#FFFFFF;
--text-link:var(--violet-600);
--text-link-hover:var(--violet-800);

--brand:var(--violet-600);
--brand-hover:var(--violet-700);
--brand-pressed:var(--violet-800);
--brand-soft:var(--violet-100);
--brand-soft-hover:var(--violet-200);
--brand-text:var(--violet-600);
--brand-soft-text:var(--violet-700);

--success:var(--green-500);
--success-hover:var(--green-600);
--success-soft:var(--green-50);
--success-text:var(--green-700);
--warning:var(--amber-500);
--warning-soft:var(--amber-50);
--warning-text:var(--amber-700);
--danger:var(--red-600);
--danger-hover:var(--red-700);
--danger-soft:var(--red-50);
--danger-text:var(--red-600);
--danger-border:var(--red-200);
--info:var(--sky-500);
--info-soft:var(--sky-50);
--info-text:var(--sky-700);
--neutral-soft:var(--gray-100);
--neutral-text:var(--gray-600);

--now-line:var(--red-500);
--focus-ring:0 0 0 3px rgba(66,27,207,.20);
}

/* Dark theme — semantic overrides only. Apply with <html data-theme="dark">. */
[data-theme="dark"]{
--bg-app:#0F1015;--surface-card:#17181F;--surface-raised:#1C1E26;--surface-sunken:#1F212A;--surface-muted:#191B22;--surface-hover:#20222B;--surface-input:#14151B;--surface-input-soft:#20222B;--surface-inverse:#F2F3F7;--surface-backdrop:rgba(0,0,0,.6);
--border-subtle:#23252F;--border-default:#2C2F3A;--border-strong:#3C404D;--border-focus:#8768EA;
--text-primary:#F2F3F7;--text-secondary:#A3A8B6;--text-tertiary:#737887;--text-disabled:#4D5260;--text-inverse:#14161B;--text-link:#A996FF;--text-link-hover:#C7BAFF;
--brand:#5A34E6;--brand-hover:#6A47EC;--brand-pressed:#4A26D6;--brand-soft:rgba(135,104,234,.18);--brand-soft-hover:rgba(135,104,234,.28);--brand-text:#A996FF;--brand-soft-text:#C7BAFF;
--success-soft:rgba(34,181,103,.16);--success-text:#5FD394;--warning-soft:rgba(239,162,15,.16);--warning-text:#F5C15A;--danger:#E5484D;--danger-hover:#F06368;--danger-soft:rgba(229,72,77,.16);--danger-text:#FF8A8E;--danger-border:rgba(229,72,77,.4);--info-soft:rgba(39,149,207,.18);--info-text:#6CC0EC;--neutral-soft:#262833;--neutral-text:#B6BAC6;
--tint-lavender:rgba(135,104,234,.24);--tint-sky:rgba(39,149,207,.22);--tint-mint:rgba(34,181,103,.2);--tint-cream:rgba(239,162,15,.2);--tint-stone:rgba(154,160,172,.18);--tint-rose:rgba(229,72,77,.2);
--tint-lavender-text:#D3C8FA;--tint-sky-text:#A9D7EF;--tint-mint-text:#A9E3C2;--tint-cream-text:#F8D68C;--tint-stone-text:#DFE2E8;--tint-rose-text:#F6B4B6;
--focus-ring:0 0 0 3px rgba(135,104,234,.35);
}

/* ── tokens/typography.css ── */
/* hwesta — typography tokens */
:root{
--font-display:'Funnel Display','Nunito',system-ui,sans-serif;
--font-sans:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
--font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;

--fw-regular:400; /* @kind font */
--fw-medium:500; /* @kind font */
--fw-semibold:600; /* @kind font */
--fw-bold:700; /* @kind font */
--fw-extrabold:800; /* @kind font */

--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-15:15px;--fs-16:16px;--fs-18:18px;--fs-20:20px;--fs-24:24px;--fs-26:26px;--fs-30:30px;--fs-36:36px;

--lh-tight:1.2; /* @kind font */
--lh-snug:1.35; /* @kind font */
--lh-normal:1.5; /* @kind font */

--tracking-tight:-0.01em; /* @kind font */
--tracking-normal:0; /* @kind font */
--tracking-overline:0.08em; /* @kind font */

/* Semantic type roles — use with the `font` shorthand */
--type-display:700 36px/44px var(--font-display);
--type-kpi:700 30px/36px var(--font-display);
--type-page-title:700 26px/32px var(--font-display);
--type-section-title:700 18px/26px var(--font-sans);
--type-card-title:700 16px/24px var(--font-sans);
--type-body:500 14px/20px var(--font-sans);
--type-body-strong:700 14px/20px var(--font-sans);
--type-body-lg:500 15px/22px var(--font-sans);
--type-small:500 13px/18px var(--font-sans);
--type-caption:500 12px/16px var(--font-sans);
--type-overline:700 11px/16px var(--font-sans);
--type-label:600 13px/18px var(--font-sans);
--type-button:700 14px/20px var(--font-sans);
--type-mono:500 13px/20px var(--font-mono);
}

/* ── tokens/spacing.css ── */
/* hwesta — spacing, radii, sizing, layout */
:root{
--space-0:0;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;

--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-pill:999px;
--radius-control:var(--radius-md);
--radius-card:var(--radius-lg);
--radius-panel:var(--radius-xl);

--control-h-sm:32px;--control-h-md:40px;--control-h-lg:48px;
--icon-sm:16px;--icon-md:18px;--icon-lg:20px;

--sidebar-width:264px;
--sidebar-width-collapsed:76px;
--topbar-height:72px;
--content-padding:32px;
--content-max:1440px;
--grid-gap:20px;
}

/* ── tokens/elevation.css ── */
/* hwesta — shadows, motion, z-index */
:root{
--shadow-xs:0 1px 2px rgba(17,19,34,.04);
--shadow-sm:0 1px 2px rgba(17,19,34,.04),0 2px 6px rgba(17,19,34,.04);
--shadow-md:0 2px 4px rgba(17,19,34,.04),0 8px 20px -4px rgba(17,19,34,.08);
--shadow-lg:0 4px 12px rgba(17,19,34,.06),0 20px 48px -12px rgba(17,19,34,.20);
--shadow-brand:0 6px 16px -6px rgba(66,27,207,.45);

--shadow-card:var(--shadow-xs);
--shadow-card-hover:var(--shadow-md);
--shadow-popover:var(--shadow-lg);

--ease-standard:cubic-bezier(.2,0,0,1); /* @kind other */
--ease-out:cubic-bezier(.16,1,.3,1); /* @kind other */
--dur-fast:120ms; /* @kind other */
--dur-base:180ms; /* @kind other */
--dur-slow:260ms; /* @kind other */
--z-sticky:10; /* @kind other */
--z-dropdown:30; /* @kind other */
--z-overlay:40; /* @kind other */
--z-dialog:50; /* @kind other */
--z-toast:60; /* @kind other */
}
[data-theme="dark"]{--shadow-card:0 0 0 1px rgba(255,255,255,.02);--shadow-popover:0 20px 48px -12px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04);}

/* ── tokens/base.css ── */
/* hwesta — minimal element defaults */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{margin:0;font:var(--type-body);color:var(--text-primary);background:var(--bg-app)}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--text-link-hover);text-decoration:underline}
code,kbd,samp{font-family:var(--font-mono);font-size:.92em}
::selection{background:var(--violet-200);color:var(--violet-900)}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}

/* ── components/buttons/buttons.css ── */
/* Buttons — Button, IconButton */
.hw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-h-md);padding:0 16px;border-radius:var(--radius-control);border:1px solid transparent;font:var(--type-button);white-space:nowrap;cursor:pointer;user-select:none;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}
.hw-btn:hover{text-decoration:none}
.hw-btn:active:not(:disabled){transform:translateY(1px)}
.hw-btn:disabled{cursor:not-allowed;opacity:.5}
.hw-btn--sm{height:var(--control-h-sm);padding:0 12px;gap:6px;font-size:13px;border-radius:var(--radius-sm)}
.hw-btn--lg{height:var(--control-h-lg);padding:0 22px;font-size:15px;border-radius:10px}
.hw-btn--block{display:flex;width:100%}
.hw-btn--primary{background:var(--brand);color:var(--text-on-brand)}
.hw-btn--primary:hover:not(:disabled){background:var(--brand-hover);color:var(--text-on-brand)}
.hw-btn--primary:active:not(:disabled){background:var(--brand-pressed)}
.hw-btn--secondary{background:var(--surface-card);border-color:var(--border-default);color:var(--text-primary)}
.hw-btn--secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-primary)}
.hw-btn--ghost{background:transparent;color:var(--text-primary)}
.hw-btn--ghost:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-primary)}
.hw-btn--soft{background:var(--brand-soft);color:var(--brand-soft-text)}
.hw-btn--soft:hover:not(:disabled){background:var(--brand-soft-hover);color:var(--brand-soft-text)}
.hw-btn--success{background:var(--success);color:#fff}
.hw-btn--success:hover:not(:disabled){background:var(--success-hover);color:#fff}
.hw-btn--danger{background:var(--danger);color:#fff}
.hw-btn--danger:hover:not(:disabled){background:var(--danger-hover);color:#fff}
.hw-btn--danger-outline{background:var(--surface-card);border-color:var(--border-default);color:var(--danger-text)}
.hw-btn--danger-outline:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-text)}
.hw-btn--link{background:none;height:auto;padding:0;border:0;color:var(--text-link)}
.hw-btn--link:hover:not(:disabled){color:var(--text-link-hover);text-decoration:underline}
.hw-btn__spinner{animation:hw-spin .8s linear infinite}
@keyframes hw-spin{to{transform:rotate(360deg)}}

.hw-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--radius-control);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}
.hw-iconbtn:disabled{opacity:.5;cursor:not-allowed}
.hw-iconbtn--sm{width:32px;height:32px;border-radius:var(--radius-sm)}
.hw-iconbtn--lg{width:40px;height:40px}
.hw-iconbtn--round{border-radius:50%}
.hw-iconbtn--ghost:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-primary)}
.hw-iconbtn--outline{background:var(--surface-card);border-color:var(--border-default);color:var(--text-primary)}
.hw-iconbtn--outline:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}
.hw-iconbtn--success{background:var(--success-soft);color:var(--success-text)}
.hw-iconbtn--success:hover:not(:disabled){background:var(--success);color:#fff}
.hw-iconbtn--danger{background:var(--surface-card);border-color:var(--border-default);color:var(--danger-text)}
.hw-iconbtn--danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger-border)}
.hw-iconbtn--brand{background:var(--brand-soft);color:var(--brand-soft-text)}
.hw-iconbtn--brand:hover:not(:disabled){background:var(--brand-soft-hover)}
.hw-iconbtn--primary{background:var(--brand);color:#fff}
.hw-iconbtn--primary:hover:not(:disabled){background:var(--brand-hover)}
.hw-iconbtn__dot{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--red-500);box-shadow:0 0 0 2px var(--surface-card)}

/* ── components/badges/badges.css ── */
/* Badges — Badge (status), Tag (category), Counter */
.hw-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:var(--radius-pill);font:700 12px/16px var(--font-sans);white-space:nowrap;vertical-align:middle}
.hw-badge--sm{height:20px;padding:0 7px;gap:5px;font-size:11px}
.hw-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.hw-badge--success{background:var(--success-soft);color:var(--success-text)}
.hw-badge--warning{background:var(--warning-soft);color:var(--warning-text)}
.hw-badge--danger{background:var(--danger-soft);color:var(--danger-text)}
.hw-badge--info{background:var(--info-soft);color:var(--info-text)}
.hw-badge--brand{background:var(--brand-soft);color:var(--brand-soft-text)}
.hw-badge--neutral{background:var(--neutral-soft);color:var(--neutral-text)}

.hw-tag{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:var(--radius-sm);font:600 12px/16px var(--font-sans);white-space:nowrap;vertical-align:middle}
.hw-tag--sm{height:20px;padding:0 6px;font-size:11px;border-radius:5px}
.hw-tag--lavender{background:var(--tint-lavender);color:var(--tint-lavender-text)}
.hw-tag--sky{background:var(--tint-sky);color:var(--tint-sky-text)}
.hw-tag--mint{background:var(--tint-mint);color:var(--tint-mint-text)}
.hw-tag--cream{background:var(--tint-cream);color:var(--tint-cream-text)}
.hw-tag--stone{background:var(--tint-stone);color:var(--tint-stone-text)}
.hw-tag--rose{background:var(--tint-rose);color:var(--tint-rose-text)}
.hw-tag__remove{display:inline-flex;padding:0;margin:0 -3px 0 0;border:0;background:none;color:inherit;opacity:.6;cursor:pointer}
.hw-tag__remove:hover{opacity:1}

.hw-counter{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);font:700 11px/1 var(--font-sans);font-variant-numeric:tabular-nums}
.hw-counter--neutral{background:var(--border-default);color:var(--neutral-text)}
.hw-counter--brand{background:var(--brand-soft);color:var(--brand-soft-text)}
.hw-counter--solid{background:var(--brand);color:#fff}
.hw-counter--danger{background:var(--red-500);color:#fff}

/* ── components/display/display.css ── */
/* Display — Avatar, CodeChip */
.hw-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex-shrink:0;font-family:var(--font-sans);font-weight:800;line-height:1;user-select:none;background:var(--brand-soft);color:var(--brand-soft-text)}
.hw-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.hw-avatar--solid{background:var(--brand);color:#fff}
.hw-avatar--neutral{background:var(--neutral-soft);color:var(--neutral-text)}
.hw-avatar--ring{box-shadow:0 0 0 2px var(--surface-card)}
.hw-avatar-stack{display:inline-flex}
.hw-avatar-stack>.hw-avatar+.hw-avatar{margin-left:-8px}

.hw-code{display:inline-flex;align-items:center;gap:8px;min-width:0;height:32px;padding:0 10px;border-radius:var(--radius-sm);background:var(--surface-sunken);font:var(--type-mono);color:var(--text-secondary)}
.hw-code__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hw-code--block{display:flex;width:100%;height:36px;padding:0 12px}
.hw-code--inline{height:auto;padding:1px 6px;border-radius:var(--radius-xs);font-size:.92em;line-height:inherit;color:var(--text-primary)}
.hw-code--plain{height:auto;padding:0;background:none;color:var(--text-secondary)}
.hw-code__copy{display:inline-flex;margin-left:auto;padding:4px;border:0;border-radius:var(--radius-xs);background:none;color:var(--text-tertiary);cursor:pointer}
.hw-code__copy:hover{color:var(--brand-text);background:var(--surface-card)}

/* ── components/forms/inputs/inputs.css ── */
/* Form inputs — Field, Input, Textarea, Select */
.hw-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.hw-field__label{font:var(--type-label);color:var(--text-primary)}
.hw-field__req{color:var(--danger-text);margin-left:2px}
.hw-field__hint{font:var(--type-caption);color:var(--text-secondary);text-wrap:pretty}
.hw-field__error{font:var(--type-caption);color:var(--danger-text)}

.hw-control{position:relative;display:flex;align-items:center;gap:8px;height:var(--control-h-md);padding:0 12px;min-width:0;background:var(--surface-input);border:1px solid var(--border-default);border-radius:var(--radius-control);color:var(--text-primary);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}
.hw-control:hover{border-color:var(--border-strong)}
.hw-control:focus-within{border-color:var(--border-focus);box-shadow:var(--focus-ring)}
.hw-control--sm{height:var(--control-h-sm);padding:0 10px}
.hw-control--lg{height:var(--control-h-lg);padding:0 14px}
.hw-control--soft{background:var(--surface-input-soft);border-color:transparent}
.hw-control--soft:hover{border-color:var(--border-default)}
.hw-control--soft:focus-within{background:var(--surface-input);border-color:var(--border-focus)}
.hw-control--error,.hw-control--error:hover{border-color:var(--danger)}
.hw-control--disabled{background:var(--surface-sunken);opacity:.6;pointer-events:none}
.hw-control--addon{padding-left:0;overflow:hidden}
.hw-control__addon{display:flex;align-items:center;align-self:stretch;padding:0 12px;margin-right:4px;background:var(--surface-sunken);border-right:1px solid var(--border-default);color:var(--text-secondary);font:var(--type-body);white-space:nowrap}
.hw-control__icon{display:flex;color:var(--text-tertiary)}
.hw-control__suffix{font:var(--type-small);color:var(--text-secondary);white-space:nowrap}
.hw-control input,.hw-control select,.hw-control textarea{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;background:transparent;font:var(--type-body);color:inherit}
.hw-control input::placeholder,.hw-control textarea::placeholder{color:var(--text-tertiary);opacity:1}
.hw-control input:focus-visible,.hw-control select:focus-visible,.hw-control textarea:focus-visible{box-shadow:none}
.hw-control--mono input{font:var(--type-mono)}
.hw-control--textarea{height:auto;padding:10px 12px;align-items:stretch}
.hw-control textarea{min-height:64px;resize:vertical;line-height:20px}
.hw-control select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:22px}
.hw-control select:invalid,.hw-control select.is-placeholder{color:var(--text-tertiary)}
.hw-control__chev{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary)}

/* ── components/forms/choices/choices.css ── */
/* Choice controls — Checkbox, Radio, ColorSwatches */
.hw-check{position:relative;display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;font:var(--type-body);color:var(--text-primary);user-select:none}
.hw-check input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.hw-check__box{width:18px;height:18px;margin-top:1px;border-radius:5px;border:1.5px solid var(--border-strong);background:var(--surface-input);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast)}
.hw-check__box .hw-icon{opacity:0;transform:scale(.6);transition:opacity var(--dur-fast),transform var(--dur-fast) var(--ease-out)}
.hw-check:hover .hw-check__box{border-color:var(--brand)}
.hw-check input:checked+.hw-check__box{background:var(--brand);border-color:var(--brand)}
.hw-check input:checked+.hw-check__box .hw-icon{opacity:1;transform:none}
.hw-check input:focus-visible+.hw-check__box{box-shadow:var(--focus-ring)}
.hw-check--radio .hw-check__box{border-radius:50%}
.hw-check--radio input:checked+.hw-check__box{background:var(--surface-input);border:5.5px solid var(--brand)}
.hw-check--disabled{opacity:.5;cursor:not-allowed}
.hw-check__text{display:flex;flex-direction:column;gap:2px}
.hw-check__desc{font:var(--type-caption);color:var(--text-secondary)}

.hw-swatches{display:flex;flex-wrap:wrap;gap:10px}
.hw-swatch{position:relative;width:28px;height:28px;padding:0;border-radius:50%;border:1.5px solid rgba(17,19,34,.08);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast)}
.hw-swatch:hover{transform:scale(1.08)}
.hw-swatch--selected{box-shadow:0 0 0 2px var(--surface-card),0 0 0 4px var(--swatch-ring,var(--brand))}
.hw-swatch--sm{width:22px;height:22px}

/* ── components/navigation/navigation.css ── */
/* Navigation — Sidebar, Topbar, Tabs, SegmentedControl, PageHeader */
.hw-sidebar{width:var(--sidebar-width);height:100%;display:flex;flex-direction:column;flex-shrink:0;background:var(--surface-card);border-right:1px solid var(--border-subtle);transition:width var(--dur-slow) var(--ease-standard)}
.hw-sidebar__brand{height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px 0 24px;flex-shrink:0}
.hw-sidebar__brand img{height:26px;display:block}
.hw-sidebar__wordmark{font:800 24px/1 var(--font-display);letter-spacing:-0.02em;color:var(--text-primary)}
.hw-sidebar__nav{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-default) transparent;padding:8px 16px 24px;display:flex;flex-direction:column;gap:22px}
.hw-sidebar__footer{display:flex;align-items:center;gap:12px;padding:16px 20px;border-top:1px solid var(--border-subtle);flex-shrink:0}
.hw-sidebar__user{min-width:0;display:flex;flex-direction:column}
.hw-sidebar__user-name{font:var(--type-body-strong);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-sidebar__user-mail{font:var(--type-caption);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-sidebar--collapsed{width:var(--sidebar-width-collapsed)}
.hw-sidebar--collapsed .hw-sidebar__brand{padding:0;justify-content:center}
.hw-sidebar--collapsed .hw-sidebar__nav{padding:8px 14px 24px}
.hw-sidebar--collapsed .hw-navitem{justify-content:center;padding:0}
.hw-sidebar--collapsed .hw-navitem__label,.hw-sidebar--collapsed .hw-navitem__trail,.hw-sidebar--collapsed .hw-navsection__title span,.hw-sidebar--collapsed .hw-sidebar__user{display:none}
.hw-sidebar--collapsed .hw-navsection__title{justify-content:center;padding:0 0 6px;min-height:22px}
.hw-sidebar--collapsed .hw-sidebar__footer{justify-content:center;padding:16px 0}

.hw-navsection{display:flex;flex-direction:column;gap:2px}
.hw-navsection--divided{border-top:1px solid var(--border-subtle);padding-top:20px}
.hw-navsection__title{display:flex;align-items:center;gap:6px;padding:0 12px 6px;font:var(--type-overline);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-tertiary)}
.hw-navsection--brand .hw-navsection__title{color:var(--brand-text)}

.hw-navitem{display:flex;align-items:center;gap:12px;width:100%;height:42px;padding:0 12px;border:0;border-radius:var(--radius-md);background:none;color:var(--neutral-text);font:600 14px/20px var(--font-sans);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}
.hw-navitem:hover{background:var(--surface-hover);color:var(--text-primary);text-decoration:none}
.hw-navitem__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-navitem__trail{margin-left:auto;display:flex;align-items:center}
.hw-navitem--active,.hw-navitem--active:hover{background:var(--brand);color:#fff;box-shadow:var(--shadow-brand)}
.hw-navitem--active .hw-counter--brand{background:rgba(255,255,255,.2);color:#fff}
.hw-sidebar--soft .hw-navitem--active,.hw-sidebar--soft .hw-navitem--active:hover{background:var(--brand-soft);color:var(--brand-soft-text);box-shadow:none}

.hw-topbar{height:var(--topbar-height);display:flex;align-items:center;gap:16px;padding:0 var(--content-padding) 0 20px;background:var(--surface-card);border-bottom:1px solid var(--border-subtle);flex-shrink:0}
.hw-topbar__search{flex:0 1 380px;min-width:160px}
.hw-topbar__spacer{flex:1}
.hw-topbar__group{display:flex;align-items:center;gap:4px}
.hw-topbar__divider{width:1px;height:28px;background:var(--border-subtle);margin:0 4px}
.hw-topbar__user{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border:0;border-radius:var(--radius-pill);background:none;cursor:pointer;text-align:left;color:inherit}
.hw-topbar__user:hover{background:var(--surface-hover)}
.hw-topbar__user-name{font:var(--type-body-strong);color:var(--text-primary);white-space:nowrap}
.hw-topbar__user-role{font:var(--type-caption);color:var(--text-secondary)}
.hw-topbar__user-text{display:flex;flex-direction:column}
@media (max-width:1180px){.hw-topbar__user-text{display:none}.hw-topbar__user{padding-right:4px}}
.hw-topbar__workspace{width:200px;flex-shrink:0}
.hw-themetoggle{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--surface-sunken)}
.hw-themetoggle button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-tertiary);cursor:pointer;transition:background-color var(--dur-fast),color var(--dur-fast)}
.hw-themetoggle button:hover{color:var(--text-primary)}
.hw-themetoggle button[aria-pressed="true"]{background:var(--surface-card);color:var(--warning);box-shadow:var(--shadow-sm)}
.hw-themetoggle button[aria-pressed="true"].is-moon{color:var(--brand-text)}

.hw-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-default);overflow-x:auto}
.hw-tab{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:none;font:600 14px/20px var(--font-sans);color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:color var(--dur-fast),border-color var(--dur-fast)}
.hw-tab:hover{color:var(--text-primary)}
.hw-tab--active,.hw-tab--active:hover{color:var(--brand-text);border-bottom-color:var(--brand)}

.hw-seg{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:10px;background:var(--brand-soft)}
.hw-seg__opt{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border:0;border-radius:var(--radius-sm);background:none;font:600 14px/20px var(--font-sans);color:var(--neutral-text);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}
.hw-seg__opt:hover{color:var(--text-primary)}
.hw-seg__opt--active,.hw-seg__opt--active:hover{background:var(--brand);color:#fff}
.hw-seg--neutral{background:var(--surface-sunken)}
.hw-seg--neutral .hw-seg__opt--active{background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}
.hw-seg--sm{padding:3px;gap:2px;border-radius:var(--radius-md)}
.hw-seg--sm .hw-seg__opt{height:28px;padding:0 10px;font-size:13px;border-radius:5px}

.hw-pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}
.hw-pagehead__main{min-width:0}
.hw-pagehead__back{display:inline-flex;align-items:center;gap:2px;margin:0 0 6px -2px;padding:0;border:0;background:none;font:var(--type-small);color:var(--text-secondary);cursor:pointer}
.hw-pagehead__back:hover{color:var(--brand-text)}
.hw-pagehead__title{margin:0;font:var(--type-page-title);letter-spacing:var(--tracking-tight);color:var(--text-primary);text-wrap:balance}
.hw-pagehead__sub{margin:4px 0 0;font:var(--type-body);color:var(--text-secondary)}
.hw-pagehead__meta{display:flex;align-items:center;gap:12px;margin-top:8px}
.hw-pagehead__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* ── components/data/data.css ── */
/* Data display — Card, StatCard, DescriptionList, DataTable, Kanban */
.hw-card{position:relative;min-width:0;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}
.hw-card--interactive{cursor:pointer}
.hw-card--interactive:hover{box-shadow:var(--shadow-card-hover);border-color:var(--border-default)}
.hw-card__accent{height:3px}
.hw-card__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px}
.hw-card__head--divided{border-bottom:1px solid var(--border-subtle)}
.hw-card__title{margin:0;font:var(--type-card-title);color:var(--text-primary)}
.hw-card__subtitle{margin:2px 0 0;font:var(--type-small);color:var(--text-secondary)}
.hw-card__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.hw-card__body{padding:24px}
.hw-card__body--sm{padding:16px 20px}
.hw-card__body--none{padding:0}
.hw-card__foot{display:flex;align-items:center;gap:10px;padding:14px 24px;border-top:1px solid var(--border-subtle)}

.hw-stat{display:flex;flex-direction:column;gap:12px;padding:22px 24px}
.hw-stat__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.hw-stat__label{min-width:0;padding-top:10px;font:var(--type-overline);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-secondary)}
.hw-stat__icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hw-stat__icon--brand{background:var(--brand-soft);color:var(--brand-text)}
.hw-stat__icon--success{background:var(--success-soft);color:var(--success-text)}
.hw-stat__icon--warning{background:var(--warning-soft);color:var(--warning-text)}
.hw-stat__icon--danger{background:var(--danger-soft);color:var(--danger-text)}
.hw-stat__icon--info{background:var(--info-soft);color:var(--info-text)}
.hw-stat__icon--neutral{background:var(--neutral-soft);color:var(--neutral-text)}
.hw-stat__value{display:flex;white-space:nowrap;align-items:baseline;gap:6px;font:var(--type-kpi);letter-spacing:var(--tracking-tight);color:var(--text-primary);font-variant-numeric:tabular-nums}
.hw-stat__value--brand{color:var(--brand-text)}
.hw-stat__value--success{color:var(--success-text)}
.hw-stat__value--warning{color:var(--warning-text)}
.hw-stat__value--danger{color:var(--danger-text)}
.hw-stat__hint{font:var(--type-small);color:var(--text-secondary)}
.hw-card.hw-stat--highlight{background:var(--brand);border-color:var(--brand);box-shadow:var(--shadow-brand)}
.hw-stat--highlight .hw-stat__label,.hw-stat--highlight .hw-stat__hint{color:rgba(255,255,255,.82)}
.hw-stat--highlight .hw-stat__value{color:#fff}
.hw-stat--highlight .hw-stat__icon{background:rgba(255,255,255,.16);color:#fff}

.hw-dl{display:grid;gap:18px 24px;margin:0}
.hw-dl__item{min-width:0}
.hw-dl__item dt{font:var(--type-caption);color:var(--text-secondary)}
.hw-dl__item dd{margin:3px 0 0;font:var(--type-body-strong);color:var(--text-primary);overflow-wrap:anywhere}

.hw-table-wrap{width:100%;overflow-x:auto}
.hw-table{width:100%;border-collapse:separate;border-spacing:0;font:var(--type-body)}
.hw-table th{height:44px;padding:0 16px;background:var(--surface-sunken);font:var(--type-overline);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-secondary);text-align:left;white-space:nowrap}
.hw-table td{padding:14px 16px;border-top:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle}
.hw-table th:first-child,.hw-table td:first-child{padding-left:24px}
.hw-table th:last-child,.hw-table td:last-child{padding-right:24px}
.hw-table tbody tr:first-child td{border-top:0}
.hw-table tbody tr{transition:background-color var(--dur-fast)}
.hw-table tbody tr:hover td{background:var(--surface-muted)}
.hw-table--clickable tbody tr{cursor:pointer}
.hw-table--compact td{padding-top:10px;padding-bottom:10px}
.hw-table__muted{color:var(--text-secondary)}
.hw-table__empty td{padding:48px 24px;text-align:center;color:var(--text-secondary)}
.hw-entity{display:flex;align-items:center;gap:12px;min-width:0}
.hw-entity__icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--brand-soft);color:var(--brand-text)}
.hw-entity__text{min-width:0;display:flex;flex-direction:column}
.hw-entity__title{font:var(--type-body-strong);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-entity__sub{font:var(--type-caption);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.hw-kcol{display:flex;flex-direction:column;flex:1;min-width:260px;min-height:0;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-xl)}
.hw-kcol__head{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border-subtle)}
.hw-kcol__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.hw-kcol__title{flex:1;min-width:0;font:700 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-kcol__body{flex:1;min-height:120px;padding:10px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}
.hw-kcol__add{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;border:0;border-top:1px solid var(--border-subtle);border-radius:0 0 var(--radius-xl) var(--radius-xl);background:none;font:600 13px/18px var(--font-sans);color:var(--text-secondary);text-align:left;cursor:pointer;transition:color var(--dur-fast),background-color var(--dur-fast)}
.hw-kcol__add:hover{color:var(--brand-text);background:var(--surface-hover)}

.hw-kcard{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);cursor:pointer;text-align:left;transition:box-shadow var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}
.hw-kcard:hover{box-shadow:var(--shadow-md);border-color:var(--border-default)}
.hw-kcard--dragging{transform:rotate(1.5deg);box-shadow:var(--shadow-lg)}
.hw-kcard__code{font:600 11px/14px var(--font-mono);color:var(--text-tertiary)}
.hw-kcard__title{margin:-4px 0 0;font:700 14px/20px var(--font-sans);color:var(--text-primary);text-wrap:pretty}
.hw-kcard__tags{display:flex;flex-wrap:wrap;gap:6px}
.hw-kcard__meta{display:flex;align-items:center;gap:6px;font:600 12px/16px var(--font-sans);color:var(--text-secondary)}
.hw-kcard__meta--success{color:var(--success-text)}
.hw-kcard__meta--danger{color:var(--danger-text)}
.hw-kcard__meta--warning{color:var(--warning-text)}
.hw-kcard__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px}

/* ── components/overlays/overlays.css ── */
/* Overlays — Dialog. Calendar — EventBlock */
.hw-dialog-backdrop{position:fixed;inset:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:24px;background:var(--surface-backdrop);animation:hw-fade var(--dur-base) var(--ease-out)}
.hw-dialog{display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 48px);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-popover);animation:hw-pop var(--dur-slow) var(--ease-out)}
.hw-dialog--inline{animation:none;max-height:none}
.hw-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 16px 4px 24px}
.hw-dialog__title{margin:6px 0 0;font:var(--type-section-title);color:var(--text-primary)}
.hw-dialog__desc{margin:4px 0 0;font:var(--type-small);color:var(--text-secondary)}
.hw-dialog__body{display:flex;flex-direction:column;gap:12px;padding:16px 24px 8px;overflow-y:auto}
.hw-dialog__foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px}
@keyframes hw-fade{from{opacity:0}}
@keyframes hw-pop{from{opacity:0;transform:translateY(8px) scale(.98)}}

.hw-event{display:flex;flex-direction:column;justify-content:flex-start;gap:6px;box-sizing:border-box;width:100%;min-width:0;padding:10px 12px;border:1.5px solid transparent;border-radius:10px;font:var(--type-small);text-align:left;overflow:hidden;cursor:pointer;transition:box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-fast)}
.hw-event:hover{box-shadow:var(--shadow-md)}
.hw-event__title{font:700 13px/18px var(--font-sans);overflow:hidden;text-overflow:ellipsis;min-width:0}
.hw-event__time{font:500 12px/16px var(--font-sans);opacity:.8}
.hw-event__meta{display:flex;align-items:center;gap:6px;margin-top:auto}
.hw-event--lavender{background:var(--tint-lavender);color:var(--tint-lavender-text)}
.hw-event--sky{background:var(--tint-sky);color:var(--tint-sky-text)}
.hw-event--mint{background:var(--tint-mint);color:var(--tint-mint-text)}
.hw-event--cream{background:var(--tint-cream);color:var(--tint-cream-text)}
.hw-event--stone{background:var(--tint-stone);color:var(--tint-stone-text)}
.hw-event--rose{background:var(--tint-rose);color:var(--tint-rose-text)}
.hw-event--lavender.hw-event--selected{border-color:var(--tint-lavender-edge)}
.hw-event--sky.hw-event--selected{border-color:var(--tint-sky-edge)}
.hw-event--mint.hw-event--selected{border-color:var(--tint-mint-edge)}
.hw-event--cream.hw-event--selected{border-color:var(--tint-cream-edge)}
.hw-event--stone.hw-event--selected{border-color:var(--tint-stone-edge)}
.hw-event--rose.hw-event--selected{border-color:var(--tint-rose-edge)}
.hw-event--compact{flex-direction:row;align-items:center;padding:4px 10px;gap:8px}
.hw-event--compact .hw-event__title{white-space:nowrap;flex:0 1 auto}
.hw-event--compact .hw-event__time{white-space:nowrap;flex-shrink:0}
.hw-event:focus-visible{box-shadow:var(--focus-ring)}
