*,
::after,
::before,
::backdrop,
::file-selector-button {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: 0
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%
}

iframe {
    border: none
}

ul,
ol,
menu {
    list-style: none
}

a {
    text-decoration: none;
    color: inherit
}

button {
    background-color: inherit;
    border: none;
    color: inherit;
    font: inherit;
    cursor: pointer
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

:root {
    accent-color: var(--primary-500);
    color-scheme: light dark;
    --brand-hue: 280;
    --hue-red: 10;
    --hue-rose: 330;
    --hue-magenta: 300;
    --hue-violet: 270;
    --hue-blue: 240;
    --hue-azure: 210;
    --hue-cyan: 180;
    --hue-spring: 150;
    --hue-green: 120;
    --hue-chartreuse: 90;
    --hue-yellow: 60;
    --hue-orange: 30;
    --l-50: 0.98;
    --l-100: 0.96;
    --l-200: 0.90;
    --l-300: 0.82;
    --l-400: 0.70;
    --l-500: 0.52;
    --c-100: 0.02;
    --c-200: 0.07;
    --c-300: 0.11;
    --c-400: 0.15;
    --c-500: 0.13;
    --white: light-dark(oklch(100% -2 0), oklch(28% 0.01 var(--brand-hue)));
    --body-bg: light-dark(oklch(99% .002 var(--brand-hue)), oklch(2% .1 var(--brand-hue)));
    --main-bg: light-dark(oklch(99% .002 var(--brand-hue)), oklch(2% .1 var(--brand-hue)));

    @media (prefers-color-scheme:dark) {
        --l-50: 0.24;
        --l-100: 0.28;
        --l-200: 0.36;
        --l-300: 0.48;
        --l-400: 0.56;
        --l-500: 0.72;
        --c-100: 0.04;
        --c-200: 0.06;
        --c-300: 0.09;
        --c-400: 0.12;
        --c-500: 0.11;
        --checkmark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><path d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/></svg>");
        --indeterminate-checkmark: url('data:image/svg+xml,<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 8C2 7.44772 2.44772 7 3 7H13C13.5523 7 14 7.44772 14 8C14 8.55228 13.5523 9 13 9H3C2.44772 9 2 8.55228 2 8Z" fill="black"/></svg>')
    }

    --primary-100:oklch(var(--l-100) calc(var(--c-100) * 1.12) var(--brand-hue));
    --primary-200:oklch(var(--l-200) calc(var(--c-200) * 1.12) var(--brand-hue));
    --primary-300:oklch(var(--l-300) calc(var(--c-300) * 1.12) var(--brand-hue));
    --primary-400:oklch(var(--l-400) calc(var(--c-400) * 1.12) var(--brand-hue));
    --primary-500:oklch(var(--l-500) calc(var(--c-500) * 1.12) var(--brand-hue));
    --typography-100:light-dark(oklch(54% 0.01 var(--brand-hue)), oklch(66% 0.01 var(--brand-hue)));
    --typography-200:light-dark(oklch(48% 0.01 var(--brand-hue)), oklch(70% 0.01 var(--brand-hue)));
    --typography-300:light-dark(oklch(36% 0.01 var(--brand-hue)), oklch(86% 0.01 var(--brand-hue)));
    --typography-400:light-dark(oklch(28% 0.01 var(--brand-hue)), oklch(94% 0.01 var(--brand-hue)));
    --info-hue:260;
    --info-100:oklch(var(--l-100) var(--c-100) var(--info-hue));
    --info-200:oklch(var(--l-200) var(--c-200) var(--info-hue));
    --info-300:oklch(var(--l-300) var(--c-300) var(--info-hue));
    --info-400:oklch(var(--l-400) var(--c-400) var(--info-hue));
    --info-500:oklch(var(--l-500) var(--c-500) var(--info-hue));
    --success-hue:150;
    --success-100:oklch(var(--l-100) var(--c-100) var(--success-hue));
    --success-200:oklch(var(--l-200) var(--c-200) var(--success-hue));
    --success-300:oklch(var(--l-300) var(--c-300) var(--success-hue));
    --success-400:oklch(var(--l-400) var(--c-400) var(--success-hue));
    --success-500:oklch(var(--l-500) var(--c-500) var(--success-hue));
    --warning-hue:90;
    --warning-100:oklch(var(--l-100) calc(var(--c-100) * 1.4) var(--warning-hue));
    --warning-200:oklch(var(--l-200) calc(var(--c-200) * 1.3) var(--warning-hue));
    --warning-300:oklch(var(--l-300) calc(var(--c-300) * 1.3) var(--warning-hue));
    --warning-400:oklch(var(--l-400) calc(var(--c-400) * 1.4) var(--warning-hue));
    --warning-500:oklch(var(--l-500) calc(var(--c-500) * 1.4) var(--warning-hue));
    --danger-hue:26;
    --danger-100:oklch(var(--l-100) var(--c-100) var(--danger-hue));
    --danger-200:oklch(var(--l-200) var(--c-200) var(--danger-hue));
    --danger-300:oklch(var(--l-300) var(--c-300) var(--danger-hue));
    --danger-400:oklch(var(--l-400) var(--c-400) var(--danger-hue));
    --danger-500:oklch(var(--l-500) var(--c-500) var(--danger-hue));
    --surface-50:oklch(var(--l-50) calc(var(--c-100) * 0.3) var(--brand-hue));
    --surface-100:oklch(var(--l-100) calc(var(--c-100) * 0.3) var(--brand-hue));
    --surface-200:oklch(var(--l-200) calc(var(--c-100) * 0.5) var(--brand-hue));
    --surface-300:oklch(var(--l-300) calc(var(--c-100) * 0.5) var(--brand-hue));
    --surface-400:oklch(var(--l-400) calc(var(--c-100) * 0.5) var(--brand-hue));
    --surface-500:oklch(var(--l-500) calc(var(--c-100) * 0.5) var(--brand-hue));
    --red-100:oklch(var(--l-100) var(--c-100) var(--hue-red));
    --red-200:oklch(var(--l-200) var(--c-200) var(--hue-red));
    --red-300:oklch(var(--l-300) var(--c-300) var(--hue-red));
    --red-400:oklch(var(--l-400) var(--c-400) var(--hue-red));
    --red-500:oklch(var(--l-500) var(--c-500) var(--hue-red));
    --rose-100:oklch(var(--l-100) var(--c-100) var(--hue-rose));
    --rose-200:oklch(var(--l-200) var(--c-200) var(--hue-rose));
    --rose-300:oklch(var(--l-300) var(--c-300) var(--hue-rose));
    --rose-400:oklch(var(--l-400) var(--c-400) var(--hue-rose));
    --rose-500:oklch(var(--l-500) var(--c-500) var(--hue-rose));
    --magenta-100:oklch(var(--l-100) var(--c-100) var(--hue-magenta));
    --magenta-200:oklch(var(--l-200) var(--c-200) var(--hue-magenta));
    --magenta-300:oklch(var(--l-300) var(--c-300) var(--hue-magenta));
    --magenta-400:oklch(var(--l-400) var(--c-400) var(--hue-magenta));
    --magenta-500:oklch(var(--l-500) var(--c-500) var(--hue-magenta));
    --violet-100:oklch(var(--l-100) var(--c-100) var(--hue-violet));
    --violet-200:oklch(var(--l-200) var(--c-200) var(--hue-violet));
    --violet-300:oklch(var(--l-300) var(--c-300) var(--hue-violet));
    --violet-400:oklch(var(--l-400) var(--c-400) var(--hue-violet));
    --violet-500:oklch(var(--l-500) var(--c-500) var(--hue-violet));
    --blue-100:oklch(var(--l-100) var(--c-100) var(--hue-blue));
    --blue-200:oklch(var(--l-200) var(--c-200) var(--hue-blue));
    --blue-300:oklch(var(--l-300) var(--c-300) var(--hue-blue));
    --blue-400:oklch(var(--l-400) var(--c-400) var(--hue-blue));
    --blue-500:oklch(var(--l-500) var(--c-500) var(--hue-blue));
    --azure-100:oklch(var(--l-100) var(--c-100) var(--hue-azure));
    --azure-200:oklch(var(--l-200) var(--c-200) var(--hue-azure));
    --azure-300:oklch(var(--l-300) var(--c-300) var(--hue-azure));
    --azure-400:oklch(var(--l-400) var(--c-400) var(--hue-azure));
    --azure-500:oklch(var(--l-500) var(--c-500) var(--hue-azure));
    --cyan-100:oklch(var(--l-100) var(--c-100) var(--hue-cyan));
    --cyan-200:oklch(var(--l-200) var(--c-200) var(--hue-cyan));
    --cyan-300:oklch(var(--l-300) var(--c-300) var(--hue-cyan));
    --cyan-400:oklch(var(--l-400) var(--c-400) var(--hue-cyan));
    --cyan-500:oklch(var(--l-500) var(--c-500) var(--hue-cyan));
    --spring-100:oklch(var(--l-100) var(--c-100) var(--hue-spring));
    --spring-200:oklch(var(--l-200) var(--c-200) var(--hue-spring));
    --spring-300:oklch(var(--l-300) var(--c-300) var(--hue-spring));
    --spring-400:oklch(var(--l-400) var(--c-400) var(--hue-spring));
    --spring-500:oklch(var(--l-500) var(--c-500) var(--hue-spring));
    --green-100:oklch(var(--l-100) var(--c-100) var(--hue-green));
    --green-200:oklch(var(--l-200) var(--c-200) var(--hue-green));
    --green-300:oklch(var(--l-300) var(--c-300) var(--hue-green));
    --green-400:oklch(var(--l-400) var(--c-400) var(--hue-green));
    --green-500:oklch(var(--l-500) var(--c-500) var(--hue-green));
    --chartreuse-100:oklch(var(--l-100) var(--c-100) var(--hue-chartreuse));
    --chartreuse-200:oklch(var(--l-200) var(--c-200) var(--hue-chartreuse));
    --chartreuse-300:oklch(var(--l-300) var(--c-300) var(--hue-chartreuse));
    --chartreuse-400:oklch(var(--l-400) var(--c-400) var(--hue-chartreuse));
    --chartreuse-500:oklch(var(--l-500) var(--c-500) var(--hue-chartreuse));
    --yellow-100:oklch(var(--l-100) var(--c-100) var(--hue-yellow));
    --yellow-200:oklch(var(--l-200) var(--c-200) var(--hue-yellow));
    --yellow-300:oklch(var(--l-300) var(--c-300) var(--hue-yellow));
    --yellow-400:oklch(var(--l-400) var(--c-400) var(--hue-yellow));
    --yellow-500:oklch(var(--l-500) var(--c-500) var(--hue-yellow));
    --orange-100:oklch(var(--l-100) var(--c-100) var(--hue-orange));
    --orange-200:oklch(var(--l-200) var(--c-200) var(--hue-orange));
    --orange-300:oklch(var(--l-300) var(--c-300) var(--hue-orange));
    --orange-400:oklch(var(--l-400) var(--c-400) var(--hue-orange));
    --orange-500:oklch(var(--l-500) var(--c-500) var(--hue-orange));
    --slice-fill-01:var(--violet-400);
    --slice-fill-02:var(--cyan-400);
    --slice-fill-03:var(--orange-400);
    --slice-fill-04:var(--magenta-400);
    --slice-fill-05:var(--yellow-400);
    --slice-fill-06:var(--azure-400);
    --white:light-dark(oklch(100% 0 0), oklch(20% 0 0));
    --black:light-dark(oklch(0% 0 0), oklch(100% 0 0));
    --ps-ring-inset:inset;
    --ps-ring-color:rgba(0, 0, 0, 0.5);
    --ps-ring-offset-color:rgba(255, 255, 255, 0.5);
    --ps-ring-offset-shadow:0 0 0 0 var(--ps-ring-offset-color);
    --ps-ring-shadow:0 0 0 1px var(--ps-ring-color);
    --ps-shadow:0 0 #0000;
    --ps-ring-offset-width:0px;
    --ps-inset-shadow:inset 0 0 0 0 rgba(0, 0, 0, 0);
    --ps-inset-ring-shadow:inset 0 0 0 0 var(--ps-ring-color);
    --ps-shadow-colored:rgba(0, 0, 0, 0.5);
    --chevron-down:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='gray' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='0.75' transform='scale(0.85)'><path d='m6 9 6 6 6-6'/></svg>");
    --checkmark:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/></svg>");
    --indeterminate-checkmark:url('data:image/svg+xml,<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 8C2 7.44772 2.44772 7 3 7H13C13.5523 7 14 7.44772 14 8C14 8.55228 13.5523 9 13 9H3C2.44772 9 2 8.55228 2 8Z" fill="white"/></svg>');
    --inline-error:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='red' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 8v4M12 16h.01'/></svg>");
    interpolate-size:allow-keywords
}

html[style*="color-scheme: light"] {
    --l-50: 0.98;
    --l-100: 0.96;
    --l-200: 0.90;
    --l-300: 0.82;
    --l-400: 0.70;
    --l-500: 0.52;
    --c-100: 0.02;
    --c-200: 0.07;
    --c-300: 0.11;
    --c-400: 0.15;
    --c-500: 0.13
}

html[style*="color-scheme: dark"] {
    --l-50: 0.24;
    --l-100: 0.28;
    --l-200: 0.36;
    --l-300: 0.48;
    --l-400: 0.56;
    --l-500: 0.72;
    --c-100: 0.04;
    --c-200: 0.06;
    --c-300: 0.09;
    --c-400: 0.12;
    --c-500: 0.11;
    --checkmark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><path d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/></svg>");
    --indeterminate-checkmark: url('data:image/svg+xml,<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 8C2 7.44772 2.44772 7 3 7H13C13.5523 7 14 7.44772 14 8C14 8.55228 13.5523 9 13 9H3C2.44772 9 2 8.55228 2 8Z" fill="black"/></svg>')
}

:root {
    --icon-home: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 12H3l9-9 9 9h-2M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-7"/><path d="M9 21v-6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v6"/></svg>');
    --icon-add: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M12 5v14M5 12h14"/></svg>');
    --icon-remove: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 12h14"/></svg>');
    --icon-edit: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" viewBox="0 0 24 24" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4" /><path d="M13.5 6.5l4 4" /></svg>');
    --icon-delete: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 7h16M10 11v6M14 11v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3"/></svg>');
    --icon-undo: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" viewBox="0 0 24 24" fill="none" stroke="%232c3e50" stroke-linecap="round" stroke-linejoin="round"><path d="M9 14 4 9l5-5"/><path d="M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"/></svg>');
    --icon-x: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M18 6 6 18M6 6l12 12"/></svg>');
    --icon-more: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 12a1 1 0 1 0 2 0 1 1 0 1 0-2 0M11 12a1 1 0 1 0 2 0 1 1 0 1 0-2 0M18 12a1 1 0 1 0 2 0 1 1 0 1 0-2 0"/></svg>');
    --icon-slash: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M17 5 7 19"/></svg>');
    --icon-backslash: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m7 5 10 14"/></svg>');
    --icon-archive: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v0a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zM5 8v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8M10 12h4"/></svg>');
    --icon-command: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M7 9a2 2 0 1 1 2-2v10a2 2 0 1 1-2-2h10a2 2 0 1 1-2 2V7a2 2 0 1 1 2 2H7"/></svg>');
    --icon-alert-circle: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0M12 8v4M12 16h.01"/></svg>');
    --icon-alert-circle-filled: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1-19.995.324L2 12l.004-.28C2.152 6.327 6.57 2 12 2zm.01 13-.127.007a1 1 0 0 0 0 1.986L12 17l.127-.007a1 1 0 0 0 0-1.986L12.01 15zM12 7a1 1 0 0 0-.993.883L11 8v4l.007.117a1 1 0 0 0 1.986 0L13 12V8l-.007-.117A1 1 0 0 0 12 7z" fill="currentColor" stroke="none"/></svg>');
    --icon-alert-triangle: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M12 9v4M10.363 3.591 2.257 17.125a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636-2.87L13.637 3.59a1.914 1.914 0 0 0-3.274 0zM12 16h.01"/></svg>');
    --icon-alert-triangle-filled: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M12 1.67c.955 0 1.845.467 2.39 1.247l.105.16 8.114 13.548a2.914 2.914 0 0 1-2.307 4.363l-.195.008H3.882a2.914 2.914 0 0 1-2.582-4.2l.099-.185 8.11-13.538A2.914 2.914 0 0 1 12 1.67zM12.01 15l-.127.007a1 1 0 0 0 0 1.986L12 17l.127-.007a1 1 0 0 0 0-1.986L12.01 15zM12 8a1 1 0 0 0-.993.883L11 9v4l.007.117a1 1 0 0 0 1.986 0L13 13V9l-.007-.117A1 1 0 0 0 12 8z" fill="currentColor" stroke="none"/></svg>');
    --icon-alert-octagon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m12.802 2.165 5.575 2.389c.48.206.863.589 1.07 1.07l2.388 5.574c.22.512.22 1.092 0 1.604l-2.389 5.575c-.206.48-.589.863-1.07 1.07l-5.574 2.388c-.512.22-1.092.22-1.604 0l-5.575-2.389a2.036 2.036 0 0 1-1.07-1.07l-2.388-5.574a2.036 2.036 0 0 1 0-1.604l2.389-5.575c.206-.48.589-.863 1.07-1.07l5.574-2.388a2.036 2.036 0 0 1 1.604 0zM12 8v4M12 16h.01"/></svg>');
    --icon-alert-octagon-filled: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M14.897 1a4 4 0 0 1 2.664 1.016l.165.156 4.1 4.1a4 4 0 0 1 1.168 2.605l.006.227v5.794a4 4 0 0 1-1.016 2.664l-.156.165-4.1 4.1a4 4 0 0 1-2.603 1.168l-.227.006H9.103a3.999 3.999 0 0 1-2.664-1.017l-.165-.156-4.1-4.1a4 4 0 0 1-1.168-2.604L1 14.897V9.103a4 4 0 0 1 1.016-2.664l.156-.165 4.1-4.1a4 4 0 0 1 2.605-1.168L9.104 1h5.793zM12.01 15l-.127.007a1 1 0 0 0 0 1.986L12 17l.127-.007a1 1 0 0 0 0-1.986L12.01 15zM12 7a1 1 0 0 0-.993.883L11 8v4l.007.117a1 1 0 0 0 1.986 0L13 12V8l-.007-.117A1 1 0 0 0 12 7z" fill="currentColor" stroke="none"/></svg>');
    --icon-help-circle: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0M12 16v.01"/><path d="M12 13a2 2 0 0 0 .914-3.782 1.98 1.98 0 0 0-2.414.483"/></svg>');
    --icon-help-circle-filled: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1-19.995.324L2 12l.004-.28C2.152 6.327 6.57 2 12 2zm0 13a1 1 0 0 0-.993.883L11 16l.007.127a1 1 0 0 0 1.986 0L13 16.01l-.007-.127A1 1 0 0 0 12 15zm1.368-6.673a2.98 2.98 0 0 0-3.631.728 1 1 0 0 0 1.44 1.383l.171-.18a.98.98 0 0 1 1.11-.15 1 1 0 0 1-.34 1.886l-.232.012A1 1 0 0 0 11.997 14a3 3 0 0 0 1.371-5.673z" fill="currentColor" stroke="none"/></svg>');
    --icon-info-circle: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0M12 9h.01"/><path d="M11 12h1v4h1"/></svg>');
    --icon-info-circle-filled: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1-19.995.324L2 12l.004-.28C2.152 6.327 6.57 2 12 2zm0 9h-1l-.117.007a1 1 0 0 0 0 1.986L11 13v3l.007.117a1 1 0 0 0 .876.876L12 17h1l.117-.007a1 1 0 0 0 .876-.876L14 16l-.007-.117a1 1 0 0 0-.764-.857l-.112-.02L13 15v-3l-.007-.117a1 1 0 0 0-.876-.876L12 11zm.01-3-.127.007a1 1 0 0 0 0 1.986L12 10l.127-.007a1 1 0 0 0 0-1.986L12.01 8z" fill="currentColor" stroke="none"/></svg>');
    --icon-arrow-left: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 12h14M5 12l6 6M5 12l6-6"/></svg>');
    --icon-trending-up: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="m3 17 6-6 4 4 8-8"/><path d="M14 7h7v7"/></svg>');
    --icon-trending-down: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="m3 7 6 6 4-4 8 8"/><path d="M21 10v7h-7"/></svg>');
    --icon-apps: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zM4 15a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zM14 15a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zM14 7h6M17 4v6"/></svg>');
    --icon-category: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M14 4h6v6h-6zM4 14h6v6H4zM14 17a3 3 0 1 0 6 0 3 3 0 1 0-6 0M4 7a3 3 0 1 0 6 0 3 3 0 1 0-6 0"/></svg>');
    --icon-bell: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M10 5a2 2 0 1 1 4 0 7 7 0 0 1 4 6v3a4 4 0 0 0 2 3H4a4 4 0 0 0 2-3v-3a7 7 0 0 1 4-6M9 17v1a3 3 0 0 0 6 0v-1"/></svg>');
    --icon-bell-filled: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M14.235 19c.865 0 1.322 1.024.745 1.668A3.992 3.992 0 0 1 12 22a3.992 3.992 0 0 1-2.98-1.332c-.552-.616-.158-1.579.634-1.661l.11-.006h4.471zM12 2c1.358 0 2.506.903 2.875 2.141l.046.171.008.043a8.013 8.013 0 0 1 4.024 6.069l.028.287L19 11v2.931l.021.136a3 3 0 0 0 1.143 1.847l.167.117.162.099c.86.487.56 1.766-.377 1.864L20 18H4c-1.028 0-1.387-1.364-.493-1.87a3 3 0 0 0 1.472-2.063L5 13.924l.001-2.97A8 8 0 0 1 8.822 4.5l.248-.146.01-.043a3.003 3.003 0 0 1 2.562-2.29l.182-.017L12 2z" fill="currentColor" stroke="none"/></svg>');
    --icon-calendar: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7zM16 3v4M8 3v4M4 11h16M11"/></svg>');
    --icon-camera: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 7h1a2 2 0 0 0 2-2 1 1 0 0 1 1-1h6a1 1 0 0 1 1 1 2 2 0 0 0 2 2h1a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2"/><path d="M9 13a3 3 0 1 0 6 0 3 3 0 0 0-6 0"/></svg>');
    --icon-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M15 8h.01M3 6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6z"/><path d="m3 16 5-5c.928-.893 2.072-.893 3 0l5 5"/><path d="m14 14 1-1c.928-.893 2.072-.893 3 0l3 3"/></svg>');
    --icon-mic: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" viewBox="0 0 24 24" fill="none" stroke="%232c3e50" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19v3"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><rect x="9" y="2" width="6" height="13" rx="3"/></svg>');
    --icon-inbox: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z"/><path d="M4 13h3l3 3h4l3-3h3"/></svg>');
    --icon-check: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m5 12 5 5L20 7"/></svg>');
    --icon-check-circle: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 12a9 9 0 1 0 18 0 9 9 0 1 0-18 0"/><path d="m9 12 2 2 4-4"/></svg>');
    --icon-check-circle-filled: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M17 3.34a10 10 0 1 1-14.995 8.984L2 12l.005-.324A10 10 0 0 1 17 3.34zm-1.293 5.953a1 1 0 0 0-1.32-.083l-.094.083L11 12.585l-1.293-1.292-.094-.083a1 1 0 0 0-1.403 1.403l.083.094 2 2 .094.083a1 1 0 0 0 1.226 0l.094-.083 4-4 .083-.094a1 1 0 0 0-.083-1.32z" fill="currentColor" stroke="none"/></svg>');
    --icon-chevron-left: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m15 6-6 6 6 6"/></svg>');
    --icon-clock: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0"/><path d="M12 7v5l3 3"/></svg>');
    --icon-cloud: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M6.657 18C4.085 18 2 15.993 2 13.517c0-2.475 2.085-4.482 4.657-4.482.393-1.762 1.794-3.2 3.675-3.773 1.88-.572 3.956-.193 5.444 1 1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486 0 1.927-1.551 3.487-3.465 3.487H6.657"/></svg>');
    --icon-columns: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 6h5.5M4 10h5.5M4 14h5.5M4 18h5.5M14.5 6H20M14.5 10H20M14.5 14H20M14.5 18H20"/></svg>');
    --icon-dashboard: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1"></path><path d="M5 16h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1"></path><path d="M15 12h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1"></path><path d="M15 4h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1"></path></svg>');
    --icon-layout: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zM4 15a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zM14 6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2z"/></svg>');
    --icon-layout-grid: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zM14 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zM4 15a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zM14 15a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z"/></svg>');
    --icon-layout-columns: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zM12 4v16"/></svg>');
    --icon-layout-sidebar: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zM9 4v16"/></svg>');
    --icon-desk: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18" /><path d="M4 6v13" /><path d="M20 19v-13" /><path d="M4 10h16" /><path d="M15 6v8a2 2 0 0 0 2 2h3" /></svg>');
    --icon-layout-dashboard: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1" /><path d="M5 16h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1" /><path d="M15 12h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1" /><path d="M15 4h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1" /></svg>');
    --icon-window-maximize: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M3 17a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zM4 12V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"/><path d="M12 8h4v4M16 8l-5 5"/></svg>');
    --icon-window-minimize: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M3 17a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zM4 12V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"/><path d="M15 13h-4V9M11 13l5-5"/></svg>');
    --icon-template: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zM4 13a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zM14 12h6M14 16h6M14 20h6"/></svg>');
    --icon-list: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M9 6h11M9 12h11M9 18h11M5 6v.01M5 12v.01M5 18v.01"/></svg>');
    --icon-lock: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 13a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-6z"/><path d="M11 16a1 1 0 1 0 2 0 1 1 0 0 0-2 0M8 11V7a4 4 0 1 1 8 0v4"/></svg>');
    --icon-unlock: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 13a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z"/><path d="M11 16a1 1 0 1 0 2 0 1 1 0 1 0-2 0M8 11V6a4 4 0 0 1 8 0"/></svg>');
    --icon-brush: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 21v-4a4 4 0 1 1 4 4H3"/><path d="M21 3A16 16 0 0 0 8.2 13.2M21 3a16 16 0 0 1-10.2 12.8"/><path d="M10.6 9a9 9 0 0 1 4.4 4.4"/></svg>');
    --icon-writing: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" viewBox="0 0 24 24" fill="none" stroke="%232c3e50" stroke-linecap="round" stroke-linejoin="round"><path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" /><path d="M16 7h4" /><path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" /></svg>');
    --icon-code: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m7 8-4 4 4 4M17 8l4 4-4 4M14 4l-4 16"/></svg>');
    --icon-cut: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 7a3 3 0 1 0 6 0 3 3 0 1 0-6 0M3 17a3 3 0 1 0 6 0 3 3 0 1 0-6 0M8.6 8.6 19 19M8.6 15.4 19 5"/></svg>');
    --icon-copy: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"/><path d="M4.012 16.737A2.005 2.005 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"/></svg>');
    --icon-paste: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"/><path d="M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v0a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2z"/></svg>');
    --icon-subtask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 0" /><path d="M4 5l4 0" /><path d="M6 5v11a1 1 0 0 0 1 1h5" /><path d="M12 7m0 1a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1z" /><path d="M12 15m0 1a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1z" /></svg>');
    --icon-focus: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r=".5" fill="currentColor" /><path d="M12 12m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" /><path d="M12 3l0 2" /><path d="M3 12l2 0" /><path d="M12 19l0 2" /><path d="M19 12l2 0" /></svg>');
    --icon-grip-vertical: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M8 5a1 1 0 1 0 2 0 1 1 0 1 0-2 0M8 12a1 1 0 1 0 2 0 1 1 0 1 0-2 0M8 19a1 1 0 1 0 2 0 1 1 0 1 0-2 0M14 5a1 1 0 1 0 2 0 1 1 0 1 0-2 0M14 12a1 1 0 1 0 2 0 1 1 0 1 0-2 0M14 19a1 1 0 1 0 2 0 1 1 0 1 0-2 0"/></svg>');
    --icon-briefcase: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v9a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z" /><path d="M8 7v-2a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v2" /><path d="M12 12l0 .01" /><path d="M3 13a20 20 0 0 0 18 0" /></svg>');
    --icon-cash: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M7 11a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2z"/><path d="M12 14a2 2 0 1 0 4 0 2 2 0 1 0-4 0M17 9V7a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"/></svg>');
    --icon-cash-banknote: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M9 12a3 3 0 1 0 6 0 3 3 0 1 0-6 0"/><path d="M3 8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zM18 12h.01M6 12h.01"/></svg>');
    --icon-credit-card: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 8a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3zM3 10h18M7 15h.01M11 15h2"/></svg>');
    --icon-nfc: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M11 20a3 3 0 0 1-3-3V6l5 5"/><path d="M13 4a3 3 0 0 1 3 3v11l-5-5"/><path d="M4 7a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3z"/></svg>');
    --icon-building-bank: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 21h18M3 10h18M5 6l7-3 7 3M4 10v11M20 10v11M8 14v3M12 14v3M16 14v3"/></svg>');
    --icon-cheque: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M10 19H5a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H10 M6 9h12M6 12h3M6 15h2"/></svg>');
    --icon-transfer: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M20 10H4l5.5-6M4 14h16l-5.5 6"/></svg>');
    --icon-download: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 11l5 5 5-5M12 4v12"/></svg>');
    --icon-link: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m9 15 6-6M11 6l.463-.536a5 5 0 0 1 7.071 7.072L18 13M13 18l-.397.534a5.068 5.068 0 0 1-7.127 0 4.972 4.972 0 0 1 0-7.071L6 11"/></svg>');
    --icon-external-link: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M12 6H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6M11 13l9-9M15 4h5v5"/></svg>');
    --icon-eye: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M10 12a2 2 0 1 0 4 0 2 2 0 0 0-4 0"/><path d="M21 12c-2.4 4-5.4 6-9 6-3.6 0-6.6-2-9-6 2.4-4 5.4-6 9-6 3.6 0 6.6 2 9 6"/></svg>');
    --icon-eye-off: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M10.585 10.587a2 2 0 0 0 2.829 2.828"/><path d="M16.681 16.673A8.717 8.717 0 0 1 12 18c-3.6 0-6.6-2-9-6 1.272-2.12 2.712-3.678 4.32-4.674m2.86-1.146A9.055 9.055 0 0 1 12 6c3.6 0 6.6 2 9 6-.666 1.11-1.379 2.067-2.138 2.87M3 3l18 18"/></svg>');
    --icon-checklist: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M9.615 20h-2.615a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8" /><path d="M14 19l2 2l4 -4" /><path d="M9 8h4" /><path d="M9 12h2" /></svg>');
    --icon-file: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M14 3v4a1 1 0 0 0 1 1h4"/><path d="M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2z"/></svg>');
    --icon-file-text: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M14 3v4a1 1 0 0 0 1 1h4"/><path d="M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2zM9 9h1M9 13h6M9 17h6"/></svg>');
    --icon-notebook: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" viewBox="0 0 24 24" fill="none" stroke="%232c3e50" stroke-linecap="round" stroke-linejoin="round"><path d="M6 4h11a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-11a1 1 0 0 1 -1 -1v-14a1 1 0 0 1 1 -1m3 0v18" /><path d="M13 8l2 0" /><path d="M13 12l2 0" /></svg>');
    --icon-filter: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 4h16v2.172a2 2 0 0 1-.586 1.414L15 12v7l-6 2v-8.5L4.52 7.572A2 2 0 0 1 4 6.227V4z"/></svg>');
    --icon-adjustments: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 10a2 2 0 1 0 4 0 2 2 0 0 0-4 0M6 4v4M6 12v8M10 16a2 2 0 1 0 4 0 2 2 0 0 0-4 0M12 4v10M12 18v2M16 7a2 2 0 1 0 4 0 2 2 0 0 0-4 0M18 4v1M18 9v11"/></svg>');
    --icon-adjustments-horizontal: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M12 6a2 2 0 1 0 4 0 2 2 0 1 0-4 0M4 6h8M16 6h4M6 12a2 2 0 1 0 4 0 2 2 0 1 0-4 0M4 12h2M10 12h10M15 18a2 2 0 1 0 4 0 2 2 0 1 0-4 0M4 18h11M19 18h1"/></svg>');
    --icon-flag: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 5a5 5 0 0 1 7 0 5 5 0 0 0 7 0v9a5 5 0 0 1-7 0 5 5 0 0 0-7 0V5zM5 21v-7"/></svg>');
    --icon-folder: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 4h4l3 3h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2"/></svg>');
    --icon-paperclip: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m15 7-6.5 6.5a1.5 1.5 0 0 0 3 3L18 10a3 3 0 0 0-6-6l-6.5 6.5a4.5 4.5 0 0 0 9 9L21 13"/></svg>');
    --icon-play: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M7 4v16l13-8z"/></svg>');
    --icon-play-filled: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z"></path></svg>');
    --icon-pause: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M6 6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zM14 6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"/></svg>');
    --icon-pause-filled: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M9 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z"></path><path d="M17 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z"></path></svg>');
    --icon-stop: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z"/></svg>');
    --icon-stop-filled: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M17 4h-10a3 3 0 0 0 -3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3 -3v-10a3 3 0 0 0 -3 -3z"></path></svg>');
    --icon-phone: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg>');
    --icon-printer: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M17 17h2a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h2M17 9V5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v4"/><path d="M7 15a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2z"/></svg>');
    --icon-refresh: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"/></svg>');
    --icon-repeat: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12V9a3 3 0 0 1 3-3h13m-3-3 3 3-3 3M20 12v3a3 3 0 0 1-3 3H4m3 3-3-3 3-3"/></svg>');
    --icon-search: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 10a7 7 0 1 0 14 0 7 7 0 1 0-14 0M21 21l-6-6"/></svg>');
    --icon-send: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M10 14 21 3M21 3l-6.5 18a.55.55 0 0 1-1 0L10 14l-7-3.5a.55.55 0 0 1 0-1L21 3"/></svg>');
    --icon-settings: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 0 0-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 0 0-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 0 0-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 0 0-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 0 0 1.066-2.573c-.94-1.543.826-3.31 2.37-2.37 1 .608 2.296.07 2.572-1.065z"/><path d="M9 12a3 3 0 1 0 6 0 3 3 0 0 0-6 0"/></svg>');
    --icon-share: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 12a3 3 0 1 0 6 0 3 3 0 1 0-6 0M15 6a3 3 0 1 0 6 0 3 3 0 1 0-6 0M15 18a3 3 0 1 0 6 0 3 3 0 1 0-6 0M8.7 10.7l6.6-3.4M8.7 13.3l6.6 3.4"/></svg>');
    --icon-shopping-cart: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 19a2 2 0 1 0 4 0 2 2 0 1 0-4 0M15 19a2 2 0 1 0 4 0 2 2 0 1 0-4 0"/><path d="M17 17H6V3H4"/><path d="m6 5 14 1-1 7H6"/></svg>');
    --icon-sign-in: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M9 8V6a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-2"/><path d="M3 12h13l-3-3M13 15l3-3"/></svg>');
    --icon-sign-out: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M14 8V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-2"/><path d="M9 12h12l-3-3M18 15l3-3"/></svg>');
    --icon-terminal: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m5 7 5 5-5 5M12 19h7"/></svg>');
    --icon-sort-ascending: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 6h7M4 12h7M4 18h9M15 9l3-3 3 3M18 6v12"/></svg>');
    --icon-sort-descending: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 6h9M4 12h7M4 18h7M15 15l3 3 3-3M18 6v12"/></svg>');
    --icon-star: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m12 17.75-6.172 3.245 1.179-6.873-5-4.867 6.9-1 3.086-6.253 3.086 6.253 6.9 1-5 4.867 1.179 6.873z"/></svg>');
    --icon-star-filled: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m8.243 7.34-6.38.925-.113.023a1 1 0 0 0-.44 1.684l4.622 4.499-1.09 6.355-.013.11a1 1 0 0 0 1.464.944l5.706-3 5.693 3 .1.046a1 1 0 0 0 1.352-1.1l-1.091-6.355 4.624-4.5.078-.085a1 1 0 0 0-.633-1.62l-6.38-.926-2.852-5.78a1 1 0 0 0-1.794 0L8.243 7.34z" fill="currentColor" stroke="none"/></svg>');
    --icon-chart-bar: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M3 13a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zM15 9a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zM9 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zM4 20h14"/></svg>');
    --icon-chart-donut: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v5m4 4h5M8 12a4 4 0 1 0 8 0 4 4 0 1 0-8 0"/><path d="M3 12a9 9 0 1 0 18 0 9 9 0 1 0-18 0"/></svg>');
    --icon-chart-pie: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v9h9"/><path d="M3 12a9 9 0 1 0 18 0 9 9 0 1 0-18 0"/></svg>');
    --icon-table: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5zM3 10h18M10 3v18"/></svg>');
    --icon-tag: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M6.5 7.5a1 1 0 1 0 2 0 1 1 0 1 0-2 0"/><path d="M3 6v5.172a2 2 0 0 0 .586 1.414l7.71 7.71a2.41 2.41 0 0 0 3.408 0l5.592-5.592a2.41 2.41 0 0 0 0-3.408l-7.71-7.71A2 2 0 0 0 11.172 3H6a3 3 0 0 0-3 3z"/></svg>');
    --icon-hash: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 9h14M5 15h14M11 4 7 20M17 4l-4 16"/></svg>');
    --icon-heart: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M19.5 12.572 12 20l-7.5-7.428A5 5 0 1 1 12 6.006a5 5 0 1 1 7.5 6.572"/></svg>');
    --icon-calculator: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M4 3m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z"></path><path d="M8 7m0 1a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1v1a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1z"></path><path d="M8 14l0 .01"></path><path d="M12 14l0 .01"></path><path d="M16 14l0 .01"></path><path d="M8 17l0 .01"></path><path d="M12 17l0 .01"></path><path d="M16 17l0 .01"></path></svg>');
    --icon-tool: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M7 10h3V7L6.5 3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1-3 3l-6-6a6 6 0 0 1-8-8L7 10"/></svg>');
    --icon-tools: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 21h4L20 8a1.5 1.5 0 0 0-4-4L3 17v4M14.5 5.5l4 4"/><path d="M12 8 7 3 3 7l5 5M7 8 5.5 9.5M16 12l5 5-4 4-5-5M16 17l-1.5 1.5"/></svg>');
    --icon-sparkles: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" viewBox="0 0 24 24" fill="none" stroke="%232c3e50" stroke-linecap="round" stroke-linejoin="round"><path d="M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm0 -12a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm-7 12a6 6 0 0 1 6 -6a6 6 0 0 1 -6 -6a6 6 0 0 1 -6 6a6 6 0 0 1 6 6z" /></svg>');
    --icon-truck: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 17a2 2 0 1 0 4 0 2 2 0 1 0-4 0M15 17a2 2 0 1 0 4 0 2 2 0 1 0-4 0"/><path d="M5 17H3V6a1 1 0 0 1 1-1h9v12m-4 0h6m4 0h2v-6h-8m0-5h5l3 5"/></svg>');
    --icon-car: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M17 17m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M5 17h-2v-6l2 -5h9l4 5h1a2 2 0 0 1 2 2v4h-2m-4 0h-6m-6 -6h15m-6 0v-5" /></svg>');
    --icon-id: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 7a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3z"/><path d="M7 10a2 2 0 1 0 4 0 2 2 0 1 0-4 0M15 8h2M15 12h2M7 16h10"/></svg>');
    --icon-user: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M8 7a4 4 0 1 0 8 0 4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2"/></svg>');
    --icon-users: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 7a4 4 0 1 0 8 0 4 4 0 1 0-8 0M3 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2M16 3.13a4 4 0 0 1 0 7.75M21 21v-2a4 4 0 0 0-3-3.85"/></svg>');
    --icon-users-group: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M10 13a2 2 0 1 0 4 0 2 2 0 0 0-4 0M8 21v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1M15 5a2 2 0 1 0 4 0 2 2 0 0 0-4 0M17 10h2a2 2 0 0 1 2 2v1M5 5a2 2 0 1 0 4 0 2 2 0 0 0-4 0M3 13v-1a2 2 0 0 1 2-2h2"/></svg>');
    --icon-mail: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7z"/><path d="m3 7 9 6 9-6"/></svg>');
    --icon-map: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m3 7 6-3 6 3 6-3v13l-6 3-6-3-6 3V7M9 4v13M15 7v13"/></svg>');
    --icon-map-pin: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M9 11a3 3 0 1 0 6 0 3 3 0 0 0-6 0"/><path d="M17.657 16.657 13.414 20.9a2 2 0 0 1-2.827 0l-4.244-4.243a8 8 0 1 1 11.314 0z"/></svg>');
    --icon-menu: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 6h16M4 12h16M4 18h16"/></svg>');
    --icon-message: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M8 9h8M8 13h6M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-5l-5 3v-3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h12z"/></svg>');
    --icon-message-dots: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M4 21V8a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H8l-4 4M12 11v.01M8 11v.01M16 11v.01"/></svg>');
    --icon-message-circle: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m3 20 1.3-3.9C1.976 12.663 2.874 8.228 6.4 5.726c3.526-2.501 8.59-2.296 11.845.48 3.255 2.777 3.695 7.266 1.029 10.501C16.608 19.942 11.659 20.922 7.7 19L3 20"/></svg>');
    --icon-receipt: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16l-3-2-2 2-2-2-2 2-2-2-3 2M9 7h6m-6 4h6m-2 4h2"/></svg>');
    --icon-receipt-refund: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16l-3-2-2 2-2-2-2 2-2-2-3 2"/><path d="M15 14v-2a2 2 0 0 0-2-2H9l2-2m0 4-2-2"/></svg>');
    --icon-receipt-tax: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m9 14 6-6"/><circle cx="9.5" cy="8.5" r=".5" fill="currentColor"/><circle cx="14.5" cy="13.5" r=".5" fill="currentColor"/><path d="M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16l-3-2-2 2-2-2-2 2-2-2-3 2"/></svg>');
    --icon-wallet: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M17 8V5a1 1 0 0 0-1-1H6a2 2 0 0 0 0 4h12a1 1 0 0 1 1 1v3m0 4v3a1 1 0 0 1-1 1H6a2 2 0 0 1-2-2V6"/><path d="M20 12v4h-4a2 2 0 0 1 0-4h4"/></svg>');
    --icon-address-book: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M20 6v12a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2zM10 16h6"/><path d="M11 11a2 2 0 1 0 4 0 2 2 0 1 0-4 0M4 8h3M4 12h3M4 16h3"/></svg>');
    --icon-note: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m13 20 7-7M13 20v-6a1 1 0 0 1 1-1h6V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h7"/></svg>');
    --icon-notes: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M5 5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2zM9 7h6M9 11h6M9 15h4"/></svg>');
    --icon-world: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0M3.6 9h16.8M3.6 15h16.8"/><path d="M11.5 3a17 17 0 0 0 0 18M12.5 3a17 17 0 0 1 0 18"/></svg>');
    --icon-building-skyscraper: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21l18 0" /><path d="M5 21v-14l8 -4v18" /><path d="M19 21v-10l-6 -4" /><path d="M9 9l0 .01" /><path d="M9 12l0 .01" /><path d="M9 15l0 .01" /><path d="M9 18l0 .01" /></svg>');
    --icon-building: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 21h18M9 8h1M9 12h1M9 16h1M14 8h1M14 12h1M14 16h1M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16"/></svg>');
    --icon-store: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 21h18M3 7v1a3 3 0 0 0 6 0V7m0 1a3 3 0 0 0 6 0V7m0 1a3 3 0 0 0 6 0V7H3l2-4h14l2 4M5 21V10.85M19 21V10.85M9 21v-4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v4"/></svg>');
    --icon-brand-abstract: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z" /><path d="M10.5 13.5m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0" /><path d="M8 8h8v8" /></svg>');
    --icon-package: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l8 4.5l0 9l-8 4.5l-8 -4.5l0 -9l8 -4.5" /><path d="M12 12l8 -4.5" /><path d="M12 12l0 9" /><path d="M12 12l-8 -4.5" /><path d="M16 5.25l-8 4.5" /></svg>');
    --icon-sitemap: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M3 15m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /><path d="M15 15m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /><path d="M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /><path d="M6 15v-1a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v1" /><path d="M12 9l0 3" /></svg>');
    --icon-hierarchy: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M5 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M19 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M6.5 17.5l5.5 -4.5l5.5 4.5" /><path d="M12 7l0 6" /></svg>');
    --icon-hierarchy-3: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M8 12m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M12 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M20 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M4 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M16 12m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M5 17l2 -3" /><path d="M9 10l2 -3" /><path d="M13 7l2 3" /><path d="M17 14l2 3" /><path d="M15 14l-2 3" /><path d="M9 14l2 3" /></svg>');
    --icon-topology-star: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M8 18a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z" /><path d="M20 6a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z" /><path d="M8 6a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z" /><path d="M20 18a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z" /><path d="M14 12a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z" /><path d="M7.5 7.5l3 3" /><path d="M7.5 16.5l3 -3" /><path d="M13.5 13.5l3 3" /><path d="M16.5 7.5l-3 3" /></svg>');
    --icon-atom-2: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /><path d="M12 21l0 .01" /><path d="M3 9l0 .01" /><path d="M21 9l0 .01" /><path d="M8 20.1a9 9 0 0 1 -5 -7.1" /><path d="M16 20.1a9 9 0 0 0 5 -7.1" /><path d="M6.2 5a9 9 0 0 1 11.4 0" /></svg>');
    --icon-desktop: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M3 5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5zM7 20h10M9 16v4M15 16v4"/></svg>');
    --icon-moon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M12 3h.393a7.5 7.5 0 0 0 7.92 12.446A9 9 0 1 1 12 2.992z"/></svg>');
    --icon-sun: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M8 12a4 4 0 1 0 8 0 4 4 0 1 0-8 0M3 12h1m8-9v1m8 8h1m-9 8v1M5.6 5.6l.7.7m12.1-.7-.7.7m0 11.4.7.7m-12.1-.7-.7.7"/></svg>')
}

html {
    scroll-behavior: smooth;
    scrollbar-gutter: stable
}

body {
    font-family: "Manrope", sans-serif;
    font-weight: 500;
    color: var(--typography-300);
    background-color: var(--body-bg);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    font-size: 16px;
    line-height: 1.5;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: 300ms;
    container: body / inline-size;

    button,
    input,
    optgroup,
    select,
    textarea {
        padding: .5rem .75rem;
        color: var(--typography-300)
    }
}

main {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: auto;
    background-color: var(--main-bg);
    container: main / inline-size
}

@media (prefers-reduced-motion:no-preference) {

    html,
    :has(:target) {
        scroll-behavior: smooth
    }
}

:focus-visible {
    outline-color: var(--primary-500);
    outline-offset: 0;
    transition: all 0.15s ease
}

:is(::-webkit-calendar-picker-indicator, ::-webkit-clear-button, ::-webkit-inner-spin-button, ::-webkit-outer-spin-button) {
    color: var(--primary-500)
}

@font-face {
    font-family: "Manrope";
    src: url(../fonts/Manrope-VariableFont_wght.woff2) format("woff2");
    font-weight: 400 900
}

h1,
h2,
h3,
h4 {
    font-weight: 550;
    color: var(--typography-400);
    text-wrap: balance
}

h5,
h6 {
    font-weight: 600
}

h1 {
    font-size: 1.875rem;
    line-height: 2.5rem;
    letter-spacing: -.025em
}

h2 {
    font-size: 1.5rem;
    line-height: 2rem;
    letter-spacing: -.025em
}

h3 {
    font-size: 1.25rem;
    line-height: 1.75rem;
    letter-spacing: -.025em
}

h4 {
    font-size: 1.125rem;
    line-height: 1.75rem
}

h5,
h6 {
    font-size: 1rem;
    line-height: 1.5rem
}

p {
    text-wrap: pretty
}

mark,
del,
ins {
    border-radius: .125rem;
    color: var(--typography-300)
}

mark {
    background-color: hsl(46 97% 65% / .5)
}

del {
    background-color: var(--danger-100);
    text-decoration-color: var(--danger-300)
}

ins {
    background-color: var(--success-100);
    text-decoration-color: var(--success-300);
    text-underline-offset: .25rem
}

kbd:not(:has(kbd, samp)) {
    color: var(--typography-400);
    background: var(--surface-100);
    border-radius: .25rem;
    padding-inline: .25rem;
    box-shadow: 1px 1px 0 2px var(--surface-300)
}

blockquote {
    padding: .5rem 1rem;
    border-radius: .25rem;
    background-color: var(--info-100);
    border-left: 4px solid var(--info-500)
}

hr {
    border: none;
    height: 0;
    border-top: 1px solid var(--surface-300);
    opacity: 50%
}

[class^="icon-"] {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background-color: currentColor;
    flex-shrink: 0;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain
}

.icon-home {
    mask-image: var(--icon-home);
    -webkit-mask-image: var(--icon-home)
}

.icon-add {
    mask-image: var(--icon-add);
    -webkit-mask-image: var(--icon-add)
}

.icon-remove {
    mask-image: var(--icon-remove);
    -webkit-mask-image: var(--icon-remove)
}

.icon-edit {
    mask-image: var(--icon-edit);
    -webkit-mask-image: var(--icon-edit)
}

.icon-delete {
    mask-image: var(--icon-delete);
    -webkit-mask-image: var(--icon-delete)
}

.icon-undo {
    mask-image: var(--icon-undo);
    -webkit-mask-image: var(--icon-undo)
}

.icon-x {
    mask-image: var(--icon-x);
    -webkit-mask-image: var(--icon-x)
}

.icon-more {
    mask-image: var(--icon-more);
    -webkit-mask-image: var(--icon-more)
}

.icon-slash {
    mask-image: var(--icon-slash);
    -webkit-mask-image: var(--icon-slash)
}

.icon-backslash {
    mask-image: var(--icon-backslash);
    -webkit-mask-image: var(--icon-backslash)
}

.icon-archive {
    mask-image: var(--icon-archive);
    -webkit-mask-image: var(--icon-archive)
}

.icon-command {
    mask-image: var(--icon-command);
    -webkit-mask-image: var(--icon-command)
}

.icon-alert-circle {
    mask-image: var(--icon-alert-circle);
    -webkit-mask-image: var(--icon-alert-circle)
}

.icon-alert-circle-filled {
    mask-image: var(--icon-alert-circle-filled);
    -webkit-mask-image: var(--icon-alert-circle-filled)
}

.icon-alert-triangle {
    mask-image: var(--icon-alert-triangle);
    -webkit-mask-image: var(--icon-alert-triangle)
}

.icon-alert-triangle-filled {
    mask-image: var(--icon-alert-triangle-filled);
    -webkit-mask-image: var(--icon-alert-triangle-filled)
}

.icon-alert-octagon {
    mask-image: var(--icon-alert-octagon);
    -webkit-mask-image: var(--icon-alert-octagon)
}

.icon-alert-octagon-filled {
    mask-image: var(--icon-alert-octagon-filled);
    -webkit-mask-image: var(--icon-alert-octagon-filled)
}

.icon-help-circle {
    mask-image: var(--icon-help-circle);
    -webkit-mask-image: var(--icon-help-circle)
}

.icon-help-circle-filled {
    mask-image: var(--icon-help-circle-filled);
    -webkit-mask-image: var(--icon-help-circle-filled)
}

.icon-info-circle {
    mask-image: var(--icon-info-circle);
    -webkit-mask-image: var(--icon-info-circle)
}

.icon-info-circle-filled {
    mask-image: var(--icon-info-circle-filled);
    -webkit-mask-image: var(--icon-info-circle-filled)
}

.icon-arrow-left {
    mask-image: var(--icon-arrow-left);
    -webkit-mask-image: var(--icon-arrow-left)
}

.icon-arrow-right {
    mask-image: var(--icon-arrow-left);
    -webkit-mask-image: var(--icon-arrow-left);
    rotate: 180deg
}

.icon-arrow-up {
    mask-image: var(--icon-arrow-left);
    -webkit-mask-image: var(--icon-arrow-left);
    rotate: 90deg
}

.icon-arrow-down {
    mask-image: var(--icon-arrow-left);
    -webkit-mask-image: var(--icon-arrow-left);
    rotate: -90deg
}

.icon-trending-up {
    mask-image: var(--icon-trending-up);
    -webkit-mask-image: var(--icon-trending-up)
}

.icon-trending-down {
    mask-image: var(--icon-trending-down);
    -webkit-mask-image: var(--icon-trending-down)
}

.icon-apps {
    mask-image: var(--icon-apps);
    -webkit-mask-image: var(--icon-apps)
}

.icon-category {
    mask-image: var(--icon-category);
    -webkit-mask-image: var(--icon-category)
}

.icon-bell {
    mask-image: var(--icon-bell);
    -webkit-mask-image: var(--icon-bell)
}

.icon-bell-filled {
    mask-image: var(--icon-bell-filled);
    -webkit-mask-image: var(--icon-bell-filled)
}

.icon-calendar {
    mask-image: var(--icon-calendar);
    -webkit-mask-image: var(--icon-calendar)
}

.icon-camera {
    mask-image: var(--icon-camera);
    -webkit-mask-image: var(--icon-camera)
}

.icon-image {
    mask-image: var(--icon-image);
    -webkit-mask-image: var(--icon-image)
}

.icon-mic {
    mask-image: var(--icon-mic);
    -webkit-mask-image: var(--icon-mic)
}

.icon-inbox {
    mask-image: var(--icon-inbox);
    -webkit-mask-image: var(--icon-inbox)
}

.icon-check {
    mask-image: var(--icon-check);
    -webkit-mask-image: var(--icon-check)
}

.icon-check-circle {
    mask-image: var(--icon-check-circle);
    -webkit-mask-image: var(--icon-check-circle)
}

.icon-check-circle-filled {
    mask-image: var(--icon-check-circle-filled);
    -webkit-mask-image: var(--icon-check-circle-filled)
}

.icon-chevron-left {
    mask-image: var(--icon-chevron-left);
    -webkit-mask-image: var(--icon-chevron-left)
}

.icon-chevron-right {
    mask-image: var(--icon-chevron-left);
    -webkit-mask-image: var(--icon-chevron-left);
    rotate: 180deg
}

.icon-chevron-up {
    mask-image: var(--icon-chevron-left);
    -webkit-mask-image: var(--icon-chevron-left);
    rotate: 90deg
}

.icon-chevron-down {
    mask-image: var(--icon-chevron-left);
    -webkit-mask-image: var(--icon-chevron-left);
    rotate: -90deg
}

.icon-clock {
    mask-image: var(--icon-clock);
    -webkit-mask-image: var(--icon-clock)
}

.icon-cloud {
    mask-image: var(--icon-cloud);
    -webkit-mask-image: var(--icon-cloud)
}

.icon-columns {
    mask-image: var(--icon-columns);
    -webkit-mask-image: var(--icon-columns)
}

.icon-dashboard {
    mask-image: var(--icon-dashboard);
    -webkit-mask-image: var(--icon-dashboard)
}

.icon-layout {
    mask-image: var(--icon-layout);
    -webkit-mask-image: var(--icon-layout)
}

.icon-layout-grid {
    mask-image: var(--icon-layout-grid);
    -webkit-mask-image: var(--icon-layout-grid)
}

.icon-layout-columns {
    mask-image: var(--icon-layout-columns);
    -webkit-mask-image: var(--icon-layout-columns)
}

.icon-list {
    mask-image: var(--icon-list);
    -webkit-mask-image: var(--icon-list)
}

.icon-lock {
    mask-image: var(--icon-lock);
    -webkit-mask-image: var(--icon-lock)
}

.icon-unlock {
    mask-image: var(--icon-unlock);
    -webkit-mask-image: var(--icon-unlock)
}

.icon-layout-sidebar {
    mask-image: var(--icon-layout-sidebar);
    -webkit-mask-image: var(--icon-layout-sidebar)
}

.icon-desk {
    mask-image: var(--icon-desk);
    -webkit-mask-image: var(--icon-desk)
}

.icon-layout-dashboard {
    mask-image: var(--icon-layout-dashboard);
    -webkit-mask-image: var(--icon-layout-dashboard)
}

.icon-window-maximize {
    mask-image: var(--icon-window-maximize);
    -webkit-mask-image: var(--icon-window-maximize)
}

.icon-window-minimize {
    mask-image: var(--icon-window-minimize);
    -webkit-mask-image: var(--icon-window-minimize)
}

.icon-template {
    mask-image: var(--icon-template);
    -webkit-mask-image: var(--icon-template)
}

.icon-brush {
    mask-image: var(--icon-brush);
    -webkit-mask-image: var(--icon-brush)
}

.icon-writing {
    mask-image: var(--icon-writing);
    -webkit-mask-image: var(--icon-writing)
}

.icon-code {
    mask-image: var(--icon-code);
    -webkit-mask-image: var(--icon-code)
}

.icon-cut {
    mask-image: var(--icon-cut);
    -webkit-mask-image: var(--icon-cut)
}

.icon-copy {
    mask-image: var(--icon-copy);
    -webkit-mask-image: var(--icon-copy)
}

.icon-paste {
    mask-image: var(--icon-paste);
    -webkit-mask-image: var(--icon-paste)
}

.icon-subtask {
    mask-image: var(--icon-subtask);
    -webkit-mask-image: var(--icon-subtask)
}

.icon-focus {
    mask-image: var(--icon-focus);
    -webkit-mask-image: var(--icon-focus)
}

.icon-grip-vertical {
    mask-image: var(--icon-grip-vertical);
    -webkit-mask-image: var(--icon-grip-vertical)
}

.icon-grip-horizontal {
    mask-image: var(--icon-grip-vertical);
    -webkit-mask-image: var(--icon-grip-vertical);
    rotate: 90deg
}

.icon-briefcase {
    mask-image: var(--icon-briefcase);
    -webkit-mask-image: var(--icon-briefcase)
}

.icon-cash {
    mask-image: var(--icon-cash);
    -webkit-mask-image: var(--icon-cash)
}

.icon-cash-banknote {
    mask-image: var(--icon-cash-banknote);
    -webkit-mask-image: var(--icon-cash-banknote)
}

.icon-credit-card {
    mask-image: var(--icon-credit-card);
    -webkit-mask-image: var(--icon-credit-card)
}

.icon-nfc {
    mask-image: var(--icon-nfc);
    -webkit-mask-image: var(--icon-nfc)
}

.icon-building-bank {
    mask-image: var(--icon-building-bank);
    -webkit-mask-image: var(--icon-building-bank)
}

.icon-cheque {
    mask-image: var(--icon-cheque);
    -webkit-mask-image: var(--icon-cheque)
}

.icon-transfer {
    mask-image: var(--icon-transfer);
    -webkit-mask-image: var(--icon-transfer)
}

.icon-download {
    mask-image: var(--icon-download);
    -webkit-mask-image: var(--icon-download)
}

.icon-upload {
    mask-image: var(--icon-download);
    -webkit-mask-image: var(--icon-download);
    rotate: 180deg
}

.icon-link {
    mask-image: var(--icon-link);
    -webkit-mask-image: var(--icon-link)
}

.icon-external-link {
    mask-image: var(--icon-external-link);
    -webkit-mask-image: var(--icon-external-link)
}

.icon-eye {
    mask-image: var(--icon-eye);
    -webkit-mask-image: var(--icon-eye)
}

.icon-eye-off {
    mask-image: var(--icon-eye-off);
    -webkit-mask-image: var(--icon-eye-off)
}

.icon-checklist {
    mask-image: var(--icon-checklist);
    -webkit-mask-image: var(--icon-checklist)
}

.icon-file {
    mask-image: var(--icon-file);
    -webkit-mask-image: var(--icon-file)
}

.icon-file-text {
    mask-image: var(--icon-file-text);
    -webkit-mask-image: var(--icon-file-text)
}

.icon-notebook {
    mask-image: var(--icon-notebook);
    -webkit-mask-image: var(--icon-notebook)
}

.icon-filter {
    mask-image: var(--icon-filter);
    -webkit-mask-image: var(--icon-filter)
}

.icon-adjustments {
    mask-image: var(--icon-adjustments);
    -webkit-mask-image: var(--icon-adjustments)
}

.icon-adjustments-horizontal {
    mask-image: var(--icon-adjustments-horizontal);
    -webkit-mask-image: var(--icon-adjustments-horizontal)
}

.icon-flag {
    mask-image: var(--icon-flag);
    -webkit-mask-image: var(--icon-flag)
}

.icon-folder {
    mask-image: var(--icon-folder);
    -webkit-mask-image: var(--icon-folder)
}

.icon-paperclip {
    mask-image: var(--icon-paperclip);
    -webkit-mask-image: var(--icon-paperclip)
}

.icon-play {
    mask-image: var(--icon-play);
    -webkit-mask-image: var(--icon-play)
}

.icon-play-filled {
    mask-image: var(--icon-play-filled);
    -webkit-mask-image: var(--icon-play-filled)
}

.icon-pause {
    mask-image: var(--icon-pause);
    -webkit-mask-image: var(--icon-pause)
}

.icon-pause-filled {
    mask-image: var(--icon-pause-filled);
    -webkit-mask-image: var(--icon-pause-filled)
}

.icon-stop-filled {
    mask-image: var(--icon-stop-filled);
    -webkit-mask-image: var(--icon-stop-filled)
}

.icon-stop {
    mask-image: var(--icon-stop);
    -webkit-mask-image: var(--icon-stop)
}

.icon-phone {
    mask-image: var(--icon-phone);
    -webkit-mask-image: var(--icon-phone)
}

.icon-printer {
    mask-image: var(--icon-printer);
    -webkit-mask-image: var(--icon-printer)
}

.icon-refresh {
    mask-image: var(--icon-refresh);
    -webkit-mask-image: var(--icon-refresh)
}

.icon-repeat {
    mask-image: var(--icon-repeat);
    -webkit-mask-image: var(--icon-repeat)
}

.icon-search {
    mask-image: var(--icon-search);
    -webkit-mask-image: var(--icon-search)
}

.icon-send {
    mask-image: var(--icon-send);
    -webkit-mask-image: var(--icon-send)
}

.icon-settings {
    mask-image: var(--icon-settings);
    -webkit-mask-image: var(--icon-settings)
}

.icon-share {
    mask-image: var(--icon-share);
    -webkit-mask-image: var(--icon-share)
}

.icon-shopping-cart {
    mask-image: var(--icon-shopping-cart);
    -webkit-mask-image: var(--icon-shopping-cart)
}

.icon-sign-in {
    mask-image: var(--icon-sign-in);
    -webkit-mask-image: var(--icon-sign-in)
}

.icon-sign-out {
    mask-image: var(--icon-sign-out);
    -webkit-mask-image: var(--icon-sign-out)
}

.icon-terminal {
    mask-image: var(--icon-terminal);
    -webkit-mask-image: var(--icon-terminal)
}

.icon-sort-ascending {
    mask-image: var(--icon-sort-ascending);
    -webkit-mask-image: var(--icon-sort-ascending)
}

.icon-sort-descending {
    mask-image: var(--icon-sort-descending);
    -webkit-mask-image: var(--icon-sort-descending)
}

.icon-star {
    mask-image: var(--icon-star);
    -webkit-mask-image: var(--icon-star)
}

.icon-star-filled {
    mask-image: var(--icon-star-filled);
    -webkit-mask-image: var(--icon-star-filled)
}

.icon-chart-bar {
    mask-image: var(--icon-chart-bar);
    -webkit-mask-image: var(--icon-chart-bar)
}

.icon-chart-donut {
    mask-image: var(--icon-chart-donut);
    -webkit-mask-image: var(--icon-chart-donut)
}

.icon-chart-pie {
    mask-image: var(--icon-chart-pie);
    -webkit-mask-image: var(--icon-chart-pie)
}

.icon-table {
    mask-image: var(--icon-table);
    -webkit-mask-image: var(--icon-table)
}

.icon-tag {
    mask-image: var(--icon-tag);
    -webkit-mask-image: var(--icon-tag)
}

.icon-hash {
    mask-image: var(--icon-hash);
    -webkit-mask-image: var(--icon-hash)
}

.icon-heart {
    mask-image: var(--icon-heart);
    -webkit-mask-image: var(--icon-heart)
}

.icon-calculator {
    mask-image: var(--icon-calculator);
    -webkit-mask-image: var(--icon-calculator)
}

.icon-tool {
    mask-image: var(--icon-tool);
    -webkit-mask-image: var(--icon-tool)
}

.icon-tools {
    mask-image: var(--icon-tools);
    -webkit-mask-image: var(--icon-tools)
}

.icon-sparkles {
    mask-image: var(--icon-sparkles);
    -webkit-mask-image: var(--icon-sparkles)
}

.icon-truck {
    mask-image: var(--icon-truck);
    -webkit-mask-image: var(--icon-truck)
}

.icon-car {
    mask-image: var(--icon-car);
    -webkit-mask-image: var(--icon-car)
}

.icon-id {
    mask-image: var(--icon-id);
    -webkit-mask-image: var(--icon-id)
}

.icon-user {
    mask-image: var(--icon-user);
    -webkit-mask-image: var(--icon-user)
}

.icon-users {
    mask-image: var(--icon-users);
    -webkit-mask-image: var(--icon-users)
}

.icon-users-group {
    mask-image: var(--icon-users-group);
    -webkit-mask-image: var(--icon-users-group)
}

.icon-mail {
    mask-image: var(--icon-mail);
    -webkit-mask-image: var(--icon-mail)
}

.icon-map {
    mask-image: var(--icon-map);
    -webkit-mask-image: var(--icon-map)
}

.icon-map-pin {
    mask-image: var(--icon-map-pin);
    -webkit-mask-image: var(--icon-map-pin)
}

.icon-menu {
    mask-image: var(--icon-menu);
    -webkit-mask-image: var(--icon-menu)
}

.icon-message {
    mask-image: var(--icon-message);
    -webkit-mask-image: var(--icon-message)
}

.icon-message-dots {
    mask-image: var(--icon-message-dots);
    -webkit-mask-image: var(--icon-message-dots)
}

.icon-message-circle {
    mask-image: var(--icon-message-circle);
    -webkit-mask-image: var(--icon-message-circle)
}

.icon-receipt {
    mask-image: var(--icon-receipt);
    -webkit-mask-image: var(--icon-receipt)
}

.icon-receipt-refund {
    mask-image: var(--icon-receipt-refund);
    -webkit-mask-image: var(--icon-receipt-refund)
}

.icon-receipt-tax {
    mask-image: var(--icon-receipt-tax);
    -webkit-mask-image: var(--icon-receipt-tax)
}

.icon-wallet {
    mask-image: var(--icon-wallet);
    -webkit-mask-image: var(--icon-wallet)
}

.icon-address-book {
    mask-image: var(--icon-address-book);
    -webkit-mask-image: var(--icon-address-book)
}

.icon-note {
    mask-image: var(--icon-note);
    -webkit-mask-image: var(--icon-note)
}

.icon-notes {
    mask-image: var(--icon-notes);
    -webkit-mask-image: var(--icon-notes)
}

.icon-world {
    mask-image: var(--icon-world);
    -webkit-mask-image: var(--icon-world)
}

.icon-building-skyscraper {
    mask-image: var(--icon-building-skyscraper);
    -webkit-mask-image: var(--icon-building-skyscraper)
}

.icon-building {
    mask-image: var(--icon-building);
    -webkit-mask-image: var(--icon-building)
}

.icon-store {
    mask-image: var(--icon-store);
    -webkit-mask-image: var(--icon-store)
}

.icon-brand-abstract {
    mask-image: var(--icon-brand-abstract);
    -webkit-mask-image: var(--icon-brand-abstract)
}

.icon-package {
    mask-image: var(--icon-package);
    -webkit-mask-image: var(--icon-package)
}

.icon-sitemap {
    mask-image: var(--icon-sitemap);
    -webkit-mask-image: var(--icon-sitemap)
}

.icon-hierarchy {
    mask-image: var(--icon-hierarchy);
    -webkit-mask-image: var(--icon-hierarchy)
}

.icon-hierarchy-3 {
    mask-image: var(--icon-hierarchy-3);
    -webkit-mask-image: var(--icon-hierarchy-3)
}

.icon-topology-star {
    mask-image: var(--icon-topology-star);
    -webkit-mask-image: var(--icon-topology-star)
}

.icon-atom-2 {
    mask-image: var(--icon-atom-2);
    -webkit-mask-image: var(--icon-atom-2)
}

.icon-desktop {
    mask-image: var(--icon-desktop);
    -webkit-mask-image: var(--icon-desktop)
}

.icon-moon {
    mask-image: var(--icon-moon);
    -webkit-mask-image: var(--icon-moon)
}

.icon-sun {
    mask-image: var(--icon-sun);
    -webkit-mask-image: var(--icon-sun)
}

a {
    color: var(--primary-500);

    &.btn {
        display: inline-block
    }
}

.btn {
    position: relative;
    cursor: pointer;
    width: fit-content;
    height: fit-content;
    border-radius: .25rem;
    padding: .5rem 1rem;
    text-decoration-line: none;
    color: inherit;

    &:hover {
        background-color: var(--surface-100);
        transition: all 0.3s ease
    }

    &.primary,
    &.soft,
    &.bordered,
    &.solid,
    &.icon-only,
    &.icon-left,
    &.icon-right {
        border-radius: 1.25rem;

        &:active {
            scale: .97;
            transition: all 0.15s cubic-bezier(.4, 0, .2, 1)
        }

        &.rounded-e-none {
            border-start-end-radius: 0;
            border-end-end-radius: 0
        }

        &.rounded-s-none {
            border-start-start-radius: 0;
            border-end-start-radius: 0
        }
    }

    &.soft {
        font-weight: 550;
        color: var(--typography-200);
        background-color: var(--surface-100);
        white-space: nowrap;

        &:hover {
            background-color: var(--surface-200)
        }
    }

    &.bordered {
        font-weight: 550;
        color: var(--typography-200);
        box-shadow: 0 0 0 1px var(--surface-400);
        white-space: nowrap
    }

    &.solid {
        font-weight: 600
    }

    &.primary {
        font-weight: 600;
        color: var(--primary-500);
        white-space: nowrap;

        &:hover {
            background-color: var(--primary-100)
        }

        &.soft {
            background-color: var(--primary-100);

            &:hover {
                background-color: var(--primary-200)
            }
        }

        &.bordered {
            box-shadow: 0 0 0 1px var(--primary-500)
        }

        &.solid {
            color: var(--primary-100);
            background-color: var(--primary-500);

            &:hover {
                background-color: oklch(calc(var(--l-500) - 0.05) var(--c-500) var(--brand-hue))
            }

            &:focus-visible {
                outline-color: var(--primary-500)
            }
        }
    }

    &.info {
        color: var(--info-500);
        white-space: nowrap;

        &:hover {
            background-color: var(--info-100)
        }

        &.soft {
            background-color: var(--info-100);

            &:hover {
                background-color: var(--info-200)
            }
        }

        &.bordered {
            box-shadow: 0 0 0 1px var(--info-500)
        }

        &.solid {
            color: var(--info-100);
            background-color: var(--info-500);

            &:hover {
                background-color: oklch(calc(var(--l-500) - 0.05) var(--c-500) var(--info-hue))
            }
        }
    }

    &.success {
        color: var(--success-500);
        white-space: nowrap;

        &:hover {
            background-color: var(--success-100)
        }

        &.soft {
            background-color: var(--success-100);

            &:hover {
                background-color: var(--success-200)
            }
        }

        &.bordered {
            box-shadow: 0 0 0 1px var(--success-500)
        }

        &.solid {
            color: var(--success-100);
            background-color: var(--success-500);

            &:hover {
                background-color: oklch(calc(var(--l-500) - 0.05) var(--c-500) var(--success-hue))
            }
        }
    }

    &.warning {
        color: var(--warning-500);
        white-space: nowrap;

        &:hover {
            background-color: var(--warning-100)
        }

        &.soft {
            background-color: var(--warning-100);

            &:hover {
                background-color: var(--warning-200)
            }
        }

        &.bordered {
            box-shadow: 0 0 0 1px var(--warning-500)
        }

        &.solid {
            color: var(--warning-100);
            background-color: var(--warning-500);

            &:hover {
                background-color: oklch(calc(var(--l-500) - 0.05) var(--c-500) var(--warning-hue))
            }
        }
    }

    &.danger {
        color: var(--danger-500);
        white-space: nowrap;

        &:hover {
            background-color: var(--danger-100)
        }

        &.soft {
            background-color: var(--danger-100);

            &:hover {
                background-color: var(--danger-200)
            }
        }

        &.bordered {
            box-shadow: 0 0 0 1px var(--danger-500)
        }

        &.solid {
            color: var(--danger-100);
            background-color: var(--danger-500);

            &:hover {
                background-color: oklch(calc(var(--l-500) - 0.05) var(--c-500) var(--danger-hue))
            }
        }
    }

    &.icon-only {
        padding: .5rem;

        &:hover {
            color: var(--primary-500);
            background-color: var(--primary-100)
        }
    }

    &.icon-left {
        display: inline-flex;
        align-items: center;
        gap: .5rem;
        white-space: nowrap
    }

    &.icon-top {
        display: inline-flex;
        flex-direction: column;
        align-items: center
    }

    &.icon-right {
        display: inline-flex;
        flex-direction: row-reverse;
        align-items: center;
        gap: .5rem;
        white-space: nowrap
    }

    &.small {
        padding: .25rem .5rem;
        font-size: .875rem;
        line-height: 1.25rem;
        gap: .25rem;

        [class^="icon-"] {
            width: .875rem;
            height: .875rem;
            opacity: .75;
            margin-top: .125rem
        }
    }
}

form {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: inherit;
    container: inline-size;

    @container (max-width:640px) {
        .card-base {
            border-radius: 0;
            box-shadow: none
        }
    }

    >header {
        display: flex;
        padding: .5rem 1rem;
        gap: 1rem;
        justify-content: space-between;
        align-items: center;
        background-color: inherit
    }

    >section {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        padding: 1rem
    }

    >footer {
        padding: .5rem 1rem;
        display: flex;
        gap: 1rem;
        justify-content: space-between;
        align-items: center;
        background-color: inherit
    }
}

form.processing * {
    pointer-events: none;
    opacity: 50%;
    filter: blur(2px)
}

form.processing::before {
    position: absolute;
    top: calc(50% + 1rem);
    left: calc(50% - 2.5rem);
    z-index: 51;
    content: "Processing..."
}

form.processing::after {
    content: "";
    position: absolute;
    top: calc(50% - 3rem);
    left: calc(50% - 1.5rem);
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    border: .25rem solid var(--surface-200);
    border-top-color: var(--primary-500);
    animation: form-processing-spin 1s linear infinite;
    z-index: 52
}

@keyframes form-processing-spin {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}

label {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    color: var(--typography-300);

    &:has(input[type="checkbox"], [type="radio"]) {
        flex-direction: row;
        gap: 1rem
    }

    :has(input[type="password"]+button.toggle-password) input[type="password"],
    label:has(input[type="text"]+button.toggle-password) input[type="text"] {
        padding-right: 4.75rem
    }

    input[type="password"]+button.toggle-password,
    input[type="text"]+button.toggle-password {
        position: absolute;
        right: 0;
        top: 2rem;
        background-color: var(--surface-100);
        border-left: 1px solid var(--surface-300);
        border-start-start-radius: 0;
        border-end-start-radius: 0;

        &:hover {
            background-color: var(--surface-100)
        }
    }

    input~.input-prefix,
    input~.input-suffix {
        position: absolute;
        top: 2.6rem;
        color: var(--typography-200);
        font-size: .875rem;
        line-height: 1.25rem;
        user-select: none;
        white-space: nowrap
    }

    input~.input-prefix {
        left: .75rem
    }

    input~.input-suffix {
        right: .75rem
    }

    .input-label.sr-only~:is(.input-prefix, .input-suffix) {
        top: .6rem
    }

    &:has(>input[type="search"])+button.search {
        margin-left: -2.5rem
    }
}

:is(input, textarea, select, datalist) {
    font: inherit;
    border-radius: .25rem;
    background-color: light-dark(var(--white), oklch(15% .01 var(--brand-hue)));
    padding: .5rem .75rem;
    border: none;

    &:focus-visible {
        outline: 2px solid var(--primary-500)
    }

    &:not(:focus-visible) {
        outline: 1px solid var(--surface-300)
    }
}

:is(input[type='search']) {
    outline-offset: initial
}

input[type="search"] {
    border-radius: 1.25rem;

    &.join-start {
        border-radius: 0 1.25rem 1.25rem 0
    }

    &.join-end {
        border-radius: 1.25rem 0 0 1.25rem
    }

    &.soft {
        color: light-dark(var(--typography-200), var(--typography-100));
        background-color: var(--surface-100);
        outline: none;

        &:focus-visible {
            outline: 2px solid var(--typography-300);
            box-shadow: none
        }
    }
}

input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    width: 1.5rem;
    height: 1.5rem;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M18 6 6 18M6 6l12 12"/></svg>') no-repeat center;
    background-size: contain;
    cursor: pointer
}

