/* =========================================================
   ANTHOIA CUIDAR — Design System (2026-05 refresh)
   Cuidar é o produto clínico → accent Sea Teal #2E7A8C.
   Tokens canônicos em ./styles/tokens.css (mirror do design-system/).
   Esta camada mapeia vars antigas (--primary-*, --color-primary, etc)
   pros tokens novos pra não precisar refatorar 161 arquivos.
   ========================================================= */

/* =========================================================
   ANTHOIA PLATAFORMA — Design Tokens
   Single source of truth for color, type, spacing, radius.
   Generated for Claude Code handoff · 2026-05
   ========================================================= */

:root {
  /* ── BRAND CORE ─────────────────────────────────────────── */
  --anthoia-ink:        #2A2520;   /* primary anchor — chrome, type, primary buttons */
  --anthoia-ink-deep:   #15110D;
  --anthoia-ink-600:    #3D362E;
  --anthoia-ink-500:    #5A5044;
  --anthoia-ink-300:    #A89C8B;
  --anthoia-ink-100:    #E2DAC9;
  --anthoia-ink-50:     #F1ECE0;

  --champagne:          #C9B08A;   /* accent — hairlines, marks on dark, pullquote rules */
  --champagne-300:      #D3BA8E;
  --champagne-100:      #ECDFC4;
  --champagne-50:       #F6EEDF;

  --neural-blue:        #5F7F9C;   /* data chips */

  /* ── PRODUCT ACCENTS ────────────────────────────────────── */
  --reter:              #C25749;   /* Coral — Anthoia Reter (study) */
  --reter-600:          #A8463A;
  --reter-400:          #D77A6B;
  --reter-100:          #F3D8D2;
  --reter-50:           #FAECE8;
  --reter-on:           #FBF3EF;   /* text color on coral surface */

  --cuidar:             #2E7A8C;   /* Sea Teal — Anthoia Cuidar (clinic) */
  --cuidar-600:         #246270;
  --cuidar-400:         #4E9AAB;
  --cuidar-100:         #CEE3E8;
  --cuidar-50:          #E8F1F4;

  /* ── NEUTRALS — warm parchment ──────────────────────────── */
  --canvas:             #F7F4EE;   /* page canvas */
  --paper:              #FFFFFF;   /* card surface */
  --stone-50:           #F7F4EE;
  --stone-100:          #EFEAE0;
  --stone-200:          #E4DDD0;   /* divider */
  --stone-300:          #CDC4B1;
  --stone-400:          #A39A85;
  --stone-500:          #7C7361;
  --stone-700:          #46412F;

  --ink:                #1B1A14;   /* primary text */
  --ink-sub:            #4A4738;   /* secondary text */
  --ink-mute:           #7C7361;   /* tertiary text */
  --line:               #E4DDD0;

  /* ── TYPE FAMILIES ──────────────────────────────────────── */
  --font-serif:         'Kaisei HarunoUmi', 'Cormorant Garamond', Georgia, serif;
  --font-ui:            'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display:       'Onest', 'Inter', system-ui, sans-serif;
  --font-mono:          'JetBrains Mono', 'SF Mono', Consolas, monospace;

  /* ── RADII ──────────────────────────────────────────────── */
  --radius-sm:          8px;
  --radius:             10px;
  --radius-lg:          14px;
  --radius-xl:          20px;

  /* ── SPACING (4-base) ───────────────────────────────────── */
  --space-1:  4px;  --space-2:  8px;  --space-3:  12px; --space-4:  16px;
  --space-5:  20px; --space-6:  24px; --space-8:  32px; --space-10: 40px;
  --space-12: 56px; --space-16: 80px;

  /* ── ELEVATION ──────────────────────────────────────────── */
  --shadow-sm:          0 1px 2px rgba(42,37,32,0.05), 0 1px 1px rgba(42,37,32,0.04);
  --shadow:             0 4px 12px rgba(42,37,32,0.07), 0 1px 2px rgba(42,37,32,0.05);
  --shadow-lg:          0 18px 48px rgba(42,37,32,0.11), 0 2px 6px rgba(42,37,32,0.06);

  /* ── FOCUS RING ─────────────────────────────────────────── */
  --focus-ring:         0 0 0 3px rgba(42,37,32,0.14);

  /* ── ACTIVE PRODUCT (overridden by product shell) ───────── */
  --accent:             var(--anthoia-ink);
  --accent-on:          var(--canvas);
}

/* Product-scoped overrides — apply at <html data-product="reter|cuidar"> */

[data-product="reter"]  { --accent: var(--reter);  --accent-on: var(--reter-on); }

[data-product="cuidar"] { --accent: var(--cuidar); --accent-on: #FFFFFF; }

*, ::before, ::after {
  --tw-border-spacing-x:        0;
  --tw-border-spacing-y:        0;
  --tw-translate-x:        0;
  --tw-translate-y:        0;
  --tw-rotate:        0;
  --tw-skew-x:        0;
  --tw-skew-y:        0;
  --tw-scale-x:        1;
  --tw-scale-y:        1;
  --tw-pan-x:         ;
  --tw-pan-y:         ;
  --tw-pinch-zoom:         ;
  --tw-scroll-snap-strictness:        proximity;
  --tw-gradient-from-position:         ;
  --tw-gradient-via-position:         ;
  --tw-gradient-to-position:         ;
  --tw-ordinal:         ;
  --tw-slashed-zero:         ;
  --tw-numeric-figure:         ;
  --tw-numeric-spacing:         ;
  --tw-numeric-fraction:         ;
  --tw-ring-inset:         ;
  --tw-ring-offset-width:        0px;
  --tw-ring-offset-color:        #fff;
  --tw-ring-color:        rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow:        0 0 #0000;
  --tw-ring-shadow:        0 0 #0000;
  --tw-shadow:        0 0 #0000;
  --tw-shadow-colored:        0 0 #0000;
  --tw-blur:         ;
  --tw-brightness:         ;
  --tw-contrast:         ;
  --tw-grayscale:         ;
  --tw-hue-rotate:         ;
  --tw-invert:         ;
  --tw-saturate:         ;
  --tw-sepia:         ;
  --tw-drop-shadow:         ;
  --tw-backdrop-blur:         ;
  --tw-backdrop-brightness:         ;
  --tw-backdrop-contrast:         ;
  --tw-backdrop-grayscale:         ;
  --tw-backdrop-hue-rotate:         ;
  --tw-backdrop-invert:         ;
  --tw-backdrop-opacity:         ;
  --tw-backdrop-saturate:         ;
  --tw-backdrop-sepia:         ;
  --tw-contain-size:         ;
  --tw-contain-layout:         ;
  --tw-contain-paint:         ;
  --tw-contain-style:         ;
}

::backdrop {
  --tw-border-spacing-x:        0;
  --tw-border-spacing-y:        0;
  --tw-translate-x:        0;
  --tw-translate-y:        0;
  --tw-rotate:        0;
  --tw-skew-x:        0;
  --tw-skew-y:        0;
  --tw-scale-x:        1;
  --tw-scale-y:        1;
  --tw-pan-x:         ;
  --tw-pan-y:         ;
  --tw-pinch-zoom:         ;
  --tw-scroll-snap-strictness:        proximity;
  --tw-gradient-from-position:         ;
  --tw-gradient-via-position:         ;
  --tw-gradient-to-position:         ;
  --tw-ordinal:         ;
  --tw-slashed-zero:         ;
  --tw-numeric-figure:         ;
  --tw-numeric-spacing:         ;
  --tw-numeric-fraction:         ;
  --tw-ring-inset:         ;
  --tw-ring-offset-width:        0px;
  --tw-ring-offset-color:        #fff;
  --tw-ring-color:        rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow:        0 0 #0000;
  --tw-ring-shadow:        0 0 #0000;
  --tw-shadow:        0 0 #0000;
  --tw-shadow-colored:        0 0 #0000;
  --tw-blur:         ;
  --tw-brightness:         ;
  --tw-contrast:         ;
  --tw-grayscale:         ;
  --tw-hue-rotate:         ;
  --tw-invert:         ;
  --tw-saturate:         ;
  --tw-sepia:         ;
  --tw-drop-shadow:         ;
  --tw-backdrop-blur:         ;
  --tw-backdrop-brightness:         ;
  --tw-backdrop-contrast:         ;
  --tw-backdrop-grayscale:         ;
  --tw-backdrop-hue-rotate:         ;
  --tw-backdrop-invert:         ;
  --tw-backdrop-opacity:         ;
  --tw-backdrop-saturate:         ;
  --tw-backdrop-sepia:         ;
  --tw-contain-size:         ;
  --tw-contain-layout:         ;
  --tw-contain-paint:         ;
  --tw-contain-style:         ;
}

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: "JetBrains Mono", ui-monospace, SF Mono, Menlo, Consolas, monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

body {
    background-color: var(--color-bg);
    color: var(--color-text);
    -webkit-font-smoothing:        antialiased;
    -moz-osx-font-smoothing:        grayscale;
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    font-feature-settings: 'ss01', 'cv11', 'cv02';
    text-rendering: optimizeLegibility;
  }

* { box-sizing: border-box; }

/* Scrollbar (subtle, brand-aligned) */

::-webkit-scrollbar { width: 6px; height: 6px; }

::-webkit-scrollbar-track { background: transparent; }

::-webkit-scrollbar-thumb {
    background: #ddd9d1;
    border-radius: 99px;
  }

::-webkit-scrollbar-thumb:hover { background: #b8b3a9; }

.container {
  width:        100%;
}

@media (min-width: 640px) {

  .container {
    max-width:        640px;
  }
}

@media (min-width: 768px) {

  .container {
    max-width:        768px;
  }
}

@media (min-width: 1024px) {

  .container {
    max-width:        1024px;
  }
}

@media (min-width: 1280px) {

  .container {
    max-width:        1280px;
  }
}

@media (min-width: 1536px) {

  .container {
    max-width:        1536px;
  }
}

/* App shell */

.app-shell {
  display:        flex;
  height:        100vh;
  overflow:        hidden;
    background-color: var(--color-bg);
}

/* ── Sidebar ─────────────────────────────────────────── */

.sidebar {
  display:        flex;
  flex-direction:        column;
    width: var(--sidebar-width);
    flex-shrink: 0;
    background-color: var(--color-sidebar-bg);
    border-right: 1px solid var(--color-border);
}

.sidebar-logo {
  display:        flex;
  align-items:        center;
  justify-content:        center;
  padding-left:        1.25rem;
  padding-right:        1.25rem;
    height: var(--header-height);
    flex-shrink: 0;
    border-bottom: 1px solid var(--color-border);
}

.sidebar-logo-img {
  height:        1.75rem;
  width:        auto;
  flex-shrink:        0;
}

.sidebar-logo-icon {
  display:        flex;
  height:        1.75rem;
  width:        1.75rem;
  flex-shrink:        0;
  align-items:        center;
  justify-content:        center;
  border-radius:        14px;
  --tw-text-opacity:        1;
  color:        rgb(255 255 255 / var(--tw-text-opacity, 1));
    background-color: var(--color-primary);
}

.sidebar-logo-text {
  font-weight:        600;
  line-height:        1;
    color: var(--color-text);
    font-family: var(--font-serif);
    font-size: 1.1rem;
    letter-spacing: 0.01em;
}

.sidebar-nav {
  flex:        1 1 0%;
}

.sidebar-nav > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(0.125rem * var(--tw-space-y-reverse));
}

.sidebar-nav {
  overflow-y:        auto;
  padding:        0.75rem;
}

.sidebar-section-label {
  padding-left:        0.75rem;
  padding-right:        0.75rem;
  padding-top:        1rem;
  padding-bottom:        0.25rem;
  font-size:        0.75rem;
  line-height:        1rem;
  font-weight:        600;
  text-transform:        uppercase;
  letter-spacing:        0.05em;
    color: var(--color-text-muted);
}

.nav-item {
  display:        flex;
  width:        100%;
  cursor:        pointer;
  align-items:        center;
  gap:        0.625rem;
  border-radius:        10px;
  padding-left:        0.75rem;
  padding-right:        0.75rem;
  padding-top:        0.5rem;
  padding-bottom:        0.5rem;
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        500;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
    color: var(--color-text-sub);
}

.nav-item:hover {
    background-color: rgba(255, 255, 255, 0.65);
    color: var(--color-text);
  }

.nav-item.active {
    background-color: #ffffff;
    color: var(--color-primary);
    font-weight: 600;
    box-shadow: 0 1px 3px 0 rgb(15 83 54 / 0.08);
  }

.nav-item.\!active {
    background-color: #ffffff !important;
    color: var(--color-primary) !important;
    font-weight: 600 !important;
    box-shadow: 0 1px 3px 0 rgb(15 83 54 / 0.08) !important;
  }

.nav-item.active svg {
    color: var(--color-primary);
  }

.nav-item.\!active svg {
    color: var(--color-primary) !important;
  }

.sidebar-footer {
  padding:        0.75rem;
    border-top: 1px solid var(--color-border);
}

.sidebar-user {
  display:        flex;
  cursor:        pointer;
  align-items:        center;
  gap:        0.625rem;
  border-radius:        10px;
  padding-left:        0.75rem;
  padding-right:        0.75rem;
  padding-top:        0.5rem;
  padding-bottom:        0.5rem;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.sidebar-user:hover {
    background-color: rgba(255, 255, 255, 0.65);
  }

.sidebar-user-avatar {
  display:        flex;
  height:        1.75rem;
  width:        1.75rem;
  flex-shrink:        0;
  align-items:        center;
  justify-content:        center;
  border-radius:        9999px;
  font-size:        0.75rem;
  line-height:        1rem;
  font-weight:        600;
  --tw-text-opacity:        1;
  color:        rgb(255 255 255 / var(--tw-text-opacity, 1));
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);
}

.sidebar-version {
  text-align:        center;
  font-family:        "JetBrains Mono", ui-monospace, SF Mono, Menlo, Consolas, monospace;
  font-size:        0.75rem;
  line-height:        1rem;
    color: var(--color-text-muted);
}

/* ── Mobile sidebar ──────────────────────────────────── */

.sidebar-overlay {
    display: none;
  }

.sidebar-close-btn {
    display: none;
  }

/* ── Main content ─────────────────────────────────────── */

.main-content {
  display:        flex;
  min-width:        0px;
  flex:        1 1 0%;
  flex-direction:        column;
  overflow:        hidden;
}

.topbar {
  display:        flex;
  flex-shrink:        0;
  align-items:        center;
  justify-content:        space-between;
  padding-left:        1rem;
  padding-right:        1rem;
    height: var(--header-height);
    background-color: var(--color-chrome);
    border-bottom: 1px solid var(--color-border);
}

.page-container {
  flex:        1 1 0%;
  overflow-y:        auto;
  padding:        1.5rem;
}

.page-body {
  margin-left:        auto;
  margin-right:        auto;
  max-width:        1280px;
}

.page-body > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(1.5rem * var(--tw-space-y-reverse));
}

/* ── Page Header ─────────────────────────────────────── */

.page-header {
  display:        flex;
  align-items:        flex-start;
  justify-content:        space-between;
  gap:        1rem;
}

.page-header-title {
  font-size:        1.25rem;
  line-height:        1.75rem;
  font-weight:        600;
    color: var(--color-text);
}

.page-header-sub {
  margin-top:        0.125rem;
  font-size:        0.875rem;
  line-height:        1.25rem;
    color: var(--color-text-sub);
}

.page-header-actions {
  display:        flex;
  flex-shrink:        0;
  align-items:        center;
  gap:        0.5rem;
}

/* ── Card ────────────────────────────────────────────── */

.card {
  overflow:        hidden;
  border-radius:        14px;
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
}

.card-header {
  display:        flex;
  align-items:        center;
  justify-content:        space-between;
  padding-left:        1.25rem;
  padding-right:        1.25rem;
  padding-top:        1rem;
  padding-bottom:        1rem;
    border-bottom: 1px solid var(--color-border-lt);
}

.card-title {
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        600;
    color: var(--color-text);
}

.card-description {
  margin-top:        0.125rem;
  font-size:        0.75rem;
  line-height:        1rem;
    color: var(--color-text-sub);
}

.card-body {
  padding:        1.25rem;
}

.card-footer {
  display:        flex;
  align-items:        center;
  gap:        0.5rem;
  border-bottom-right-radius:        14px;
  border-bottom-left-radius:        14px;
  padding-left:        1.25rem;
  padding-right:        1.25rem;
  padding-top:        0.75rem;
  padding-bottom:        0.75rem;
    border-top: 1px solid var(--color-border-lt);
    background-color: var(--stone-25);
}

/* ── Stat Card ────────────────────────────────────────── */

.stat-card {
  overflow:        hidden;
  border-radius:        14px;
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
    padding:        1.25rem;
}

