@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap";.modal-overlay,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000047;backdrop-filter:blur(18px) brightness(1.25);-webkit-backdrop-filter:blur(18px);display:flex;justify-content:center;align-items:center;z-index:9999}.modal-card{width:92%;max-width:680px;padding:32px;border-radius:26px;background:#ffffff73;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(255,255,255,.55);box-shadow:0 20px 40px #00000040;animation:modalPop .25s ease forwards;transform:translateY(10px);opacity:0}@keyframes modalPop{0%{opacity:0;transform:translateY(25px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-header h2{font-size:1.5rem;font-weight:700;color:#111;margin:0}.modal-header button{font-size:1.8rem;border:none;background:transparent;cursor:pointer;opacity:.6;transition:.2s ease}.modal-header button:hover{opacity:1}.modal-body{display:grid;grid-template-columns:1fr;gap:18px}.modal-field{display:flex;flex-direction:column}.modal-field label{font-size:.9rem;font-weight:600;color:#222;margin-bottom:6px}.modal-field input,.modal-field select{width:100%;border-radius:12px;border:1px solid rgba(0,0,0,.3);padding:12px 14px;font-size:1rem;background:#ffffffbf}.modal-row{display:flex;flex-direction:row;gap:14px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:14px}.btn-primary{background:#000;color:#fff;border:none;padding:12px 18px;border-radius:12px;font-size:1rem;cursor:pointer;box-shadow:0 6px 14px #00000040;transition:.2s ease}.btn-primary:hover{background:#222}.btn-secondary{background:#fffc;border:1px solid rgba(0,0,0,.3);color:#222;padding:12px 18px;border-radius:12px;font-size:1rem;cursor:pointer;transition:.2s ease}.btn-secondary:hover{background:#fff}.btn-delete{width:100%;background:#ff2d55;color:#fff;padding:14px;font-size:17px;border-radius:14px;border:none;margin-top:14px;box-shadow:0 6px 16px #ff3c4659}.btn-delete:hover{background:#f03}@media (min-width: 700px){.modal-body{grid-template-columns:1fr 1fr}.modal-field:nth-child(1){grid-column:span 2}.modal-field:nth-child(2){grid-column:span 2}.modal-row{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-footer{grid-column:span 2}}.btn-charge{position:absolute;top:20px;right:20px;background:#22c55e;color:#fff;border:none;padding:10px 18px;font-size:15px;border-radius:10px;cursor:pointer;font-weight:600;box-shadow:0 6px 16px #00000026;transition:.2s ease}.btn-charge:hover{background:#16a34a;transform:translateY(-1px)}html,body{margin:0;padding:0;height:100%;overflow:hidden}.login-page{height:100dvh;display:flex;flex-direction:column;justify-content:space-between;background:#f4f4f6;overflow:hidden}.login-center{flex:1;display:flex;justify-content:center;align-items:center;padding:0 1.6rem}.login-form{width:100%;max-width:480px;display:flex;flex-direction:column;gap:1.3rem}.login-input{border-radius:20px;background:#fffc;padding:.2rem 1.4rem;border:1px solid rgba(0,0,0,.15);box-shadow:0 4px 12px #0000000f}.login-input input{width:100%;padding:1rem 0;border:none;outline:none;background:transparent;font-size:1.05rem}.login-button{margin-top:.5rem;width:100%;border-radius:16px;padding:1rem;border:none;background:#000;color:#fff;font-weight:600;font-size:1.1rem;box-shadow:0 6px 18px #00000040}.login-error{background:#ffe0e0;border-radius:12px;padding:.8rem;text-align:center}.login-footer{width:100%;display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom)}.login-footer img{width:clamp(180px,40vw,340px);opacity:.9}@media (min-width: 900px){.login-footer img{width:300px}.login-center{padding-top:40px}}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:#f5f5f7;animation:fade-in .4s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.app-main{flex:1;display:flex;flex-direction:column;padding-bottom:2rem}.header-bar{width:100%;background:#1e1e1e73;backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.6rem;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:2000;border-radius:0 0 24px 24px;transition:backdrop-filter .35s ease,background .35s ease}.header-left{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.header-logo{font-weight:800;font-size:1.2rem;letter-spacing:.12em;text-shadow:0 2px 5px rgba(0,0,0,.3)}.header-subtitle{font-size:.85rem;opacity:.8;white-space:nowrap}.header-link{font-size:.9rem;white-space:nowrap;opacity:.8;color:#fff!important;transition:.25s ease}.header-link:hover{opacity:1}.header-logout{white-space:nowrap;border-radius:20px;padding:.4rem 1.2rem;border:1.5px solid rgba(255,255,255,.7);background:#ffffff1a;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:.25s ease}.header-logout:hover{background:#ffffff40}.week-container{flex:1;padding:1.5rem 1rem .5rem;display:flex;flex-direction:column}.week-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.8rem}.week-nav{display:flex;align-items:center;gap:.65rem}.week-nav button{width:36px;height:36px;border-radius:12px;border:none;background:#000000bf;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer;transform:translateY(0);box-shadow:0 6px 16px #0000001f;transition:.2s ease}.week-nav button:hover{background:#000;transform:translateY(-2px)}.week-label{font-weight:600;font-size:1rem;opacity:.9;letter-spacing:.05em}.new-appointment-btn{border:none;background:#000;color:#fff;padding:.7rem 1.6rem;border-radius:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 18px #00000026;transition:.25s ease}.new-appointment-btn:hover{transform:translateY(-2px);background:#111}.day-selector-row{display:flex;justify-content:center;gap:10px;margin-bottom:1.5rem}.day-selector-btn{width:44px;height:44px;border-radius:12px;border:none;background:#ffffff59;backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);color:#000;font-size:17px;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000000f;transition:.25s ease;cursor:pointer}.day-selector-btn:hover{background:#ffffff8c}.day-selector-btn.active{background:#000;color:#fff;transform:translateY(-3px) scale(1.06);box-shadow:0 8px 28px #0000004d}.single-day-column{width:100%;max-width:760px;margin:0 auto;display:flex;justify-content:center;align-items:flex-start;padding-top:10px}.day-column{display:flex;flex-direction:column;gap:2rem}.day-column-slots{display:flex;flex-direction:column;gap:2rem;width:100%}.appointment-card{min-height:70px;border-radius:26px;border:none!important;padding:1.2rem 1.6rem;display:flex;gap:.8rem;align-items:center;cursor:pointer;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 6px 22px #00000014;transition:.2s ease}.appointment-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0000001f}.appointment-time{font-weight:700;font-size:1rem}.appointment-info{flex:1;display:flex;flex-direction:column}.appointment-client{font-weight:600;font-size:.95rem}.appointment-service{opacity:.7;font-size:.82rem}@media (max-width: 480px){.header-left{gap:.8rem}.header-subtitle{display:none}.single-day-column{max-width:92%}.header-logo{font-size:1rem}}.servicios-container{padding:30px}.servicios-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.servicios-header h1{font-size:26px;font-weight:600;margin:0}.btn-nuevo{background:#000;color:#fff;border:none;padding:12px 20px;font-size:15px;border-radius:8px;cursor:pointer}.btn-nuevo:hover{opacity:.85}.servicios-list{display:flex;flex-direction:column;gap:16px}.servicio-card{border:1px solid #ccc;padding:18px;border-radius:16px;display:flex;justify-content:space-between;align-items:center;background:#fafafa}.servicio-info h3{margin:0;font-size:18px;font-weight:600}.desc{margin:6px 0;color:#666;font-size:14px}.servicio-meta{display:flex;gap:15px;font-weight:500;font-size:14px}.badge-activo,.badge-inactivo{border:none;padding:6px 12px;border-radius:8px;cursor:pointer;font-size:13px}.badge-activo{background:#d2f8d2;color:#1a7f1a}.badge-inactivo{background:#f8d2d2;color:#7f1a1a}.servicio-actions{display:flex;align-items:center;gap:10px}.btn-borrar{border:none;background:transparent;font-size:20px;cursor:pointer;opacity:.5}.btn-borrar:hover{opacity:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;justify-content:center;align-items:center}.modal-content{background:#fff;padding:25px;border-radius:16px;width:90%;max-width:400px}.modal-content form{display:flex;flex-direction:column;gap:12px}.modal-content input,.modal-content textarea{border:1px solid #ccc;border-radius:8px;padding:10px}.btn-guardar{background:#000;color:#fff;padding:10px 18px;border:none;border-radius:8px;cursor:pointer}.btn-cerrar{margin-top:10px;background:#eee;border:none;padding:8px 15px;border-radius:8px;cursor:pointer}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#fff;color:#111;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font-family:Poppins,sans-serif}img{max-width:100%;display:block}