.hint {
    color: var(--typography-200);
    font-size: .875rem;
    line-height: 1.25rem
}

.error {
    display: none;
    color: var(--danger-500);
    font-size: .875rem;
    line-height: 1.25rem
}

label:has(input:user-invalid) .error {
    display: inline
}

:user-invalid {
    color: var(--danger-500);
    outline-color: var(--danger-400) !important;
    background-color: var(--danger-100);
    background-position: right .125rem top .125rem;
    background-repeat: no-repeat;
    background-image: var(--inline-error);
    transition-property: none
}

:disabled,
label:has(:disabled) {
    opacity: 50%
}

select {
    appearance: none;
    background-repeat: no-repeat;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="slateGray" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 9l6 6l6 -6" /></svg>');
    background-position: calc(100% - 0.5rem);
    background-size: 1.25rem 1.25rem;
    padding-right: 2rem !important;

    &.join-end {
        border-radius: 1.25rem 0 0 1.25rem;
        border-right: 1px solid var(--surface-300)
    }

    &.soft {
        color: light-dark(var(--typography-200), var(--typography-100));
        background-color: var(--surface-100);
        outline: none
    }
}

select,
::picker(select) {
    appearance: base-select;
    border-radius: .25rem;
    border: none;
    outline: 1px solid var(--surface-300);

    &::picker-icon {
        display: none
    }

    option::checkmark {
        display: none
    }

    option {
        padding: .5rem .75rem;
        color: var(--typography-300);
        background-color: var(--white);
        font-weight: 500;

        &:hover,
        &:focus-visible {
            background-color: var(--surface-100)
        }

        &:checked {
            background-color: var(--primary-100);
            outline: 1px solid var(--primary-200)
        }
    }

    optgroup {
        padding: 0;

        &[label] {
            background-color: var(--surface-100);
            position: sticky
        }
    }
}

