@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--evergreen:#071513;--pine-teal:#102924;--dark-emerald:#173c35;--sea-green:#265c51;--mint-leaf:#3eb09b;--mint-light:#6de6d0;--frosted-mint:#e6f7f4;--celadon:#9fe2d3;--celadon-light:#c5f2e8;--danger:#ef5350;--danger-bg:#ef535026;--warning:#ffa726;--warning-bg:#ffa72626;--success:#66bb6a;--info:#42a5f5;--font-main:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--shadow-glow:0 0 25px var(--glow-primary,#3eb09b40);--shadow-card:0 10px 30px #0006;--shadow-modal:0 20px 50px #000000b3;--glass-bg:#102924c7;--glass-card-bg:#173c358c;--glass-border:#265c5173;--input-bg:#071513bf;--glow-primary:#3eb09b29;--glow-secondary:#265c5138;--on-primary:#071513}:root[data-theme=light]{--shadow-card:0 8px 24px #0f172a14;--shadow-modal:0 20px 45px #0f172a2e;--danger-bg:#ef53501f;--warning-bg:#ffa72624}:root[data-theme=light] .badge-confirmada{color:#1b5e20;background:#2e7d3224;border:1px solid #2e7d3259}:root[data-theme=light] .badge-pendiente{color:#b45309;background:#e6510024;border:1px solid #e6510059}:root[data-theme=light] .badge-completada{color:#1d4ed8;background:#1565c024;border:1px solid #1565c059}:root[data-theme=light] .badge-cancelada{color:#b91c1c;background:#c6282824;border:1px solid #c6282859}:root[data-theme=light] .input-field{border-color:var(--glass-border);box-shadow:inset 0 1px 2px #0f172a0d}:root[data-theme=light] .modal-overlay{background:#0f172a8c}*{box-sizing:border-box;font-family:var(--font-main);-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--evergreen);color:var(--frosted-mint);min-height:100vh;line-height:1.5;transition:background-color .3s,color .3s;overflow-x:hidden}.bg-decorated{background:radial-gradient(circle at 10% 20%, var(--glow-primary) 0%, transparent 45%), radial-gradient(circle at 90% 80%, var(--glow-secondary) 0%, transparent 55%), var(--evergreen);position:relative}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.glass-card{background:var(--glass-card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:transform .25s,border-color .25s,box-shadow .25s}.glass-card:hover{border-color:var(--mint-leaf);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.btn-primary{background:linear-gradient(135deg, var(--mint-leaf) 0%, var(--sea-green) 100%);color:var(--on-primary,#fff);border-radius:var(--radius-md);cursor:pointer;box-shadow:0 4px 15px var(--glow-primary);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-size:.95rem;font-weight:700;transition:all .25s;display:inline-flex}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--mint-light) 0%, var(--mint-leaf) 100%);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--dark-emerald);color:var(--frosted-mint);border-radius:var(--radius-md);border:1px solid var(--sea-green);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover:not(:disabled){background:var(--sea-green);color:#fff}.btn-outlined{color:var(--celadon-light);border:1px solid var(--sea-green);border-radius:var(--radius-md);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-outlined:hover{border-color:var(--mint-leaf);color:var(--mint-light);background:#3eb09b14}.btn-danger{background:var(--danger);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-danger:hover{background:#d32f2f}.btn-icon{background:var(--glass-card-bg);color:var(--mint-light);border:1px solid var(--glass-border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex}.btn-icon:hover{background:var(--sea-green);color:var(--frosted-mint);border-color:var(--mint-leaf)}.input-group{flex-direction:column;gap:.35rem;margin-bottom:1.1rem;display:flex}.input-label{color:var(--celadon-light);justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;display:flex}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--sea-green);pointer-events:none;transition:color .2s;position:absolute;left:1rem}.input-field{background:var(--input-bg);border:1.5px solid var(--dark-emerald);border-radius:var(--radius-md);width:100%;color:var(--frosted-mint);outline:none;padding:.85rem 1rem .85rem 2.8rem;font-size:.95rem;transition:all .25s}.input-field:focus{border-color:var(--mint-leaf);box-shadow:0 0 12px var(--glow-primary);background:var(--glass-bg)}.input-field:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:var(--mint-leaf)}.input-field.has-error{border-color:var(--danger)}.input-error-msg{color:var(--danger);margin-top:.25rem;font-size:.78rem}.input-help-toggle{color:var(--sea-green);cursor:pointer;background:0 0;border:none;align-items:center;padding:.2rem;transition:color .2s;display:flex}.input-help-toggle:hover{color:var(--mint-leaf)}.input-help-box{border-left:3px solid var(--mint-leaf);color:var(--celadon);background:#173c35cc;border-radius:4px;margin-top:.4rem;padding:.5rem .8rem;font-size:.8rem}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:999;background:#040c0bd1;justify-content:center;align-items:center;padding:1.25rem;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--pine-teal);border:1px solid var(--dark-emerald);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-modal);padding:1.75rem;animation:.25s ease-out scaleUp;position:relative;overflow-y:auto}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge-confirmada{color:#81c784;background:#66bb6a2e;border:1px solid #66bb6a4d}.badge-pendiente{color:#ffb74d;background:#ffa7262e;border:1px solid #ffa7264d}.badge-completada{color:#64b5f6;background:#42a5f52e;border:1px solid #42a5f54d}.badge-cancelada{color:#e57373;background:#ef53502e;border:1px solid #ef53504d}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-day-header{color:var(--sea-green);padding:.4rem 0;font-size:.8rem;font-weight:700}.calendar-day-cell{aspect-ratio:1;cursor:pointer;background:var(--glass-card-bg);color:var(--frosted-mint);border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.calendar-day-cell:hover:not(.disabled){background:var(--dark-emerald);border-color:var(--mint-leaf);color:var(--mint-light)}.calendar-day-cell.selected{box-shadow:var(--shadow-glow);font-weight:800;background:var(--mint-leaf)!important;color:var(--on-primary,#fff)!important}.calendar-day-cell.disabled{opacity:.25;cursor:not-allowed;background:0 0}.calendar-day-cell.today{border:1.5px solid var(--mint-light)}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:8px;display:grid}.slot-item{text-align:center;background:var(--glass-card-bg);border:1px solid var(--dark-emerald);border-radius:var(--radius-sm);color:var(--celadon);cursor:pointer;padding:.6rem .4rem;font-size:.85rem;font-weight:600;transition:all .2s}.slot-item:hover:not(.disabled){border-color:var(--mint-leaf);color:var(--mint-light);background:var(--dark-emerald)}.slot-item.selected{background:var(--mint-leaf);color:var(--on-primary,#fff);border-color:var(--mint-light);font-weight:800}.slot-item.disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%{opacity:.6;transform:scale(.95)}50%{opacity:.2;transform:scale(1.15)}to{opacity:.6;transform:scale(.95)}}.pulse-circle{animation:2s ease-in-out infinite pulseGlow}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--evergreen)}::-webkit-scrollbar-thumb{background:var(--dark-emerald);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--sea-green)}@media (width<=768px){.glass-panel{border-radius:var(--radius-md)}.modal-overlay{padding:.75rem}.modal-content{border-radius:var(--radius-md);max-height:92vh;padding:1.25rem}.btn-primary,.btn-secondary,.btn-outlined{padding:.65rem 1.1rem;font-size:.88rem}}@media (width<=640px){.slots-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}.calendar-day-cell{border-radius:8px;font-size:.82rem}.calendar-day-header{font-size:.74rem}.input-field{padding:.75rem .9rem .75rem 2.5rem;font-size:.9rem}}@media (width<=480px){.modal-content{padding:1rem}.btn-icon{width:36px;height:36px}}
