:root{--primary:#0e7490;--primary-hover:#0369a1;--secondary:#b48c36;--accent-gold:#c5a059;--bg-color:#f8fafc;--card-bg:#ffffffe6;--text-main:#0f172a;--text-light:#64748b}body{color:var(--text-main);background:linear-gradient(135deg,#f0f7f8 0%,#f6f8fa 35%,#faf8f5 70%,#fefcf8 100%);flex-direction:column;min-height:100vh;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative;overflow-x:hidden}.bg-watermark-left{opacity:.09;z-index:0;pointer-events:none;background-image:url(/logo.png);background-position:50%;background-repeat:no-repeat;background-size:min(36vw,430px);width:50vw;height:100vh;position:fixed;top:0;left:0}.bg-watermark-right{opacity:.09;z-index:0;pointer-events:none;background-image:url(/logo_mfba.png);background-position:50%;background-repeat:no-repeat;background-size:min(22vw,230px);width:50vw;height:100vh;position:fixed;top:0;right:0}#root{width:100%}.dashboard-container{max-width:1440px;min-height:100vh;margin:0 auto;display:flex}.sidebar{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid #fff6;flex-direction:column;gap:1.5rem;width:260px;padding:2rem 1.5rem;display:flex}.logo{color:var(--primary);align-items:center;gap:.5rem;margin-bottom:2rem;font-size:1.5rem;font-weight:800;display:flex}.nav-item{cursor:pointer;color:var(--text-light);border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;transition:all .3s;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:linear-gradient(135deg,#0e7490 0%,#155e75 100%);transform:translate(5px);box-shadow:0 4px 14px #0e749040}.main-content{flex-direction:column;flex:1;gap:2rem;padding:2.5rem;display:flex}.sidebar-right{border-left:1px solid #fff6;border-right:none}@media (width<=1024px){.sidebar-right{display:none}}.header{justify-content:space-between;align-items:center;display:flex}.header h1{letter-spacing:-.05em;margin:0;font-size:2rem;font-weight:700}.user-profile{background:var(--card-bg);border-radius:50px;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex;box-shadow:0 4px 6px #0000000d}.avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.stat-card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #fff6;border-radius:20px;flex-direction:column;gap:.5rem;padding:1.5rem;transition:transform .3s;display:flex;box-shadow:0 10px 25px #0000000d}.stat-card:hover{transform:translateY(-5px)}.stat-title{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}.stat-value{color:var(--primary);font-size:2.5rem;font-weight:800}.content-grid{grid-template-columns:2fr 1fr;gap:1.5rem;display:grid}.panel{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #fff6;border-radius:20px;padding:1.5rem;box-shadow:0 10px 25px #0000000d}.panel h2{border-bottom:2px solid #0000000d;margin-top:0;margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.25rem;font-weight:700}.appointments-list{flex-direction:column;gap:1rem;display:flex}.appointment-item{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;transition:all .3s;display:flex;box-shadow:0 2px 4px #00000005}.appointment-item:hover{box-shadow:0 4px 12px #00000014}.appointment-info{flex-direction:column;gap:.25rem;display:flex}.patient-name{font-weight:600}.appointment-time{color:var(--text-light);font-size:.85rem}.badge{text-transform:uppercase;border-radius:50px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.badge.pendiente{color:#d97706;background:#fef3c7}.badge.confirmado{color:#fff;background:#10b981;box-shadow:0 2px 4px #10b98133}.qr-container{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.qr-box{background:#fff;border-radius:16px;justify-content:center;align-items:center;width:200px;height:200px;padding:1rem;display:flex;box-shadow:0 4px 12px #0000001a}.qr-box img{max-width:100%;max-height:100%}.btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0e7490 0%,#0284c7 100%);border:none;border-radius:12px;padding:.75rem 1.5rem;font-weight:600;transition:all .3s;box-shadow:0 2px 8px #0e749040}.btn:hover{background:linear-gradient(135deg,#0369a1 0%,#0284c7 100%);transform:translateY(-2px);box-shadow:0 4px 14px #0e749059}.login-container{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2.5rem 1rem 1.5rem;display:flex}.login-box{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffffb3;border-radius:24px;width:100%;max-width:440px;padding:2.5rem 2.2rem;box-shadow:0 20px 45px #0f172a12,0 0 0 1px #b48c361f}.login-box h2{text-align:center;color:var(--text-main);margin-top:0;margin-bottom:2rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-light);font-size:.85rem;font-weight:600}.form-group input{background:#fff;border:1px solid #0000001a;border-radius:12px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0e74902e}.btn-block{width:100%;margin-top:.5rem;padding:.85rem}.error-message{color:#dc2626;text-align:center;background:#fee2e2;border-radius:8px;padding:.75rem;font-size:.85rem;font-weight:500}.status-update-box{background:#ffffff80;border-radius:16px;margin-top:1rem;padding:1.25rem}.status-update-box h4{color:var(--text-main);margin:0 0 .75rem;font-size:.95rem}.status-update-box textarea{transition:all .3s;border:1px solid #0000001a!important}.status-update-box textarea:focus{outline:none;box-shadow:0 0 0 3px #25d3661a;border-color:#25d366!important}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:24px;width:95%;max-width:600px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 20px 50px #0003}.modal-content h2{color:var(--primary);margin-top:0;margin-bottom:1.5rem;font-size:1.5rem}@media (width<=1024px){.content-grid{grid-template-columns:1fr}.main-content{padding:1.5rem}}@media (width<=768px){.dashboard-container{flex-direction:column}.sidebar{z-index:100;border-bottom:1px solid #0000000d;border-right:none;flex-direction:row;width:100%;padding:1rem;position:sticky;top:0;overflow-x:auto}.logo{margin-bottom:0;font-size:1.1rem}.nav-item{white-space:nowrap;padding:.5rem .75rem;font-size:.85rem}.header{text-align:center;flex-direction:column;gap:1rem}.header h1{font-size:1.5rem}.stat-value{font-size:2rem}.modal-content{width:calc(100% - 2rem);margin:1rem;padding:1.5rem}}.logout-dropdown{color:#ef4444;white-space:nowrap;cursor:pointer;z-index:1000;background:#fff;border:1px solid #0000000d;border-radius:12px;align-items:center;gap:8px;margin-top:10px;padding:12px 20px;font-size:.9rem;font-weight:600;transition:all .2s;animation:.2s ease-out fadeInDown;display:flex;position:absolute;top:100%;right:0;box-shadow:0 10px 25px #0000001a}.logout-dropdown:hover{background:#fef2f2;transform:translateY(2px)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.new-turno-toast{z-index:10000;border-left:5px solid var(--secondary);cursor:pointer;background:#fff;border-radius:16px;align-items:center;gap:1rem;max-width:350px;padding:1.25rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) slideInRight;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 30px #00000026}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-icon{background:#ecfdf5;border-radius:12px;justify-content:center;align-items:center;width:45px;height:45px;font-size:1.5rem;display:flex}.toast-content{flex:1}.toast-content strong{color:var(--text-main);font-size:.95rem;display:block}.toast-content p{color:var(--text-light);margin:.15rem 0;font-size:.85rem}.toast-content small{color:var(--primary);font-weight:600}.toast-close{color:var(--text-light);cursor:pointer;padding:.25rem;font-size:1.25rem}.appointment-item.highlighted{border:2px solid var(--secondary);background:#f0fdf4;animation:2s infinite pulseHighlight}@keyframes pulseHighlight{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes chatBlinkRed{0%,to{background:#fff1f2;transform:scale(1);box-shadow:0 10px 30px #dc262626}50%{background:#fee2e2;transform:scale(1.03);box-shadow:0 10px 40px #dc262680}}.chat-alert-blink{animation:.5s cubic-bezier(.175,.885,.32,1.275) slideInRight,1.2s ease-in-out .5s infinite chatBlinkRed!important}.screensaver-overlay{z-index:9999;cursor:none;background:radial-gradient(circle,#1e293b 0%,#0f172a 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.screensaver-content{text-align:center;animation:6s ease-in-out infinite float}.screensaver-logo{filter:drop-shadow(0 0 20px #b48c3673);max-width:180px;height:auto}@keyframes float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-30px)scale(1.05)}}@keyframes bounce-around{}