::picker(select) {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type="number"] {
    -moz-appearance: textfield
}

textarea {
    resize: none
}

input[type="file"] {
    padding: 0
}

input[type="file"]::file-selector-button {
    border: none;
    margin-right: 1rem;
    padding: .5rem 1rem;
    color: var(--typography-200);
    background-color: var(--surface-100)
}

input[type="color"] {
    padding: 0 .125rem;
    height: 2.5rem;
    max-width: 4.5rem
}

::-webkit-color-swatch {
    border: none;
    border-radius: .125rem
}

::-moz-color-swatch {
    border: none
}

input[type="range"] {
    background-color: var(--surface-200);
    height: .5rem;
    appearance: none;
    border-radius: 9999px;
    border: none;
    outline: none;
    padding: 0;

    &:focus-visible {
        outline: 2px solid var(--primary-500)
    }

    &::-webkit-slider-thumb {
        scale: 1.25
    }
}

progress {
    width: 100%
}

progress:indeterminate {
    border: revert
}

progress::-webkit-progress-bar {
    height: .5rem;
    background-color: var(--surface-300);
    border-radius: 9999px
}

progress::-webkit-progress-value {
    background-color: var(--primary-500);
    border-radius: 9999px
}

progress::-moz-progress-bar {
    background-color: var(--primary-500);
    border-radius: 9999px
}

