:root{--primary:#003893;--primary-hover:#002d75;--secondary:#06c;--accent:#0ea5e9;--background:#f8fafc;--surface:#fffc;--glass-border:#fff3;--text-main:#0f172a;--text-muted:#64748b;--error:#ef4444;--success:#10b981;--warning:#f59e0b;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--font-sans:"Outfit", "Inter", system-ui, -apple-system, sans-serif}[data-theme=dark]{--background:#020617;--surface:#1e293bb3;--glass-border:#ffffff0d;--text-main:#f1f5f9;--text-muted:#94a3b8}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-main);background:var(--background);min-height:100vh;margin:0;font-family:Outfit,-apple-system,sans-serif;position:relative;overflow-x:hidden}body:before{content:"";opacity:.05;pointer-events:none;z-index:-1;background-image:url(/assets/hospital_logo.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:60%;height:60%;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.glass-card{background:var(--surface);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;box-shadow:0 4px 14px #0ea5e963}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 20px #0ea5e980}.btn-outline{border:1px solid var(--primary);color:var(--primary);background:0 0}.btn-outline:hover{background:#0ea5e90d}.layout-container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}input,select{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--surface);width:100%;color:var(--text-main);padding:.75rem 1rem;font-family:inherit}input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0038931a}.badge{text-transform:uppercase;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.badge-blue{color:var(--primary);background:#0038931a}.badge-green{color:var(--success);background:#10b9811a}.badge-orange{color:var(--warning);background:#f59e0b1a}.table-container{border-radius:var(--radius-lg);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);background:#fff;overflow:hidden}.modern-table{border-collapse:collapse;text-align:left;width:100%}.modern-table th{background:var(--primary);color:#fff;text-transform:uppercase;letter-spacing:.05em;padding:1.25rem 1.5rem;font-size:.75rem;font-weight:700}.modern-table td{border-bottom:1px solid #f1f5f9;padding:1.25rem 1.5rem;transition:background .2s}.modern-table tr:last-child td{border-bottom:none}.modern-table tr:hover td{background:#00389305}.card-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.glass-card-premium{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);background:#ffffffe6;border:1px solid #ffffff80;box-shadow:0 20px 25px -5px #0000000d,0 10px 10px -5px #00000005}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.code-pill{color:#475569;background:#f1f5f9;border-radius:6px;padding:.25rem .5rem;font-family:monospace;font-size:.8rem;font-weight:700}@media (width<=1024px){.layout-container{max-width:95%;padding:1.5rem 1rem}}@media (width<=768px){:root{font-size:14px}.grid-auto{grid-template-columns:1fr}.glass-card-premium{margin-bottom:1rem!important;padding:1.2rem!important}.btn{justify-content:center;width:100%}.flex-between{flex-direction:column;gap:1rem;align-items:stretch!important}.modern-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.modal-box{margin:10px auto;width:95%!important;padding:1.5rem!important}header{text-align:center;flex-direction:column;gap:1rem;padding:1rem!important}header div{justify-content:center;width:100%}}@media (width<=480px){.layout-container{padding:1rem .5rem}h1{font-size:1.6rem!important}h2{font-size:1.3rem!important}.role-card-premium{padding:1.2rem!important}.input-xl{padding:.8rem!important;font-size:1.2rem!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade{animation:.4s cubic-bezier(.4,0,.2,1) forwards fadeIn}
