/* T50 — Verre / Verre fumé. Opaque semantic surfaces remain available for dense text. */
:root {
  color-scheme: light;
  --bg: #f7f6fb;
  --surface: #faf9fd;
  --surface-neutral: var(--bg);
  --surface-muted: var(--bg);
  --surface-strong: #e3e6ec;
  --line: #e3e6ec;
  --line-strong: #6e6e73;
  --text: #1a1523;
  --text-soft: #5c5668;
  --text-muted: #5c5668;
  --tab-text: #5c5668;
  --gradient-rose: #fde2ec;
  --gradient-lilac: #e4e7fd;
  --gradient-mint: #dff5f1;
  --glass-surface: rgba(255,255,255,.62);
  --glass-menu: rgba(255,255,255,.55);
  --glass-dense: rgba(255,255,255,.90);
  --glass-field: rgba(255,255,255,.70);
  --glass-pill: rgba(255,255,255,.48);
  --selection-surface: #ffffff;
  --selection-text: #1a1523;
  --selection-edge: rgba(255,255,255,.92);
  --selection-shadow: 0 1px 3px rgb(0 0 0 / 10%), 0 1px 2px rgb(0 0 0 / 6%);
  --glass-edge: rgba(255,255,255,.85);
  --glass-highlight: rgba(255,255,255,.8);
  --glass-blur: blur(20px) saturate(160%);
  --shadow-glass: 0 8px 32px rgba(80,60,120,.08);
  --shadow-glass-sm: 0 2px 8px rgba(80,60,120,.08);
  --hover: rgba(0,0,0,.035);
  --primary: #334155;
  --primary-dark: #334155;
  --primary-hover: #1e293b;
  --primary-soft: #eef2f6;
  --primary-faint: #e9eef4;
  --primary-line: var(--line);
  --primary-strong: var(--primary-dark);
  --link: #334155;
  --accent: var(--primary);
  --on-primary: #ffffff;
  --on-status: #ffffff;
  --blue: #1d4ed8;
  --blue-soft: #eff6ff;
  --amber: #92400e;
  --amber-soft: #fffbeb;
  --red: #b91c1c;
  --red-soft: #fef2f2;
  --green: #166534;
  --green-soft: #f0fdf4;
  --green-faint: #dcfce7;
  --lavender: #f5f3ff;
  --lavender-strong: #6d28d9;
  --sky: var(--blue-soft);
  --peach: var(--amber-soft);
  --rose: #fce7f3;
  --backdrop: rgba(15,23,42,.28);
  --backdrop-filter: blur(10px);
  --paper: #ffffff;
  --paper-ink: #302b2d;
  --paper-line: #e5e0db;
  --paper-muted: #746b6c;
  --platform-booking: #003580;
  --platform-abritel: #245abc;
  --platform-gites: #286536;
  --calendar-rose: #f8dce8;
  --calendar-peach: #f8e3d4;
  --calendar-sand: #f2ebcb;
  --calendar-sage: #e0edda;
  --calendar-teal: #d5eeea;
  --calendar-sky: #dce9f9;
  --calendar-lavender: #e9e0f6;
  --calendar-slate: #e1e6ec;
  --calendar-ink: #263342;
  --calendar-border: #536375;
  --calendar-badge-blue: #e3edfc;
  --calendar-badge-blue-ink: #153c71;
  --calendar-badge-green: #e1eee5;
  --calendar-badge-green-ink: #224e36;
  --shadow-primary: 0 5px 14px color-mix(in srgb, var(--primary) 22%, transparent);
  --shadow-overlay: 0 16px 48px rgba(30,20,50,.18);
  --shadow: var(--shadow-glass);
  --shadow-soft: var(--shadow-glass-sm);
  /* T73a — shared geometry, typography and motion foundations. */
  --radius-group: 26px;
  --radius-popover: 18px;
  --radius-control: 12px;
  --radius-row: 10px;
  --radius-icon: 7px;
  --radius-pill: 999px;
  --icon-tile: 30px;
  --round-button: 44px;
  --switch-w: 51px;
  --switch-h: 31px;
  --switch-knob: 27px;
  --radius: var(--radius-group);
  --radius-sm: var(--radius-row);
  --radius-md: var(--radius-control);
  --radius-lg: var(--radius-group);
  --sidebar-width: 264px;
  --font-ui: -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
  --control-radius: var(--radius-control);
  --card-radius: var(--radius-group);
  --row-height: 56px;
  --row-padding: 16px;
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --ease-out: cubic-bezier(.23, 1, .32, 1);
  --ease-in-out: cubic-bezier(.77, 0, .175, 1);
  --ease-drawer: cubic-bezier(.32, .72, 0, 1);
  --dur-press: 160ms;
  --dur-small: 180ms;
  --dur-dialog: 220ms;
  --dur-sheet: 320ms;
  --dur-exit: 160ms;
  --motion-duration: var(--dur-press);
  --nav-dashboard: #e0457b;
  --nav-calendar: #f97316;
  --nav-reservations: #eab308;
  --nav-inbox: #14b8a6;
  --nav-reviews: #e879a9;
  --nav-coreProperties: #3b82f6;
  --nav-billing: #8b5cf6;
  --nav-cleaning: #06b6d4;
  --nav-documents: #65a30d;
  --nav-settings: #8e8e93;
  --nav-tools: #a3785f;
}
:root[data-miguel-theme] {
  --primary: #be185d;
  --primary-dark: #9d174d;
  --primary-hover: #9d174d;
  --primary-soft: var(--bg);
  --link: #be185d;
}