meter::-webkit-meter-bar {
    border-radius: 1rem;
    background-color: var(--surface-300);
    box-shadow: 0 .5rem 1rem var(--surface-300) inset
}

meter::-webkit-meter-optimum-value {
    background: var(--success-500)
}

meter::-webkit-meter-suboptimum-value {
    background: var(--warning-500)
}

meter::-webkit-meter-even-less-good-value {
    background: var(--danger-500)
}

meter:-moz-meter-optimum::-moz-meter-bar {
    background: var(--success-500)
}

meter:-moz-meter-sub-optimum::-moz-meter-bar {
    background: var(--warning-500)
}

meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
    background: var(--danger-500)
}

:is(input[type="checkbox"], input[type="radio"]) {
    font: inherit;
    position: relative;
    padding: 0;
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    appearance: none;

    &:checked {
        outline: 1px solid var(--primary-500)
    }

    &:checked::after {
        transition: all 0.3s ease
    }

    &:checked:focus-visible {
        outline: 2px solid var(--primary-500)
    }
}

input[type="checkbox"]:not(.switch):checked {
    background-color: var(--primary-500);
    background-image: var(--checkmark);
    border-radius: .25rem
}

input[type="checkbox"]:not(.switch):indeterminate {
    background-color: var(--primary-500);
    background-image: var(--indeterminate-checkmark);
    outline: 1px solid var(--primary-500)
}

input[type="checkbox"].switch {
    box-sizing: content-box;
    width: 2.5rem;
    border-radius: 9999px;

    &::after {
        content: "";
        position: absolute;
        top: .125rem;
        left: .125rem;
        height: 1.25rem;
        width: 1.25rem;
        border-radius: 9999px;
        overflow: clip;
        background-color: var(--surface-400);
        transition: all 0.3s ease
    }

    &::before {
        content: '';
        width: 1.5rem;
        height: 1.5rem;
        scale: .5;
        position: absolute;
        z-index: 1;
        background-color: var(--white);
        mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="4" stroke="%232c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M18 6 6 18M6 6l12 12"/></svg>');
        mask-size: cover
    }

    &:checked {
        box-shadow: none;
        background-color: var(--primary-500);

        &::before {
            content: '';
            width: 1.5rem;
            height: 1.5rem;
            scale: .5;
            position: absolute;
            left: 1rem;
            z-index: 1;
            background-color: var(--primary-500);
            mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="4" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="m5 12 5 5L20 7" stroke="white"/></svg>');
            mask-size: cover
        }

        &::after {
            left: -.125rem;
            background-color: var(--white);
            transform: translateX(100%);
            transition-timing-function: cubic-bezier(.4, 0, .2, 1)
        }
    }
}

label:has(input[type="checkbox"].switch.flip) {
    flex-direction: row-reverse;
    justify-content: space-between
}

input[type="radio"] {
    border-radius: 9999px;

    &::after {
        content: "";
        transform: scale(0)
    }

    &:checked::after {
        position: absolute;
        top: .25rem;
        left: .25rem;
        height: 1rem;
        width: 1rem;
        border-radius: 9999px;
        transform: scale(.9);
        background-color: var(--primary-500)
    }
}

fieldset {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    border-width: 0;

    >legend {
        margin-bottom: .5rem
    }

    .error {
        font-size: .875rem;
        line-height: 1.25rem;
        color: light-dark(var(--danger-500), var(--danger-500))
    }

    :user-invalid~.error {
        display: inline
    }

    &.split-gap-x {
        gap: .5rem;
        flex-direction: row;
        flex-wrap: wrap;

        label {
            flex: 1;
            min-width: max-content;
            border-radius: .375rem;
            padding: 1rem;
            box-shadow: inset 0 0 0 1px var(--surface-200)
        }
    }

    &.split-gap-y {
        gap: .5rem;

        label {
            flex: 1;
            min-width: max-content;
            border-radius: .375rem;
            padding: 1rem;
            box-shadow: inset 0 0 0 1px var(--surface-200)
        }
    }

    &.group-x {
        gap: 0;
        flex-direction: row;
        flex-wrap: wrap;
        border-radius: .375rem;
        padding: .25rem;
        box-shadow: inset 0 0 0 1px var(--surface-200);

        legend.legend-label {
            padding: 0 .25rem;
            background-color: var(--white)
        }

        label {
            flex: 1;
            min-width: max-content;
            border-radius: .375rem;
            padding: .75rem 1rem
        }
    }

    &.group-y {
        gap: 0;
        border-radius: .375rem;
        padding: .25rem;
        box-shadow: inset 0 0 0 1px var(--surface-200);

        legend.legend-label {
            padding: 0 .25rem;
            background-color: var(--white)
        }

        label {
            flex: 1;
            min-width: max-content;
            border-radius: .375rem;
            padding: .75rem 1rem
        }
    }

    &.pill {
        flex-direction: row;
        gap: 0;

        label {
            display: flex;
            align-items: center;
            padding: .5rem 1rem;

            &:first-of-type {
                border-radius: 9999px 0 0 9999px;
                box-shadow: inset 1px 0 0 0 var(--surface-200), inset 0 1px 0 0 var(--surface-200), inset 0 -1px 0 0 var(--surface-200)
            }

            &:last-of-type {
                border-radius: 0 9999px 9999px 0;
                box-shadow: inset -1px 0 0 0 var(--surface-200), inset 0 1px 0 0 var(--surface-200), inset 0 -1px 0 0 var(--surface-200)
            }

            &:not(:first-of-type):not(:last-of-type) {
                box-shadow: inset 0 1px 0 0 var(--surface-200), inset 0 -1px 0 0 var(--surface-200)
            }

            &:has(input:focus-visible) {
                outline: 2px solid var(--primary-500)
            }

            input {
                position: absolute;
                opacity: 0
            }
        }
    }

    &.split-gap-x label:has(input[type="checkbox"]:checked, input[type="radio"]:checked),
    &.split-gap-y label:has(input[type="checkbox"]:checked, input[type="radio"]:checked),
    &.pill label:has(input[type="checkbox"]:checked, input[type="radio"]:checked),
    &.group-x label:has(input[type="checkbox"]:checked, input[type="radio"]:checked),
    &.group-y label:has(input[type="checkbox"]:checked, input[type="radio"]:checked) {
        background-color: var(--primary-100);
        transition: all 0.3s ease
    }

    &.split-gap-x label:has(input[type="checkbox"]:checked, input[type="radio"]:checked),
    &.split-gap-y label:has(input[type="checkbox"]:checked, input[type="radio"]:checked),
    &.pill label:has(input[type="checkbox"]:checked, input[type="radio"]:checked) {
        box-shadow: inset 0 0 0 1px var(--primary-500)
    }

    &.filter-chips {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;

        label {
            padding: .25rem .75rem;
            border-radius: 2rem;
            max-width: fit-content;
            outline: 1px solid var(--surface-200);

            &:has(input[type="checkbox"]) {
                gap: 0
            }

            input[type="checkbox"] {
                opacity: 0;
                height: 0;
                width: 0;
                transition: all 150ms cubic-bezier(.4, 0, .2, 1);

                &:checked {
                    opacity: 1;
                    height: 1.5rem;
                    width: 1.5rem;
                    outline: none;
                    margin-left: -.5rem;
                    margin-right: .5rem;
                    border-radius: 2rem
                }
            }

            &:has(input[type="checkbox"]:checked) {
                background-color: var(--primary-100);
                outline: 1px solid var(--primary-200)
            }
        }
    }
}

