@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Syne:wght@700;800&display=swap";:root{--azul: #2563eb;--azul-oscuro: #1d4ed8;--azul-claro: #3b82f6;--azul-suave: #e0ecff;--sidebar-bg: #8ec4fd;--fondo: #f4f7f9;--blanco: #ffffff;--gris: #6b7280;--rojo: #ef4444;--sombra: 0 4px 20px rgba(37,99,235,.12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif;background:var(--fondo);color:#1e293b}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#1e40af,#3b82f6,#06b6d4);background-image:url(/imagenfondo.jpg);background-size:cover;background-position:center;padding:15px}.formulario{width:70%;max-width:350px;background:var(--blanco);padding:20px 22px;border-radius:16px;box-shadow:0 20px 60px #00000040;text-align:center;animation:fadeUp .5s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.logo-container img{width:60px;margin-bottom:6px}.nombre-hospital{font-family:Syne,sans-serif;font-size:20px;color:var(--azul)}.formulario h1{font-size:16px;margin-bottom:16px;color:#1e293b}.input-box{position:relative;margin:14px 0;text-align:left}.input-box input{width:100%;padding:10px 12px;border:2px solid #cbd5e1;border-radius:10px;font-size:13px;outline:none;transition:.2s;font-family:DM Sans,sans-serif}.input-box input:focus{border-color:var(--azul)}.input-box label{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:var(--blanco);padding:0 5px;color:var(--gris);font-size:14px;transition:.2s;pointer-events:none}.input-box input:focus+label,.input-box input:valid+label{top:-8px;font-size:12px;color:var(--azul)}.rol-container{text-align:left;margin-bottom:10px}.rol-container label{font-size:12px;font-weight:600;color:#475569;margin-bottom:4px;display:block}.rol-container select,select{width:100%;padding:9px 10px;border:2px solid #cbd5e1;border-radius:10px;font-size:13px;font-family:DM Sans,sans-serif;outline:none;background:var(--blanco);transition:.2s}.rol-container select:focus,select:focus{border-color:var(--azul)}.recordar{text-align:center;margin-bottom:10px}.recordar a,.registrarse a{color:var(--azul);text-decoration:none;font-size:13px}.recordar a:hover,.registrarse a:hover{text-decoration:underline}.btn-login{width:100%;padding:10px;background:var(--azul);border:none;border-radius:10px;color:var(--blanco);font-size:14px;font-weight:600;cursor:pointer;transition:.2s;font-family:DM Sans,sans-serif;margin-bottom:10px}.btn-login:hover{background:var(--azul-oscuro);transform:translateY(-1px)}.registrarse{font-size:13px;color:#475569}.registro-page{min-height:100vh;background-image:url(/imagenfondo.jpg);background-size:cover;background-position:center;padding:40px 20px;display:flex;justify-content:center;align-items:flex-start}.form-registrer{width:100%;max-width:420px;background:var(--blanco);padding:35px 30px;border-radius:16px;box-shadow:var(--sombra);animation:fadeUp .5s ease}.form-registrer h4{font-family:Syne,sans-serif;font-size:22px;text-align:center;margin-bottom:22px;color:var(--azul)}.controls{width:100%;padding:11px 12px;margin-bottom:14px;border:1.5px solid #cbd5e1;border-radius:8px;font-size:14px;font-family:DM Sans,sans-serif;outline:none;transition:.2s;display:block}.controls:focus{border-color:var(--azul)}.label-fecha{font-size:13px;font-weight:600;color:#475569;margin-bottom:5px;display:block}.botons{width:100%;padding:13px;background:var(--azul);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:14px;transition:.2s;font-family:DM Sans,sans-serif}.botons:hover{background:var(--azul-oscuro);transform:translateY(-1px)}.form-registrer p{text-align:center;font-size:13px;color:#475569}.form-registrer p a{color:var(--azul);text-decoration:none}.navbar{display:flex;justify-content:space-between;align-items:center;background:var(--azul-claro);color:#fff;padding:12px 20px;box-shadow:0 2px 8px #0000001f;position:sticky;top:0;z-index:100}.navbar-brand{display:flex;align-items:center;gap:12px}.navbar-brand .logo-hospital{width:42px;border-radius:8px}.navbar-brand .titulo strong{font-family:Syne,sans-serif;font-size:15px}.navbar-brand .titulo span{font-size:11px;opacity:.85;display:block}.navbar-title{font-weight:700;font-size:17px}.user-menu{position:relative}.user-img{width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.6);cursor:pointer;transition:.2s}.user-img:hover{border-color:#fff;transform:scale(1.05)}.user-dropdown{position:absolute;right:0;top:52px;background:#fff;color:#1e293b;width:180px;border-radius:12px;box-shadow:0 8px 24px #00000026;padding:12px;animation:fadeUp .2s ease;z-index:200}.user-dropdown .titulo-menu{font-weight:700;text-align:center;margin-bottom:10px;font-size:13px;color:var(--azul)}.user-dropdown button{width:100%;padding:9px;background:var(--azul);border:none;border-radius:7px;color:#fff;cursor:pointer;margin-top:6px;font-size:13px;font-family:DM Sans,sans-serif;transition:.2s}.user-dropdown button:hover{background:var(--azul-oscuro)}.layout{display:flex;min-height:calc(100vh - 66px)}.sidebar{width:240px;background:var(--sidebar-bg);padding:20px;border-right:1px solid #bfdbfe}.sidebar h3{font-family:Syne,sans-serif;font-size:14px;color:#1e40af;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.5)}.sidebar ul{list-style:none}.sidebar li{background:#fff;padding:11px 14px;border-radius:8px;margin-bottom:7px;cursor:pointer;font-size:14px;font-weight:500;transition:.2s;color:#1e293b}.sidebar li:hover,.sidebar li.active{background:var(--azul);color:#fff;transform:translate(3px)}.menu{list-style:none;padding:0}.menu-title{font-family:Syne,sans-serif;font-size:14px;color:#1e40af;margin-bottom:14px}.menu-item{padding:12px 14px;margin-bottom:7px;cursor:pointer;border-radius:8px;font-size:14px;font-weight:500;transition:.2s;color:#1e293b;background:#fff}.menu-item:hover{background:var(--azul-suave);color:#2563eb;transform:translate(4px)}.menu-item.active{background:var(--azul);color:#fff}#content,main{flex:1;padding:24px}.panel{display:none;background:#fff;padding:28px;border-radius:14px;box-shadow:var(--sombra);margin-bottom:20px;animation:fadeUp .3s ease}.panel.active{display:block}.panel h2{font-family:Syne,sans-serif;font-size:20px;margin-bottom:20px;color:#1e293b}.panel h3{font-size:16px;margin:20px 0 12px;color:#334155}form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}form.col1{grid-template-columns:1fr}input,select,textarea{padding:11px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:DM Sans,sans-serif;outline:none;transition:.2s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--azul);box-shadow:0 0 0 3px #2563eb14}textarea{resize:vertical;min-height:80px}button{padding:11px 18px;background:var(--azul);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;font-family:DM Sans,sans-serif;transition:.2s}button:hover{background:var(--azul-oscuro);transform:translateY(-1px)}button.btn-gray{background:var(--gris)}button.btn-gray:hover{background:#4b5563}button.btn-delete{background:var(--rojo);font-size:12px;padding:7px 12px}button.btn-delete:hover{background:#dc2626}table{width:100%;border-collapse:collapse;margin-top:18px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--sombra)}th,td{padding:12px 14px;border-bottom:1px solid #f1f5f9;font-size:14px}th{background:var(--azul);color:#fff;font-weight:600}tr:hover td{background:#f8fafc}.buscador{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.error-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-image:url(/imagenfondo.jpg);background-size:cover;background-position:center;padding:20px}.error-container{text-align:center;background:#fff;padding:50px 40px;border-radius:20px;box-shadow:0 20px 60px #0003;max-width:420px;animation:fadeUp .5s ease}.error-container .logo{width:80px;margin-bottom:16px}.error-container h1{font-family:Syne,sans-serif;font-size:90px;color:var(--azul);margin:0}.error-container h2{font-size:22px;margin:8px 0}.error-container p{color:#64748b;font-size:15px;margin:12px 0 28px;line-height:1.6}.btn-volver{display:inline-block;background:var(--azul);color:#fff;padding:13px 32px;border-radius:30px;text-decoration:none;font-weight:600;font-size:15px;transition:.2s}.btn-volver:hover{background:var(--azul-oscuro);transform:translateY(-2px)}@media (max-width: 900px){.layout{flex-direction:column}.sidebar{width:100%}}@media (max-width: 600px){.formulario,.form-registrer{padding:25px 20px}.panel{padding:18px}form{grid-template-columns:1fr}}