/* Explicit selection wins over the device. CSS also works without JavaScript. */
@media (prefers-color-scheme: dark) {
:root:not([data-color-mode="light"]) {
  color-scheme: dark;
  --on-status: #1c1e23;
  --bg: #14131d;
  --surface: #22212f;
  --surface-strong: #30333a;
  --line: #30333a;
  --line-strong: #a3a6ae;
  --text: #f2f2f5;
  --text-soft: #a3a6ae;
  --text-muted: #a3a6ae;
  --tab-text: #a3a6ae;
  --gradient-rose: #301c32;
  --gradient-lilac: #19243d;
  --gradient-mint: #142f2c;
  --glass-surface: rgba(29,28,42,.76);
  --glass-menu: rgba(24,23,36,.72);
  --glass-dense: rgba(29,28,42,.94);
  --glass-field: rgba(45,43,60,.78);
  --glass-pill: rgba(78,73,101,.30);
  --selection-surface: rgba(255,255,255,.16);
  --selection-text: #ffffff;
  --selection-edge: rgba(255,255,255,.22);
  --selection-shadow: 0 1px 3px rgb(0 0 0 / 35%), 0 1px 2px rgb(0 0 0 / 24%);
  --glass-edge: rgba(255,255,255,.16);
  --glass-highlight: rgba(255,255,255,.22);
  --shadow-glass: inset 0 1px 0 rgb(255 255 255 / 6%);
  --shadow-glass-sm: inset 0 1px 0 rgb(255 255 255 / 6%);
  --shadow-overlay: 0 16px 48px rgba(0,0,0,.35);
  --hover: rgba(255,255,255,.04);
  --primary-dark: #f2f2f5;
  --primary-soft: #30333a;
  --primary-faint: #2c293a;
  --link: #f2f2f5;
  --blue: #93c5fd;
  --blue-soft: #202e46;
  --amber: #fcd34d;
  --amber-soft: #382d1c;
  --red: #fca5a5;
  --red-soft: #3e222a;
  --green: #86efac;
  --green-soft: #1c3529;
  --green-faint: #244a35;
  --rose: #4a2035;
  --lavender: #312641;
  --lavender-strong: #c4b5fd;
  --calendar-rose: #512b3e;
  --calendar-peach: #493127;
  --calendar-sand: #403a24;
  --calendar-sage: #2c3d29;
  --calendar-teal: #233e3a;
  --calendar-sky: #27394d;
  --calendar-lavender: #382e4d;
  --calendar-slate: #333b46;
  --calendar-ink: #f2f2f5;
  --calendar-border: #a3a6ae;
  --calendar-badge-blue: #27394d;
  --calendar-badge-blue-ink: #bfdbfe;
  --calendar-badge-green: #2c3d29;
  --calendar-badge-green-ink: #bbf7d0;
}
:root[data-miguel-theme]:not([data-color-mode="light"]) {
  --primary-dark: #f472b6;
  --link: #f472b6;
}
}
:root[data-color-mode="dark"] {
  color-scheme: dark;
  --on-status: #1c1e23;
  --bg: #14131d;
  --surface: #22212f;
  --surface-strong: #30333a;
  --line: #30333a;
  --line-strong: #a3a6ae;
  --text: #f2f2f5;
  --text-soft: #a3a6ae;
  --text-muted: #a3a6ae;
  --tab-text: #a3a6ae;
  --gradient-rose: #301c32;
  --gradient-lilac: #19243d;
  --gradient-mint: #142f2c;
  --glass-surface: rgba(29,28,42,.76);
  --glass-menu: rgba(24,23,36,.72);
  --glass-dense: rgba(29,28,42,.94);
  --glass-field: rgba(45,43,60,.78);
  --glass-pill: rgba(78,73,101,.30);
  --selection-surface: rgba(255,255,255,.16);
  --selection-text: #ffffff;
  --selection-edge: rgba(255,255,255,.22);
  --selection-shadow: 0 1px 3px rgb(0 0 0 / 35%), 0 1px 2px rgb(0 0 0 / 24%);
  --glass-edge: rgba(255,255,255,.16);
  --glass-highlight: rgba(255,255,255,.22);
  --shadow-glass: inset 0 1px 0 rgb(255 255 255 / 6%);
  --shadow-glass-sm: inset 0 1px 0 rgb(255 255 255 / 6%);
  --shadow-overlay: 0 16px 48px rgba(0,0,0,.35);
  --hover: rgba(255,255,255,.04);
  --primary-dark: #f2f2f5;
  --primary-soft: #30333a;
  --primary-faint: #2c293a;
  --link: #f2f2f5;
  --blue: #93c5fd;
  --blue-soft: #202e46;
  --amber: #fcd34d;
  --amber-soft: #382d1c;
  --red: #fca5a5;
  --red-soft: #3e222a;
  --green: #86efac;
  --green-soft: #1c3529;
  --green-faint: #244a35;
  --rose: #4a2035;
  --lavender: #312641;
  --lavender-strong: #c4b5fd;
  --calendar-rose: #512b3e;
  --calendar-peach: #493127;
  --calendar-sand: #403a24;
  --calendar-sage: #2c3d29;
  --calendar-teal: #233e3a;
  --calendar-sky: #27394d;
  --calendar-lavender: #382e4d;
  --calendar-slate: #333b46;
  --calendar-ink: #f2f2f5;
  --calendar-border: #a3a6ae;
  --calendar-badge-blue: #27394d;
  --calendar-badge-blue-ink: #bfdbfe;
  --calendar-badge-green: #2c3d29;
  --calendar-badge-green-ink: #bbf7d0;
}
:root[data-miguel-theme][data-color-mode="dark"] {
  --primary-dark: #f472b6;
  --link: #f472b6;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-color-mode="light"]) { -webkit-font-smoothing: antialiased; }
}
:root[data-color-mode="dark"] { -webkit-font-smoothing: antialiased; }

.density-compact, #calendarView, .table-wrap, .su-table-wrap, .finance-dashboard { --row-height: 44px; --row-padding: 8px; }
@media (prefers-reduced-transparency: reduce) {
  :root {
    --glass-surface: var(--surface);
    --glass-menu: var(--surface);
    --glass-dense: var(--surface);
    --glass-field: var(--surface-strong);
    --glass-pill: var(--surface-strong);
    --glass-blur: none;
  }
}
@media (prefers-contrast: more) {
  :root {
    --glass-surface: var(--surface);
    --glass-menu: var(--surface);
    --glass-dense: var(--surface);
    --glass-field: var(--surface);
    --glass-pill: var(--surface);
    --glass-edge: var(--line-strong);
    --selection-edge: var(--line-strong);
    --glass-blur: none;
  }
}