.tabs-container {
    [role="tablist"].tabs {
        display: flex;
        color: var(--typography-200);
        background-color: #fff0;
        overflow-x: auto;
        box-shadow: 0 1px 0 0 var(--surface-200);

        [role="tab"].btn {
            border-radius: 0;
            white-space: nowrap;
            width: 100%;

            &:hover,
            &:focus-visible {
                background-color: var(--white);
                color: var(--typography-300);
                transition: all 0.3s ease
            }

            &.active {
                color: var(--primary-500);
                background-color: light-dark(var(--white), transparent);
                font-weight: 600;
                box-shadow: inset 0 -.125rem 0 0 var(--primary-500);

                &:hover,
                &:focus-visible {
                    background-color: light-dark(var(--white), transparent)
                }
            }
        }
    }

    [role="tablist"].tabs.pills {
        padding: .125rem;
        border-radius: 9999px;
        background-color: var(--surface-100);
        box-shadow: none;

        [role="tab"].btn {
            border-radius: 9999px;

            &:hover,
            &:focus-visible {
                color: var(--typography-300)
            }

            &.active {
                color: var(--typography-300);
                box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1)
            }
        }
    }
}

.input-label {
    color: var(--typography-300)
}

.legend-label {
    color: var(--typography-300)
}

.required::before {
    content: '*';
    color: light-dark(var(--danger-500), var(--danger-500));
    font-weight: 700;
    font-size: .875rem;
    line-height: 1.25rem;
    margin-right: .25rem
}

.static-label {
    color: var(--typography-100);
    margin-bottom: .25rem;
    font-size: .875rem;
    line-height: 1.25rem
}

.category-label {
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 600;
    color: var(--typography-200);
    font-size: .875rem;
    line-height: 1.25rem
}

.uppercase {
    text-transform: uppercase
}

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.breadcrumbs {
    font-size: .875rem;
    line-height: 1.25rem;
    white-space: nowrap;

    ol {
        display: flex;

        li {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            min-width: 1rem;

            &:not(:last-child):after {
                display: inline;
                color: var(--surface-400);
                content: '>';
                margin: 0 .25rem
            }
        }
    }
}

.active {
    background-color: var(--primary-100);
    color: var(--primary-500);
    font-weight: 600
}

.slide-in {
    transform: translateY(0);
    opacity: 1
}

.slide-out {
    transform: translateX(-100%);
    opacity: 0
}

table {
    width: 100%;
    text-align: left;
    background-color: var(--white)
}

table :where(thead, tfoot) {
    font-weight: 600
}

table :where(thead tr th, thead tr td) {
    background-color: var(--surface-50)
}

table :where(tfoot tr th, tfoot tr td) {
    background-color: var(--white)
}

table.zebra-stripe tbody tr:nth-child(2n) td {
    background-color: var(--surface-50)
}

table :where(thead, tbody) :where(tr:not(:last-child)),
table :where(thead, tbody) :where(tr:first-child:last-child) {
    border-color: var(--surface-100);
    border-bottom-width: 1px;
    border-bottom-style: solid
}

table.borderless :where(thead, tbody) :where(tr:not(:last-child)),
table.borderless :where(thead, tbody) :where(tr:first-child:last-child) {
    border-style: none
}

table :where(th, td) {
    padding: .5rem .75rem;
    vertical-align: top;
    white-space: nowrap;

    span,
    p {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }
}

table.compact :where(th, td) {
    padding: .25rem .5rem
}

table thead :where(.pin-cols tr th:first-child) {
    z-index: 2
}

table :where(.pin-rows thead tr) {
    position: sticky;
    top: 0;
    z-index: 3
}

table :where(.pin-rows tfoot tr) {
    position: sticky;
    bottom: 0;
    z-index: 1
}

table :where(.pin-cols tr th:first-child, .pin-cols tr th:last-child, .pin-cols tr td:first-child, .pin-cols tr td:last-child) {
    position: sticky;
    right: 0;
    left: 0;
    background-color: var(--white)
}

table.hover-rows tbody tr:hover td {
    background-color: var(--surface-50)
}

table :where(.pin-rows tr th) {
    background-color: var(--surface-50);
    position: sticky;
    top: 0;
    z-index: 1
}

table tr td:has(button.tooltip:hover, button.tooltip:focus-visible) {
    z-index: 1
}

[popover] {
    border: 0;
    color: inherit
}

[popover].appdrawer.left {
    transform: translateX(-100%);
    transition: transform 150ms cubic-bezier(.55, 0, 1, .45), overlay 150ms allow-discrete, display 150ms allow-discrete
}

[popover].appdrawer.left:popover-open {
    transform: translateX(0);

    @starting-style {
        transform: translateX(-100%)
    }
}

[popovertarget] {
    anchor-name: var(--anchor-name)
}

[popover].contextmenu {
    position-anchor: var(--anchor-name);
    inset: unset;
    margin: 0;
    overflow: auto;
    top: anchor(bottom);
    left: anchor(left);
    position-try-fallbacks: --align-right, flip-block, flip-inline, flip-block flip-inline;
    position-try-order: most-width most-height;
    place-self: anchor-center;
    max-block-size: 100%;
    padding: .5rem;
    outline: 1px solid oklch(calc(var(--l-200) * 1.02) calc(var(--c-100) * 0.1) var(--brand-hue));
    border-radius: 1rem;
    background-color: light-dark(var(--white), var(--surface-50));
    box-shadow: 0 10px 15px -3px light-dark(oklch(0 .1 var(--brand-hue) / .1), oklch(0 .1 var(--brand-hue) / .25));

    .btn {
        width: 100%;
        text-align: left;

        &.small {
            color: var(--typography-200)
        }

        &.small,
        &.icon-only {
            width: unset
        }

        &:hover {
            background-color: light-dark(var(--surface-100), oklch(calc(var(--l-200) * 0.9) calc(var(--c-300) * 0.2) var(--brand-hue)))
        }
    }

    hr {
        margin: .25rem 0;
        opacity: 30%
    }

    header.header-base {
        flex-wrap: unset;
        padding: .25rem 0rem .25rem .5rem;

        :where(h1, h2) {
            color: var(--typography-300);
            font-size: 1.125rem;
            line-height: 1.75rem;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap
        }
    }
}

@position-try --align-right {
    left: auto;
    right: anchor(right)
}

@media (max-width:640px) {
    [popover].contextmenu {
        position-anchor: unset;
        top: unset;
        justify-self: unset;
        position-try-fallbacks: unset;
        position-try-order: unset;
        place-self: unset;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0;
        width: 100%;
        max-width: 100%;
        max-height: 85dvh;
        border-radius: 1rem 1rem 0 0;
        overflow-y: auto;
        transform: translateY(100%);
        opacity: 0;
        transition: transform 0.25s cubic-bezier(.32, .72, 0, 1), opacity 0.25s ease, overlay 0.25s allow-discrete, display 0.25s allow-discrete;

        &::backdrop {
            opacity: 0;
            background: light-dark(rgba(0 0 0 / .2), rgba(0 0 0 / .5));
            transition: opacity 0.25s ease, overlay 0.25s allow-discrete, display 0.25s allow-discrete
        }
    }

    [popover].contextmenu:popover-open {
        transform: translateY(0);
        opacity: 1
    }

    [popover].contextmenu:popover-open::backdrop {
        opacity: 1
    }

    @starting-style {
        [popover].contextmenu:popover-open {
            transform: translateY(100%);
            opacity: 0
        }

        [popover].contextmenu:popover-open::backdrop {
            opacity: 0
        }
    }

    body:has([popover].contextmenu:popover-open)::after {
        content: '';
        position: fixed;
        inset: 0;
        z-index: 9999;
        background: rgb(0 0 0 / .01)
    }
}

:popover-open.popover-full-screen {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%
}

dialog::backdrop {
    background: #fff0;
    transition: background 320ms cubic-bezier(.16, 1, .3, 1), display 320ms allow-discrete, overlay 320ms allow-discrete
}

dialog:is([open], :popover-open)::backdrop {
    background: light-dark(oklch(4% .1 var(--brand-hue) / .15), oklch(4% .1 var(--brand-hue) / .25));

    @starting-style {
        background: #fff0
    }
}

body:has(dialog[open]) {
    overflow: hidden
}

dialog {
    color: var(--typography-300, inherit);
    background-color: var(--main-bg);

    header {
        display: flex;
        position: sticky;
        top: 0;
        z-index: 10;
        padding: .5rem 1rem;
        gap: 1rem;
        justify-content: space-between;
        align-items: center;
        background-color: inherit;

        >h1,
        >h2 {
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--typography-300);
            flex: 1
        }
    }

    section {
        padding: 1rem;
        overflow-y: auto
    }

    footer {
        padding: .5rem 1rem;
        display: flex;
        position: sticky;
        bottom: 0;
        z-index: 10;
        gap: 1rem;
        justify-content: space-between;
        align-items: center;
        background-color: inherit
    }
}

dialog.center {
    inset: 0;
    margin: auto;
    border-radius: 1rem;
    box-shadow: 0 1px 3px rgb(0 0 0 / .1), 0 1px 2px rgb(0 0 0 / .06);
    opacity: 0;
    transform: translateY(-.5rem) scale(.96);
    will-change: transform, opacity;
    backface-visibility: hidden;
    transition: transform 320ms cubic-bezier(.16, 1, .3, 1), opacity 320ms ease, overlay 320ms allow-discrete, display 320ms allow-discrete;

    &:is([open], :popover-open) {
        opacity: 1;
        transform: translateY(0) scale(1);

        @starting-style {
            opacity: 0;
            transform: translateY(-.5rem) scale(.96)
        }
    }
}

dialog:is(.left, .right) {
    width: 100%;
    min-height: 100dvh;
    border: none;
    outline: 1px solid light-dark(var(--surface-200), var(--surface-200));
    opacity: 0;
    will-change: transform, opacity;
    backface-visibility: hidden;
    transition: transform 240ms cubic-bezier(.16, 1, .3, 1), opacity 240ms ease, overlay 240ms allow-discrete, display 240ms allow-discrete;

    form {
        flex: 1
    }

    footer {
        margin-top: auto
    }

    &:is([open], :popover-open) {
        display: flex;
        flex-direction: column;
        height: 100%;
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

dialog.right {
    margin-inline-start: auto;
    border-radius: 1rem 0 0 1rem;
    transform: translate3d(100%, 0, 0);

    &:is([open], :popover-open) {
        @starting-style {
            opacity: 0;
            transform: translate3d(100%, 0, 0)
        }
    }
}

dialog.left {
    margin-inline-end: auto;
    border-radius: 0 1rem 1rem 0;
    transform: translate3d(-100%, 0, 0);

    &:is([open], :popover-open) {
        @starting-style {
            opacity: 0;
            transform: translate3d(-100%, 0, 0)
        }
    }
}

dialog::backdrop {
    background: #fff0;
    transition: background 360ms cubic-bezier(.16, 1, .3, 1), overlay 360ms allow-discrete, display 360ms allow-discrete;

    dialog:is([open], :popover-open)::backdrop & {
        background: light-dark(oklch(4% .1 var(--brand-hue) / .15), oklch(4% .1 var(--brand-hue) / .25));

        @starting-style {
            background: #fff0
        }
    }
}

dialog#dialog-commands {
    border-radius: 1rem;
    height: 100%;
    max-height: 48ch;
    outline: 1px solid light-dark(var(--surface-300), var(--surface-100));

    >header {
        border-bottom: 1px solid light-dark(var(--surface-100), var(--surface-100));

        input[type="search"] {
            background-color: #fff0;

            &:focus-visible {
                outline: none
            }
        }
    }
}

details {
    width: 100%;
    interpolate-size: allow-keywords
}

details::details-content {
    height: 0;
    overflow: clip;
    transition: height 300ms ease, content-visibility 300ms allow-discrete
}

details:open {
    background-color: light-dark(var(--white), oklch(calc(var(--l-100) - 0.08) .004 var(--brand-hue)))
}

details[open]::details-content {
    height: auto
}

summary::-webkit-details-marker {
    display: none
}

details>summary {
    display: flex;
    cursor: pointer;
    list-style-type: none;
    gap: .25rem;

    &:hover {
        background-color: var(--surface-100)
    }

    >* {
        display: inline
    }

    &::before {
        display: inline-block;
        height: 1.5rem;
        width: 1.5rem;
        transform-origin: center;
        rotate: calc(90deg * -1);
        transition: all 0.3s ease;
        content: var(--chevron-down)
    }

    &.marker-right::before {
        content: none
    }

    &.marker-right::after {
        margin-left: auto;
        display: inline-block;
        height: 1.5rem;
        width: 1.5rem;
        transform-origin: center;
        transition: all 0.3s ease;
        content: var(--chevron-down)
    }

    &.marker-none::before {
        content: none
    }
}

details[open]>summary::before {
    rotate: 0deg
}

details[open]>summary.marker-right::after {
    rotate: 180deg
}

.skip-links {
    position: absolute;
    z-index: 50;
    transform: translateY(-100%);

    &:focus-visible,
    &:active {
        transform: translateY(0);
        border-radius: .25rem;
        background-color: var(--white);
        padding: .5rem 1rem;
        box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)
    }
}

.app-body {
    display: flex;
    flex-direction: column;
    height: 100dvh
}

.app-body.settings {
    .appdrawer.left {
        position: absolute;
        left: 0;
        height: calc(100dvh - 4rem);

        ol {
            border-radius: .5rem;
            margin-inline-start: 1rem;
            margin-inline-end: 1rem
        }
    }

    nav.appbar.inner {
        margin-bottom: 1rem
    }

    @container (width>=48rem) {
        .appdrawer.left {
            top: 4rem
        }

        main {
            margin-left: 24rem
        }
    }

    @container (width>=72rem) {
        main {
            padding: 0 4rem
        }
    }
}

nav a[aria-current="page"] {
    color: var(--primary-500);
    background-color: var(--primary-100);
    font-weight: 600
}

nav.appbar {
    position: sticky;
    top: var(--spacing-0, 0);
    z-index: 45;
    order: calc(-infinity);
    display: flex;
    height: 4rem;
    width: 100%;
    flex-shrink: 0;
    align-items: center;
    gap: 1rem;
    background-color: var(--white);
    border-bottom: 1px solid var(--surface-100);

    @media print {
        display: none
    }

    h1 {
        font-size: 1.25rem;
        font-weight: 600;
        color: var(--typography-300);
        flex: 1
    }

    &.inner {
        padding-left: 1rem;
        padding-right: 1rem
    }

    &.outer {
        order: calc(infinity);
        bottom: var(--spacing-0, 0);
        gap: var(--spacing-0, 0);
        padding: 0;
        border-bottom: 0;
        border-top: 1px solid var(--surface-100);

        @media (width>=48rem) {
            order: calc(-infinity);
            top: var(--spacing-0, 0);
            border-bottom: 1px solid var(--surface-100)
        }

        .btn p {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1
        }

        .btn .user-initials-avatar+p {
            display: none
        }

        li:has(.btn .user-initials-avatar) {
            margin-inline-start: auto
        }
    }

    ol {
        display: flex;
        flex: 1;
        align-items: center;

        li {
            flex-grow: 1;

            @media (width>=48rem) {
                flex-grow: 0
            }

            >* {
                width: 100%;

                @media (width>=48rem) {
                    width: auto
                }
            }
        }
    }

    li:has(.logo-container) {
        display: none;

        @media (width>=48rem) {
            display: flex
        }
    }

    .logo-container {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 1rem
    }

    .logo {
        height: 2rem;
        max-width: var(--width-xs, 20rem);
        align-self: center
    }

    .product-name {
        display: none;

        @media (width>=48rem) {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
            text-wrap: nowrap
        }
    }

    .username {
        max-width: 12ch;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }
}

header.appheader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 1rem 1rem;
    gap: 1rem;
    position: sticky;
    top: 0;
    background-color: var(--main-bg);
    z-index: 10;

    h1,
    h2 {
        flex-grow: 1;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1
    }
}

footer.appfooter {
    display: flex;
    gap: 1rem;
    padding: .5rem 1rem;
    position: sticky;
    bottom: 0;
    border-top-style: solid;
    border-top-width: 1px;
    border-color: var(--surface-100);
    background-color: var(--main-bg);
    z-index: 10
}

.user-initials-avatar {
    object-fit: cover;
    background-color: var(--primary-100);
    display: flex;
    height: 3rem;
    width: 3rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 9999px
}

.user-initials {
    font-size: 1.125rem;
    line-height: 1.75rem;
    color: var(--primary-500);
    font-weight: 600;
    letter-spacing: .025em
}

.user-fullname {
    font-weight: 600;
    overflow-wrap: anywhere
}

.user-email {
    color: var(--typography-100);
    font-size: .875rem;
    line-height: 1.25rem;
    overflow-wrap: anywhere
}

.app-version-number {
    color: var(--typography-100);
    font-size: .875rem;
    line-height: 1.25rem;
    padding: .25rem 1rem
}

:is(.appbar, dialog header) h1 {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.appdrawer {
    padding: .25rem;
    height: 100%;
    background-color: var(--white);
    flex-shrink: 0;
    overflow-y: auto;
    z-index: 40;
    contain: layout style;

    &.left {
        width: 100%;

        @media (width>=48rem) {
            max-width: 24rem;
            border-right: 1px solid var(--surface-100)
        }

        .logo-container {
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
            gap: 1rem;

            @media (width>=48rem) {
                display: none
            }
        }

        li:has(.logo-container) {
            margin-inline-start: auto
        }

        ol.close-and-logo {
            display: flex;
            align-items: center;
            position: sticky;
            bottom: 0;
            background-color: inherit;
            z-index: 10;
            padding-inline-end: 1rem;
            order: calc(infinity);

            @media (width>=48rem) {
                top: 0;
                order: calc(-infinity)
            }
        }

        ol.nav-items {
            padding: 0 .25rem;
            overflow-y: auto;
            flex-grow: 1
        }
    }
}

.tooltip[aria-label]::after {
    visibility: hidden
}

.tooltip[aria-label]:hover::after,
.tooltip[aria-label]:focus-visible::after {
    content: attr(aria-label);
    visibility: visible;
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-50%, .25rem);
    border-radius: .2rem;
    color: var(--white);
    background-color: var(--typography-200);
    padding: .25rem .5rem;
    text-align: center;
    font-size: .75rem;
    line-height: 1rem;
    z-index: 2
}

.badge {
    display: flex;
    width: fit-content;
    height: fit-content;
    align-items: center;
    white-space: nowrap;
    border-radius: 1rem;
    padding: 0rem .5rem;
    font-size: .875rem;
    font-weight: 600;
    color: var(--typography-200);

    &.solid {
        color: var(--surface-100);
        background-color: var(--surface-500)
    }

    &.soft {
        background-color: var(--surface-100)
    }

    &.bordered {
        box-shadow: 0 0 0 1px var(--surface-300)
    }

    &.primary {
        color: oklch(from var(--primary-500) calc(l - 0.05) c h);

        &.soft {
            background-color: var(--primary-100)
        }

        &.bordered {
            box-shadow: 0 0 0 1px var(--primary-300)
        }

        &.solid {
            color: var(--primary-100);
            background-color: var(--primary-500)
        }
    }

    &.red {
        color: var(--danger-500);

        &.soft {
            background-color: var(--danger-100)
        }

        &.bordered {
            box-shadow: 0 0 0 1px var(--danger-300)
        }

        &.solid {
            color: var(--danger-100);
            background-color: var(--danger-500)
        }
    }

    &.green {
        color: var(--success-500);

        &.soft {
            background-color: var(--success-100)
        }

        &.bordered {
            box-shadow: 0 0 0 1px var(--success-300)
        }

        &.solid {
            color: var(--success-100);
            background-color: var(--success-500)
        }
    }

    &.blue {
        color: var(--info-500);

        &.soft {
            background-color: var(--info-100)
        }

        &.bordered {
            box-shadow: 0 0 0 1px var(--info-300)
        }

        &.solid {
            color: var(--info-100);
            background-color: var(--info-500)
        }
    }

    &.orange {
        color: var(--warning-500);

        &.soft {
            background-color: var(--warning-100)
        }

        &.bordered {
            box-shadow: 0 0 0 1px var(--warning-300)
        }

        &.solid {
            color: var(--warning-100);
            background-color: var(--warning-500)
        }
    }

    &.counter {
        font-variant-numeric: tabular-nums;
        position: absolute;
        top: 0;
        right: 0;
        padding: .25rem;
        line-height: .6rem;
        outline: 2px solid var(--white)
    }
}

