@charset "UTF-8";:root{--gold-1: #e7c879;--gold-2: #c9a24b;--gold-3: #b07d2b;--gold-grad: linear-gradient(135deg, #e7c879 0%, #c9a24b 45%, #a9772a 100%);--rose: #c68b8b;--rose-soft: #e7c4c4;--wine: #a1535e;--wine-deep: #8b3f4b;--burgundy: #9b4b56;--cream: #fcf8f1;--cream-2: #f7efe2;--cream-3: #f2e7d6;--paper: #fffdf9;--ink: #463c34;--ink-soft: #6f6157;--muted: #998a7c;--sage: #7d8a5f;--sage-soft: #e6ead9;--ok: #5d8b62;--warn: #c98a2e;--danger: #c0556a;--border: rgba(201, 162, 75, .32);--border-soft: rgba(176, 140, 100, .18);--shadow-sm: 0 2px 10px rgba(120, 86, 50, .08);--shadow-md: 0 12px 34px rgba(120, 86, 50, .14);--shadow-lg: 0 24px 60px rgba(96, 64, 40, .22);--radius-sm: 10px;--radius: 18px;--radius-lg: 28px;--radius-pill: 999px;--font-serif: "Cormorant Garamond", Georgia, serif;--font-script: "Dancing Script", cursive;--font-sans: "Montserrat", "Segoe UI", system-ui, sans-serif;--header-h: 76px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}html{scroll-padding-top:calc(var(--header-h) + 12px)}a:focus-visible,button:focus-visible,.btn:focus-visible,[tabindex]:focus-visible{outline:2.5px solid var(--gold-2);outline-offset:3px}body{margin:0;overflow-x:clip;font-family:var(--font-sans);color:var(--ink);background:var(--cream);background-image:radial-gradient(1200px 600px at 100% -10%,rgba(231,196,196,.25),transparent 60%),radial-gradient(1000px 700px at -10% 110%,rgba(201,162,75,.12),transparent 55%);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:700;color:var(--ink);line-height:1.12;margin:0 0 .4em;letter-spacing:.3px}h1{font-size:clamp(2rem,5vw,3.4rem)}h2{font-size:clamp(1.6rem,3.6vw,2.5rem)}h3{font-size:clamp(1.2rem,2.4vw,1.6rem)}p{margin:0 0 1rem}a{color:var(--wine);text-decoration:none}.script{font-family:var(--font-script);color:var(--wine)}.gold-text{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.muted{color:var(--muted)}.center{text-align:center}.container{width:min(1180px,92vw);margin-inline:auto}.container-sm{width:min(680px,92vw);margin-inline:auto}.section{padding:clamp(2.5rem,6vw,5rem) 0}.btn{--bg: var(--gold-grad);display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--font-sans);font-weight:600;font-size:.98rem;letter-spacing:.3px;padding:.82rem 1.6rem;border:none;border-radius:var(--radius-pill);cursor:pointer;color:#fff;background:var(--bg);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;text-align:center;line-height:1.2;min-height:44px}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);filter:brightness(1.03)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:grayscale(.2)}.btn--rose{--bg: linear-gradient(135deg, #c68b8b, #9b4b56)}.btn--wine{--bg: linear-gradient(135deg, #a1535e, #7e3845)}.btn--ghost{background:transparent;color:var(--wine);border:1.6px solid var(--border);box-shadow:none}.btn--ghost:hover{background:#c9a24b14}.btn--block{width:100%}.btn--sm{padding:.5rem 1rem;font-size:.85rem;min-height:40px}.btn--lg{padding:1rem 2.2rem;font-size:1.08rem}.card{background:var(--paper);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:clamp(1.2rem,3vw,2rem)}.card--gold{border-color:var(--border);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:.28rem .7rem;border-radius:var(--radius-pill);background:var(--cream-3);color:var(--ink-soft);flex:none;white-space:nowrap}.badge--new{background:linear-gradient(135deg,#e7c879,#c9a24b);color:#fff}.badge--returning{background:var(--sage-soft);color:var(--sage)}.badge--pendiente{background:#f6e7cf;color:#a9772a}.badge--confirmada{background:#dfeede;color:#4d7a52}.badge--completada{background:#e4ddf0;color:#6a5a8e}.badge--cancelada{background:#f3d9de;color:#b04a5b}.field{margin-bottom:1.05rem}.field>label{display:block;font-size:.82rem;font-weight:600;color:var(--ink-soft);margin-bottom:.4rem;letter-spacing:.3px}.input,.select,.textarea{width:100%;font-family:var(--font-sans);font-size:1rem;color:var(--ink);background:var(--paper);border:1.5px solid var(--border-soft);border-radius:var(--radius-sm);padding:.8rem 1rem;transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--gold-2);box-shadow:0 0 0 4px #c9a24b29}.textarea{resize:vertical;min-height:90px}.field--error .input,.field--error .select{border-color:var(--danger)}.field__error{color:var(--danger);font-size:.78rem;margin-top:.3rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:.5rem}.gap{gap:1rem}.gap-lg{gap:1.6rem}.wrap{flex-wrap:wrap}.grid{display:grid;gap:1.2rem}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.hidden{display:none!important}.break-word{overflow-wrap:anywhere;word-break:break-word}.touch-44{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#c9a24b66;border-radius:99px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.boot-splash{position:fixed;inset:0;display:grid;place-content:center;justify-items:center;gap:1rem;background:var(--cream);color:var(--gold-3);font-family:var(--font-sans)}.boot-spinner{width:46px;height:46px;border-radius:50%;border:4px solid rgba(201,162,75,.25);border-top-color:var(--gold-2);animation:boot-spin .9s linear infinite}@keyframes boot-spin{to{transform:rotate(360deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.fade-up{animation:fade-up .5s ease both}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width: 560px){.btn--sm{min-height:44px;padding:.6rem 1rem}.section{padding:clamp(1.75rem,5vw,3rem) 0}.card{padding:clamp(1rem,4vw,1.5rem)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