@media (max-width: 767px) {
  .stat-card {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.stat-card-label {
  font-size:        0.75rem;
  line-height:        1rem;
  font-weight:        500;
  text-transform:        uppercase;
  letter-spacing:        0.025em;
    color: var(--color-text-sub);
}

.stat-card-value {
  margin-top:        0.25rem;
  font-size:        1.5rem;
  line-height:        2rem;
  font-weight:        700;
    color: var(--color-text);
}

.stat-card-icon {
  display:        flex;
  height:        2.25rem;
  width:        2.25rem;
  flex-shrink:        0;
  align-items:        center;
  justify-content:        center;
  border-radius:        14px;
}

/* ── Button ──────────────────────────────────────────── */

.btn {
  display:        inline-flex;
  align-items:        center;
  justify-content:        center;
  gap:        0.375rem;
  border-radius:        10px;
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        500;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.btn:disabled {
  cursor:        not-allowed;
  opacity:        0.5;
}

.btn {
    height: 36px;
    padding: 0 14px;
  }

.btn-primary {
  display:        inline-flex;
  align-items:        center;
  justify-content:        center;
  gap:        0.375rem;
  border-radius:        10px;
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        500;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.btn-primary:disabled {
  cursor:        not-allowed;
  opacity:        0.5;
}

.btn-primary {
    height: 36px;
    padding: 0 14px;
    --tw-text-opacity:        1;
    color:        rgb(255 255 255 / var(--tw-text-opacity, 1));
  }

@media (max-width: 767px) {
  .btn-primary {
    min-height: 36px;
  }
}

.btn-primary {
    background-color: var(--color-primary);
  }

.btn-primary:hover:not(:disabled) {
    background-color: var(--color-primary-hover);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
  }

.btn-primary:active:not(:disabled) { background-color: var(--color-primary-active); }

.btn-secondary {
  display:        inline-flex;
  align-items:        center;
  justify-content:        center;
  gap:        0.375rem;
  border-radius:        10px;
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        500;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.btn-secondary:disabled {
  cursor:        not-allowed;
  opacity:        0.5;
}

.btn-secondary {
    height: 36px;
    padding: 0 14px;
    border-width:        1px;
  }

@media (max-width: 767px) {
  .btn-secondary {
    min-height: 36px;
  }
}

.btn-secondary {
    color: var(--color-text-sub);
    background-color: var(--color-surface);
    border-color: var(--color-border);
  }

.btn-secondary:hover:not(:disabled) {
    background-color: var(--color-bg);
    color: var(--color-text);
  }

.btn-ghost {
  display:        inline-flex;
  align-items:        center;
  justify-content:        center;
  gap:        0.375rem;
  border-radius:        10px;
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        500;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.btn-ghost:disabled {
  cursor:        not-allowed;
  opacity:        0.5;
}

.btn-ghost {
    height: 36px;
    padding: 0 14px;
  }

@media (max-width: 767px) {
  .btn-ghost {
    min-height: 36px;
  }
}

.btn-ghost {
    color: var(--color-text-sub);
  }

.btn-ghost:hover:not(:disabled) {
    background-color: var(--color-primary-lt);
    color: var(--color-primary);
  }

.btn-danger {
  display:        inline-flex;
  align-items:        center;
  justify-content:        center;
  gap:        0.375rem;
  border-radius:        10px;
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        500;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.btn-danger:disabled {
  cursor:        not-allowed;
  opacity:        0.5;
}

.btn-danger {
    height: 36px;
    padding: 0 14px;
    --tw-text-opacity:        1;
    color:        rgb(255 255 255 / var(--tw-text-opacity, 1));
  }

@media (max-width: 767px) {
  .btn-danger {
    min-height: 36px;
  }
}

.btn-danger {
    background-color: var(--color-error);
  }

.btn-danger:hover:not(:disabled) { background-color: #8a2722; }

.btn-sm {
    height: 30px;
    padding: 0 10px;
    font-size:        0.75rem;
    line-height:        1rem;
  }

.btn-icon {
  display:        inline-flex;
  align-items:        center;
  justify-content:        center;
  gap:        0.375rem;
  border-radius:        10px;
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        500;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.btn-icon:disabled {
  cursor:        not-allowed;
  opacity:        0.5;
}

.btn-icon {
    height: 36px;
    padding: 0 14px;
    width:        2.25rem;
    padding-left:        0px;
    padding-right:        0px;
  }

@media (max-width: 767px) {
  .btn-icon {
    min-height: 36px;
  }
}

/* Teal filled icon button — used for primary action (Registrar Evolução) */

.btn-icon-teal {
  display:        inline-flex;
  align-items:        center;
  justify-content:        center;
  gap:        0.375rem;
  border-radius:        10px;
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        500;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.btn-icon-teal:disabled {
  cursor:        not-allowed;
  opacity:        0.5;
}

.btn-icon-teal {
    height: 36px;
    padding: 0 14px;
    width:        2.25rem;
    padding-left:        0px;
    padding-right:        0px;
    --tw-text-opacity:        1;
    color:        rgb(255 255 255 / var(--tw-text-opacity, 1));
  }

@media (max-width: 767px) {
  .btn-icon-teal {
    min-height: 36px;
  }
}

.btn-icon-teal {
    background-color: #0d9488;
  }

.btn-icon-teal:hover:not(:disabled) { background-color: #0f766e; }

.btn-icon-teal:active:not(:disabled) { background-color: #115e59; }

/* ── Table ────────────────────────────────────────────── */

.data-table {
  width:        100%;
  font-size:        0.875rem;
  line-height:        1.25rem;
}

.data-table thead {
    border-bottom: 1px solid var(--color-border);
  }

.data-table th {
  padding-left:        1rem;
  padding-right:        1rem;
  padding-top:        0.625rem;
  padding-bottom:        0.625rem;
  text-align:        center;
  font-size:        0.75rem;
  line-height:        1rem;
  font-weight:        600;
  text-transform:        uppercase;
  letter-spacing:        0.025em;
    color: var(--color-text-sub);
}

.data-table td {
  padding-left:        1rem;
  padding-right:        1rem;
  padding-top:        0.75rem;
  padding-bottom:        0.75rem;
    color: var(--color-text-sub);
    border-bottom: 1px solid var(--color-border-lt);
}

.data-table tbody tr:last-child td { border-bottom: none; }

.data-table tbody tr:hover td {
    background-color: var(--stone-25);
  }

/* ── Badge / Chip ─────────────────────────────────────── */

.badge {
  display:        inline-flex;
  align-items:        center;
  border-radius:        9999px;
  padding-left:        0.5rem;
  padding-right:        0.5rem;
  padding-top:        0.125rem;
  padding-bottom:        0.125rem;
  font-size:        0.75rem;
  line-height:        1rem;
  font-weight:        500;
}

.badge-inactive {
  display:        inline-flex;
  align-items:        center;
  border-radius:        9999px;
  padding-left:        0.5rem;
  padding-right:        0.5rem;
  padding-top:        0.125rem;
  padding-bottom:        0.125rem;
  font-size:        0.75rem;
  line-height:        1rem;
  font-weight:        500;
}

@media (max-width: 767px) {
  .badge-inactive {
    font-size: 0.65rem;
  }
}

.badge-inactive { background: var(--color-error-bg); color: var(--color-error); }

.badge-blue {
  display:        inline-flex;
  align-items:        center;
  border-radius:        9999px;
  padding-left:        0.5rem;
  padding-right:        0.5rem;
  padding-top:        0.125rem;
  padding-bottom:        0.125rem;
  font-size:        0.75rem;
  line-height:        1rem;
  font-weight:        500;
}

@media (max-width: 767px) {
  .badge-blue {
    font-size: 0.65rem;
  }
}

.badge-blue     { background: var(--color-info-bg); color: var(--color-info); }

.badge-green {
  display:        inline-flex;
  align-items:        center;
  border-radius:        9999px;
  padding-left:        0.5rem;
  padding-right:        0.5rem;
  padding-top:        0.125rem;
  padding-bottom:        0.125rem;
  font-size:        0.75rem;
  line-height:        1rem;
  font-weight:        500;
}

@media (max-width: 767px) {
  .badge-green {
    font-size: 0.65rem;
  }
}

.badge-green    { background: var(--color-success-bg); color: var(--color-success); }

.badge-yellow {
  display:        inline-flex;
  align-items:        center;
  border-radius:        9999px;
  padding-left:        0.5rem;
  padding-right:        0.5rem;
  padding-top:        0.125rem;
  padding-bottom:        0.125rem;
  font-size:        0.75rem;
  line-height:        1rem;
  font-weight:        500;
}

@media (max-width: 767px) {
  .badge-yellow {
    font-size: 0.65rem;
  }
}

.badge-yellow   { background: var(--color-warning-bg); color: var(--color-warning); }

.badge-red {
  display:        inline-flex;
  align-items:        center;
  border-radius:        9999px;
  padding-left:        0.5rem;
  padding-right:        0.5rem;
  padding-top:        0.125rem;
  padding-bottom:        0.125rem;
  font-size:        0.75rem;
  line-height:        1rem;
  font-weight:        500;
}

@media (max-width: 767px) {
  .badge-red {
    font-size: 0.65rem;
  }
}

.badge-red      { background: var(--color-error-bg); color: var(--color-error); }

.badge-gray {
  display:        inline-flex;
  align-items:        center;
  border-radius:        9999px;
  padding-left:        0.5rem;
  padding-right:        0.5rem;
  padding-top:        0.125rem;
  padding-bottom:        0.125rem;
  font-size:        0.75rem;
  line-height:        1rem;
  font-weight:        500;
}

@media (max-width: 767px) {
  .badge-gray {
    font-size: 0.65rem;
  }
}

.badge-gray     { background: var(--stone-100); color: var(--color-text-sub); }

/* ── Alert ────────────────────────────────────────────── */

.alert {
  display:        flex;
  align-items:        flex-start;
  gap:        0.75rem;
  border-radius:        14px;
  border-width:        1px;
  padding-left:        1rem;
  padding-right:        1rem;
  padding-top:        0.75rem;
  padding-bottom:        0.75rem;
  font-size:        0.875rem;
  line-height:        1.25rem;
}

.alert-info {
  display:        flex;
  align-items:        flex-start;
  gap:        0.75rem;
  border-radius:        14px;
  border-width:        1px;
  padding-left:        1rem;
  padding-right:        1rem;
  padding-top:        0.75rem;
  padding-bottom:        0.75rem;
  font-size:        0.875rem;
  line-height:        1.25rem; background: var(--color-info-bg); border-color: var(--secondary-200); color: var(--color-info);
}

.alert-success {
  display:        flex;
  align-items:        flex-start;
  gap:        0.75rem;
  border-radius:        14px;
  border-width:        1px;
  padding-left:        1rem;
  padding-right:        1rem;
  padding-top:        0.75rem;
  padding-bottom:        0.75rem;
  font-size:        0.875rem;
  line-height:        1.25rem; background: var(--color-success-bg); border-color: var(--primary-200); color: var(--color-success);
}

.alert-warning {
  display:        flex;
  align-items:        flex-start;
  gap:        0.75rem;
  border-radius:        14px;
  border-width:        1px;
  padding-left:        1rem;
  padding-right:        1rem;
  padding-top:        0.75rem;
  padding-bottom:        0.75rem;
  font-size:        0.875rem;
  line-height:        1.25rem; background: var(--color-warning-bg); border-color: var(--accent-200); color: var(--color-warning);
}

.alert-error {
  display:        flex;
  align-items:        flex-start;
  gap:        0.75rem;
  border-radius:        14px;
  border-width:        1px;
  padding-left:        1rem;
  padding-right:        1rem;
  padding-top:        0.75rem;
  padding-bottom:        0.75rem;
  font-size:        0.875rem;
  line-height:        1.25rem; background: var(--color-error-bg); border-color: #e8b4b1; color: var(--color-error);
}

/* ── Form Controls ────────────────────────────────────── */

.form-label {
  margin-bottom:        0.25rem;
  display:        block;
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        500;
    color: var(--color-text-sub);
}

.form-input {
  width:        100%;
  border-radius:        10px;
  font-size:        0.875rem;
  line-height:        1.25rem;
  outline:        2px solid transparent;
  outline-offset:        2px;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
    padding: 8px 12px;
    color: var(--color-text);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
}

.form-input::-moz-placeholder { color: var(--color-text-muted); }

.form-input::placeholder { color: var(--color-text-muted); }

.form-input:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary-ring);
  }

.form-input:disabled {
    background-color: var(--color-bg);
    cursor: not-allowed;
    opacity: 0.6;
  }

.form-textarea {
  width:        100%;
  border-radius:        10px;
  font-size:        0.875rem;
  line-height:        1.25rem;
  outline:        2px solid transparent;
  outline-offset:        2px;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
    padding: 8px 12px;
    color: var(--color-text);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
}

.form-textarea::-moz-placeholder { color: var(--color-text-muted); }

.form-textarea::placeholder { color: var(--color-text-muted); }

.form-textarea:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary-ring);
  }

.form-textarea:disabled {
    background-color: var(--color-bg);
    cursor: not-allowed;
    opacity: 0.6;
  }

.form-textarea {
  resize:        none;
    min-height: 80px;
}

.form-select {
  width:        100%;
  border-radius:        10px;
  font-size:        0.875rem;
  line-height:        1.25rem;
  outline:        2px solid transparent;
  outline-offset:        2px;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
    padding: 8px 12px;
    color: var(--color-text);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
}

.form-select::-moz-placeholder { color: var(--color-text-muted); }

.form-select::placeholder { color: var(--color-text-muted); }

.form-select:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary-ring);
  }

.form-select:disabled {
    background-color: var(--color-bg);
    cursor: not-allowed;
    opacity: 0.6;
  }

.form-select {
  cursor:        pointer;
}

/* ── Progress Bar ─────────────────────────────────────── */

.progress-track {
  height:        0.375rem;
  width:        100%;
  overflow:        hidden;
  border-radius:        9999px;
    background-color: var(--color-border);
}

.progress-fill {
  height:        100%;
  border-radius:        9999px;
  transition-property:        all;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
    background-color: var(--color-primary);
}

/* ── Empty State ──────────────────────────────────────── */

.empty-state {
  display:        flex;
  flex-direction:        column;
  align-items:        center;
  justify-content:        center;
  padding-top:        4rem;
  padding-bottom:        4rem;
  text-align:        center;
}

.empty-state-icon {
  margin-bottom:        1rem;
  display:        flex;
  height:        3rem;
  width:        3rem;
  align-items:        center;
  justify-content:        center;
  border-radius:        9999px;
    background-color: var(--color-primary-lt);
    color: var(--color-primary);
}

.empty-state-title {
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        600;
    color: var(--color-text);
}

.empty-state-sub {
  margin-top:        0.25rem;
  font-size:        0.875rem;
  line-height:        1.25rem;
    color: var(--color-text-sub);
}

/* ── Tabs ─────────────────────────────────────────────── */

.tabs-list {
  display:        flex;
  gap:        0px;
}

.tab-trigger {
  margin-bottom:        -1px;
  border-bottom-width:        2px;
  border-color:        transparent;
  padding-left:        1rem;
  padding-right:        1rem;
  padding-top:        0.625rem;
  padding-bottom:        0.625rem;
  font-size:        0.875rem;
  line-height:        1.25rem;
  font-weight:        500;
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
    color: var(--color-text-sub);
}

.tab-trigger:hover { color: var(--color-text); }

.tab-trigger.active {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
  }

.tab-trigger.\!active {
    color: var(--color-primary) !important;
    border-bottom-color: var(--color-primary) !important;
  }

/* ── Modal / Overlay ──────────────────────────────────── */

.modal-overlay {
  position:        fixed;
  inset:        0px;
  z-index:        50;
  display:        flex;
  align-items:        center;
  justify-content:        center;
  padding:        1rem;
    background-color: rgb(13 74 50 / 0.18);
    backdrop-filter: blur(4px);
}

.modal-box {
  overflow:        hidden;
  border-radius:        14px;
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
    display:        flex;
    width:        100%;
    max-width:        32rem;
    flex-direction:        column;
}

@media (max-width: 767px) {
  .modal-box {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.modal-box {
    max-height: 90vh;
    overflow: hidden;
    border-radius: var(--radius-xl);
  }

.modal-header {
  display:        flex;
  align-items:        center;
  justify-content:        space-between;
  padding-left:        1.25rem;
  padding-right:        1.25rem;
  padding-top:        1rem;
  padding-bottom:        1rem;
    border-bottom: 1px solid var(--color-border-lt);
    flex-shrink:        0;
}

@media (max-width: 767px) {
  .modal-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.875rem 1rem;
  }
  button.modal-header {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
  }

  .modal-header form,.modal-header > :last-child {
    width: 100%;
  }

  .modal-header form input {
    width: 100%;
  }
}

.modal-header {
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
    background-color: var(--color-bg);
  }

.modal-body {
  padding:        1.25rem;
  flex:        1 1 0%;
}

.modal-body > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(1rem * var(--tw-space-y-reverse));
}

.modal-body {
  overflow-y:        auto;
}

@media (max-width: 767px) {

  .modal-body {
    padding: 0.875rem 1rem;
  }
}

.modal-footer {
  display:        flex;
  align-items:        center;
  gap:        0.5rem;
  border-bottom-right-radius:        14px;
  border-bottom-left-radius:        14px;
  padding-left:        1.25rem;
  padding-right:        1.25rem;
  padding-top:        0.75rem;
  padding-bottom:        0.75rem;
    border-top: 1px solid var(--color-border-lt);
    background-color: var(--stone-25);
    flex-shrink:        0;
    justify-content:        flex-end;
}

/* ── Accent Highlight (gold stripe) ──────────────────── */

/* ── Section Divider ──────────────────────────────────── */

.pointer-events-none {
  pointer-events:        none;
}

.visible {
  visibility:        visible;
}

.collapse {
  visibility:        collapse;
}

.fixed {
  position:        fixed;
}

.absolute {
  position:        absolute;
}

.relative {
  position:        relative;
}

.sticky {
  position:        sticky;
}

.inset-0 {
  inset:        0px;
}

.bottom-0 {
  bottom:        0px;
}

.bottom-3 {
  bottom:        0.75rem;
}

.left-0 {
  left:        0px;
}

.left-1\/2 {
  left:        50%;
}

.left-2 {
  left:        0.5rem;
}

.left-2\.5 {
  left:        0.625rem;
}

.left-3 {
  left:        0.75rem;
}

.right-0 {
  right:        0px;
}

.right-2 {
  right:        0.5rem;
}

.right-2\.5 {
  right:        0.625rem;
}

.right-3 {
  right:        0.75rem;
}

.top-0 {
  top:        0px;
}

.top-0\.5 {
  top:        0.125rem;
}

.top-1\/2 {
  top:        50%;
}

.top-2 {
  top:        0.5rem;
}

.top-2\.5 {
  top:        0.625rem;
}

.top-3 {
  top:        0.75rem;
}

.top-9 {
  top:        2.25rem;
}

.top-\[30px\] {
  top:        30px;
}

.top-full {
  top:        100%;
}

.z-10 {
  z-index:        10;
}

.z-20 {
  z-index:        20;
}

.z-30 {
  z-index:        30;
}

.z-50 {
  z-index:        50;
}

.col-span-1 {
  grid-column:        span 1 / span 1;
}

.col-span-12 {
  grid-column:        span 12 / span 12;
}

.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-8 {
  grid-column:        span 8 / span 8;
}

.col-span-9 {
  grid-column:        span 9 / span 9;
}

.-mx-1 {
  margin-left:        -0.25rem;
  margin-right:        -0.25rem;
}

.mx-0\.5 {
  margin-left:        0.125rem;
  margin-right:        0.125rem;
}

.mx-1 {
  margin-left:        0.25rem;
  margin-right:        0.25rem;
}

.mx-4 {
  margin-left:        1rem;
  margin-right:        1rem;
}

.mx-6 {
  margin-left:        1.5rem;
  margin-right:        1.5rem;
}

.mx-auto {
  margin-left:        auto;
  margin-right:        auto;
}

.my-1 {
  margin-top:        0.25rem;
  margin-bottom:        0.25rem;
}

.my-2 {
  margin-top:        0.5rem;
  margin-bottom:        0.5rem;
}

.my-8 {
  margin-top:        2rem;
  margin-bottom:        2rem;
}

.-mt-0\.5 {
  margin-top:        -0.125rem;
}

.-mt-2 {
  margin-top:        -0.5rem;
}

.mb-0 {
  margin-bottom:        0px;
}

.mb-0\.5 {
  margin-bottom:        0.125rem;
}

.mb-1 {
  margin-bottom:        0.25rem;
}

.mb-1\.5 {
  margin-bottom:        0.375rem;
}

.mb-2 {
  margin-bottom:        0.5rem;
}

.mb-2\.5 {
  margin-bottom:        0.625rem;
}

.mb-3 {
  margin-bottom:        0.75rem;
}

.mb-4 {
  margin-bottom:        1rem;
}

.mb-5 {
  margin-bottom:        1.25rem;
}

.mb-6 {
  margin-bottom:        1.5rem;
}

.ml-0\.5 {
  margin-left:        0.125rem;
}

.ml-1 {
  margin-left:        0.25rem;
}

.ml-1\.5 {
  margin-left:        0.375rem;
}

.ml-14 {
  margin-left:        3.5rem;
}

.ml-2 {
  margin-left:        0.5rem;
}

.ml-3 {
  margin-left:        0.75rem;
}

.ml-5 {
  margin-left:        1.25rem;
}

.ml-6 {
  margin-left:        1.5rem;
}

.ml-7 {
  margin-left:        1.75rem;
}

.ml-auto {
  margin-left:        auto;
}

.mr-1 {
  margin-right:        0.25rem;
}

.mr-1\.5 {
  margin-right:        0.375rem;
}

.mr-2 {
  margin-right:        0.5rem;
}

.mr-auto {
  margin-right:        auto;
}

.mt-0\.5 {
  margin-top:        0.125rem;
}

.mt-1 {
  margin-top:        0.25rem;
}

.mt-1\.5 {
  margin-top:        0.375rem;
}

.mt-2 {
  margin-top:        0.5rem;
}

.mt-2\.5 {
  margin-top:        0.625rem;
}

.mt-3 {
  margin-top:        0.75rem;
}

.mt-4 {
  margin-top:        1rem;
}

.mt-5 {
  margin-top:        1.25rem;
}

.mt-6 {
  margin-top:        1.5rem;
}

.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;
}

.block {
  display:        block;
}

.inline-block {
  display:        inline-block;
}

.inline {
  display:        inline;
}

.flex {
  display:        flex;
}

.inline-flex {
  display:        inline-flex;
}

.table {
  display:        table;
}

.grid {
  display:        grid;
}

.hidden {
  display:        none;
}

.h-1 {
  height:        0.25rem;
}

.h-1\.5 {
  height:        0.375rem;
}

.h-10 {
  height:        2.5rem;
}

.h-12 {
  height:        3rem;
}

.h-14 {
  height:        3.5rem;
}

.h-16 {
  height:        4rem;
}

.h-2 {
  height:        0.5rem;
}

.h-2\.5 {
  height:        0.625rem;
}

.h-20 {
  height:        5rem;
}

.h-3 {
  height:        0.75rem;
}

.h-3\.5 {
  height:        0.875rem;
}

.h-32 {
  height:        8rem;
}

.h-4 {
  height:        1rem;
}

.h-5 {
  height:        1.25rem;
}

.h-6 {
  height:        1.5rem;
}

.h-7 {
  height:        1.75rem;
}

.h-8 {
  height:        2rem;
}

.h-9 {
  height:        2.25rem;
}

.h-auto {
  height:        auto;
}

.h-full {
  height:        100%;
}

.h-px {
  height:        1px;
}

.h-screen {
  height:        100vh;
}

.max-h-12 {
  max-height:        3rem;
}

.max-h-32 {
  max-height:        8rem;
}

.max-h-36 {
  max-height:        9rem;
}

.max-h-40 {
  max-height:        10rem;
}

.max-h-48 {
  max-height:        12rem;
}

.max-h-52 {
  max-height:        13rem;
}

.max-h-56 {
  max-height:        14rem;
}

.max-h-64 {
  max-height:        16rem;
}

.max-h-80 {
  max-height:        20rem;
}

.max-h-\[85vh\] {
  max-height:        85vh;
}

.min-h-0 {
  min-height:        0px;
}

.min-h-\[20px\] {
  min-height:        20px;
}

.min-h-\[600px\] {
  min-height:        600px;
}

.min-h-\[72px\] {
  min-height:        72px;
}

.min-h-\[8rem\] {
  min-height:        8rem;
}

.min-h-\[96px\] {
  min-height:        96px;
}

.min-h-screen {
  min-height:        100vh;
}

.w-1 {
  width:        0.25rem;
}

.w-1\.5 {
  width:        0.375rem;
}

.w-10 {
  width:        2.5rem;
}

.w-11 {
  width:        2.75rem;
}

.w-12 {
  width:        3rem;
}

.w-14 {
  width:        3.5rem;
}

.w-16 {
  width:        4rem;
}

.w-2 {
  width:        0.5rem;
}

.w-2\.5 {
  width:        0.625rem;
}

.w-20 {
  width:        5rem;
}

.w-24 {
  width:        6rem;
}

.w-28 {
  width:        7rem;
}

.w-3 {
  width:        0.75rem;
}

.w-3\.5 {
  width:        0.875rem;
}

.w-32 {
  width:        8rem;
}

.w-36 {
  width:        9rem;
}

.w-4 {
  width:        1rem;
}

.w-40 {
  width:        10rem;
}

.w-44 {
  width:        11rem;
}

.w-5 {
  width:        1.25rem;
}

.w-56 {
  width:        14rem;
}

.w-6 {
  width:        1.5rem;
}

.w-64 {
  width:        16rem;
}

.w-7 {
  width:        1.75rem;
}

.w-8 {
  width:        2rem;
}

.w-9 {
  width:        2.25rem;
}

.w-full {
  width:        100%;
}

.w-px {
  width:        1px;
}

.min-w-0 {
  min-width:        0px;
}

.min-w-24 {
  min-width:        6rem;
}

.min-w-32 {
  min-width:        8rem;
}

.min-w-48 {
  min-width:        12rem;
}

.min-w-\[160px\] {
  min-width:        160px;
}

.min-w-\[180px\] {
  min-width:        180px;
}

.min-w-\[200px\] {
  min-width:        200px;
}

.min-w-\[60px\] {
  min-width:        60px;
}

.max-w-2xl {
  max-width:        42rem;
}

.max-w-3xl {
  max-width:        48rem;
}

.max-w-4xl {
  max-width:        56rem;
}

.max-w-5xl {
  max-width:        64rem;
}

.max-w-\[100px\] {
  max-width:        100px;
}

.max-w-\[130px\] {
  max-width:        130px;
}

.max-w-\[140px\] {
  max-width:        140px;
}

.max-w-\[160px\] {
  max-width:        160px;
}

.max-w-\[180px\] {
  max-width:        180px;
}

.max-w-\[200px\] {
  max-width:        200px;
}

.max-w-\[220px\] {
  max-width:        220px;
}

.max-w-\[75\%\] {
  max-width:        75%;
}

.max-w-lg {
  max-width:        32rem;
}

.max-w-md {
  max-width:        28rem;
}

.max-w-sm {
  max-width:        24rem;
}

.max-w-xl {
  max-width:        36rem;
}

.max-w-xs {
  max-width:        20rem;
}

.flex-1 {
  flex:        1 1 0%;
}

.flex-none {
  flex:        none;
}

.flex-shrink {
  flex-shrink:        1;
}

.flex-shrink-0 {
  flex-shrink:        0;
}

.shrink-0 {
  flex-shrink:        0;
}

.border-collapse {
  border-collapse:        collapse;
}

.-translate-y-1\/2 {
  --tw-translate-y:        -50%;
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-0 {
  --tw-translate-x:        0px;
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-5 {
  --tw-translate-x:        1.25rem;
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-rotate-90 {
  --tw-rotate:        -90deg;
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-180 {
  --tw-rotate:        180deg;
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-90 {
  --tw-rotate:        90deg;
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-110 {
  --tw-scale-x:        1.1;
  --tw-scale-y:        1.1;
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-125 {
  --tw-scale-x:        1.25;
  --tw-scale-y:        1.25;
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes pulse {

  50% {
    opacity:        .5;
  }
}

.animate-pulse {
  animation:        pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes spin {

  to {
    transform:        rotate(360deg);
  }
}

.animate-spin {
  animation:        spin 1s linear infinite;
}

.cursor-col-resize {
  cursor:        col-resize;
}

.cursor-grab {
  cursor:        grab;
}

.cursor-not-allowed {
  cursor:        not-allowed;
}

.cursor-pointer {
  cursor:        pointer;
}

.select-none {
  -webkit-user-select:        none;
     -moz-user-select:        none;
          user-select:        none;
}

.select-all {
  -webkit-user-select:        all;
     -moz-user-select:        all;
          user-select:        all;
}

.resize-none {
  resize:        none;
}

.resize-y {
  resize:        vertical;
}

.resize {
  resize:        both;
}

.list-inside {
  list-style-position:        inside;
}

.list-decimal {
  list-style-type:        decimal;
}

.list-disc {
  list-style-type:        disc;
}

.list-none {
  list-style-type:        none;
}

.appearance-none {
  -webkit-appearance:        none;
     -moz-appearance:        none;
          appearance:        none;
}

.grid-cols-1 {
  grid-template-columns:        repeat(1, minmax(0, 1fr));
}

.grid-cols-12 {
  grid-template-columns:        repeat(12, 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));
}

.grid-cols-\[1fr_auto\] {
  grid-template-columns:        1fr auto;
}

.flex-col {
  flex-direction:        column;
}

.flex-wrap {
  flex-wrap:        wrap;
}

.items-start {
  align-items:        flex-start;
}

.items-end {
  align-items:        flex-end;
}

.items-center {
  align-items:        center;
}

.items-baseline {
  align-items:        baseline;
}

.items-stretch {
  align-items:        stretch;
}

.justify-start {
  justify-content:        flex-start;
}

.justify-end {
  justify-content:        flex-end;
}

.justify-center {
  justify-content:        center;
}

.justify-between {
  justify-content:        space-between;
}

.gap-0 {
  gap:        0px;
}

.gap-0\.5 {
  gap:        0.125rem;
}

.gap-1 {
  gap:        0.25rem;
}

.gap-1\.5 {
  gap:        0.375rem;
}

.gap-2 {
  gap:        0.5rem;
}

.gap-2\.5 {
  gap:        0.625rem;
}

.gap-3 {
  gap:        0.75rem;
}

.gap-4 {
  gap:        1rem;
}

.gap-5 {
  gap:        1.25rem;
}

.gap-6 {
  gap:        1.5rem;
}

.gap-8 {
  gap:        2rem;
}

.gap-x-2 {
  -moz-column-gap:        0.5rem;
       column-gap:        0.5rem;
}

.gap-x-3 {
  -moz-column-gap:        0.75rem;
       column-gap:        0.75rem;
}

.gap-x-4 {
  -moz-column-gap:        1rem;
       column-gap:        1rem;
}

.gap-x-6 {
  -moz-column-gap:        1.5rem;
       column-gap:        1.5rem;
}

.gap-y-0\.5 {
  row-gap:        0.125rem;
}

.gap-y-1 {
  row-gap:        0.25rem;
}

.gap-y-2 {
  row-gap:        0.5rem;
}

.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(0.125rem * var(--tw-space-y-reverse));
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(0.375rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(0.5rem * var(--tw-space-y-reverse));
}

.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(0.625rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(1rem * var(--tw-space-y-reverse));
}

.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(1.25rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse:        0;
  margin-top:        calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:        calc(2rem * var(--tw-space-y-reverse));
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse:        0;
  border-top-width:        calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width:        calc(1px * var(--tw-divide-y-reverse));
}

.divide-\[var\(--stone-50\)\] > :not([hidden]) ~ :not([hidden]) {
  border-color:        var(--stone-50);
}

.self-start {
  align-self:        flex-start;
}

.self-center {
  align-self:        center;
}

.overflow-auto {
  overflow:        auto;
}

.overflow-hidden {
  overflow:        hidden;
}

.overflow-x-auto {
  overflow-x:        auto;
}

.overflow-y-auto {
  overflow-y:        auto;
}

.truncate {
  overflow:        hidden;
  text-overflow:        ellipsis;
  white-space:        nowrap;
}

.whitespace-nowrap {
  white-space:        nowrap;
}

.whitespace-pre-wrap {
  white-space:        pre-wrap;
}

.break-all {
  word-break:        break-all;
}

.rounded {
  border-radius:        10px;
}

.rounded-2xl {
  border-radius:        24px;
}

.rounded-\[var\(--radius\)\] {
  border-radius:        var(--radius);
}

.rounded-full {
  border-radius:        9999px;
}

.rounded-lg {
  border-radius:        14px;
}

.rounded-md {
  border-radius:        10px;
}

.rounded-sm {
  border-radius:        8px;
}

.rounded-xl {
  border-radius:        18px;
}

.rounded-b-xl {
  border-bottom-right-radius:        18px;
  border-bottom-left-radius:        18px;
}

.rounded-l-full {
  border-top-left-radius:        9999px;
  border-bottom-left-radius:        9999px;
}

.rounded-l-lg {
  border-top-left-radius:        14px;
  border-bottom-left-radius:        14px;
}

.rounded-r-full {
  border-top-right-radius:        9999px;
  border-bottom-right-radius:        9999px;
}

.rounded-t-xl {
  border-top-left-radius:        18px;
  border-top-right-radius:        18px;
}

.border {
  border-width:        1px;
}

.border-0 {
  border-width:        0px;
}

.border-2 {
  border-width:        2px;
}

.border-y {
  border-top-width:        1px;
  border-bottom-width:        1px;
}

.border-b {
  border-bottom-width:        1px;
}

.border-b-2 {
  border-bottom-width:        2px;
}

.border-l {
  border-left-width:        1px;
}

.border-l-2 {
  border-left-width:        2px;
}

.border-r {
  border-right-width:        1px;
}

.border-t {
  border-top-width:        1px;
}

.border-dashed {
  border-style:        dashed;
}

.\!border-transparent {
  border-color:        transparent !important;
}

.border-\[color\:var\(--color-border\)\] {
  border-color:        var(--color-border);
}

.border-\[color\:var\(--color-primary\)\] {
  border-color:        var(--color-primary);
}

.border-\[var\(--color-border\)\] {
  border-color:        var(--color-border);
}

.border-\[var\(--color-info\)\] {
  border-color:        var(--color-info);
}

.border-\[var\(--color-primary\)\] {
  border-color:        var(--color-primary);
}

.border-\[var\(--color-success\)\] {
  border-color:        var(--color-success);
}

.border-current {
  border-color:        currentColor;
}

.border-primary-600 {
  --tw-border-opacity:        1;
  border-color:        rgb(36 98 112 / var(--tw-border-opacity, 1));
}

.border-transparent {
  border-color:        transparent;
}

.border-white\/50 {
  border-color:        rgb(255 255 255 / 0.5);
}

.border-t-transparent {
  border-top-color:        transparent;
}

.\!bg-transparent {
  background-color:        transparent !important;
}

.bg-\[var\(--color-error-bg\)\] {
  background-color:        var(--color-error-bg);
}

.bg-\[var\(--color-info-bg\)\] {
  background-color:        var(--color-info-bg);
}

.bg-\[var\(--color-primary-lt\)\] {
  background-color:        var(--color-primary-lt);
}

.bg-\[var\(--color-success-bg\)\] {
  background-color:        var(--color-success-bg);
}

.bg-\[var\(--color-warning-bg\)\] {
  background-color:        var(--color-warning-bg);
}

.bg-\[var\(--primary-50\)\] {
  background-color:        var(--primary-50);
}

.bg-\[var\(--secondary-50\)\] {
  background-color:        var(--secondary-50);
}

.bg-\[var\(--stone-100\)\] {
  background-color:        var(--stone-100);
}

.bg-\[var\(--stone-25\)\] {
  background-color:        var(--stone-25);
}

.bg-\[var\(--stone-50\)\] {
  background-color:        var(--stone-50);
}

.bg-black\/40 {
  background-color:        rgb(0 0 0 / 0.4);
}

.bg-primary-50 {
  --tw-bg-opacity:        1;
  background-color:        rgb(232 241 244 / var(--tw-bg-opacity, 1));
}

.bg-transparent {
  background-color:        transparent;
}

.bg-white {
  --tw-bg-opacity:        1;
  background-color:        rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-white\/70 {
  background-color:        rgb(255 255 255 / 0.7);
}

.bg-gradient-to-b {
  background-image:        linear-gradient(to bottom, var(--tw-gradient-stops));
}

.from-\[var\(--color-primary-lt\)\] {
  --tw-gradient-from:        var(--color-primary-lt) var(--tw-gradient-from-position);
  --tw-gradient-to:        rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops:        var(--tw-gradient-from), var(--tw-gradient-to);
}

.to-\[var\(--color-surface\)\] {
  --tw-gradient-to:        var(--color-surface) var(--tw-gradient-to-position);
}

.object-contain {
  -o-object-fit:        contain;
     object-fit:        contain;
}

.object-cover {
  -o-object-fit:        cover;
     object-fit:        cover;
}

.p-0 {
  padding:        0px;
}

.p-0\.5 {
  padding:        0.125rem;
}

.p-1 {
  padding:        0.25rem;
}

.p-1\.5 {
  padding:        0.375rem;
}

.p-2 {
  padding:        0.5rem;
}

.p-2\.5 {
  padding:        0.625rem;
}

.p-3 {
  padding:        0.75rem;
}

.p-3\.5 {
  padding:        0.875rem;
}

.p-4 {
  padding:        1rem;
}

.p-5 {
  padding:        1.25rem;
}

.p-6 {
  padding:        1.5rem;
}

.p-8 {
  padding:        2rem;
}

.px-0\.5 {
  padding-left:        0.125rem;
  padding-right:        0.125rem;
}

.px-1 {
  padding-left:        0.25rem;
  padding-right:        0.25rem;
}

.px-1\.5 {
  padding-left:        0.375rem;
  padding-right:        0.375rem;
}

.px-2 {
  padding-left:        0.5rem;
  padding-right:        0.5rem;
}

.px-2\.5 {
  padding-left:        0.625rem;
  padding-right:        0.625rem;
}

.px-3 {
  padding-left:        0.75rem;
  padding-right:        0.75rem;
}

.px-4 {
  padding-left:        1rem;
  padding-right:        1rem;
}

.px-5 {
  padding-left:        1.25rem;
  padding-right:        1.25rem;
}

.px-6 {
  padding-left:        1.5rem;
  padding-right:        1.5rem;
}

.px-8 {
  padding-left:        2rem;
  padding-right:        2rem;
}

.py-0 {
  padding-top:        0px;
  padding-bottom:        0px;
}

.py-0\.5 {
  padding-top:        0.125rem;
  padding-bottom:        0.125rem;
}

.py-1 {
  padding-top:        0.25rem;
  padding-bottom:        0.25rem;
}

.py-1\.5 {
  padding-top:        0.375rem;
  padding-bottom:        0.375rem;
}

.py-10 {
  padding-top:        2.5rem;
  padding-bottom:        2.5rem;
}

.py-12 {
  padding-top:        3rem;
  padding-bottom:        3rem;
}

.py-16 {
  padding-top:        4rem;
  padding-bottom:        4rem;
}

.py-2 {
  padding-top:        0.5rem;
  padding-bottom:        0.5rem;
}

.py-2\.5 {
  padding-top:        0.625rem;
  padding-bottom:        0.625rem;
}

.py-20 {
  padding-top:        5rem;
  padding-bottom:        5rem;
}

.py-24 {
  padding-top:        6rem;
  padding-bottom:        6rem;
}

.py-3 {
  padding-top:        0.75rem;
  padding-bottom:        0.75rem;
}

.py-3\.5 {
  padding-top:        0.875rem;
  padding-bottom:        0.875rem;
}

.py-32 {
  padding-top:        8rem;
  padding-bottom:        8rem;
}

.py-4 {
  padding-top:        1rem;
  padding-bottom:        1rem;
}

.py-5 {
  padding-top:        1.25rem;
  padding-bottom:        1.25rem;
}

.py-6 {
  padding-top:        1.5rem;
  padding-bottom:        1.5rem;
}

.py-8 {
  padding-top:        2rem;
  padding-bottom:        2rem;
}

.pb-1 {
  padding-bottom:        0.25rem;
}

.pb-2 {
  padding-bottom:        0.5rem;
}

.pb-2\.5 {
  padding-bottom:        0.625rem;
}

.pb-3 {
  padding-bottom:        0.75rem;
}

.pb-4 {
  padding-bottom:        1rem;
}

.pb-5 {
  padding-bottom:        1.25rem;
}

.pb-6 {
  padding-bottom:        1.5rem;
}

.pl-1 {
  padding-left:        0.25rem;
}

.pl-2 {
  padding-left:        0.5rem;
}

.pl-2\.5 {
  padding-left:        0.625rem;
}

.pl-7 {
  padding-left:        1.75rem;
}

.pl-8 {
  padding-left:        2rem;
}

.pl-9 {
  padding-left:        2.25rem;
}

.pr-1 {
  padding-right:        0.25rem;
}

.pr-2 {
  padding-right:        0.5rem;
}

.pr-3 {
  padding-right:        0.75rem;
}

.pr-4 {
  padding-right:        1rem;
}

.pr-7 {
  padding-right:        1.75rem;
}

.pr-8 {
  padding-right:        2rem;
}

.pr-9 {
  padding-right:        2.25rem;
}

.pt-0 {
  padding-top:        0px;
}

.pt-0\.5 {
  padding-top:        0.125rem;
}

.pt-1 {
  padding-top:        0.25rem;
}

.pt-1\.5 {
  padding-top:        0.375rem;
}

.pt-12 {
  padding-top:        3rem;
}

.pt-2 {
  padding-top:        0.5rem;
}

.pt-2\.5 {
  padding-top:        0.625rem;
}

.pt-3 {
  padding-top:        0.75rem;
}

.pt-4 {
  padding-top:        1rem;
}

.pt-5 {
  padding-top:        1.25rem;
}

.text-left {
  text-align:        left;
}

.text-center {
  text-align:        center;
}

.text-right {
  text-align:        right;
}

.align-top {
  vertical-align:        top;
}

.align-middle {
  vertical-align:        middle;
}

.font-mono {
  font-family:        "JetBrains Mono", ui-monospace, SF Mono, Menlo, Consolas, monospace;
}

.text-2xl {
  font-size:        1.5rem;
  line-height:        2rem;
}

.text-3xl {
  font-size:        1.875rem;
  line-height:        2.25rem;
}

.text-\[10\.5px\] {
  font-size:        10.5px;
}

.text-\[10px\] {
  font-size:        10px;
}

.text-\[11px\] {
  font-size:        11px;
}

.text-\[12px\] {
  font-size:        12px;
}

.text-\[13px\] {
  font-size:        13px;
}

.text-\[14px\] {
  font-size:        14px;
}

.text-\[8px\] {
  font-size:        8px;
}

.text-\[9px\] {
  font-size:        9px;
}

.text-base {
  font-size:        1rem;
  line-height:        1.5rem;
}

.text-lg {
  font-size:        1.125rem;
  line-height:        1.75rem;
}

.text-sm {
  font-size:        0.875rem;
  line-height:        1.25rem;
}

.text-xl {
  font-size:        1.25rem;
  line-height:        1.75rem;
}

.text-xs {
  font-size:        0.75rem;
  line-height:        1rem;
}

.font-black {
  font-weight:        900;
}

.font-bold {
  font-weight:        700;
}

.font-medium {
  font-weight:        500;
}

.font-normal {
  font-weight:        400;
}

.font-semibold {
  font-weight:        600;
}

.uppercase {
  text-transform:        uppercase;
}

.lowercase {
  text-transform:        lowercase;
}

.capitalize {
  text-transform:        capitalize;
}

.normal-case {
  text-transform:        none;
}

.italic {
  font-style:        italic;
}

.tabular-nums {
  --tw-numeric-spacing:        tabular-nums;
  font-variant-numeric:        var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.leading-none {
  line-height:        1;
}

.leading-relaxed {
  line-height:        1.625;
}

.leading-snug {
  line-height:        1.375;
}

.leading-tight {
  line-height:        1.25;
}

.tracking-wide {
  letter-spacing:        0.025em;
}

.tracking-wider {
  letter-spacing:        0.05em;
}

.tracking-widest {
  letter-spacing:        0.1em;
}

.text-\[color\:var\(--color-error\)\] {
  color:        var(--color-error);
}

.text-\[color\:var\(--color-info\)\] {
  color:        var(--color-info);
}

.text-\[color\:var\(--color-primary\)\] {
  color:        var(--color-primary);
}

.text-\[color\:var\(--color-secondary\)\] {
  color:        var(--color-secondary);
}

.text-\[color\:var\(--color-success\)\] {
  color:        var(--color-success);
}

.text-\[color\:var\(--color-text\)\] {
  color:        var(--color-text);
}

.text-\[color\:var\(--color-text-muted\)\] {
  color:        var(--color-text-muted);
}

.text-\[color\:var\(--color-warning\)\] {
  color:        var(--color-warning);
}

.text-\[var\(--color-success\)\] {
  color:        var(--color-success);
}

.text-\[var\(--color-text-muted\)\] {
  color:        var(--color-text-muted);
}

.text-\[var\(--color-warning\)\] {
  color:        var(--color-warning);
}

.text-\[var\(--primary-700\)\] {
  color:        var(--primary-700);
}

.text-white {
  --tw-text-opacity:        1;
  color:        rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.underline {
  text-decoration-line:        underline;
}

.line-through {
  text-decoration-line:        line-through;
}

.accent-cuidar {
  accent-color:        #2E7A8C;
}

.accent-reter {
  accent-color:        #C25749;
}

.opacity-0 {
  opacity:        0;
}

.opacity-30 {
  opacity:        0.3;
}

.opacity-35 {
  opacity:        0.35;
}

.opacity-40 {
  opacity:        0.4;
}

.opacity-50 {
  opacity:        0.5;
}

.opacity-55 {
  opacity:        0.55;
}

.opacity-60 {
  opacity:        0.6;
}

.opacity-75 {
  opacity:        0.75;
}

.opacity-80 {
  opacity:        0.8;
}

.\!shadow-none {
  --tw-shadow:        0 0 #0000 !important;
  --tw-shadow-colored:        0 0 #0000 !important;
  box-shadow:        var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.shadow {
  --tw-shadow:        0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored:        0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow:        var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-2xl {
  --tw-shadow:        0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored:        0 25px 50px -12px var(--tw-shadow-color);
  box-shadow:        var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow:        0 6px 12px -4px rgba(42,37,32,0.10), 0 16px 28px -12px rgba(42,37,32,0.12);
  --tw-shadow-colored:        0 6px 12px -4px var(--tw-shadow-color), 0 16px 28px -12px var(--tw-shadow-color);
  box-shadow:        var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-md {
  --tw-shadow:        0 2px 4px -1px rgba(42,37,32,0.08), 0 4px 10px -4px rgba(42,37,32,0.08);
  --tw-shadow-colored:        0 2px 4px -1px var(--tw-shadow-color), 0 4px 10px -4px var(--tw-shadow-color);
  box-shadow:        var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-sm {
  --tw-shadow:        0 1px 2px 0 rgba(42,37,32,0.06), 0 1px 3px -1px rgba(42,37,32,0.05);
  --tw-shadow-colored:        0 1px 2px 0 var(--tw-shadow-color), 0 1px 3px -1px var(--tw-shadow-color);
  box-shadow:        var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-xl {
  --tw-shadow:        0 10px 20px -6px rgba(42,37,32,0.12), 0 28px 48px -20px rgba(42,37,32,0.18);
  --tw-shadow-colored:        0 10px 20px -6px var(--tw-shadow-color), 0 28px 48px -20px var(--tw-shadow-color);
  box-shadow:        var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.outline-none {
  outline:        2px solid transparent;
  outline-offset:        2px;
}

.outline {
  outline-style:        solid;
}

.ring {
  --tw-ring-offset-shadow:        var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow:        var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow:        var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-0 {
  --tw-ring-offset-shadow:        var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow:        var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow:        var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-1 {
  --tw-ring-offset-shadow:        var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow:        var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow:        var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-2 {
  --tw-ring-offset-shadow:        var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow:        var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow:        var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-\[var\(--color-border\)\] {
  --tw-ring-color:        var(--color-border);
}

.ring-\[var\(--color-error\)\] {
  --tw-ring-color:        var(--color-error);
}

.ring-offset-1 {
  --tw-ring-offset-width:        1px;
}

.blur {
  --tw-blur:        blur(8px);
  filter:        var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow {
  --tw-drop-shadow:        drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter:        var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter:        var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-blur-md {
  --tw-backdrop-blur:        blur(12px);
  backdrop-filter:        var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-filter {
  backdrop-filter:        var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition {
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.transition-all {
  transition-property:        all;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.transition-colors {
  transition-property:        color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.transition-opacity {
  transition-property:        opacity;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.transition-shadow {
  transition-property:        box-shadow;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.transition-transform {
  transition-property:        transform;
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:        150ms;
}

.duration-200 {
  transition-duration:        200ms;
}

.duration-300 {
  transition-duration:        300ms;
}

.ease-in-out {
  transition-timing-function:        cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out {
  transition-timing-function:        cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── Webfonts ──────────────────────────────────────────── */

@font-face {
  font-family: 'Kaisei HarunoUmi';
  src: url('/fonts/KaiseiHarunoUmi-Regular.ttf') format('truetype');
  font-weight: 400; font-style: normal; font-display: swap;
}

@font-face {
  font-family: 'Kaisei HarunoUmi';
  src: url('/fonts/KaiseiHarunoUmi-Medium.ttf') format('truetype');
  font-weight: 500; font-style: normal; font-display: swap;
}

@font-face {
  font-family: 'Kaisei HarunoUmi';
  src: url('/fonts/KaiseiHarunoUmi-Bold.ttf') format('truetype');
  font-weight: 700; font-style: normal; font-display: swap;
}

/* Onest (product wordmark) + JetBrains Mono (eyebrows) via Google */

/* ── Override: este app é Cuidar; força accent Sea Teal ─── */

:root,
[data-product="cuidar"] {
  --accent:     var(--cuidar);
  --accent-on:  #FFFFFF;
}

/* ── Aliases pros nomes antigos (vars legadas) ─────────── */

:root {
  /* ── BRAND CORE ──────────────────────────────────────── */
  --brand-primary:   var(--cuidar);
  --brand-accent:    var(--champagne);
  --brand-secondary: var(--neural-blue);

  /* ── PRIMARY SCALE — agora Sea Teal (Cuidar) ─────────── */
  --primary-25:  var(--cuidar-50);
  --primary-50:  var(--cuidar-50);
  --primary-100: var(--cuidar-100);
  --primary-200: var(--cuidar-100);
  --primary-300: var(--cuidar-400);
  --primary-400: var(--cuidar-400);
  --primary-500: var(--cuidar);
  --primary-600: var(--cuidar-600);
  --primary-700: var(--cuidar);
  --primary-800: var(--cuidar-600);
  --primary-900: #1a4d5a;
  --primary-950: #102e36;

  /* ── ACCENT SCALE — Champagne (igual) ────────────────── */
  --accent-25:  var(--champagne-50);
  --accent-50:  var(--champagne-50);
  --accent-100: var(--champagne-100);
  --accent-200: var(--champagne-100);
  --accent-300: var(--champagne-300);
  --accent-400: var(--champagne);
  --accent-500: var(--champagne-300);
  --accent-600: #927b56;
  --accent-700: #725f41;
  --accent-800: #55472f;
  --accent-900: #3a311f;

  /* ── SECONDARY SCALE — Neural Blue (preservada) ──────── */
  --secondary-25:  #f5f8fb;
  --secondary-50:  #eaf1f6;
  --secondary-100: #d4e2eb;
  --secondary-200: #adc5d6;
  --secondary-300: #85a7bf;
  --secondary-400: #6f93ae;
  --secondary-500: var(--neural-blue);
  --secondary-600: #4c677f;
  --secondary-700: #3d5367;
  --secondary-800: #2d3e4d;
  --secondary-900: #1d2833;

  /* ── SURFACE / NEUTRAL — alias pros stone novos ──────── */
  /* stone-50/100/200/300/400/500/700 já vêm de tokens.css */
  --stone-25:  var(--canvas);
  --stone-600: #6c6453;
  --stone-800: #36322a;
  --stone-900: var(--ink);

  /* ── SEMANTIC SURFACE / TEXT ──────────────────────────── */
  --color-bg:         var(--canvas);
  --color-bg-sunken:  var(--stone-100);
  --color-chrome:     var(--canvas);
  --color-sidebar-bg: var(--canvas);
  --color-surface:    var(--paper);
  --color-surface-2:  var(--stone-50);
  --color-overlay:    rgba(42,37,32,0.22);

  --color-border:        var(--line);
  --color-border-lt:     var(--stone-100);
  --color-border-strong: var(--stone-300);

  --color-text:       var(--ink);
  --color-text-sub:   var(--ink-sub);
  --color-text-muted: var(--ink-mute);
  --color-text-faint: var(--stone-400);
  --color-text-on-primary: #FFFFFF;
  --color-text-on-accent:  var(--ink);

  --color-primary:        var(--cuidar);
  --color-primary-hover:  var(--cuidar-600);
  --color-primary-active: var(--cuidar-600);
  --color-primary-lt:     var(--cuidar-50);
  --color-primary-ring:   rgba(46,122,140,0.22);

  --color-accent:         var(--champagne);
  --color-accent-hover:   var(--champagne-300);
  --color-accent-lt:      var(--champagne-50);
  --color-accent-ring:    rgba(201,176,138,0.32);

  --color-secondary:      var(--neural-blue);
  --color-secondary-lt:   #eaf1f6;

  /* ── FEEDBACK ────────────────────────────────────────── */
  --color-success:     #1f7a47;
  --color-success-bg:  #e3f1e8;
  --color-warning:     #a86a1e;
  --color-warning-bg:  #f8ecd1;
  --color-error:       #a8322a;
  --color-error-bg:    #f5dedb;
  --color-info:        #2e6fa1;
  --color-info-bg:     #dfebf5;

  /* ── SPACING — 4px base ──────────────────────────────── */
  --space-0:  0;
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-7:  28px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;

  /* ── RADII ───────────────────────────────────────────── */
  --radius-xs:   4px;
  --radius-sm:   8px;
  --radius:     10px;
  --radius-md:  10px;
  --radius-lg:  14px;
  --radius-xl:  18px;
  --radius-2xl: 24px;
  --radius-pill: 999px;

  /* ── SHADOWS (ink-tinted, harmoniza com new tokens) ──── */
  --shadow-xs: 0 1px 1.5px 0 rgba(42,37,32,0.05);
  --shadow-sm: 0 1px 2px 0 rgba(42,37,32,0.06),
               0 1px 3px -1px rgba(42,37,32,0.05);
  --shadow-md: 0 2px 4px -1px rgba(42,37,32,0.08),
               0 4px 10px -4px rgba(42,37,32,0.08);
  --shadow-lg: 0 6px 12px -4px rgba(42,37,32,0.10),
               0 16px 28px -12px rgba(42,37,32,0.12);
  --shadow-xl: 0 10px 20px -6px rgba(42,37,32,0.12),
               0 28px 48px -20px rgba(42,37,32,0.18);
  --shadow-inset: inset 0 1px 2px 0 rgba(42,37,32,0.05);

  /* Focus rings — primary segue accent (cuidar = sea teal) */
  --shadow-ring-primary: 0 0 0 3px rgba(46,122,140,0.22);
  --shadow-ring-accent:  0 0 0 3px rgba(201,176,138,0.32);
  --shadow-ring-error:   0 0 0 3px rgba(168,50,42,0.22);

  /* ── LAYOUT ──────────────────────────────────────────── */
  --sidebar-width:    240px;
  --sidebar-width-sm: 72px;
  --header-height:    64px;
  --content-max:      1200px;

  /* ── TYPE SYSTEM ─────────────────────────────────────── */
  --font-sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-serif: 'Kaisei HarunoUmi', 'EB Garamond', Garamond, Georgia, serif;
  --font-mono:  ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  --text-2xs:  11px;
  --text-xs:   12px;
  --text-sm:   13px;
  --text-base: 14px;
  --text-md:   15px;
  --text-lg:   17px;
  --text-xl:   20px;
  --text-2xl:  24px;
  --text-3xl:  30px;
  --text-4xl:  36px;
  --text-5xl:  44px;
  --text-6xl:  56px;

  --leading-tight:   1.15;
  --leading-snug:    1.3;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  --tracking-tightest: -0.8px;
  --tracking-tighter:  -0.4px;
  --tracking-tight:    -0.2px;
  --tracking-normal:    0;
  --tracking-wide:      0.4px;
  --tracking-wider:     0.8px;
  --tracking-widest:    1.4px;

  /* ── MOTION ──────────────────────────────────────────── */
  --ease-out:     cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out:  cubic-bezier(0.4, 0, 0.2, 1);
  --ease-emphasis: cubic-bezier(0.2, 0.9, 0.1, 1);
  --dur-fast:  140ms;
  --dur-base:  200ms;
  --dur-slow:  320ms;

  /* ── GRADIENT ────────────────────────────────────────── */
  /* Cuidar gradient — Sea Teal → Ink → Champagne */
  --gradient-brand: linear-gradient(135deg,
                      var(--cuidar) 0%,
                      var(--cuidar-600) 50%,
                      var(--champagne) 100%);
}

/* =========================================================
   SEMANTIC TYPOGRAPHY CLASSES
   ========================================================= */

.ds-body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--color-text);
}

.ds-display {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: var(--text-5xl);
  line-height: 1.05;
  letter-spacing: var(--tracking-tighter);
  color: var(--color-primary);
}

.ds-display-lg {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: var(--text-6xl);
  line-height: 1.02;
  letter-spacing: var(--tracking-tightest);
  color: var(--color-primary);
}

.ds-eyebrow {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: var(--text-2xs);
  text-transform: uppercase;
  letter-spacing: var(--tracking-widest);
  color: var(--color-text-muted);
}

.ds-h1 {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: var(--text-4xl);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-text);
}

.ds-h2 {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: var(--text-2xl);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  color: var(--color-text);
}

.ds-h3 {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: var(--text-lg);
  line-height: var(--leading-snug);
  color: var(--color-text);
}

.ds-h4 {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: var(--text-md);
  line-height: var(--leading-snug);
  color: var(--color-text);
}

.ds-page-title {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: var(--text-xl);
  letter-spacing: var(--tracking-tight);
  color: var(--color-text);
}

.ds-card-title {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: var(--text-base);
  color: var(--color-text);
}

.ds-lead {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--text-md);
  line-height: var(--leading-relaxed);
  color: var(--color-text-sub);
}

.ds-p {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--color-text-sub);
}

.ds-small {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  color: var(--color-text-sub);
}

.ds-caption {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  line-height: var(--leading-normal);
  color: var(--color-text-muted);
}

.ds-pullquote {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: var(--text-2xl);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  color: var(--color-primary);
  padding-top: 18px;
  border-top: 1px solid var(--color-accent);
  max-width: 44ch;
  text-wrap: balance;
}

.ds-pullquote-lg {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: var(--text-4xl);
  line-height: 1.2;
  letter-spacing: var(--tracking-tighter);
  color: var(--color-primary);
  padding-top: 24px;
  border-top: 1px solid var(--color-accent);
  max-width: 22ch;
  text-wrap: balance;
}

.ds-mono {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-text-sub);
  font-feature-settings: 'tnum', 'zero';
}

.ds-logotype {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.005em;
  color: var(--color-primary);
}

.ds-num {
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum';
}

/* =========================================================
   UTILITIES
   ========================================================= */

.ds-hr {
  height: 1px;
  background: var(--color-border);
  border: 0;
}

.ds-hr-accent {
  height: 1px;
  width: 48px;
  background: var(--color-accent);
  border: 0;
}

.ds-focus-ring:focus-visible {
  outline: none;
  box-shadow: var(--shadow-ring-primary);
}

::-moz-selection {
  background: rgb(201 176 138 / 0.45);
  color: var(--primary-900);
}

::selection {
  background: rgb(201 176 138 / 0.45);
  color: var(--primary-900);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ── Base ───────────────────────────────────────────────── */

/* ── Layout ─────────────────────────────────────────────── */

/* ── Mobile responsive overrides (outside @layer for specificity) ── */

/* Tablet: stack page headers and grids */

@media (max-width: 1024px) {
  .page-header {
    flex-direction: column;
    gap: 0.75rem;
  }

  .page-header-actions {
    width: 100%;
    flex-wrap: wrap;
  }
}

@media (max-width: 767px) {
  .sidebar {
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    height: 100% !important;
    z-index: 50;
    transform: translateX(-100%);
    transition: transform 0.25s ease-in-out;
    box-shadow: none;
  }

  .sidebar.sidebar--open {
    transform: translateX(0) !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.18);
  }

  .sidebar-overlay {
    display: block !important;
    position: fixed;
    inset: 0;
    z-index: 40;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(1px);
  }

  .sidebar-close-btn {
    display: flex !important;
    position: absolute;
    top: 14px;
    right: 14px;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    z-index: 10;
  }

  .sidebar-close-btn:hover {
    background: rgba(0, 0, 0, 0.06);
  }

  .topbar {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  .page-container {
    padding: 0.75rem !important;
  }

  .topbar-menu-btn {
    display: flex !important;
  }

  /* ── Page Header mobile ──────────────────────────────── */
  .page-header {
    flex-direction: column !important;
    gap: 0.5rem !important;
  }

  .page-header-title {
    font-size: 1.125rem;
  }

  .page-header-actions {
    width: 100%;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  /* ── Card header stacks on mobile ────────────────────── */
  .card-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.65rem !important;
    padding: 0.875rem 1rem !important;
  }

  /* Collapsible card headers (button) stay horizontal on mobile */
  button.card-header {
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.5rem !important;
  }

  .card-header form,
  .card-header > :last-child {
    width: 100%;
  }

  .card-header form input {
    width: 100% !important;
  }

  .card-body {
    padding: 0.875rem 1rem !important;
  }

  /* ── Table: horizontal scroll on mobile ──────────────── */
  .table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Cards become scrollable so data-tables don't break layout */
  .card {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .data-table {
    min-width: 560px;
  }

  .data-table th,
  .data-table td {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    white-space: nowrap;
  }

  /* Allow name/description columns to wrap */
  .data-table td:first-child {
    white-space: normal;
    min-width: 140px;
  }

  /* ── Modal: full width on mobile ─────────────────────── */
  .modal-overlay {
    padding: 0.5rem !important;
    align-items: flex-end !important;
  }

  .modal-box {
    max-width: 100% !important;
    max-height: 95vh !important;
    border-radius: 12px 12px 0 0 !important;
    width: 100% !important;
  }

  .modal-header {
    padding: 0.875rem 1rem !important;
  }

  .modal-body {
    padding: 0.875rem 1rem !important;
  }

  .modal-footer {
    padding: 0.75rem 1rem !important;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .modal-footer .btn-secondary,
  .modal-footer .btn-primary {
    flex: 1;
    min-width: 0;
  }

  /* ── Tabs: horizontal scroll ─────────────────────────── */
  .tabs-list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
  }
  .tabs-list::-webkit-scrollbar {
    display: none;
  }
  .tab-trigger {
    white-space: nowrap;
    flex-shrink: 0;
  }

  /* ── Stat cards: 2 columns on small screens ──────────── */
  .stat-card {
    padding: 0.875rem !important;
  }

  .stat-card-value {
    font-size: 1.5rem !important;
  }

  .stat-card-icon {
    width: 2rem;
    height: 2rem;
  }

  /* ── Empty state: reduce vertical padding ────────────── */
  .empty-state {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  /* ── Buttons: ensure touch targets ───────────────────── */
  .btn {
    min-height: 36px;
  }

  .btn-icon {
    min-width: 36px;
    min-height: 36px;
  }

  /* ── Badge: smaller on mobile ────────────────────────── */
  .badge {
    font-size: 0.65rem;
  }

  /* ── Form grids inside modals: collapse to 1 col ─────── */
  .modal-body .grid-cols-2,
  .modal-body .grid-cols-3 {
    grid-template-columns: 1fr !important;
  }

  /* ── 12-col builder layouts: stack on mobile ─────────── */
  .grid-cols-12 {
    grid-template-columns: 1fr !important;
  }
  .col-span-3,
  .col-span-4,
  .col-span-8,
  .col-span-9 {
    grid-column: span 1 !important;
  }
}

/* ── Patient Detail v2 — Header, Journey, Gauges ─────────── */

.patient-hdr-v2 {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px 22px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
}

.patient-hdr-v2 .patient-name {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.4px;
  color: var(--color-text);
  line-height: 1.2;
}

.patient-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  font-size: 12px;
  color: var(--color-text-sub);
  margin-top: 4px;
}

.patient-meta-row .sep { color: var(--color-border); }

.patient-alert-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 12px;
  background: linear-gradient(90deg, #fef2f2, #fef2f200);
  border-radius: var(--radius-sm);
  border: 1px solid #fecaca;
}

.patient-alert-strip svg { color: #dc2626; }

.chip-allergy {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: var(--radius-pill);
}

.chip-allergy.sev-high { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

.chip-allergy.sev-med  { background: #fef9e7; color: #854d0e; border: 1px solid #fde68a; }

.chip-allergy.sev-low  { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }

/* Treatment selector bar */

.treatment-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: var(--color-primary-lt);
  border: 1px solid var(--accent-100);
  border-radius: var(--radius);
}

.treatment-status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

.treatment-status-dot.status-ativo {
  background: #10b981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}

.treatment-status-dot.status-em_pausa { background: #f59e0b; }

.treatment-status-dot.status-encerrado { background: var(--color-text-muted); opacity: 0.7; }

/* Hero v2 layout: journey + gauges side by side */

.hero-v2 {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 14px;
  margin-top: 14px;
}

@media (max-width: 1100px) {
  .hero-v2 { grid-template-columns: 1fr; }
}

/* Journey phases */

.journey-phases {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
}

.journey-phase {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
}

.journey-phase-marker {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: all var(--dur-fast) var(--ease-out);
}

.journey-phase-line {
  position: absolute;
  top: 18px;
  left: 36px;
  right: 0;
  height: 1.5px;
  background: var(--color-border);
}

/* Gauge donut */

.gauge {
  position: relative;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}

.gauge svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.gauge .gauge-track {
  fill: none;
  stroke: var(--color-border-lt);
  stroke-width: 3;
}

.gauge .gauge-value {
  fill: none;
  stroke: var(--color-success);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: calc(2 * 3.14159 * 15);
  stroke-dashoffset: calc(2 * 3.14159 * 15 * (1 - var(--val, 0) / 100));
  transition: stroke-dashoffset var(--dur-slow) var(--ease-out);
}

.gauge.warn .gauge-value { stroke: var(--color-warning); }

.gauge.null-val .gauge-value { stroke: var(--color-border-lt); }

.gauge span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--color-text);
  white-space: nowrap;
}

.gauge span em {
  font-style: normal;
  font-size: 9px;
  font-weight: 500;
  color: var(--color-text-muted);
}

/* ── Shared helpers from UI kit ────────────────────────────── */

.eyebrow-sm {
  font-size: 10px; font-weight: 600;
  color: var(--color-text-muted);
  text-transform: uppercase; letter-spacing: 1.4px;
}

.btn-mini {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 9px; height: 24px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font-family: inherit;
  font-size: 11px; font-weight: 500;
  color: var(--color-text);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease-out);
}

.btn-mini:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: var(--color-primary-lt);
}

.btn-mini.ghost {
  background: transparent;
  color: var(--color-text-sub);
}

.btn-sub-hdr {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 8px; height: 22px;
  background: transparent;
  border: 1px solid var(--color-border);
  border-radius: 7px;
  font-family: inherit;
  font-size: 10px; font-weight: 600;
  color: var(--color-text-sub);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease-out);
}

.btn-sub-hdr:hover {
  border-color: var(--color-primary);
  background: var(--color-primary-lt);
  color: var(--color-primary);
}

.link-see-all {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12px; font-weight: 500;
  color: var(--color-primary);
  background: none; border: 0; cursor: pointer;
  padding: 6px 0;
  transition: color var(--dur-fast) var(--ease-out);
}

.link-see-all:hover { color: var(--color-primary-active); }

.info-note {
  display: flex; gap: 8px; align-items: flex-start;
  padding: 10px 12px;
  background: var(--color-primary-lt);
  border: 1px solid var(--color-primary);
  border-radius: 10px;
  font-size: 11px;
  color: var(--color-text);
  line-height: 1.5;
}

.info-note svg { flex-shrink: 0; color: var(--color-primary); margin-top: 1px; }

.icon-accent {
  width: 32px; height: 32px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-primary-lt);
  border-radius: 10px;
  color: var(--color-primary);
}

.card-accent {
  background: linear-gradient(155deg, var(--color-primary-lt), var(--color-surface)) !important;
  border-color: var(--color-primary) !important;
}

/* ── Prontuario stream ────────────────────────────────────── */

.pront-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
}

.cat-chip {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 10px; height: 26px;
  background: var(--stone-25);
  border: 1px solid var(--color-border-lt);
  border-radius: 999px;
  font-family: inherit;
  font-size: 11px; font-weight: 500;
  color: var(--color-text-sub);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease-out);
}

.cat-chip:hover { border-color: var(--color-primary); color: var(--color-primary); }

.cat-chip.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.cat-chip em {
  font-style: normal;
  font-size: 10px;
  opacity: 0.7;
}

.cat-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--cat-color, var(--color-text-muted));
}

.pront-stream { display: flex; flex-direction: column; gap: 14px; }

.pront-entry {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 12px;
}

.pront-spine {
  display: flex; flex-direction: column; align-items: center;
  position: relative;
  padding-top: 6px;
}

.pront-spine::before {
  content: '';
  position: absolute;
  top: 18px; bottom: -14px;
  width: 1px;
  background: var(--color-border);
}

.pront-entry:last-child .pront-spine::before { display: none; }

.pront-spine-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--spine-color, var(--color-text-muted));
  border: 2px solid var(--color-surface);
  box-shadow: 0 0 0 1px var(--spine-color, var(--color-text-muted));
  z-index: 2;
}

.pront-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 14px 16px;
  transition: border-color var(--dur-fast) var(--ease-out);
}

.pront-card:hover { border-color: var(--color-border-strong); }

.pront-head {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 10px;
}

.pront-cat {
  font-size: 12px; font-weight: 700;
  display: flex; align-items: center; gap: 6px;
}

.cat-secao {
  font-size: 9px; font-weight: 600;
  padding: 1px 5px;
  background: var(--color-surface-2);
  border-radius: 4px;
  color: var(--color-text-muted);
}

.cat-auto {
  font-size: 9px; font-weight: 500;
  padding: 1px 5px;
  background: var(--secondary-50);
  border-radius: 4px;
  color: var(--secondary-600);
}

.pront-meta {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px; color: var(--color-text-muted);
  margin-top: 4px;
}

.pront-meta svg { color: var(--color-text-muted); }

.pront-meta .sep { color: var(--color-border); }

.pront-content {
  font-size: 13px;
  line-height: 1.6;
  color: var(--color-text);
}

.pront-link {
  display: flex; align-items: center; gap: 6px;
  margin-top: 8px;
  font-size: 11px;
  color: var(--color-primary);
}

.pront-link a { color: inherit; text-decoration: underline; }

/* Treatment filter chips in prontuario */

.pront-tr-bar {
  display: flex; align-items: center; gap: 6px;
  padding: 8px 12px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  flex-wrap: wrap;
}

.tr-chip {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 10px; height: 26px;
  background: var(--stone-25);
  border: 1px solid var(--color-border-lt);
  border-radius: 999px;
  font-family: inherit;
  font-size: 11px; font-weight: 500;
  color: var(--color-text-sub);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease-out);
}

.tr-chip:hover { border-color: var(--color-primary); }

.tr-chip.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.tr-chip.muted { opacity: 0.6; }

.tr-chip em { font-style: normal; padding-left: 4px; opacity: 0.7; }

/* ── Ficha clinica (9 sections accordion) ─────────────────── */

.ficha-summary {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
}

.ficha-progress {
  display: flex; align-items: center; gap: 10px;
  margin-top: 4px;
}

.ficha-progress-bar {
  width: 180px; height: 6px;
  background: var(--stone-25);
  border-radius: 999px;
  overflow: hidden;
}

.ficha-progress-bar > div {
  height: 100%;
  background: linear-gradient(90deg, var(--color-primary), var(--color-primary-active));
  border-radius: 999px;
  transition: width var(--dur-slow) var(--ease-out);
}

.ficha-progress-lbl { font-size: 11px; color: var(--color-text-sub); font-weight: 500; }

.ficha-list { display: flex; flex-direction: column; gap: 6px; }

.ficha-item {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color var(--dur-fast) var(--ease-out);
}

.ficha-item.empty { border-style: dashed; background: var(--stone-25); }

.ficha-item.open  { border-color: var(--color-primary); }

.ficha-hdr {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background var(--dur-fast) var(--ease-out);
}

.ficha-hdr:hover { background: var(--stone-25); }

.ficha-num {
  flex-shrink: 0;
  width: 34px; height: 34px;
  display: flex; align-items: center; justify-content: center;
  background: var(--color-primary-lt);
  color: var(--color-primary);
  border-radius: 10px;
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.5px;
}

.ficha-item.empty .ficha-num {
  background: var(--color-surface);
  color: var(--color-text-muted);
  border: 1px dashed var(--color-border);
}

.ficha-title {
  font-size: 13px; font-weight: 600; color: var(--color-text);
  display: flex; align-items: center; gap: 8px;
}

.chip-empty {
  padding: 2px 7px;
  background: var(--color-warning-bg);
  color: var(--color-warning);
  border-radius: 999px;
  font-size: 9px; font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.ficha-desc { font-size: 11px; color: var(--color-text-muted); margin-top: 2px; }

.ficha-body {
  padding: 0 14px 14px 60px;
  border-top: 1px solid var(--color-border-lt);
  padding-top: 12px;
}

.ficha-text {
  font-size: 13px;
  line-height: 1.6;
  color: var(--color-text);
  white-space: pre-wrap;
}

.ficha-text.muted { color: var(--color-text-muted); }

.ficha-body textarea {
  width: 100%;
  font: inherit;
  font-size: 13px;
  line-height: 1.6;
  color: var(--color-text);
  padding: 10px 12px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  resize: vertical;
}

.ficha-body textarea:focus { outline: 0; border-color: var(--color-primary); }

/* ── Questionnaire cards ──────────────────────────────────── */

.q-tabs-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  padding: 6px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
}

.q-tab {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; height: 30px;
  background: transparent;
  border: 0; border-radius: 8px;
  font-family: inherit;
  font-size: 12px; font-weight: 500;
  color: var(--color-text-sub);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease-out);
}

.q-tab:hover { background: var(--stone-25); color: var(--color-text); }

.q-tab.active { background: var(--color-primary-lt); color: var(--color-primary); }

.q-tab em {
  font-style: normal;
  font-size: 10px; font-weight: 600;
  padding: 1px 5px;
  background: var(--color-surface-2);
  border-radius: 999px;
  color: var(--color-text-muted);
}

.q-tab.active em { background: var(--color-primary); color: #fff; }

/* ── Resumo tab grid ──────────────────────────────────────── */

.resumo-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 16px;
  align-items: start;
}

.resumo-next {
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px;
}

.resumo-next-title {
  font-size: 15px; font-weight: 600;
  color: var(--color-text);
  margin-top: 6px;
}

.resumo-next-when {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px;
  color: var(--color-text-sub);
  margin-top: 4px;
}

.evol-row {
  display: flex; gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-border-lt);
}

.evol-row:last-child { border-bottom: 0; padding-bottom: 0; }

.evol-date {
  flex-shrink: 0;
  width: 52px;
  text-align: center;
}

.evol-date-d { font-size: 13px; font-weight: 700; color: var(--color-text); line-height: 1; }

.evol-date-t { font-size: 10px; color: var(--color-text-muted); margin-top: 3px; }

.evol-pro { font-size: 11px; font-weight: 600; color: var(--color-primary); margin-bottom: 3px; }

.evol-content { font-size: 12.5px; line-height: 1.55; color: var(--color-text); }

.pend-item {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--color-border-lt);
  border-left: 3px solid transparent;
  border-radius: 8px;
  transition: border-color var(--dur-fast) var(--ease-out);
}

.pend-item.warn { border-left-color: #f59e0b; background: linear-gradient(90deg, #fffbeb, transparent 50%); }

.pend-item.info { border-left-color: var(--color-primary); background: linear-gradient(90deg, var(--color-primary-lt), transparent 50%); }

.pend-title { font-size: 12px; font-weight: 600; color: var(--color-text); }

.pend-sub   { font-size: 11px; color: var(--color-text-muted); margin-top: 1px; }

.q-mini {
  display: flex; align-items: center; gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--color-border-lt);
}

.q-mini:last-child { border-bottom: 0; padding-bottom: 0; }

.q-mini-title { font-size: 12.5px; font-weight: 600; color: var(--color-text); }

.q-mini-date  { font-size: 11px; color: var(--color-text-muted); margin-top: 2px; }

.q-mini-score { text-align: right; flex-shrink: 0; }

.q-mini-score-val {
  font-size: 18px; font-weight: 700;
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
}

.q-mini-score-val em { font-style: normal; font-size: 12px; color: var(--color-text-muted); font-weight: 500; }

.q-mini-score-interp {
  font-size: 10px; font-weight: 600;
  color: var(--color-text-sub);
  margin-top: 1px;
}

.insight-text {
  font-size: 13px;
  line-height: 1.55;
  color: var(--color-text);
  margin-top: 6px;
}

/* Conexoes layout */

.conexoes-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 16px;
  align-items: start;
}

.conexoes-rail { display: flex; flex-direction: column; gap: 12px; }

.family-graph-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 16px;
  overflow: hidden;
}

.family-legend {
  display: flex; gap: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--color-border-lt);
  margin-top: 8px;
  font-size: 11px;
  color: var(--color-text-muted);
}

/* Next appointment in gauges */

.patient-next {
  display: flex; align-items: center; gap: 10px;
}

.patient-next-d {
  display: flex; flex-direction: column; align-items: center;
  background: var(--color-primary-lt);
  border-radius: 10px;
  padding: 6px 10px;
  min-width: 42px;
}

.patient-next-d strong { font-size: 18px; font-weight: 700; color: var(--color-primary); line-height: 1; }

.patient-next-d span { font-size: 9px; font-weight: 600; color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; }

.patient-next-t { font-size: 12px; font-weight: 600; color: var(--color-text); }

@media (max-width: 1100px) {
  .resumo-grid { grid-template-columns: 1fr; }
  .conexoes-layout { grid-template-columns: 1fr; }
}

/* ── Login responsive ──────────────────────────────────────── */

@media (max-width: 767px) {
  .login-shell {
    grid-template-columns: 1fr !important;
  }
  .login-hero {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .login-shell {
    grid-template-columns: 2fr 3fr !important;
  }
  .login-hero {
    padding: 32px !important;
  }
}

/* ── Mobile agenda date strip ──────────────────────────────── */

.mobile-date-strip::-webkit-scrollbar { display: none; }

.mobile-date-strip { scrollbar-width: none; }

/* Hamburger button — hidden on desktop */

.topbar-menu-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  border: 1px solid var(--color-border);
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  flex-shrink: 0;
}

.topbar-menu-btn:hover {
  background: var(--color-surface);
  color: var(--color-text);
}

.placeholder\:text-\[color\:var\(--color-secondary\)\]::-moz-placeholder {
  color:        var(--color-secondary);
}

.placeholder\:text-\[color\:var\(--color-secondary\)\]::placeholder {
  color:        var(--color-secondary);
}

.placeholder\:text-\[color\:var\(--color-text-muted\)\]::-moz-placeholder {
  color:        var(--color-text-muted);
}

.placeholder\:text-\[color\:var\(--color-text-muted\)\]::placeholder {
  color:        var(--color-text-muted);
}

.placeholder\:opacity-50::-moz-placeholder {
  opacity:        0.5;
}

.placeholder\:opacity-50::placeholder {
  opacity:        0.5;
}

.first\:rounded-t-lg:first-child {
  border-top-left-radius:        14px;
  border-top-right-radius:        14px;
}

.last\:rounded-b-lg:last-child {
  border-bottom-right-radius:        14px;
  border-bottom-left-radius:        14px;
}

.last\:border-0:last-child {
  border-width:        0px;
}

.last\:border-b-0:last-child {
  border-bottom-width:        0px;
}

.hover\:scale-110:hover {
  --tw-scale-x:        1.1;
  --tw-scale-y:        1.1;
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-\[\#5F7F9C66\]:hover {
  border-color:        #5F7F9C66;
}

.hover\:border-\[var\(--color-accent\)\]:hover {
  border-color:        var(--color-accent);
}

.hover\:border-\[var\(--color-border\)\]:hover {
  border-color:        var(--color-border);
}

.hover\:border-\[var\(--color-primary\)\]:hover {
  border-color:        var(--color-primary);
}

.hover\:border-\[var\(--color-secondary\)\]:hover {
  border-color:        var(--color-secondary);
}

.hover\:bg-\[\#5F7F9C08\]:hover {
  background-color:        #5F7F9C08;
}

.hover\:bg-\[\#5F7F9C30\]:hover {
  background-color:        #5F7F9C30;
}

.hover\:bg-\[color\:var\(--color-error\)\]:hover {
  background-color:        var(--color-error);
}

.hover\:bg-\[var\(--color-accent-lt\)\]:hover {
  background-color:        var(--color-accent-lt);
}

.hover\:bg-\[var\(--color-error\)\]:hover {
  background-color:        var(--color-error);
}

.hover\:bg-\[var\(--color-error-bg\)\]:hover {
  background-color:        var(--color-error-bg);
}

.hover\:bg-\[var\(--color-primary\)\]:hover {
  background-color:        var(--color-primary);
}

.hover\:bg-\[var\(--color-primary-lt\)\]:hover {
  background-color:        var(--color-primary-lt);
}

.hover\:bg-\[var\(--color-success-bg\)\]:hover {
  background-color:        var(--color-success-bg);
}

.hover\:bg-\[var\(--color-warning-bg\)\]:hover {
  background-color:        var(--color-warning-bg);
}

.hover\:bg-\[var\(--secondary-50\)\]:hover {
  background-color:        var(--secondary-50);
}

.hover\:bg-\[var\(--stone-100\)\]:hover {
  background-color:        var(--stone-100);
}

.hover\:bg-\[var\(--stone-25\)\]:hover {
  background-color:        var(--stone-25);
}

.hover\:bg-\[var\(--stone-50\)\]:hover {
  background-color:        var(--stone-50);
}

.hover\:bg-stone-50:hover {
  --tw-bg-opacity:        1;
  background-color:        rgb(247 244 238 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white:hover {
  --tw-bg-opacity:        1;
  background-color:        rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white\/60:hover {
  background-color:        rgb(255 255 255 / 0.6);
}

.hover\:text-\[color\:var\(--color-error\)\]:hover {
  color:        var(--color-error);
}

.hover\:text-\[color\:var\(--color-primary\)\]:hover {
  color:        var(--color-primary);
}

.hover\:text-\[color\:var\(--color-secondary\)\]:hover {
  color:        var(--color-secondary);
}

.hover\:text-\[color\:var\(--color-success\)\]:hover {
  color:        var(--color-success);
}

.hover\:text-\[color\:var\(--color-text\)\]:hover {
  color:        var(--color-text);
}

.hover\:text-\[color\:var\(--color-text-sub\)\]:hover {
  color:        var(--color-text-sub);
}

.hover\:text-\[color\:var\(--color-warning\)\]:hover {
  color:        var(--color-warning);
}

.hover\:text-\[var\(--color-secondary\)\]:hover {
  color:        var(--color-secondary);
}

.hover\:underline:hover {
  text-decoration-line:        underline;
}

.hover\:opacity-70:hover {
  opacity:        0.7;
}

.hover\:opacity-80:hover {
  opacity:        0.8;
}

.hover\:shadow-md:hover {
  --tw-shadow:        0 2px 4px -1px rgba(42,37,32,0.08), 0 4px 10px -4px rgba(42,37,32,0.08);
  --tw-shadow-colored:        0 2px 4px -1px var(--tw-shadow-color), 0 4px 10px -4px var(--tw-shadow-color);
  box-shadow:        var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-sm:hover {
  --tw-shadow:        0 1px 2px 0 rgba(42,37,32,0.06), 0 1px 3px -1px rgba(42,37,32,0.05);
  --tw-shadow-colored:        0 1px 2px 0 var(--tw-shadow-color), 0 1px 3px -1px var(--tw-shadow-color);
  box-shadow:        var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.focus\:border-\[var\(--color-border\)\]:focus {
  border-color:        var(--color-border);
}

.focus\:outline-none:focus {
  outline:        2px solid transparent;
  outline-offset:        2px;
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow:        var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow:        var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow:        var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-\[var\(--color-error\)\]:focus {
  --tw-ring-color:        var(--color-error);
}

.focus\:ring-\[var\(--color-primary\)\]:focus {
  --tw-ring-color:        var(--color-primary);
}

.focus\:ring-\[var\(--color-success\)\]:focus {
  --tw-ring-color:        var(--color-success);
}

.focus\:ring-\[var\(--color-warning\)\]:focus {
  --tw-ring-color:        var(--color-warning);
}

.active\:scale-95:active {
  --tw-scale-x:        .95;
  --tw-scale-y:        .95;
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:scale-\[0\.98\]:active {
  --tw-scale-x:        0.98;
  --tw-scale-y:        0.98;
  transform:        translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:cursor-grabbing:active {
  cursor:        grabbing;
}

.disabled\:cursor-not-allowed:disabled {
  cursor:        not-allowed;
}

.disabled\:opacity-20:disabled {
  opacity:        0.2;
}

.disabled\:opacity-30:disabled {
  opacity:        0.3;
}

.disabled\:opacity-40:disabled {
  opacity:        0.4;
}

.disabled\:opacity-50:disabled {
  opacity:        0.5;
}

.disabled\:opacity-60:disabled {
  opacity:        0.6;
}

.group:hover .group-hover\:bg-\[\#5F7F9C20\] {
  background-color:        #5F7F9C20;
}

.group:hover .group-hover\:text-\[\#5F7F9C\] {
  --tw-text-opacity:        1;
  color:        rgb(95 127 156 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-\[color\:var\(--color-text-sub\)\] {
  color:        var(--color-text-sub);
}

.group:hover .group-hover\:opacity-100 {
  opacity:        1;
}

.group:hover .group-hover\:shadow-sm {
  --tw-shadow:        0 1px 2px 0 rgba(42,37,32,0.06), 0 1px 3px -1px rgba(42,37,32,0.05);
  --tw-shadow-colored:        0 1px 2px 0 var(--tw-shadow-color), 0 1px 3px -1px var(--tw-shadow-color);
  box-shadow:        var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

@media (min-width: 640px) {

  .sm\:col-span-2 {
    grid-column:        span 2 / span 2;
  }

  .sm\:col-span-4 {
    grid-column:        span 4 / span 4;
  }

  .sm\:col-span-8 {
    grid-column:        span 8 / span 8;
  }

  .sm\:block {
    display:        block;
  }

  .sm\:inline {
    display:        inline;
  }

  .sm\:flex {
    display:        flex;
  }

  .sm\:table-cell {
    display:        table-cell;
  }

  .sm\:hidden {
    display:        none;
  }

  .sm\:w-56 {
    width:        14rem;
  }

  .sm\:grid-cols-2 {
    grid-template-columns:        repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns:        repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns:        repeat(4, minmax(0, 1fr));
  }

  .sm\:flex-row {
    flex-direction:        row;
  }

  .sm\:items-center {
    align-items:        center;
  }

  .sm\:px-6 {
    padding-left:        1.5rem;
    padding-right:        1.5rem;
  }

  .sm\:py-6 {
    padding-top:        1.5rem;
    padding-bottom:        1.5rem;
  }

  .sm\:pt-5 {
    padding-top:        1.25rem;
  }
}

@media (min-width: 768px) {

  .md\:col-span-1 {
    grid-column:        span 1 / span 1;
  }

  .md\:col-span-3 {
    grid-column:        span 3 / span 3;
  }

  .md\:flex {
    display:        flex;
  }

  .md\:table-cell {
    display:        table-cell;
  }

  .md\:hidden {
    display:        none;
  }

  .md\:grid-cols-2 {
    grid-template-columns:        repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns:        repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {

  .lg\:col-span-3 {
    grid-column:        span 3 / span 3;
  }

  .lg\:col-span-9 {
    grid-column:        span 9 / span 9;
  }

  .lg\:grid-cols-4 {
    grid-template-columns:        repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {

  .xl\:grid-cols-2 {
    grid-template-columns:        repeat(2, minmax(0, 1fr));
  }

  .xl\:grid-cols-3 {
    grid-template-columns:        repeat(3, minmax(0, 1fr));
  }
}
/* ─── Anthoia Agenda V2 — component styles ─────────────────────
   Uses tokens from design-system.css. No raw hex or Tailwind colors.
   ────────────────────────────────────────────────────────────── */

/* ═══════════════════════════════════════════════════════════════
   TOOLBAR V2
   ═══════════════════════════════════════════════════════════════ */

.agenda-toolbar-v2 {
  display: flex; flex-direction: column; gap: 16px;
  margin-bottom: 18px;
}
.agenda-tb-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
}
.agenda-tb-l { display: flex; flex-direction: column; gap: 2px; }
.agenda-tb-r { display: flex; gap: 8px; }
.agenda-eyebrow {
  font-size: 10px; font-weight: 600;
  color: var(--color-text-muted);
  text-transform: uppercase; letter-spacing: 1.4px;
}
.agenda-h1 {
  font-size: 20px; font-weight: 600;
  color: var(--color-text);
  letter-spacing: -0.3px;
  margin: 0;
}
.agenda-tb-controls {
  padding: 10px 12px;
  background: var(--color-surface);
  border: 1px solid var(--color-border-lt);
  border-radius: 10px;
  flex-wrap: wrap;
  display: flex; align-items: center; gap: 10px;
}

/* Segmented view switcher */
.seg-group {
  display: inline-flex;
  background: var(--stone-100);
  border-radius: 8px;
  padding: 2px;
}
.seg {
  font: inherit; font-size: 12px; font-weight: 500;
  padding: 5px 14px;
  border: none; border-radius: 6px;
  background: transparent;
  color: var(--color-text-sub);
  cursor: pointer;
  transition: all 0.14s ease-out;
}
.seg:hover { color: var(--color-text); }
.seg.active {
  background: var(--color-primary);
  color: var(--color-text-on-primary);
  box-shadow: var(--shadow-sm);
}

/* Date navigation */
.date-nav {
  display: flex; align-items: center; gap: 4px;
}
.date-today {
  font: inherit; font-size: 12px; font-weight: 500;
  padding: 5px 12px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-surface);
  color: var(--color-text-sub);
  cursor: pointer;
}
.date-today:hover { background: var(--stone-25); }

/* Group by */
.agenda-group {
  display: flex; align-items: center; gap: 8px;
  padding: 0 12px;
  border-left: 1px solid var(--color-border-lt);
}
.agenda-group-lbl {
  font-size: 11px; color: var(--color-text-muted);
  font-weight: 500; text-transform: uppercase; letter-spacing: 0.6px;
}
.agenda-group select {
  font: inherit; font-size: 12px; font-weight: 500;
  background: var(--color-surface);
  border: 1px solid var(--color-border-lt);
  border-radius: 6px;
  padding: 5px 22px 5px 8px;
  color: var(--color-text);
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a8270' fill='none' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 7px center;
}
.agenda-group.is-disabled { opacity: 0.5; }
.agenda-group.is-disabled select { cursor: not-allowed; }

/* Filter chips */
.agenda-filters {
  display: flex; gap: 6px; flex-wrap: wrap;
  flex: 1;
}
.f-chip {
  position: relative;
  display: inline-flex;
  align-items: stretch;
}
.f-chip-btn {
  display: inline-flex; align-items: center; gap: 6px;
  font: inherit; font-size: 12px; font-weight: 500;
  padding: 6px 10px;
  background: var(--color-surface);
  border: 1px solid var(--color-border-lt);
  border-radius: 6px;
  color: var(--color-text);
  cursor: pointer;
  white-space: nowrap;
}
.f-chip-btn:hover { background: var(--stone-25); }
.f-chip.is-active .f-chip-btn {
  background: var(--color-primary-lt);
  border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
  color: var(--color-primary);
}
.f-chip-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 16px; height: 16px;
  padding: 0 4px;
  font-size: 10px; font-weight: 600;
  background: var(--color-primary);
  color: var(--color-surface);
  border-radius: 8px;
}
.f-chip-clear {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px;
  background: var(--color-surface);
  border: 1px solid var(--color-border-lt);
  border-left: none;
  border-radius: 0 6px 6px 0;
  cursor: pointer;
  color: var(--color-text-muted);
}
.f-chip-clear:hover { color: var(--color-error); }
.f-chip:not(:has(.f-chip-clear)) .f-chip-btn { border-radius: 6px; }

/* ═══════════════════════════════════════════════════════════════
   SHELL — grid + rail layout
   ═══════════════════════════════════════════════════════════════ */

.agenda-shell {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 16px;
  flex: 1;
  min-height: 0;
}
@media (max-width: 1024px) {
  .agenda-shell { grid-template-columns: 1fr; }
  .agenda-rail { display: none; }
}

.agenda-grid-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
  display: flex; flex-direction: column;
  min-height: 0;
  background: var(--color-surface);
}

/* ═══════════════════════════════════════════════════════════════
   EVENT CARD V2 — white bg + colored type bar + status dot
   ═══════════════════════════════════════════════════════════════ */

.agenda-event-v2 {
  position: absolute;
  left: 4px; right: 4px;
  display: flex;
  background: var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--type-color, var(--color-text-muted)) 25%, var(--color-border-lt));
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  z-index: 10;
  font: inherit;
  text-align: left;
  padding: 0;
  transition: transform 0.12s ease-out, box-shadow 0.12s ease-out;
  box-shadow: var(--shadow-xs);
}
.agenda-event-v2:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.agenda-event-v2.is-dim { opacity: 0.45; }

.ev-type-bar {
  width: 4px;
  flex-shrink: 0;
}
.ev-content {
  flex: 1;
  padding: 5px 8px;
  display: flex; flex-direction: column;
  gap: 2px;
  overflow: hidden;
  min-width: 0;
}
.ev-line1 {
  display: flex; align-items: center; justify-content: space-between;
  gap: 4px;
}
.ev-time {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--color-text-sub);
  font-weight: 500;
}
.ev-status {
  display: inline-flex; align-items: center; justify-content: center;
  width: 14px; height: 14px;
  border-radius: 50%;
  font-size: 9px; font-weight: 700;
  flex-shrink: 0;
}
.ev-status-confirmed { background: color-mix(in srgb, var(--color-success) 18%, transparent); color: var(--color-success); }
.ev-status-scheduled { background: color-mix(in srgb, var(--color-info) 18%, transparent); color: var(--color-info); }
.ev-status-completed { background: color-mix(in srgb, var(--color-text-muted) 18%, transparent); color: var(--color-text-muted); }
.ev-status-cancelled { background: color-mix(in srgb, var(--color-error) 18%, transparent); color: var(--color-error); }
.ev-status-no_show   { background: color-mix(in srgb, var(--color-warning) 18%, transparent); color: var(--color-warning); }

.ev-title {
  font-size: 13px; font-weight: 500;
  color: var(--color-text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ev-meta {
  font-size: 11px;
  color: var(--color-text-muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ev-pro {
  font-family: var(--font-mono);
  font-weight: 600;
}
.ev-icons {
  display: flex; gap: 4px;
  margin-top: 2px;
  color: var(--color-text-muted);
}

/* ═══════════════════════════════════════════════════════════════
   BLOCKED ZONES — hatched pattern (DS spec)
   ═══════════════════════════════════════════════════════════════ */

.agenda-hatch {
  position: absolute; left: 0; right: 0;
  background-image: repeating-linear-gradient(
    -45deg,
    transparent 0, transparent 5px,
    color-mix(in srgb, var(--color-text-muted) 8%, transparent) 5px,
    color-mix(in srgb, var(--color-text-muted) 8%, transparent) 6px
  );
  background-color: color-mix(in srgb, var(--color-text-muted) 4%, transparent);
  pointer-events: none;
  z-index: 1;
}

/* Buffer ghost */
.agenda-buffer {
  position: absolute; left: 4px; right: 4px;
  background: repeating-linear-gradient(
    90deg,
    transparent 0, transparent 4px,
    color-mix(in srgb, var(--color-text-muted) 25%, transparent) 4px,
    color-mix(in srgb, var(--color-text-muted) 25%, transparent) 5px
  );
  border-radius: 3px;
  pointer-events: none;
  opacity: 0.5;
  z-index: 2;
}

/* ═══════════════════════════════════════════════════════════════
   NOW LINE — red with dot and time label
   ═══════════════════════════════════════════════════════════════ */

.agenda-now {
  position: absolute;
  left: 0; right: 0;
  display: flex; align-items: center;
  z-index: 20;
  pointer-events: none;
}
.agenda-now-dot {
  width: 8px; height: 8px;
  background: var(--color-error);
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-error) 25%, transparent);
}
.agenda-now-line {
  flex: 1;
  height: 1.5px;
  background: var(--color-error);
}
.agenda-now-label {
  font-family: var(--font-mono);
  font-size: 9px; font-weight: 600;
  padding: 1px 5px;
  background: var(--color-error);
  color: var(--color-surface);
  border-radius: 4px;
  margin-left: 4px;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════
   DAY HEADERS — with count and exception flags
   ═══════════════════════════════════════════════════════════════ */

.agenda-day-cell {
  flex: 1;
  text-align: center;
  padding: 8px 4px;
  border-left: 1px solid var(--color-border-lt);
}
.agenda-day-cell.today {
  background: color-mix(in srgb, var(--color-primary) 5%, transparent);
}
.agenda-day-label {
  font-size: 10px; font-weight: 500;
  color: var(--color-text-muted);
  text-transform: uppercase; letter-spacing: 0.5px;
}
.agenda-day-num {
  font-size: 16px; font-weight: 600;
  color: var(--color-text);
  margin-top: 2px;
}
.agenda-day-cell.today .agenda-day-num {
  background: var(--color-primary);
  color: var(--color-text-on-primary);
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
}
.agenda-day-count {
  font-size: 10px;
  color: var(--color-text-muted);
  margin-top: 2px;
}

/* ═══════════════════════════════════════════════════════════════
   GROUPED DAY VIEW — column headers with availability badges
   ═══════════════════════════════════════════════════════════════ */

.agenda-col-head {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 10px 12px;
  border-left: 1px solid var(--color-border-lt);
  min-height: 60px;
  flex: 1;
}
.agenda-col-head-title {
  font-size: 12px; font-weight: 500;
  color: var(--color-text);
  line-height: 1.3;
}
.agenda-col-head-sub {
  font-size: 10px; color: var(--color-text-muted);
  margin-top: 2px;
}
.avail-badge {
  display: inline-block;
  margin-top: 4px;
  font-size: 10px; font-weight: 500;
  padding: 1px 6px;
  border-radius: 8px;
}
.avail-badge.tone-error   { background: color-mix(in srgb, var(--color-error) 12%, transparent); color: var(--color-error); }
.avail-badge.tone-warning { background: color-mix(in srgb, var(--color-warning) 14%, transparent); color: var(--color-warning); }
.avail-badge.tone-success { background: color-mix(in srgb, var(--color-success) 12%, transparent); color: var(--color-success); }

/* Blocked column overlay */
.agenda-col-blocked {
  position: absolute;
  top: 24px; left: 12px; right: 12px;
  padding: 12px;
  background: var(--color-surface);
  border: 1px solid color-mix(in srgb, var(--color-error) 30%, transparent);
  border-radius: 8px;
  display: flex; gap: 10px; align-items: flex-start;
  font-size: 12px;
  color: var(--color-error);
  z-index: 4;
}

/* ═══════════════════════════════════════════════════════════════
   MONTH GRID
   ═══════════════════════════════════════════════════════════════ */

.month-event-v2 {
  display: flex; align-items: baseline; gap: 4px;
  padding: 2px 4px;
  font-size: 10px;
  border-left: 2px solid var(--ev-color, var(--color-text-muted));
  background: color-mix(in srgb, var(--ev-color, var(--color-text-muted)) 8%, transparent);
  border-radius: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.month-event-time {
  font-family: var(--font-mono);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.month-event-title {
  color: var(--color-text);
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ═══════════════════════════════════════════════════════════════
   RAIL — right sidebar
   ═══════════════════════════════════════════════════════════════ */

.agenda-rail {
  display: flex; flex-direction: column; gap: 12px;
  overflow-y: auto;
}
.rail-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border-lt);
  border-radius: var(--radius);
  padding: 14px;
}
.rail-head {
  margin-bottom: 10px;
}
.rail-eyebrow {
  font-size: 10px; font-weight: 600;
  color: var(--color-text-muted);
  text-transform: uppercase; letter-spacing: 0.6px;
  margin-bottom: 2px;
}
.rail-title {
  font-size: 16px; font-weight: 600;
  color: var(--color-text);
}
.rail-stats {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
}
.rail-stats > div {
  display: flex; flex-direction: column; gap: 1px;
  text-align: center;
}
.rail-stats strong {
  font-size: 16px; font-weight: 600;
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
}
.rail-stats span {
  font-size: 10px;
  color: var(--color-text-muted);
}
.rail-countdown {
  font-family: var(--font-serif);
  font-size: 18px; font-weight: 500;
  color: var(--color-text);
  margin-bottom: 8px;
}
.rail-next-meta {
  display: flex; align-items: center; gap: 10px;
}
.rail-alert {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 12px;
}
.rail-alert.tone-error {
  background: color-mix(in srgb, var(--color-error) 6%, transparent);
  color: var(--color-error);
}
.rail-alert.tone-warning {
  background: color-mix(in srgb, var(--color-warning) 8%, transparent);
  color: var(--color-warning);
}
.rail-alert-t { font-weight: 500; }
.rail-alert-s { font-size: 11px; color: var(--color-text-muted); margin-top: 2px; }

/* Rail availability */
.rail-avail .rail-avail-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px;
}
.rail-avail-when {
  font-size: 13px; font-weight: 500;
  color: var(--color-text);
  margin-bottom: 4px;
}
.rail-avail-pro {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px;
  color: var(--color-text-sub);
}

/* ═══════════════════════════════════════════════════════════════
   SCHEDULE MODAL V2 — two-column
   ═══════════════════════════════════════════════════════════════ */

.modal-schedule-v2 {
  width: min(960px, 96vw);
  max-width: min(960px, 96vw) !important; /* override .modal-box max-w-lg */
  max-height: 92vh;
  display: flex; flex-direction: column;
}
.msv2-body {
  display: grid;
  grid-template-columns: 1fr 320px;
  flex: 1;
  overflow: hidden;
  min-height: 0;
}
.msv2-col {
  overflow-y: auto;
  padding: 18px 22px;
}
.msv2-col-side {
  background: var(--stone-25);
  border-left: 1px solid var(--color-border-lt);
  padding: 18px;
  display: flex; flex-direction: column; gap: 12px;
}
.msv2-section { margin-bottom: 16px; }
.msv2-row-2 {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 14px; margin-bottom: 16px;
}
.msv2-row-2 .msv2-section { margin-bottom: 0; }
.msv2-label {
  font-size: 11px; font-weight: 600;
  color: var(--color-text-muted);
  text-transform: uppercase; letter-spacing: 0.6px;
  margin-bottom: 6px;
}
.msv2-req { color: var(--color-error); margin-left: 3px; }

/* Type cards */
.msv2-types {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 6px;
}
.msv2-type {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 10px;
  background: var(--color-surface);
  border: 1px solid var(--color-border-lt);
  border-radius: 8px;
  cursor: pointer;
  font: inherit; text-align: left;
  color: var(--color-text);
  transition: border-color 0.12s;
}
.msv2-type-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.msv2-type-name { font-size: 12px; font-weight: 500; }
.msv2-type-meta { font-size: 10px; color: var(--color-text-muted); }
.msv2-type:hover { border-color: var(--type-c, var(--color-primary)); }
.msv2-type.is-sel {
  border-color: var(--type-c, var(--color-primary));
  background: color-mix(in srgb, var(--type-c, var(--color-primary)) 8%, transparent);
}

/* Day picker */
.msv2-days {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(52px, 1fr));
  gap: 4px;
  margin-bottom: 12px;
}
.msv2-day {
  display: flex; flex-direction: column; align-items: center;
  padding: 8px 4px;
  background: var(--color-surface);
  border: 1px solid var(--color-border-lt);
  border-radius: 6px;
  cursor: pointer;
  font: inherit; position: relative;
  color: var(--color-text);
}
.msv2-day-l { font-size: 9px; text-transform: uppercase; color: var(--color-text-muted); letter-spacing: 0.6px; }
.msv2-day-n { font-size: 14px; font-weight: 500; margin-top: 2px; }
.msv2-day:hover { border-color: var(--color-primary); }
.msv2-day.is-sel {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-on-primary);
}
.msv2-day.is-sel .msv2-day-l, .msv2-day.is-sel .msv2-day-n { color: var(--color-text-on-primary); }
.msv2-day.is-blocked {
  background: color-mix(in srgb, var(--color-error) 5%, transparent);
  border-color: color-mix(in srgb, var(--color-error) 20%, transparent);
}
.msv2-day.is-blocked .msv2-day-n {
  text-decoration: line-through;
  color: var(--color-text-muted);
}

/* Free slots bar */
.msv2-slots {
  background: var(--stone-25);
  padding: 10px;
  border-radius: 6px;
}
.msv2-slots-lbl {
  font-size: 10px; color: var(--color-text-muted);
  text-transform: uppercase; letter-spacing: 0.5px;
  margin-bottom: 6px;
}
.msv2-slots-row {
  display: flex; flex-wrap: wrap; gap: 4px;
}
.msv2-slot {
  font: inherit; font-size: 11px;
  font-family: var(--font-mono);
  padding: 4px 8px;
  background: var(--color-surface);
  border: 1px solid var(--color-border-lt);
  border-radius: 4px;
  cursor: pointer;
  color: var(--color-text);
}
.msv2-slot:hover { border-color: var(--color-primary); }
.msv2-slot.is-sel {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-on-primary);
}

/* Preview card */
.msv2-side-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border-lt);
  border-radius: 8px;
  padding: 12px;
}
.msv2-preview { position: relative; padding-left: 18px; }
.msv2-preview-bar {
  position: absolute; left: 0; top: 12px; bottom: 12px;
  width: 4px;
  border-radius: 2px;
}
.msv2-preview-time {
  display: flex; flex-direction: column; gap: 2px;
  margin-bottom: 8px;
}
.msv2-preview-day {
  font-size: 11px; color: var(--color-text-muted);
  text-transform: uppercase; letter-spacing: 0.5px;
}
.msv2-preview-hour {
  font-family: var(--font-serif);
  font-size: 18px; font-weight: 500;
  color: var(--color-text);
}
.msv2-preview-type {
  font-size: 12px; color: var(--color-text-sub);
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border-lt);
}
.msv2-preview-row {
  display: flex; align-items: center; gap: 8px;
  font-size: 12px;
  color: var(--color-text-sub);
  padding: 3px 0;
}

/* Validation panel */
.msv2-validations { padding: 0; overflow: hidden; }
.msv2-val-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px;
  font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.5px;
  color: var(--color-text-muted);
  border-bottom: 1px solid var(--color-border-lt);
}
.msv2-val-count {
  font-size: 10px; font-weight: 600;
  padding: 2px 6px;
  border-radius: 8px;
  letter-spacing: 0;
  text-transform: none;
}
.msv2-val-count.tone-error   { background: var(--color-error); color: var(--color-surface); }
.msv2-val-count.tone-warning { background: var(--color-warning); color: var(--color-surface); }
.msv2-val-count.tone-success { background: var(--color-success); color: var(--color-surface); }
.msv2-val-list { display: flex; flex-direction: column; }
.msv2-val-row {
  display: flex; align-items: center; gap: 8px;
  padding: 7px 12px;
  font-size: 11.5px;
  border-bottom: 1px solid var(--color-border-lt);
  line-height: 1.3;
}
.msv2-val-row:last-child { border-bottom: none; }
.msv2-val-row.tone-error   { color: var(--color-error); background: color-mix(in srgb, var(--color-error) 4%, transparent); }
.msv2-val-row.tone-warning { color: var(--color-warning); background: color-mix(in srgb, var(--color-warning) 4%, transparent); }
.msv2-val-row.tone-success { color: var(--color-success); }

/* Footer */
.msv2-foot {
  display: flex; align-items: center; gap: 10px;
}
.msv2-override {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px;
  color: var(--color-text-muted);
  cursor: pointer;
}
.msv2-override input { margin: 0; cursor: pointer; }

@media (max-width: 768px) {
  .msv2-body { grid-template-columns: 1fr; }
  .msv2-col-side { border-left: none; border-top: 1px solid var(--color-border-lt); }
  .msv2-row-2 { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   EVENT MODAL V2 — status machine + history
   ═══════════════════════════════════════════════════════════════ */

.modal-event-v2 { width: min(640px, 95vw); }

.me-status-row {
  display: flex; align-items: center; gap: 12px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.me-status-trans {
  display: flex; align-items: center; gap: 6px;
  flex-wrap: wrap;
}
.me-trans-btn {
  font: inherit; font-size: 11px;
  padding: 4px 10px;
  border-radius: 4px;
  border: 1px solid var(--color-border-lt);
  background: var(--color-surface);
  color: var(--color-text);
  cursor: pointer;
}
.me-trans-btn:hover { background: var(--stone-25); }

.status-pill {
  display: inline-flex; align-items: center;
  font-size: 11px; font-weight: 500;
  padding: 3px 9px;
  border-radius: 12px;
}
.status-pill-mini { font-size: 10px; padding: 1px 7px; }
.status-pill-info    { background: color-mix(in srgb, var(--color-info) 14%, transparent); color: var(--color-info); }
.status-pill-success { background: color-mix(in srgb, var(--color-success) 14%, transparent); color: var(--color-success); }
.status-pill-muted   { background: color-mix(in srgb, var(--color-text-muted) 14%, transparent); color: var(--color-text-muted); }
.status-pill-error   { background: color-mix(in srgb, var(--color-error) 14%, transparent); color: var(--color-error); }
.status-pill-warning { background: color-mix(in srgb, var(--color-warning) 14%, transparent); color: var(--color-warning); }

.me-body {
  padding: 18px 22px;
  display: flex; flex-direction: column; gap: 14px;
  overflow-y: auto;
}
.me-actions {
  display: flex; gap: 6px; flex-wrap: wrap;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border-lt);
}
.me-action {
  display: inline-flex; align-items: center; gap: 6px;
  font: inherit; font-size: 12px;
  padding: 6px 10px;
  background: var(--stone-25);
  border: 1px solid var(--color-border-lt);
  border-radius: 6px;
  cursor: pointer;
  color: var(--color-text);
}
.me-action:hover { background: var(--color-surface); border-color: var(--color-primary); color: var(--color-primary); }
.me-action-danger:hover { border-color: var(--color-error); color: var(--color-error); }

.me-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 20px;
}
.me-k {
  font-size: 10px; font-weight: 600;
  color: var(--color-text-muted);
  text-transform: uppercase; letter-spacing: 0.6px;
  margin-bottom: 3px;
}
.me-v {
  display: flex; align-items: center; gap: 5px;
  font-size: 13px;
  color: var(--color-text);
}

/* History timeline */
.me-history-toggle {
  display: flex; align-items: center; gap: 6px;
  width: 100%;
  font: inherit; font-size: 12px;
  padding: 8px 10px;
  background: var(--stone-25);
  border: 1px solid var(--color-border-lt);
  border-radius: 6px;
  cursor: pointer;
  color: var(--color-text);
}
.me-history-toggle:hover { background: var(--color-surface); }

.me-history {
  position: relative;
  padding: 12px 14px 12px 24px;
  background: var(--stone-25);
  border-radius: 6px;
}
.me-history::before {
  content: '';
  position: absolute;
  top: 18px; bottom: 18px; left: 16px;
  width: 1px;
  background: var(--color-border);
}
.me-history-row {
  position: relative;
  display: flex; gap: 10px;
  padding: 6px 0;
}
.me-history-dot {
  position: absolute;
  left: -12px; top: 11px;
  width: 7px; height: 7px;
  background: var(--color-primary);
  border-radius: 50%;
  border: 2px solid var(--stone-25);
}
.me-history-line {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px;
  flex-wrap: wrap;
}
.me-history-reason {
  margin-top: 3px;
  font-size: 11px;
  color: var(--color-text-sub);
  font-style: italic;
}

/* Cancel card */
.me-cancel-card {
  padding: 12px;
  background: color-mix(in srgb, var(--color-error) 5%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-error) 30%, transparent);
  border-radius: 8px;
  display: flex; flex-direction: column; gap: 10px;
}
.me-cancel-head {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 500;
  color: var(--color-error);
}

/* ═══════════════════════════════════════════════════════════════
   SHARED AVATAR CHIP
   ═══════════════════════════════════════════════════════════════ */

.pro-chip-av {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px;
  border-radius: 50%;
  font-size: 10px; font-weight: 600;
  color: var(--color-surface);
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════
   MISC
   ═══════════════════════════════════════════════════════════════ */

.btn-icon-topbar {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  border-radius: 6px;
  border: 1px solid var(--color-border-lt);
  background: var(--color-surface);
  cursor: pointer;
  color: var(--color-text-sub);
}
.btn-icon-topbar:hover { background: var(--stone-25); }
[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, 0.1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--lk-control-fg: var(--lk-fg);--lk-control-bg: var(--lk-bg2);--lk-control-hover-bg: var(--lk-bg3);--lk-control-active-bg: var(--lk-bg4);--lk-control-active-hover-bg: var(--lk-bg5);--lk-connection-excellent: #06db4d;--lk-connection-good: #f9b11f;--lk-connection-poor: #f91f31;--lk-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size: 16px;--lk-line-height: 1.5;--lk-border-radius: 0.5rem;--lk-box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);--lk-drop-shadow: rgba(255, 255, 255, 0.2) 0px 0px 24px;--lk-grid-gap: 0.5rem;--lk-control-bar-height: 69px;--lk-chat-header-height: 69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{display:inline-flex;align-items:stretch;height:100%}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{position:relative;flex-shrink:0}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.lk-button-group-menu>.lk-button::after,.lk-button-group-menu>.lk-start-audio-button::after,.lk-button-group-menu>.lk-chat-toggle::after,.lk-button-group-menu>.lk-disconnect-button::after{margin-left:0}.lk-button-menu::after{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-0.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg: var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg: var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:rgba(0,0,0,.05)}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{width:-moz-max-content;width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:bold;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width: 600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:-moz-fit-content;width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translateX(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count), minmax(0, 1fr));grid-auto-rows:minmax(0, 1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media(max-width: 600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps: calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps: calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{position:relative;width:var(--lk-indicator-size, 1rem);height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg: var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;background-color:#000}.lk-participant-media-video[data-lk-orientation=landscape]{-o-object-fit:cover;object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{-o-object-fit:contain;object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform 100ms cubic-bezier(0.19, 0.02, 0.09, 1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:100ms cubic-bezier(0.19, 0.02, 0.09, 1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:var(--lk-va-bar-gap, 24px)}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width, 12px);border-radius:var(--lk-va-bar-border-radius, 32px);background-color:var(--lk-va-bar-bg, rgba(136, 136, 136, 0.2));transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg, rgb(136, 136, 136));transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width: 2.5px;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile::after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share])::after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:rgba(0,0,0,.5);border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:rgba(0,0,0,.5);border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@keyframes lk-rotate{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-room-container{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3, 1fr);gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translateX(-50%);background-color:rgba(0,0,0,0)}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media(max-width: 600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0px;left:0px;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media(max-width: 400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);background:var(--lk-bg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh;max-width:100%;max-height:100%;overflow-y:auto}
/*# sourceMappingURL=index.css.map */