.callout {
    border-radius: 1rem;
    padding: 1rem;

    &.info {
        &.soft {
            color: var(--info-500);
            background-color: var(--info-100)
        }

        &.solid {
            color: var(--info-100);
            background-color: var(--info-500)
        }
    }

    &.success {
        &.soft {
            color: var(--success-500);
            background-color: var(--success-100)
        }

        &.solid {
            color: var(--success-100);
            background-color: var(--success-500)
        }
    }

    &.warning {
        &.soft {
            color: var(--warning-500);
            background-color: var(--warning-100)
        }

        &.solid {
            color: var(--warning-100);
            background-color: var(--warning-500)
        }
    }

    &.danger {
        &.soft {
            color: var(--danger-500);
            background-color: var(--danger-100)
        }

        &.solid {
            color: var(--danger-100);
            background-color: var(--danger-500)
        }
    }

    &:has(header+section) {
        display: flex;
        flex-direction: column;
        gap: .5rem
    }

    &:has(header+section+footer) {
        display: flex;
        flex-direction: column;
        gap: 1rem
    }

    header {
        display: flex;
        align-items: center;
        gap: 1rem
    }

    footer {
        display: flex;
        align-items: center;
        gap: 1rem
    }

    h1 {
        font-size: 1.125rem;
        line-height: 1.75rem;
        font-weight: 700;
        color: inherit
    }

    p,
    span {
        color: inherit
    }
}

.notification-stack {
    inset: unset;
    bottom: 0;
    right: 0;
    background: #fff0;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: 32rem;

    .callout {
        box-shadow: 0 1px 2px -1px rgb(0 0 0 / .25), 0 1px 2px -1px rgb(0 0 0 / .25);
        transform: translateX(0rem);
        transition: all 0.3s ease;

        @starting-style {
            transform: translateX(2rem)
        }
    }

    &:empty {
        display: none
    }
}

[dir="rtl"] .notification-stack {
    left: 0;
    right: unset
}

.notification {
    box-shadow: 0 1px 2px -1px rgb(0 0 0 / .25), 0 1px 2px -1px rgb(0 0 0 / .25)
}

.divide-y-axis {
    >:not(first-child) {
        border-bottom: 1px solid oklch(70% .01 var(--brand-hue) / .2)
    }

    >:last-child {
        border-bottom: none
    }
}

.border-1-solid {
    border-width: 1px;
    border-style: solid
}

.border-t {
    border-top-width: 1px;
    border-style: solid
}

.border-b {
    border-bottom-width: 1px;
    border-style: solid
}

.border-r {
    border-right-width: 1px;
    border-style: solid
}

.border-l {
    border-left-width: 1px;
    border-style: solid
}

.border-s,
.border-s-1 {
    border: 0;
    border-inline-start-width: 1px;
    border-style: solid
}

.border-surface-100 {
    border-color: var(--surface-100)
}

.border-surface-200 {
    border-color: var(--surface-200)
}

.border-surface-300 {
    border-color: var(--surface-300)
}

.border-surface-400 {
    border-color: var(--surface-400)
}

.border-surface-500 {
    border-color: var(--surface-500)
}

.card-base {
    border-radius: 1rem;
    background-color: light-dark(var(--white), var(--surface-50));
    box-shadow: 0 0 0 1px light-dark(var(--surface-200), oklch(var(--l-200) calc(var(--c-100) * 0.5) var(--brand-hue) / .85))
}

@media (max-width:640px) {
    ol.divide-y-axis.card-base {
        box-shadow: none;
        border-radius: 0
    }
}

.header-base {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 1rem 1rem;
    gap: 1rem;

    &.px-0 {
        padding: 1rem 0 1rem 0
    }

    &.p-0 {
        padding: 0
    }
}

.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem;
    position: relative
}

.empty-state::before {
    content: "";
    display: flex;
    flex-direction: column;
    align-items: center;
    background-image: url('data:image/svg+xml,<svg width="196" height="187"  fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0)"><path d="M118.632 10.492L16.518 32.449l30.273 141.394 102.114-21.958-30.273-141.393z" fill="%23E0E0E0"/><path opacity=".5" d="M117.42 13.254L18.757 34.468l29.25 136.614 98.662-21.215L117.42 13.254z" fill="url(%23paint0_linear)"/><path d="M116.378 14.529L20.227 35.204 48.83 168.8l96.151-20.675-28.603-133.596z" fill="%23FAFAFA"/><path d="M91.038 13.92l-47.7 10.256 2.48 11.58 47.7-10.257-2.48-11.58z" fill="url(%23paint1_linear)"/><path d="M64.765 7.738c-3.682.793-6.013 4.498-5.202 8.275.81 3.776 4.45 6.2 8.125 5.407 3.675-.792 6.013-4.497 5.203-8.274-.81-3.777-4.443-6.2-8.126-5.408zm2.311 10.801a4.02 4.02 0 01-4.209-1.574 4.043 4.043 0 011.637-6.043 4.021 4.021 0 014.425.774 4.04 4.04 0 011.149 2.053 4 4 0 01-1.579 4.155c-.428.303-.911.52-1.423.635z" fill="url(%23paint2_linear)"/><path d="M90.43 13.531l-46.695 10.04 2.37 11.07L92.799 24.6l-2.37-11.07z" fill="%230398D8"/><path d="M64.766 7.738a6.67 6.67 0 00-3.39 1.882 6.694 6.694 0 00-1.337 7.31 6.685 6.685 0 002.503 2.965 6.664 6.664 0 007.415-.111 6.686 6.686 0 002.414-3.039 6.703 6.703 0 00-.711-6.266 6.681 6.681 0 00-4.29-2.78 6.661 6.661 0 00-2.604.04zm2.208 10.322a3.845 3.845 0 01-3.98-1.582 3.866 3.866 0 011.644-5.737 3.845 3.845 0 014.21.774 3.863 3.863 0 01.552 4.867 3.852 3.852 0 01-2.426 1.678z" fill="%230398D8"/><path d="M166.068 28H61.63V172.61h104.438V27.999z" fill="%23E0E0E0"/><path opacity=".5" d="M164.304 30.444H63.396v139.724h100.908V30.444z" fill="url(%23paint3_linear)"/><path d="M163.019 31.474h-98.34v136.637h98.34V31.474z" fill="%23fff"/><path d="M138.37 25.55H89.585v11.842h48.785V25.55z" fill="url(%23paint4_linear)"/><path d="M113.978 13.989c-3.766 0-6.82 3.132-6.82 6.998 0 3.865 3.054 6.998 6.82 6.998 3.766 0 6.821-3.133 6.821-6.998 0-3.866-3.055-6.998-6.821-6.998zm0 11.036a4.023 4.023 0 01-3.79-2.425 4.047 4.047 0 01.812-4.433 4.025 4.025 0 016.225.567c.448.666.687 1.45.687 2.253a3.998 3.998 0 01-1.139 2.823 3.977 3.977 0 01-2.795 1.196v.019z" fill="url(%23paint5_linear)"/><path d="M137.857 25.041H90.099v11.321h47.758v-11.32z" fill="%230398D8"/><path d="M113.978 13.989c-1.32 0-2.611.392-3.708 1.127a6.684 6.684 0 00-2.459 3.002 6.701 6.701 0 001.447 7.29 6.66 6.66 0 007.274 1.45 6.68 6.68 0 002.996-2.464 6.703 6.703 0 00-.83-8.446 6.669 6.669 0 00-4.72-1.96zm0 10.55a3.848 3.848 0 01-3.555-2.385 3.873 3.873 0 01.834-4.204 3.848 3.848 0 015.924.576c.425.634.652 1.38.654 2.142a3.863 3.863 0 01-2.382 3.566 3.844 3.844 0 01-1.475.292v.012z" fill="%230398D8"/><g opacity=".5" fill="%2347E6B1"><path opacity=".5" d="M4.548 176.52h-.899v5.108h.899v-5.108z"/><path opacity=".5" d="M6.648 179.525v-.9H1.551v.9h5.097z"/></g><g opacity=".5" fill="%2347E6B1"><path opacity=".5" d="M108.795 0h-.899v5.108h.899V0z"/><path opacity=".5" d="M110.895 3.003v-.9h-5.097v.9h5.097z"/></g><path opacity=".5" d="M184.271 185.024a1.102 1.102 0 01-.614-1.334.642.642 0 00.024-.122.553.553 0 00-.992-.366.497.497 0 00-.062.107 1.102 1.102 0 01-1.332.616.5.5 0 00-.121-.024.555.555 0 00-.552.361.55.55 0 00.186.633.481.481 0 00.108.062 1.104 1.104 0 01.614 1.334.517.517 0 00-.024.122.553.553 0 00.992.367.643.643 0 00.062-.108 1.1 1.1 0 011.331-.616c.039.013.08.021.122.024a.552.552 0 00.365-.994.542.542 0 00-.107-.062z" fill="%234D8AF0"/><path opacity=".5" d="M32.661 135.913a1.103 1.103 0 01-.614-1.334.522.522 0 00.024-.122.555.555 0 00-.36-.552.555.555 0 00-.632.186.524.524 0 00-.062.107 1.1 1.1 0 01-1.331.616.508.508 0 00-.122-.024.552.552 0 00-.366.994c.034.025.07.046.108.062a1.103 1.103 0 01.614 1.334.538.538 0 00.065.458.55.55 0 00.903.031.56.56 0 00.062-.108c.108-.248.303-.448.549-.562.245-.113.524-.132.782-.054a.545.545 0 00.457-.065.553.553 0 00.03-.905.606.606 0 00-.107-.062zM158.939 16.329a1.104 1.104 0 01-.614-1.334.51.51 0 00.024-.122.554.554 0 00-.706-.564.555.555 0 00-.286.197.607.607 0 00-.062.108 1.104 1.104 0 01-1.331.615.517.517 0 00-.122-.023.551.551 0 00-.563.708.556.556 0 00.198.285.525.525 0 00.107.063 1.102 1.102 0 01.614 1.334.63.63 0 00-.024.122.551.551 0 00.992.366.508.508 0 00.062-.107 1.105 1.105 0 011.332-.616.519.519 0 00.457-.065.554.554 0 00.03-.905.502.502 0 00-.108-.062z" fill="%23FDD835"/><path opacity=".5" d="M194.203 77.117c.994 0 1.8-.807 1.8-1.803 0-.996-.806-1.803-1.8-1.803a1.8 1.8 0 00-1.799 1.803 1.8 1.8 0 001.799 1.803zM55.14 180.622c.993 0 1.799-.807 1.799-1.803 0-.996-.806-1.804-1.8-1.804s-1.8.808-1.8 1.804.806 1.803 1.8 1.803zM175.723 116.098c.994 0 1.799-.808 1.799-1.804a1.8 1.8 0 10-3.599 0c0 .996.806 1.804 1.8 1.804z" fill="%23F55F44"/><path opacity=".5" d="M20.824 24.879c.994 0 1.8-.808 1.8-1.804s-.806-1.803-1.8-1.803c-.993 0-1.8.807-1.8 1.803 0 .996.807 1.804 1.8 1.804z" fill="%234D8AF0"/><path opacity=".5" d="M1.8 74.073c.993 0 1.799-.807 1.799-1.803 0-.996-.806-1.803-1.8-1.803-.993 0-1.799.807-1.799 1.803 0 .996.806 1.803 1.8 1.803z" fill="%2347E6B1"/></g><defs><linearGradient id="paint0_linear" x1="97.336" y1="160.476" x2="67.966" y2="23.887" gradientUnits="userSpaceOnUse"><stop stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="paint1_linear" x1="26241.3" y1="-3424.51" x2="26118.2" y2="-3997.01" gradientUnits="userSpaceOnUse"><stop stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="paint2_linear" x1="7662.53" y1="390.609" x2="7490.79" y2="-408.072" gradientUnits="userSpaceOnUse"><stop stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="paint3_linear" x1="48136.1" y1="99308.3" x2="48136.1" y2="17792.1" gradientUnits="userSpaceOnUse"><stop stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="paint4_linear" x1="23357.1" y1="1874.6" x2="23357.1" y2="1288.96" gradientUnits="userSpaceOnUse"><stop stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="paint5_linear" x1="9203.72" y1="2482.76" x2="9203.72" y2="1664.83" gradientUnits="userSpaceOnUse"><stop stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><clipPath id="clip0"><path fill="%23fff" d="M0 0h196v187H0z"/></clipPath></defs></svg>');
    width: 8rem;
    height: 8rem;
    background-size: contain;
    background-repeat: no-repeat
}

.empty-state::after {
    content: "No data";
    display: block
}

.empty-state:has(>*)::before,
.empty-state:has(>*)::after {
    content: "";
    display: none
}

.loading-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem;
    height: 100%
}

.loading-state::before {
    content: "";
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    border: .25rem solid var(--surface-200);
    border-top-color: var(--primary-500);
    animation: loading-spin 1s linear infinite
}

@keyframes loading-spin {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}

.loading-state::after {
    content: "Loading..."
}

.loading-state:has(>*)::after {
    content: "";
    display: none
}

.loading-state-min {
    display: flex;
    align-items: center;
    justify-content: center
}

.loading-state-min::before {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    border: .125rem solid var(--primary-500);
    border-top-color: var(--surface-200);
    animation: loading-spin 1.3s linear infinite
}

.widget {
    border-radius: 1rem;
    grid-column: span 1;
    width: 100%;
    height: 100%;
    background-color: light-dark(var(--white), oklch(var(--l-300) calc(var(--c-200) * 0.25) var(--brand-hue) / .25));
    box-shadow: 0 0 0 1px light-dark(oklch(var(--l-400) var(--c-100) var(--brand-hue) / .25), oklch(var(--l-400) var(--c-100) var(--brand-hue) / .35));
    transition: all 0.3s ease;

    &:hover {
        background-color: light-dark(var(--white), oklch(var(--l-200) calc(var(--c-200) * 0.5) var(--brand-hue) / .25));
        box-shadow: 0 1px 2px 0 oklch(var(--l-500) var(--c-300) var(--brand-hue) / .25), 0 0 0 1px oklch(var(--l-500) calc(var(--c-200) * 0.5) var(--brand-hue) / .25)
    }

    .btn {
        border-radius: 1rem;

        &:hover {
            background-color: light-dark(var(--surface-100), oklch(var(--l-400) calc(var(--c-200) * 0.5) var(--brand-hue) / .25))
        }
    }

    &>.btn:hover {
        background-color: light-dark(oklch(calc(var(--l-50) * 0.996) calc(var(--c-100) * 0.3) var(--brand-hue)), oklch(var(--l-400) calc(var(--c-200) * 0.5) var(--brand-hue) / .25))
    }

    h3 {
        font-size: 1rem;
        line-height: 1.5rem;
        color: var(--typography-300)
    }
}

.widget-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-auto-rows: minmax(2rem, auto);
    grid-auto-flow: dense;
    gap: 1rem;

    .span-y-2 {
        grid-row: span 2 / span 2
    }

    .span-y-3 {
        grid-row: span 3 / span 3
    }

    .span-y-4 {
        grid-row: span 4 / span 4
    }

    .span-y-5 {
        grid-row: span 5 / span 5
    }

    .span-y-6 {
        grid-row: span 6 / span 6
    }

    .span-x-2,
    .span-x-3,
    .span-x-4,
    .span-x-5,
    .span-x-6 {
        grid-column: span 1
    }

    @container (width>=20rem) {
        grid-template-columns: repeat(2, 1fr);

        .span-x-2,
        .span-x-3,
        .span-x-4,
        .span-x-5,
        .span-x-6 {
            grid-column: span 2
        }
    }

    @container (width>=36rem) {
        grid-template-columns: repeat(3, 1fr);

        .span-x-3,
        .span-x-4,
        .span-x-5,
        .span-x-6 {
            grid-column: span 3
        }
    }

    @container (width>=48rem) {
        grid-template-columns: repeat(4, 1fr);

        .span-x-4,
        .span-x-5,
        .span-x-6 {
            grid-column: span 4
        }
    }

    @container (width>=64rem) {
        grid-template-columns: repeat(5, 1fr);

        .span-x-5,
        .span-x-6 {
            grid-column: span 5
        }
    }

    @container (width>=80rem) {
        grid-template-columns: repeat(6, 1fr);

        .span-x-6 {
            grid-column: span 6
        }
    }
}

.carousel-container {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 18rem;
    width: 100%;
    gap: 1rem;
    overflow-x: auto;
    padding: .125rem;
    scroll-behavior: smooth;
    scroll-padding: .125rem;
    scroll-snap-type: x mandatory;
    anchor-name: --carousel-container;

    .widget {
        &.btn:hover {
            background-color: light-dark(oklch(var(--l-100) calc(var(--c-300) * 0.25) var(--brand-hue) / .25), oklch(var(--l-200) calc(var(--c-200) * 0.25) var(--brand-hue) / .35))
        }
    }
}

.carousel-container>* {
    scroll-snap-align: start
}

.carousel-container::-webkit-scrollbar {
    display: none
}

.carousel-container::scroll-button(left),
.carousel-container::scroll-button(right) {
    height: 2.5rem;
    width: 2.5rem;
    scale: .75;
    border-radius: 100%;
    border: none;
    cursor: pointer;
    z-index: 5;
    line-height: 0;
    color: var(--typography-300);
    background-color: light-dark(var(--white), var(--white));
    box-shadow: 0 1px 0 0 light-dark(oklch(var(--l-500) var(--c-100) var(--brand-hue) / .2), oklch(var(--l-500) var(--c-100) var(--brand-hue) / .25));
    position: fixed;
    position-anchor: --carousel-container
}

.carousel-container::scroll-button(left):hover,
.carousel-container::scroll-button(left):focus,
.carousel-container::scroll-button(right):hover,
.carousel-container::scroll-button(right):focus {
    color: var(--typography-400);
    background-color: var(--surface-100)
}

.carousel-container::scroll-button(left):disabled,
.carousel-container::scroll-button(right):disabled {
    display: none
}

.carousel-container::scroll-button(left) {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="DimGray" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" transform="translate(-1,0)"><path d="M15 6l-6 6l6 6" /></svg>');
    left: calc(anchor(left) - 1rem);
    top: calc(anchor(center) - 1.5rem)
}

.carousel-container::scroll-button(right) {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="DimGray" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" transform="translate(1,0)"><path d="M9 6l6 6l-6 6" /></svg>');
    right: calc(anchor(right) - 1.25rem);
    top: calc(anchor(center) - 1.5rem)
}

[data-multiselect] {
    button span:empty {
        display: none
    }

    >button.bordered {
        border-radius: .25rem
    }

    [popover] {
        padding: 0;
        max-width: 100dvw;

        input[type="search"] {
            width: calc(100% - 1.5rem);
            margin-bottom: .5rem;
            margin-top: .5rem;
            margin-inline-start: .75rem
        }

        fieldset {
            gap: 0;

            label {
                padding: .5rem 1rem;

                &:hover {
                    background-color: var(--primary-100)
                }

                &[hidden] {
                    display: none
                }
            }
        }

        footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: .25rem;
            margin-top: .25rem;
            border-top: 1px solid var(--surface-200)
        }

        .btn {
            width: fit-content
        }
    }

    fieldset {
        overflow-y: auto;
        max-height: 16rem
    }
}

.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr))
}

.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
}

.grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr))
}

.grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr))
}

.row-start-1 {
    grid-row-start: 1
}

.row-start-2 {
    grid-row-start: 2
}

.row-start-3 {
    grid-row-start: 3
}

.row-auto {
    grid-row: auto
}

.row-span-1 {
    grid-row: span 1 / span 1
}

.row-span-2 {
    grid-row: span 2 / span 2
}

.row-span-3 {
    grid-row: span 3 / span 3
}

.row-span-4 {
    grid-row: span 4 / span 4
}

.row-span-5 {
    grid-row: span 5 / span 5
}

.row-span-6 {
    grid-row: span 6 / span 6
}

.col-span-2 {
    grid-column: span 2 / span 2
}

.col-span-3 {
    grid-column: span 3 / span 3
}

.col-span-4 {
    grid-column: span 4 / span 4
}

.col-span-5 {
    grid-column: span 5 / span 5
}

.col-span-full {
    grid-column: 1 / -1
}

.col-start-1 {
    grid-column-start: 1
}

.col-start-2 {
    grid-column-start: 2
}

.col-start-3 {
    grid-column-start: 3
}

.col-start-4 {
    grid-column-start: 4
}

.col-start-5 {
    grid-column-start: 5
}

.col-start-6 {
    grid-column-start: 6
}

.grid-rows-subgrid {
    grid-template-rows: subgrid
}

.grid-cols-subgrid {
    grid-template-columns: subgrid
}

.grid-flow-dense {
    grid-auto-flow: dense
}

