/* RDV Simple UI Kit v1.0 — CSS autonome, sans framework */
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/dm-sans-variable-latin-d4c68940b772538be3593f0c646de4a0.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url("/assets/fonts/manrope-variable-latin-101877a7a906c31436104fe33740ae44.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122;
}

:root {
  --rdv-primary-50:#eef2ff;--rdv-primary-100:#e0e7ff;--rdv-primary-200:#c7d2fe;
  --rdv-primary-300:#a5b4fc;--rdv-primary-400:#818cf8;--rdv-primary-500:#6366f1;
  --rdv-primary-600:#4f46e5;--rdv-primary-700:#4338ca;--rdv-primary-800:#3730a3;
  --rdv-violet:#8b5cf6;--rdv-cyan:#06b6d4;--rdv-ink:#172033;--rdv-muted:#667085;
  --rdv-line:#e6eaf0;--rdv-canvas:#f7f8fc;--rdv-white:#fff;--rdv-success:#16a36a;
  --rdv-warning:#d97706;--rdv-danger:#e5484d;--rdv-info:#0284c7;
  --rdv-radius-sm:10px;--rdv-radius-md:14px;--rdv-radius-lg:20px;--rdv-radius-xl:28px;
  --rdv-shadow-xs:0 1px 2px rgba(16,24,40,.05);
  --rdv-shadow-sm:0 2px 6px rgba(31,38,135,.07),0 1px 2px rgba(16,24,40,.06);
  --rdv-shadow-md:0 12px 28px rgba(31,38,135,.11),0 3px 8px rgba(16,24,40,.05);
  --rdv-shadow-lg:0 24px 60px rgba(45,42,110,.16),0 6px 16px rgba(16,24,40,.06);
  --rdv-focus:0 0 0 4px rgba(99,102,241,.16);
  --rdv-ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{font-family:"DM Sans",system-ui,-apple-system,sans-serif;color:var(--rdv-ink);background:var(--rdv-canvas)}
body{margin:0;min-height:100vh;background:var(--rdv-canvas);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}a{color:inherit}
.rdv-heading{font-family:"Manrope",sans-serif;letter-spacing:-.035em;margin:0}
.rdv-icon{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.18em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Buttons */
.rdv-btn{--btn-bg:var(--rdv-white);--btn-color:var(--rdv-ink);--btn-border:var(--rdv-line);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:44px;padding:.7rem 1rem;border:1px solid var(--btn-border);border-radius:var(--rdv-radius-md);background:var(--btn-bg);color:var(--btn-color);font-weight:700;line-height:1;text-decoration:none;box-shadow:var(--rdv-shadow-xs);cursor:pointer;transition:transform .18s var(--rdv-ease),box-shadow .18s var(--rdv-ease),background .18s ease,border-color .18s ease;overflow:hidden}
.rdv-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 55%);z-index:-1;pointer-events:none}
.rdv-btn:hover{transform:translateY(-2px);box-shadow:var(--rdv-shadow-md)}
.rdv-btn:active{transform:translateY(0) scale(.98);box-shadow:var(--rdv-shadow-xs)}
.rdv-btn:focus-visible{outline:0;box-shadow:var(--rdv-focus),var(--rdv-shadow-sm)}
.rdv-btn:disabled,.rdv-btn[aria-disabled="true"]{opacity:.48;pointer-events:none}
.rdv-btn--primary{--btn-bg:linear-gradient(135deg,var(--rdv-primary-600),var(--rdv-violet));--btn-color:#fff;--btn-border:transparent;box-shadow:0 8px 18px rgba(79,70,229,.25),inset 0 1px rgba(255,255,255,.2)}
.rdv-btn--primary:hover{box-shadow:0 14px 30px rgba(79,70,229,.32),inset 0 1px rgba(255,255,255,.24)}
.rdv-btn--secondary{--btn-bg:var(--rdv-primary-50);--btn-color:var(--rdv-primary-700);--btn-border:var(--rdv-primary-100)}
.rdv-btn--ghost{--btn-bg:transparent;--btn-color:var(--rdv-muted);--btn-border:transparent;box-shadow:none}
.rdv-btn--ghost:hover{background:#fff;color:var(--rdv-ink);box-shadow:var(--rdv-shadow-sm)}
.rdv-btn--danger{--btn-bg:#fff1f2;--btn-color:#be123c;--btn-border:#ffe4e6}
.rdv-btn--icon{width:44px;padding:0;border-radius:13px}.rdv-btn--sm{min-height:36px;padding:.5rem .75rem;border-radius:11px;font-size:.875rem}.rdv-btn--lg{min-height:52px;padding:.9rem 1.35rem;border-radius:16px;font-size:1.02rem}
.rdv-btn[data-loading="true"]{color:transparent!important;pointer-events:none}
.rdv-btn[data-loading="true"]::before{content:"";position:absolute;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;color:#fff;animation:rdv-spin .7s linear infinite}
@keyframes rdv-spin{to{transform:rotate(360deg)}}

/* Cards */
.rdv-card{background:rgba(255,255,255,.92);border:1px solid rgba(230,234,240,.9);border-radius:var(--rdv-radius-lg);box-shadow:var(--rdv-shadow-sm);padding:1.25rem;transition:transform .22s var(--rdv-ease),box-shadow .22s var(--rdv-ease),border-color .22s ease}
.rdv-card--hover:hover{transform:translateY(-4px);border-color:var(--rdv-primary-200);box-shadow:var(--rdv-shadow-lg)}
.rdv-card--glass{background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.rdv-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:var(--rdv-primary-600);background:linear-gradient(135deg,var(--rdv-primary-50),#f5f3ff);box-shadow:inset 0 0 0 1px rgba(99,102,241,.1)}

/* Forms */
.rdv-field{display:grid;gap:.45rem;min-width:0}.rdv-label{font-size:.9rem;font-weight:700;color:#344054}.rdv-hint{font-size:.8rem;color:var(--rdv-muted)}
.rdv-input,.rdv-select,.rdv-textarea{width:100%;min-height:46px;padding:.72rem .9rem;border:1px solid #d9dee8;border-radius:13px;background:#fff;color:var(--rdv-ink);box-shadow:inset 0 1px 2px rgba(16,24,40,.03);outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.rdv-input:hover,.rdv-select:hover,.rdv-textarea:hover{border-color:#bcc3d1}.rdv-input:focus,.rdv-select:focus,.rdv-textarea:focus{border-color:var(--rdv-primary-500);box-shadow:var(--rdv-focus)}
.rdv-input::placeholder,.rdv-textarea::placeholder{color:#98a2b3}.rdv-textarea{min-height:112px;resize:vertical}.rdv-input[aria-invalid="true"]{border-color:var(--rdv-danger);box-shadow:0 0 0 4px rgba(229,72,77,.12)}
.rdv-input-wrap{position:relative}.rdv-input-wrap>.rdv-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:#98a2b3}.rdv-input-wrap>.rdv-input{padding-left:2.7rem}
.rdv-input-wrap--no-icon>.rdv-input{padding-left:.9rem}
.rdv-input-toggle{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;padding:0;border:none;border-radius:10px;background:transparent;color:#98a2b3;cursor:pointer}
.rdv-input-toggle:hover{color:var(--rdv-ink);background:#f2f4f7}
.rdv-input-toggle:focus-visible{outline:2px solid var(--rdv-primary-500);outline-offset:1px}
.rdv-input-wrap:has(.rdv-input-toggle)>.rdv-input{padding-right:2.6rem}
.rdv-checkbox{appearance:none;width:20px;height:20px;margin:0;border:1.5px solid #bfc6d4;border-radius:6px;background:#fff;display:grid;place-content:center;cursor:pointer;transition:.18s ease}.rdv-checkbox::before{content:"";width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);margin-top:-2px}.rdv-checkbox:checked{background:var(--rdv-primary-600);border-color:var(--rdv-primary-600)}.rdv-checkbox:checked::before{transform:rotate(-45deg) scale(1)}.rdv-checkbox:focus-visible{outline:0;box-shadow:var(--rdv-focus)}

/* Badges, status, avatars */
.rdv-badge{display:inline-flex;align-items:center;gap:.38rem;padding:.34rem .58rem;border-radius:999px;font-size:.76rem;font-weight:800;line-height:1;background:#f2f4f7;color:#475467}.rdv-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.75}
.rdv-badge--success{background:#ecfdf3;color:#087a4d}.rdv-badge--warning{background:#fff7e8;color:#a15c05}.rdv-badge--danger{background:#fff1f2;color:#be123c}.rdv-badge--info{background:#eff8ff;color:#026aa2}.rdv-badge--violet{background:#f5f3ff;color:#6d28d9}
.rdv-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--rdv-primary-500),var(--rdv-violet));color:#fff;font-weight:800;box-shadow:0 7px 16px rgba(99,102,241,.22)}

/* Suggestion chips (pense-bete) */
.rdv-chip-group{display:flex;flex-wrap:wrap;gap:.5rem}
.rdv-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border:1px solid var(--rdv-primary-100);border-radius:999px;background:var(--rdv-primary-50);color:var(--rdv-primary-700);font-size:.85rem;font-weight:700;line-height:1;cursor:pointer;transition:.17s var(--rdv-ease)}
.rdv-chip:hover{border-color:var(--rdv-primary-400);transform:translateY(-1px);box-shadow:var(--rdv-shadow-sm)}
.rdv-chip:focus-visible{outline:0;box-shadow:var(--rdv-focus)}
.rdv-chip__duration{opacity:.7;font-weight:600}

/* Appointment slots */
.rdv-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.65rem}
.rdv-slot{min-height:42px;padding:.6rem;border:1px solid var(--rdv-line);border-radius:12px;background:#fff;color:#344054;font-weight:700;cursor:pointer;transition:.17s var(--rdv-ease)}
.rdv-slot:hover{border-color:var(--rdv-primary-400);color:var(--rdv-primary-700);transform:translateY(-1px);box-shadow:var(--rdv-shadow-sm)}
.rdv-slot[aria-pressed="true"]{border-color:var(--rdv-primary-600);background:var(--rdv-primary-600);color:#fff;box-shadow:0 7px 16px rgba(79,70,229,.24)}
.rdv-slot:focus-visible{outline:0;box-shadow:var(--rdv-focus)}.rdv-slot:disabled{background:#f2f4f7;color:#b4bac5;text-decoration:line-through;cursor:not-allowed}

/* Alerts and toast */
.rdv-alert{display:flex;gap:.8rem;padding:1rem;border:1px solid #bae6fd;border-radius:14px;background:#f0f9ff;color:#075985}.rdv-alert--success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.rdv-alert--warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.rdv-alert--danger{border-color:#fecdd3;background:#fff1f2;color:#9f1239}
.rdv-toast{display:flex;align-items:flex-start;gap:.75rem;width:min(380px,calc(100vw - 2rem));padding:.95rem 1rem;border:1px solid var(--rdv-line);border-radius:16px;background:#fff;box-shadow:var(--rdv-shadow-lg);animation:rdv-toast-in .35s var(--rdv-ease)}
@keyframes rdv-toast-in{from{opacity:0;transform:translateY(12px) scale(.98)}}

/* Tabs and nav */
.rdv-tabs{display:flex;gap:.35rem;padding:.3rem;border:1px solid var(--rdv-line);border-radius:14px;background:#eef0f5;width:max-content}.rdv-tab{padding:.55rem .8rem;border:0;border-radius:10px;background:transparent;color:var(--rdv-muted);font-weight:700;cursor:pointer}.rdv-tab[aria-selected="true"]{background:#fff;color:var(--rdv-ink);box-shadow:var(--rdv-shadow-sm)}
.rdv-nav-link{display:flex;align-items:center;gap:.72rem;padding:.72rem .82rem;border-radius:12px;color:#667085;font-weight:650;text-decoration:none;transition:.16s ease}.rdv-nav-link:hover{background:#f5f6fa;color:var(--rdv-ink)}.rdv-nav-link[aria-current="page"]{background:var(--rdv-primary-50);color:var(--rdv-primary-700)}

/* Layout decoration */
.rdv-hero-bg{position:relative;isolation:isolate;overflow-x:hidden;background:linear-gradient(145deg,#fbfcff 0%,#f3f1ff 52%,#eef8ff 100%)}
.rdv-hero-bg::before,.rdv-hero-bg::after{content:"";position:absolute;border-radius:50%;filter:blur(1px);z-index:-1;pointer-events:none}.rdv-hero-bg::before{width:34rem;height:34rem;left:-15rem;top:-18rem;background:radial-gradient(circle,rgba(139,92,246,.22),transparent 68%)}.rdv-hero-bg::after{width:38rem;height:38rem;right:-16rem;bottom:-20rem;background:radial-gradient(circle,rgba(6,182,212,.18),transparent 68%)}
.rdv-grid-bg{background-image:linear-gradient(rgba(99,102,241,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.055) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent)}
.rdv-divider{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--rdv-line) 12%,var(--rdv-line) 88%,transparent)}
.rdv-gradient-text{background:linear-gradient(125deg,var(--rdv-primary-600),var(--rdv-violet) 55%,var(--rdv-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Skeleton */
.rdv-skeleton{border-radius:10px;background:linear-gradient(90deg,#edf0f5 25%,#f8f9fb 50%,#edf0f5 75%);background-size:200% 100%;animation:rdv-shimmer 1.4s infinite}@keyframes rdv-shimmer{to{background-position:-200% 0}}

/* Utility */
.rdv-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media (prefers-color-scheme:dark){.rdv-auto-dark{--rdv-ink:#f7f8fb;--rdv-muted:#aeb6c5;--rdv-line:#2d3442;--rdv-canvas:#10131a;--rdv-white:#181d27;color-scheme:dark}}