.grid-fluid {
    --grid-min: 16rem;
    --grid-mode: auto-fill;
    --grid-gap-x: 1rem;
    --grid-gap-y: 1rem;
    --grid-flow: dense;
    display: grid;
    grid-auto-flow: var(--grid-flow);
    gap: var(--grid-gap-y) var(--grid-gap-x);
    grid-template-columns: repeat(var(--grid-mode), minmax(min(var(--grid-min), 100%), 1fr));

    @container (min-width:32rem) {
        .span-x-2 {
            grid-column: span 2
        }

        .span-x-3 {
            grid-column: span 3
        }

        .span-x-4 {
            grid-column: span 4
        }

        .span-x-5 {
            grid-column: span 5
        }

        .span-x-full {
            grid-column: 1 / -1
        }

        .span-y-2 {
            grid-row: span 2
        }

        .span-y-3 {
            grid-row: span 3
        }

        .span-y-4 {
            grid-row: span 4
        }

        .span-y-5 {
            grid-row: span 5
        }

        .span-y-full {
            grid-row: 1 / -1
        }
    }
}

.grow {
    flex-grow: 1
}

.\*\:grow>* {
    flex-grow: 1
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.sticky {
    position: sticky
}

.sr-only {
    position: fixed;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.gap-0 {
    gap: 0rem
}

.gap-px {
    gap: 1px
}

.gap-0\.5 {
    gap: .125rem
}

.gap-1 {
    gap: .25rem
}

.gap-2 {
    gap: .5rem
}

.gap-3 {
    gap: .75rem
}

.gap-4 {
    gap: 1rem
}

.gap-5 {
    gap: 1.25rem
}

.gap-6 {
    gap: 1.5rem
}

.gap-8 {
    gap: 2rem
}

.gap-10 {
    gap: 2.5rem
}

.gap-12 {
    gap: 3rem
}

.gap-16 {
    gap: 4rem
}

.gap-x-1 {
    column-gap: .25rem
}

.gap-x-2 {
    column-gap: .5rem
}

.gap-x-3 {
    column-gap: .75rem
}

.gap-x-4 {
    column-gap: 1rem
}

.gap-x-6 {
    column-gap: 1.5rem
}

.gap-x-8 {
    column-gap: 2rem
}

.gap-y-1 {
    row-gap: .25rem
}

.gap-y-2 {
    row-gap: .5rem
}

.gap-y-3 {
    row-gap: .75rem
}

.gap-y-4 {
    row-gap: 1rem
}

.gap-y-8 {
    row-gap: 2rem
}

.items-end {
    align-items: flex-end
}

.items-center {
    align-items: center
}

.items-baseline {
    align-items: baseline
}

.items-stretch {
    align-items: stretch
}

.justify-between {
    justify-content: space-between
}

.justify-center {
    justify-content: center
}

.justify-around {
    justify-content: space-around
}

.justify-evenly {
    justify-content: space-evenly
}

.justify-stretch {
    justify-content: stretch
}

.justify-end {
    justify-content: flex-end
}

.justify-self-auto {
    justify-self: auto
}

.justify-self-start {
    justify-self: start
}

.justify-self-end {
    justify-self: flex-end
}

.align-baseline {
    vertical-align: baseline
}

.align-top {
    vertical-align: top
}

.align-middle {
    vertical-align: middle
}

.align-bottom {
    vertical-align: bottom
}

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.text-pretty {
    text-wrap: pretty
}

.p-0 {
    padding: 0rem
}

.p-0\.5 {
    padding: .125rem
}

.p-1 {
    padding: .25rem
}

.p-2 {
    padding: .5rem
}

.p-3 {
    padding: .75rem
}

.p-4 {
    padding: 1rem
}

.p-6 {
    padding: 1.5rem
}

.p-8 {
    padding: 2rem
}

.pt-0 {
    padding-top: 0
}

.pt-2 {
    padding-top: .5rem
}

.pt-4 {
    padding-top: 1rem
}

.pb-0 {
    padding-bottom: 0
}

.pb-2 {
    padding-bottom: .5rem
}

.pb-4 {
    padding-bottom: 1rem
}

.px-1 {
    padding-left: .25rem;
    padding-right: .25rem
}

.px-2 {
    padding-left: .5rem;
    padding-right: .5rem
}

.px-3 {
    padding-left: .75rem;
    padding-right: .75rem
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.px-8 {
    padding-left: 2rem;
    padding-right: 2rem
}

.ps-2 {
    padding-inline-start: .5rem
}

.ps-3 {
    padding-inline-start: .75rem
}

.ps-4 {
    padding-inline-start: 1rem
}

.ps-6 {
    padding-inline-start: 1.5rem
}

.ps-8 {
    padding-inline-start: 2rem
}

.ps-12 {
    padding-inline-start: 3rem
}

.ps-16 {
    padding-inline-start: 4rem
}

.ps-20 {
    padding-inline-start: 5rem
}

.pe-0 {
    padding-inline-end: 0rem
}

.pe-1 {
    padding-inline-end: .25rem
}

.pe-2 {
    padding-inline-end: .5rem
}

.pe-3 {
    padding-inline-end: .75rem
}

.pe-4 {
    padding-inline-end: 1rem
}

.pe-6 {
    padding-inline-end: 1.5rem
}

.pe-8 {
    padding-inline-end: 2rem
}

.pe-12 {
    padding-inline-end: 3rem
}

.pe-16 {
    padding-inline-end: 4rem
}

.pe-20 {
    padding-inline-end: 5rem
}

.py-1 {
    padding-top: .25rem;
    padding-bottom: .25rem
}

.py-2 {
    padding-top: .5rem;
    padding-bottom: .5rem
}

.py-3 {
    padding-top: .75rem;
    padding-bottom: .75rem
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.m-0 {
    margin: 0
}

.mb-2 {
    margin-bottom: .5rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-6 {
    margin-bottom: 1.5rem
}

.mb-8 {
    margin-bottom: 2rem
}

.mt-1 {
    margin-top: .25rem
}

.mt-2 {
    margin-top: .5rem
}

.mt-3 {
    margin-top: .75rem
}

.mt-4 {
    margin-top: 1rem
}

.mt-6 {
    margin-top: 1.5rem
}

.mt-8 {
    margin-top: 2rem
}

.mt-12 {
    margin-top: 3rem
}

.mt-16 {
    margin-top: 4rem
}

.mt-20 {
    margin-top: 5rem
}

.mt-auto {
    margin-top: auto
}

.mx-1 {
    margin-left: .25rem;
    margin-right: .25rem
}

.mx-2 {
    margin-left: .5rem;
    margin-right: .5rem
}

.mx-3 {
    margin-left: .75rem;
    margin-right: .75rem
}

.mx-4 {
    margin-left: 1rem;
    margin-right: 1rem
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.my-1 {
    margin-top: .25rem;
    margin-bottom: .25rem
}

.my-2 {
    margin-top: .5rem;
    margin-bottom: .5rem
}

.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem
}

.my-6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem
}

.my-8 {
    margin-top: 2rem;
    margin-bottom: 2rem
}

.my-auto {
    margin-top: auto;
    margin-bottom: auto
}

.ms-0 {
    margin-inline-start: 0rem
}

.ms-1 {
    margin-inline-start: .25rem
}

.ms-2 {
    margin-inline-start: .5rem
}

.ms-3 {
    margin-inline-start: .75rem
}

.ms-4 {
    margin-inline-start: 1rem
}

.ms-5 {
    margin-inline-start: 1.25rem
}

.ms-6 {
    margin-inline-start: 1.5rem
}

.ms-7 {
    margin-inline-start: 1.75rem
}

.ms-8 {
    margin-inline-start: 2rem
}

.ms-9 {
    margin-inline-start: 2.25rem
}

.ms-10 {
    margin-inline-start: 2.5rem
}

.ms-14 {
    margin-inline-start: 3.5rem
}

.ms-auto {
    margin-inline-start: auto
}

.me-1 {
    margin-inline-end: .25rem
}

.me-2 {
    margin-inline-end: .5rem
}

.me-3 {
    margin-inline-end: .75rem
}

.me-4 {
    margin-inline-end: 1rem
}

.me-5 {
    margin-inline-end: 1.25rem
}

.me-6 {
    margin-inline-end: 1.5rem
}

.me-7 {
    margin-inline-end: 1.75rem
}

.me-8 {
    margin-inline-end: 2rem
}

.me-9 {
    margin-inline-end: 2.25rem
}

.me-10 {
    margin-inline-end: 2.5rem
}

.me-14 {
    margin-inline-end: 3.5rem
}

.me-auto {
    margin-inline-end: auto
}

.top-0 {
    top: 0
}

.top-1 {
    top: .25rem
}

.top-2 {
    top: .5rem
}

.top-3 {
    top: .75rem
}

.top-4 {
    top: 1rem
}

.top-5 {
    top: 1.25rem
}

.top-6 {
    top: 1.5rem
}

.top-7 {
    top: 1.75rem
}

.top-8 {
    top: 2rem
}

.top-10 {
    top: 2.5rem
}

.top-12 {
    top: 3rem
}

.top-16 {
    top: 4rem
}

.bottom-0 {
    bottom: 0
}

.bottom-1 {
    bottom: .25rem
}

.bottom-2 {
    bottom: .5rem
}

.bottom-3 {
    bottom: .75rem
}

.bottom-4 {
    bottom: 1rem
}

.bottom-5 {
    bottom: 1.25rem
}

.bottom-6 {
    bottom: 1.5rem
}

.bottom-7 {
    bottom: 1.75rem
}

.bottom-8 {
    bottom: 2rem
}

.bottom-10 {
    bottom: 2.5rem
}

.bottom-12 {
    bottom: 3rem
}

.bottom-16 {
    bottom: 4rem
}

.left-0 {
    left: 0
}

.left-1 {
    left: .25rem
}

.left-2 {
    left: .5rem
}

.left-3 {
    left: .75rem
}

.left-4 {
    left: 1rem
}

.left-5 {
    left: 1.25rem
}

.left-6 {
    left: 1.5rem
}

.left-7 {
    left: 1.75rem
}

.left-8 {
    left: 2rem
}

.left-10 {
    left: 2.5rem
}

.left-12 {
    left: 3rem
}

.left-16 {
    left: 4rem
}

.right-0 {
    right: 0
}

.right-1 {
    right: .25rem
}

.right-2 {
    right: .5rem
}

.right-3 {
    right: .75rem
}

.right-4 {
    right: 1rem
}

.right-5 {
    right: 1.25rem
}

.right-6 {
    right: 1.5rem
}

.right-7 {
    right: 1.75rem
}

.right-8 {
    right: 2rem
}

.right-10 {
    right: 2.5rem
}

.right-12 {
    right: 3rem
}

.right-16 {
    right: 4rem
}

.inset-x-0 {
    left: 0;
    right: 0
}

.inset-y-0 {
    top: 0;
    bottom: 0
}

.w-px {
    width: 1px
}

.w-1 {
    width: .25rem
}

.w-2 {
    width: .5rem
}

.w-3 {
    width: .75rem
}

.w-4 {
    width: 1rem
}

.w-8 {
    width: 2rem
}

.w-10 {
    width: 2.5rem
}

.w-12 {
    width: 3rem
}

.w-16 {
    width: 4rem
}

.w-32 {
    width: 8rem
}

.w-48 {
    width: 12rem
}

.w-64 {
    width: 16rem
}

.w-72 {
    width: 18rem
}

.w-80 {
    width: 20rem
}

.w-96 {
    width: 24rem
}

.w-full {
    width: 100%
}

.w-fit {
    width: fit-content
}

.w-min {
    width: min-content
}

.w-max {
    width: max-content
}

.w-dvw {
    width: 100dvw
}

.min-w-0 {
    min-width: 0
}

.min-w-10 {
    min-width: 2.5rem
}

.max-w-xs {
    max-width: 20rem
}

.max-w-sm {
    max-width: 24rem
}

.max-w-md {
    max-width: 28rem
}

.max-w-screen-sm {
    max-width: 640px
}

.max-w-screen-md {
    max-width: 768px
}

.max-w-screen-lg {
    max-width: 1024px
}

.max-w-screen-xl {
    max-width: 1280px
}

.max-w-full {
    max-width: 100%
}

.h-px {
    height: 1px
}

.h-1 {
    height: .25rem
}

.h-2 {
    height: .5rem
}

.h-3 {
    height: .75rem
}

.h-4 {
    height: 1rem
}

.h-6 {
    height: 1.5rem
}

.h-8 {
    height: 2rem
}

.h-10 {
    height: 2.5rem
}

.h-12 {
    height: 3rem
}

.h-16 {
    height: 4rem
}

.h-20 {
    height: 5rem
}

.h-24 {
    height: 6rem
}

.h-28 {
    height: 7rem
}

.h-32 {
    height: 8rem
}

.h-36 {
    height: 9rem
}

.h-40 {
    height: 10rem
}

.h-44 {
    height: 11rem
}

.h-48 {
    height: 12rem
}

.h-52 {
    height: 13rem
}

.h-56 {
    height: 14rem
}

.h-60 {
    height: 15rem
}

.h-64 {
    height: 16rem
}

.h-72 {
    height: 18rem
}

.h-80 {
    height: 20rem
}

.h-96 {
    height: 24rem
}

.h-full {
    height: 100%
}

.h-dvh {
    height: 100dvh
}

.max-h-24 {
    max-height: 6rem
}

.max-h-32 {
    max-height: 8rem
}

.max-h-48 {
    max-height: 12rem
}

.max-h-64 {
    max-height: 16rem
}

.max-h-96 {
    max-height: 24rem
}

.max-h-full {
    max-height: 100%
}

.min-h-0 {
    min-height: 0
}

.min-h-4 {
    min-height: 1rem
}

.min-h-8 {
    min-height: 2rem
}

.min-h-12 {
    min-height: 3rem
}

.min-h-16 {
    min-height: 4rem
}

.min-h-24 {
    min-height: 6rem
}

.min-h-32 {
    min-height: 8rem
}

.min-h-48 {
    min-height: 12rem
}

.min-h-64 {
    min-height: 16rem
}

.object-contain {
    object-fit: contain
}

.object-cover {
    object-fit: cover
}

.object-center {
    object-position: center
}

.z-1 {
    z-index: 1
}

.z-2 {
    z-index: 2
}

.z-5 {
    z-index: 5
}

.z-10 {
    z-index: 10
}

.z-25 {
    z-index: 25
}

.z-50 {
    z-index: 50
}

.tabular-nums {
    font-variant-numeric: tabular-nums
}

.tracking-wide {
    letter-spacing: .025em
}

.tracking-wider {
    letter-spacing: .05em
}

.tracking-widest {
    letter-spacing: .1em
}

.font-normal {
    font-weight: 400
}

.font-medium {
    font-weight: 500
}

.font-semibold {
    font-weight: 600
}

.font-bold {
    font-weight: 700
}

.font-extrabold {
    font-weight: 800
}

.text-xs {
    font-size: .75rem;
    line-height: 1rem
}

.text-sm {
    font-size: .875rem;
    line-height: 1.25rem
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}

.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
}

.text-5xl {
    font-size: 3rem;
    line-height: 1
}

.text-6xl {
    font-size: 3.75rem;
    line-height: 1
}

.text-inherit {
    color: inherit
}

.text-center {
    text-align: center
}

.break-words {
    overflow-wrap: break-word
}

.break-all {
    word-break: break-all
}

.line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1
}

.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

.line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.list-inside {
    list-style-position: inside
}

.list-outside {
    list-style-position: outside
}

.list-decimal {
    list-style-type: decimal
}

.list-disc {
    list-style-type: disc
}

.list-none {
    list-style-type: none
}

.text-white {
    color: var(--white)
}

.text-black {
    color: var(--black)
}

.text-transparent {
    color: #fff0
}

.text-typography-100 {
    color: var(--typography-100)
}

.text-typography-200 {
    color: var(--typography-200)
}

.text-typography-300 {
    color: var(--typography-300)
}

.text-typography-400 {
    color: var(--typography-400)
}

.text-primary-100 {
    color: var(--primary-100)
}

.text-primary-200 {
    color: var(--primary-200)
}

.text-primary-300 {
    color: var(--primary-300)
}

.text-primary-400 {
    color: var(--primary-400)
}

.text-primary-500 {
    color: var(--primary-500)
}

.text-red-100 {
    color: var(--red-100)
}

.text-red-200 {
    color: var(--red-200)
}

.text-red-300 {
    color: var(--red-300)
}

.text-red-400 {
    color: var(--red-400)
}

.text-red-500 {
    color: var(--red-500)
}

.text-rose-100 {
    color: var(--rose-100)
}

.text-rose-200 {
    color: var(--rose-200)
}

.text-rose-300 {
    color: var(--rose-300)
}

.text-rose-400 {
    color: var(--rose-400)
}

.text-rose-500 {
    color: var(--rose-500)
}

.text-magenta-100 {
    color: var(--magenta-100)
}

.text-magenta-200 {
    color: var(--magenta-200)
}

.text-magenta-300 {
    color: var(--magenta-300)
}

.text-magenta-400 {
    color: var(--magenta-400)
}

.text-magenta-500 {
    color: var(--magenta-500)
}

.text-violet-100 {
    color: var(--violet-100)
}

.text-violet-200 {
    color: var(--violet-200)
}

.text-violet-300 {
    color: var(--violet-300)
}

.text-violet-400 {
    color: var(--violet-400)
}

.text-violet-500 {
    color: var(--violet-500)
}

.text-blue-100 {
    color: var(--blue-100)
}

.text-blue-200 {
    color: var(--blue-200)
}

.text-blue-300 {
    color: var(--blue-300)
}

.text-blue-400 {
    color: var(--blue-400)
}

.text-blue-500 {
    color: var(--blue-500)
}

.text-azure-100 {
    color: var(--azure-100)
}

.text-azure-200 {
    color: var(--azure-200)
}

.text-azure-300 {
    color: var(--azure-300)
}

.text-azure-400 {
    color: var(--azure-400)
}

.text-azure-500 {
    color: var(--azure-500)
}

.text-cyan-100 {
    color: var(--cyan-100)
}

.text-cyan-200 {
    color: var(--cyan-200)
}

.text-cyan-300 {
    color: var(--cyan-300)
}

.text-cyan-400 {
    color: var(--cyan-400)
}

.text-cyan-500 {
    color: var(--cyan-500)
}

.text-spring-100 {
    color: var(--spring-100)
}

.text-spring-200 {
    color: var(--spring-200)
}

.text-spring-300 {
    color: var(--spring-300)
}

.text-spring-400 {
    color: var(--spring-400)
}

.text-spring-500 {
    color: var(--spring-500)
}

.text-green-100 {
    color: var(--green-100)
}

.text-green-200 {
    color: var(--green-200)
}

.text-green-300 {
    color: var(--green-300)
}

.text-green-400 {
    color: var(--green-400)
}

.text-green-500 {
    color: var(--green-500)
}

.text-chartreuse-100 {
    color: var(--chartreuse-100)
}

.text-chartreuse-200 {
    color: var(--chartreuse-200)
}

.text-chartreuse-300 {
    color: var(--chartreuse-300)
}

.text-chartreuse-400 {
    color: var(--chartreuse-400)
}

.text-chartreuse-500 {
    color: var(--chartreuse-500)
}

.text-yellow-100 {
    color: var(--yellow-100)
}

.text-yellow-200 {
    color: var(--yellow-200)
}

.text-yellow-300 {
    color: var(--yellow-300)
}

.text-yellow-400 {
    color: var(--yellow-400)
}

.text-yellow-500 {
    color: var(--yellow-500)
}

.text-orange-100 {
    color: var(--orange-100)
}

.text-orange-200 {
    color: var(--orange-200)
}

.text-orange-300 {
    color: var(--orange-300)
}

.text-orange-400 {
    color: var(--orange-400)
}

.text-orange-500 {
    color: var(--orange-500)
}

.bg-white {
    background-color: var(--white)
}

.bg-black {
    background-color: var(--black)
}

.bg-primary-100 {
    background-color: var(--primary-100)
}

.bg-primary-200 {
    background-color: var(--primary-200)
}

.bg-primary-300 {
    background-color: var(--primary-300)
}

.bg-primary-400 {
    background-color: var(--primary-400)
}

.bg-primary-500 {
    background-color: var(--primary-500)
}

.bg-surface-100 {
    background-color: var(--surface-100)
}

.bg-surface-200 {
    background-color: var(--surface-200)
}

.bg-surface-300 {
    background-color: var(--surface-300)
}

.bg-surface-400 {
    background-color: var(--surface-400)
}

.bg-surface-500 {
    background-color: var(--surface-500)
}

.bg-red-100 {
    background-color: var(--red-100)
}

.bg-red-200 {
    background-color: var(--red-200)
}

.bg-red-300 {
    background-color: var(--red-300)
}

.bg-red-400 {
    background-color: var(--red-400)
}

.bg-red-500 {
    background-color: var(--red-500)
}

.bg-rose-100 {
    background-color: var(--rose-100)
}

.bg-rose-200 {
    background-color: var(--rose-200)
}

.bg-rose-300 {
    background-color: var(--rose-300)
}

.bg-rose-400 {
    background-color: var(--rose-400)
}

.bg-rose-500 {
    background-color: var(--rose-500)
}

.bg-magenta-100 {
    background-color: var(--magenta-100)
}

.bg-magenta-200 {
    background-color: var(--magenta-200)
}

.bg-magenta-300 {
    background-color: var(--magenta-300)
}

.bg-magenta-400 {
    background-color: var(--magenta-400)
}

.bg-magenta-500 {
    background-color: var(--magenta-500)
}

.bg-violet-100 {
    background-color: var(--violet-100)
}

.bg-violet-200 {
    background-color: var(--violet-200)
}

.bg-violet-300 {
    background-color: var(--violet-300)
}

.bg-violet-400 {
    background-color: var(--violet-400)
}

.bg-violet-500 {
    background-color: var(--violet-500)
}

.bg-blue-100 {
    background-color: var(--blue-100)
}

.bg-blue-200 {
    background-color: var(--blue-200)
}

.bg-blue-300 {
    background-color: var(--blue-300)
}

.bg-blue-400 {
    background-color: var(--blue-400)
}

.bg-blue-500 {
    background-color: var(--blue-500)
}

.bg-azure-100 {
    background-color: var(--azure-100)
}

.bg-azure-200 {
    background-color: var(--azure-200)
}

.bg-azure-300 {
    background-color: var(--azure-300)
}

.bg-azure-400 {
    background-color: var(--azure-400)
}

.bg-azure-500 {
    background-color: var(--azure-500)
}

.bg-cyan-100 {
    background-color: var(--cyan-100)
}

.bg-cyan-200 {
    background-color: var(--cyan-200)
}

.bg-cyan-300 {
    background-color: var(--cyan-300)
}

.bg-cyan-400 {
    background-color: var(--cyan-400)
}

.bg-cyan-500 {
    background-color: var(--cyan-500)
}

.bg-spring-100 {
    background-color: var(--spring-100)
}

.bg-spring-200 {
    background-color: var(--spring-200)
}

.bg-spring-300 {
    background-color: var(--spring-300)
}

.bg-spring-400 {
    background-color: var(--spring-400)
}

.bg-spring-500 {
    background-color: var(--spring-500)
}

.bg-green-100 {
    background-color: var(--green-100)
}

.bg-green-200 {
    background-color: var(--green-200)
}

.bg-green-300 {
    background-color: var(--green-300)
}

.bg-green-400 {
    background-color: var(--green-400)
}

.bg-green-500 {
    background-color: var(--green-500)
}

.bg-chartreuse-100 {
    background-color: var(--chartreuse-100)
}

.bg-chartreuse-200 {
    background-color: var(--chartreuse-200)
}

.bg-chartreuse-300 {
    background-color: var(--chartreuse-300)
}

.bg-chartreuse-400 {
    background-color: var(--chartreuse-400)
}

.bg-chartreuse-500 {
    background-color: var(--chartreuse-500)
}

.bg-yellow-100 {
    background-color: var(--yellow-100)
}

.bg-yellow-200 {
    background-color: var(--yellow-200)
}

.bg-yellow-300 {
    background-color: var(--yellow-300)
}

.bg-yellow-400 {
    background-color: var(--yellow-400)
}

.bg-yellow-500 {
    background-color: var(--yellow-500)
}

.bg-orange-100 {
    background-color: var(--orange-100)
}

.bg-orange-200 {
    background-color: var(--orange-200)
}

.bg-orange-300 {
    background-color: var(--orange-300)
}

.bg-orange-400 {
    background-color: var(--orange-400)
}

.bg-orange-500 {
    background-color: var(--orange-500)
}

.bg-info-100 {
    background-color: var(--info-100)
}

.bg-info-200 {
    background-color: var(--info-200)
}

.bg-info-300 {
    background-color: var(--info-300)
}

.bg-info-400 {
    background-color: var(--info-400)
}

.bg-info-500 {
    background-color: var(--info-500)
}

.bg-success-100 {
    background-color: var(--success-100)
}

.bg-success-200 {
    background-color: var(--success-200)
}

.bg-success-300 {
    background-color: var(--success-300)
}

.bg-success-400 {
    background-color: var(--success-400)
}

.bg-success-500 {
    background-color: var(--success-500)
}

.bg-warning-100 {
    background-color: var(--warning-100)
}

.bg-warning-200 {
    background-color: var(--warning-200)
}

.bg-warning-300 {
    background-color: var(--warning-300)
}

.bg-warning-400 {
    background-color: var(--warning-400)
}

.bg-warning-500 {
    background-color: var(--warning-500)
}

.bg-danger-100 {
    background-color: var(--danger-100)
}

.bg-danger-200 {
    background-color: var(--danger-200)
}

.bg-danger-300 {
    background-color: var(--danger-300)
}

.bg-danger-400 {
    background-color: var(--danger-400)
}

.bg-danger-500 {
    background-color: var(--danger-500)
}

.bg-inherit {
    background-color: inherit
}

.bg-current {
    background-color: currentColor
}

.highlight-checked:has(input[type="checkbox"]:checked) {
    background-color: var(--primary-100)
}

.rounded {
    border-radius: .25rem
}

.rounded-none {
    border-radius: 0
}

.rounded-sm {
    border-radius: .125rem
}

.rounded-md {
    border-radius: .375rem
}

.rounded-lg {
    border-radius: .5rem
}

.rounded-xl {
    border-radius: .75rem
}

.rounded-full {
    border-radius: 9999px
}

.rounded-e-lg {
    border-start-end-radius: .5rem;
    border-end-end-radius: .5rem
}

.rounded-t {
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem
}

.rounded-t-lg {
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem
}

.rounded-t-full {
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px
}

.rounded-b {
    border-bottom-left-radius: .25rem;
    border-bottom-right-radius: .25rem
}

.rounded-b-lg {
    border-bottom-left-radius: .5rem;
    border-bottom-right-radius: .5rem
}

.rounded-b-full {
    border-bottom-left-radius: 9999px;
    border-bottom-right-radius: 9999px
}

.rounded-s-full {
    border-start-start-radius: 9999px;
    border-end-start-radius: 9999px
}

.rounded-e-full {
    border-start-end-radius: 9999px;
    border-end-end-radius: 9999px
}

.rounded-e-none {
    border-start-end-radius: 0;
    border-end-end-radius: 0
}

.rounded-s-none {
    border-start-start-radius: 0;
    border-end-start-radius: 0
}

.ring-1 {
    --ps-ring-shadow: var(--ps-ring-inset, ) 0 0 0 calc(1px + var(--ps-ring-offset-width)) var(--ps-ring-color, currentColor);
    box-shadow: var(--ps-inset-shadow), var(--ps-inset-ring-shadow), var(--ps-ring-offset-shadow), var(--ps-ring-shadow), var(--ps-shadow)
}

.ring-surface-100 {
    --ps-ring-color: var(--surface-100)
}

.ring-surface-200 {
    --ps-ring-color: var(--surface-200)
}

.ring-surface-300 {
    --ps-ring-color: var(--surface-300)
}

.ring-surface-400 {
    --ps-ring-color: var(--surface-400)
}

.ring-surface-500 {
    --ps-ring-color: var(--surface-500)
}

.shadow-sm {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / .05)
}

.shadow {
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1)
}

.shadow-md {
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1)
}

.shadow-lg {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)
}

.shadow-xl {
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1)
}

.shadow-2xl {
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25)
}

.shadow-inner {
    box-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05)
}

.shadow-none {
    box-shadow: 0 0 #0000
}

.scale-50 {
    transform: scale(.5)
}

.scale-75 {
    transform: scale(.75)
}

.opacity-0 {
    opacity: 0
}

.opacity-25 {
    opacity: .25
}

.opacity-50 {
    opacity: .5
}

.opacity-75 {
    opacity: .75
}

.overflow-clip {
    overflow: clip
}

.overflow-hidden {
    overflow: hidden
}

.overflow-auto {
    overflow: auto
}

.overflow-y-auto {
    overflow-y: auto
}

.overflow-anywhere {
    overflow-wrap: anywhere
}

.cursor-auto {
    cursor: auto
}

.cursor-default {
    cursor: default
}

.cursor-pointer {
    cursor: pointer
}

.cursor-grab {
    cursor: grab
}

.cursor-copy {
    cursor: copy
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.grid {
    display: grid
}

.inline-flex {
    display: inline-flex
}

.flex {
    display: flex
}

.flex-col {
    flex-direction: column
}

.flex-col-reverse {
    flex-direction: column-reverse
}

.flex-row {
    flex-direction: row
}

.flex-row-reverse {
    flex-direction: row-reverse
}

.flex-wrap {
    flex-wrap: wrap
}

.flex-nowrap {
    flex-wrap: nowrap
}

.flex-1 {
    flex: 1
}

.flex-shrink-0,
.shrink-0 {
    flex-shrink: 0
}

.hidden {
    display: none
}

.whitespace-nowrap {
    white-space: nowrap
}

.container-inline,
.\@container {
    container-type: inline-size
}

@media (min-width:640px) {
    .sm\:hidden {
        display: none
    }

    .sm\:block {
        display: block
    }

    .sm\:flex {
        display: flex
    }

    .sm\:p-0 {
        padding: 0
    }

    .sm\:p-1 {
        padding: .25rem
    }

    .sm\:p-2 {
        padding: .5rem
    }

    .sm\:p-4 {
        padding: 1rem
    }

    .sm\:py-8 {
        padding-top: 2rem;
        padding-bottom: 2rem
    }

    .sm\:p-8 {
        padding: 2rem
    }

    .sm\:px-0 {
        padding-left: 0;
        padding-right: 0
    }

    .sm\:my-4 {
        margin-top: 1rem;
        margin-bottom: 1rem
    }

    .sm\:my-8 {
        margin-top: 2rem;
        margin-bottom: 2rem
    }

    .sm\:max-w-md {
        max-width: 28rem
    }
}

@media (min-width:768px) {
    .md\:hidden {
        display: none
    }

    .md\:block {
        display: block
    }

    .md\:flex {
        display: flex
    }

    .md\:overflow-y-auto {
        overflow-y: auto
    }

    .md\:ms-auto {
        margin-inline-start: auto
    }
}

@media (min-width:1024px) {
    .lg\:gap-x-4 {
        column-gap: 1rem
    }
}

.\@lg\:block {
    @container (width>=32rem) {
        display: block
    }
}

.\@lg\:grid {
    @container (width>=32rem) {
        display: grid
    }
}

.\@lg\:row-start-1 {
    @container (width>=32rem) {
        grid-row-start: 1
    }
}

.\@lg\:row-start-2 {
    @container (width>=32rem) {
        grid-row-start: 2
    }
}

.\@lg\:grid-cols-2 {
    @container (width>=32rem) {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

.\@lg\:grid-cols-3 {
    @container (width>=32rem) {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

.\@lg\:grid-cols-4 {
    @container (width>=32rem) {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}

.\@lg\:grid-cols-5 {
    @container (width>=32rem) {
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }
}

.\@lg\:grid-cols-6 {
    @container (width>=32rem) {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }
}

.\@lg\:grid-cols-subgrid {
    @container (width>=32rem) {
        grid-template-columns: subgrid
    }
}

.\@lg\:col-start-1 {
    @container (width>=32rem) {
        grid-column-start: 1
    }
}

.\@lg\:col-start-2 {
    @container (width>=32rem) {
        grid-column-start: 2
    }
}

.\@lg\:col-start-3 {
    @container (width>=32rem) {
        grid-column-start: 3
    }
}

.\@lg\:col-start-4 {
    @container (width>=32rem) {
        grid-column-start: 4
    }
}

.\@lg\:col-start-5 {
    @container (width>=32rem) {
        grid-column-start: 5
    }
}

.\@lg\:col-start-6 {
    @container (width>=32rem) {
        grid-column-start: 6
    }
}

.\@lg\:col-span-1 {
    @container (width>=32rem) {
        grid-column: span 1 / span 1
    }
}

.\@lg\:col-span-2 {
    @container (width>=32rem) {
        grid-column: span 2 / span 2
    }
}

.\@lg\:col-span-3 {
    @container (width>=32rem) {
        grid-column: span 3 / span 3
    }
}

.\@lg\:col-span-4 {
    @container (width>=32rem) {
        grid-column: span 4 / span 4
    }
}

.\@lg\:col-span-full {
    @container (width>=32rem) {
        grid-column: 1 / -1
    }
}

.\@lg\:col-auto {
    @container (width>=32rem) {
        grid-column: auto
    }
}

.\@lg\:ms-auto {
    @container (width>=32rem) {
        margin-inline-start: auto
    }
}

.\@lg\:justify-self-end {
    @container (width>=32rem) {
        justify-self: end
    }
}

.\@lg\:p-1 {
    @container (width>=32rem) {
        padding: .25rem
    }
}

.\@lg\:p-2 {
    @container (width>=32rem) {
        padding: .5rem
    }
}

.\@lg\:p-4 {
    @container (width>=32rem) {
        padding: 1rem
    }
}

.\@2xl\:block {
    @container (width>=42rem) {
        display: block
    }
}

.\@2xl\:row-start-1 {
    @container (width>=42rem) {
        grid-row-start: 1
    }
}

.\@2xl\:row-start-2 {
    @container (width>=42rem) {
        grid-row-start: 2
    }
}

.\@2xl\:grid-cols-2 {
    @container (width>=42rem) {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

.\@2xl\:grid-cols-3 {
    @container (width>=42rem) {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

.\@2xl\:grid-cols-4 {
    @container (width>=42rem) {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}

.\@2xl\:grid-cols-5 {
    @container (width>=42rem) {
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }
}

.\@2xl\:grid-cols-6 {
    @container (width>=42rem) {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }
}

.\@2xl\:col-start-1 {
    @container (width>=42rem) {
        grid-column-start: 1
    }
}

.\@2xl\:col-start-2 {
    @container (width>=42rem) {
        grid-column-start: 2
    }
}

.\@2xl\:col-start-3 {
    @container (width>=42rem) {
        grid-column-start: 3
    }
}

.\@2xl\:col-start-4 {
    @container (width>=42rem) {
        grid-column-start: 4
    }
}

.\@2xl\:col-start-5 {
    @container (width>=42rem) {
        grid-column-start: 5
    }
}

.\@2xl\:col-start-6 {
    @container (width>=42rem) {
        grid-column-start: 6
    }
}

.\@2xl\:col-span-1 {
    @container (width>=42rem) {
        grid-column: span 1 / span 1
    }
}

.\@2xl\:col-span-2 {
    @container (width>=42rem) {
        grid-column: span 2 / span 2
    }
}

.\@2xl\:col-span-3 {
    @container (width>=42rem) {
        grid-column: span 3 / span 3
    }
}

.\@2xl\:col-span-4 {
    @container (width>=42rem) {
        grid-column: span 4 / span 4
    }
}

.\@2xl\:text-left {
    @container (width>=42rem) {
        text-align: left
    }
}

.\@2xl\:ms-auto {
    @container (width>=42rem) {
        margin-inline-start: auto
    }
}

.\@2xl\:justify-self-end {
    @container (width>=42rem) {
        justify-self: end
    }
}

.\@2xl\:not-sr-only {
    @container (width>=42rem) {
        position: static;
        width: auto;
        height: auto;
        padding: 0;
        margin: 0;
        overflow: visible;
        clip: auto;
        white-space: normal
    }
}

.\@5xl\:block {
    @container (width>=64rem) {
        display: block
    }
}

.\@5xl\:row-start-1 {
    @container (width>=64rem) {
        grid-row-start: 1
    }
}

.\@5xl\:grid-cols-2 {
    @container (width>=64rem) {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

.\@5xl\:grid-cols-3 {
    @container (width>=64rem) {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

.\@5xl\:grid-cols-4 {
    @container (width>=64rem) {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}

.\@5xl\:grid-cols-5 {
    @container (width>=64rem) {
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }
}

.\@5xl\:grid-cols-6 {
    @container (width>=64rem) {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }
}

.\@5xl\:col-start-2 {
    @container (width>=64rem) {
        grid-column-start: 2
    }
}

.\@5xl\:col-start-3 {
    @container (width>=64rem) {
        grid-column-start: 3
    }
}

.\@5xl\:col-start-4 {
    @container (width>=64rem) {
        grid-column-start: 4
    }
}

.\@5xl\:col-start-5 {
    @container (width>=64rem) {
        grid-column-start: 5
    }
}

.\@5xl\:col-start-6 {
    @container (width>=64rem) {
        grid-column-start: 6
    }
}

.\@5xl\:col-span-1 {
    @container (width>=64rem) {
        grid-column: span 1 / span 1
    }
}

.\@5xl\:col-span-2 {
    @container (width>=64rem) {
        grid-column: span 2 / span 2
    }
}

.\@5xl\:col-span-3 {
    @container (width>=64rem) {
        grid-column: span 3 / span 3
    }
}

.\@5xl\:col-span-4 {
    @container (width>=64rem) {
        grid-column: span 4 / span 4
    }
}

.\@5xl\:ms-0 {
    @container (width>=64rem) {
        margin-inline-start: calc(var(--spacing) * 0)
    }
}

.\@5xl\:justify-self-start {
    @container (width>=64rem) {
        justify-self: start
    }
}

.\@5xl\:justify-self-end {
    @container (width>=64rem) {
        justify-self: end
    }
}

.\@5xl\:max-w-md {
    @container (width>=64rem) {
        max-width: 28rem
    }
}

.slice-fill-01 {
    background-color: var(--slice-fill-01)
}

.slice-fill-02 {
    background-color: var(--slice-fill-02)
}

.slice-fill-03 {
    background-color: var(--slice-fill-03)
}

.slice-fill-04 {
    background-color: var(--slice-fill-04)
}

.slice-fill-05 {
    background-color: var(--slice-fill-05)
}

.slice-fill-06 {
    background-color: var(--slice-fill-06)
}

.chart-stack-x {
    >:first-child {
        border-start-start-radius: 9999px;
        border-end-start-radius: 9999px
    }

    >:last-child {
        border-start-end-radius: 9999px;
        border-end-end-radius: 9999px
    }
}

.chart-stack-y {
    >:first-child {
        border-end-start-radius: .25rem;
        border-end-end-radius: .25rem
    }

    >:last-child {
        border-start-start-radius: .25rem;
        border-start-end-radius: .25rem
    }
}

.pie-donut-wrapper {
    --size: 10rem;
    --slice-01: 20;
    --slice-02: 40;
    --slice-03: 60;
    --slice-04: 80;
    --slice-05: 90;
    --slice-06: 100;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    column-gap: 2rem;

    .pie,
    .donut {
        height: var(--size);
        width: var(--size);
        border-radius: 50%;
        background: conic-gradient(var(--slice-fill-01) 0% calc(var(--slice-01) * 1%), var(--slice-fill-02) 0 calc(var(--slice-02) * 1%), var(--slice-fill-03) 0 calc(var(--slice-03) * 1%), var(--slice-fill-04) 0% calc(var(--slice-04) * 1%), var(--slice-fill-05) 0 calc(var(--slice-05) * 1%), var(--slice-fill-06) 0 calc(var(--slice-06) * 1%))
    }

    .donut {
        -webkit-mask: radial-gradient(circle closest-side, transparent 60%, black 61%);
        mask: radial-gradient(circle closest-side, transparent 60%, black 61%)
    }

    .pie+ol.legend,
    .donut+ol.legend {
        display: flex;
        flex-direction: column;
        gap: .75rem;

        li.legend-item {
            display: flex;
            gap: .75rem;
            align-items: center;
            font-size: .875rem;
            line-height: 1.25rem;
            color: var(--typography-200);

            .legend-item-dot {
                width: .75rem;
                height: .75rem;
                border-radius: 50%
            }

            &:nth-child(1) .legend-item-dot {
                background-color: var(--slice-fill-01)
            }

            &:nth-child(2) .legend-item-dot {
                background-color: var(--slice-fill-02)
            }

            &:nth-child(3) .legend-item-dot {
                background-color: var(--slice-fill-03)
            }

            &:nth-child(4) .legend-item-dot {
                background-color: var(--slice-fill-04)
            }

            &:nth-child(5) .legend-item-dot {
                background-color: var(--slice-fill-05)
            }

            &:nth-child(6) .legend-item-dot {
                background-color: var(--slice-fill-06)
            }
        }
    }
}

.circular-bar-wrapper {
    display: inline-block;
    position: relative;

    .circular-bar {
        --size: 10rem;
        --percentage-color: var(--violet-400);
        --bg-color: var(--violet-100);
        height: var(--size);
        width: var(--size);
        border-radius: 50%;
        background: conic-gradient(var(--percentage-color) calc(var(--percentage) * 1%), var(--bg-color) 0);
        -webkit-mask-image: radial-gradient(circle, transparent 40%, black 41%);
        mask-image: radial-gradient(circle, transparent 60%, black 61%);
        display: flex;
        align-items: center;
        justify-content: center
    }

    .text-wrapper {
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        gap: .125rem;
        align-items: center;
        justify-content: center;
        padding: .75rem;
        text-align: center
    }
}

@keyframes fadeIn {
    0% {
        opacity: .1
    }

    100% {
        opacity: 1
    }
}

@keyframes scaleIn {
    0% {
        opacity: .9;
        scale: .95
    }

    100% {
        opacity: 1;
        scale: 1
    }
}

@keyframes slideInFromRight {
    0% {
        transform: translateX(10%);
        opacity: 0
    }

    100% {
        transform: translateX(0);
        opacity: 1
    }
}

@keyframes slideInFromLeft {
    0% {
        transform: translateX(-10%);
        opacity: 0
    }

    100% {
        transform: translateX(0);
        opacity: 1
    }
}

.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: 150ms
}

.ease-in {
    transition-timing-function: cubic-bezier(.4, 0, 1, 1)
}

.ease-out {
    transition-timing-function: cubic-bezier(0, 0, .2, 1)
}

.ease-in-out {
    transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.animate-spin {
    animation: spin 1s linear infinite
}

.animate-ping {
    animation: ping 1s cubic-bezier(0, 0, .2, 1) infinite
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite
}

@keyframes spin {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}

@keyframes ping {

    75%,
    100% {
        transform: scale(2);
        opacity: 0
    }
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .5
    }
}

.bounce {
    text-align: center
}

.bounce>div {
    display: inline-block;
    border-radius: 9999px;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both
}

.bounce .bounce1 {
    animation-delay: -0.32s
}

.bounce .bounce2 {
    animation-delay: -0.16s
}

@keyframes sk-bouncedelay {

    0%,
    80%,
    100% {
        transform: scale(0)
    }

    40% {
        transform: scale(1)
    }
}