@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap";html,body,#root{min-height:100vh;width:100%}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f2f2f2;-webkit-text-size-adjust:100%;overflow-x:hidden}#root{width:100%;overflow-x:hidden}.container{height:100vh;display:flex;justify-content:center;align-items:center}.login-box{width:350px;padding:30px;background:#fff;border-radius:10px;box-shadow:0 10px 25px #0003}.login-box h2{text-align:center}.login-box input{width:100%;padding:10px;margin:10px 0}.login-box button{width:100%;padding:10px;background:#1a73e8;color:#fff;border:none;border-radius:5px}:root{--auth-bg-top: #f1e8ff;--auth-bg-mid: #ebd8ff;--auth-bg-bottom: #f5efff;--auth-surface: rgba(250, 245, 255, .94);--auth-surface-strong: rgba(244, 236, 255, .98);--auth-border: rgba(185, 134, 255, .28);--auth-border-strong: rgba(168, 85, 247, .4);--auth-accent: #047857;--auth-accent-deep: #064e3b;--auth-accent-soft: rgba(167, 243, 208, .24);--auth-highlight: #7dd3a5;--auth-text: #065f46;--auth-text-muted: rgba(6, 95, 70, .72);--auth-input-bg: rgba(245, 241, 255, .88);--auth-white: #ffffff;--auth-shadow: 0 28px 70px rgba(123, 60, 180, .16);--auth-font-body: "Manrope", "Segoe UI", sans-serif;--auth-font-display: "Sora", "Segoe UI", sans-serif;--auth-ease-premium: cubic-bezier(.22, 1, .36, 1)}html{background-color:#0b4d50}body{background:radial-gradient(circle at top left,rgba(189,153,255,.2),transparent 28%),radial-gradient(circle at bottom right,rgba(204,173,255,.16),transparent 30%),linear-gradient(135deg,#f1e8ff,#ecd7ff 46%,#f5efff);font-family:var(--auth-font-body);margin:0;padding:0;line-height:1.6;color:var(--auth-text);overflow-x:hidden}#root{min-height:100vh;width:100%;max-width:none;margin:0;padding:0}.app-container{min-height:100vh;font-family:inherit;overflow-x:hidden}.auth-shell{min-height:100vh;width:100%;min-width:0;display:grid;grid-template-columns:minmax(300px,.98fr) minmax(300px,392px);gap:clamp(20px,3.4vw,52px);align-items:stretch;padding:clamp(18px,3vw,36px);box-sizing:border-box}.auth-shell-register{grid-template-columns:minmax(300px,.92fr) minmax(320px,430px)}.auth-showcase{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;gap:1.25rem;min-height:488px;padding:clamp(18px,3vw,34px);border-radius:36px;background:linear-gradient(150deg,#f5f4fffa,#e6dffff2 54%,#f0ecffe6),radial-gradient(circle at top right,rgba(203,213,255,.22),transparent 28%),radial-gradient(circle at bottom left,rgba(221,214,255,.18),transparent 36%);border:1px solid rgba(176,144,255,.35);box-shadow:var(--auth-shadow);overflow:hidden;animation:authRiseIn .9s var(--auth-ease-premium) both;height:100%}.auth-showcase:before,.auth-showcase:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.auth-showcase:before{width:280px;height:280px;top:-80px;right:-60px;background:radial-gradient(circle,rgba(176,144,255,.3) 0%,transparent 70%)}.auth-showcase:after{width:220px;height:220px;left:-70px;bottom:-90px;background:radial-gradient(circle,rgba(235,224,255,.2) 0%,transparent 72%)}.auth-showcase-register{background:linear-gradient(150deg,#fffffffa,#efe4fffa 54%,#e7dbfff5),radial-gradient(circle at top right,rgba(191,145,255,.18),transparent 28%),radial-gradient(circle at bottom left,rgba(213,192,255,.16),transparent 36%)}.auth-showcase-register:before{background:radial-gradient(circle,rgba(168,85,247,.16) 0%,transparent 70%)}.auth-showcase-register:after{background:radial-gradient(circle,rgba(255,255,255,.16) 0%,transparent 72%)}.auth-showcase-copy,.auth-spotlight-card{position:relative;z-index:1}.auth-showcase-copy{display:grid;gap:.8rem;justify-items:start}.auth-showcase-copy>*{opacity:0;animation:authFadeUp .85s var(--auth-ease-premium) forwards}.auth-brand-header{display:block;width:min(100%,800px)}.auth-brand-badge{display:none}.auth-brand-heading{display:block;min-width:0;max-width:25rem}.auth-brand-logo-full{display:block;width:100%;max-width:62px;height:auto;margin:0;filter:drop-shadow(0 12px 24px rgba(31,24,48,.18))}.auth-showcase-copy>*:nth-child(1){animation-delay:.08s}.auth-showcase-copy>*:nth-child(2){animation-delay:.16s}.auth-showcase-copy>*:nth-child(3){animation-delay:.24s}.auth-kicker,.auth-card-kicker{margin:0;text-transform:uppercase;letter-spacing:.22em;font-size:.78rem}.auth-kicker{color:#047857e6;letter-spacing:.18em;margin-bottom:-.15rem}.auth-card-kicker{color:#111827e6}.auth-showcase h1{margin:0;max-width:100%;font-size:clamp(1.74rem,2.85vw,2.62rem);line-height:1.06;letter-spacing:-.02em;color:#065f46;font-family:var(--auth-font-display);font-weight:600;text-shadow:none}.auth-title-mobile,.auth-mobile-header{display:none}.auth-title-desktop{display:block}.auth-title-mobile{display:none}.auth-copy{max-width:46ch;margin:0;font-size:.98rem;line-height:1.6;color:#065f46d9}@media(max-width:860px){.auth-brand-header{grid-template-columns:64px minmax(0,1fr);gap:.72rem;width:min(100%,560px)}.auth-brand-badge{width:64px;min-height:64px;margin-top:.1rem;flex-basis:64px}.auth-brand-logo-full{max-width:64px}.auth-brand-heading{max-width:27rem}.auth-showcase h1{max-width:13ch;font-size:clamp(1.82rem,5.1vw,2.55rem)}.auth-copy{max-width:40ch;font-size:.97rem;line-height:1.66}}.auth-spotlight-card{width:min(100%,460px);padding:1rem 1.1rem;border-radius:24px;background:linear-gradient(180deg,#ffffff2e,#e7d7ffb3);border:1px solid rgba(185,134,255,.22);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 1px #ffffff0d,0 24px 48px #62439e29,0 14px 30px #8e55ff1f;animation:authFadeUp .8s var(--auth-ease-premium) .28s both}.auth-spotlight-card-soft{background:linear-gradient(180deg,#ffffff2e,#e7d7ffad);border-color:#b986ff2e}.auth-spotlight-header{display:flex;align-items:center;gap:.55rem;margin-bottom:1rem;font-size:.88rem;color:#065f46f0}.auth-status-dot{width:10px;height:10px;border-radius:50%;background:var(--auth-highlight);box-shadow:0 0 0 8px #a855f72e}.auth-spotlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.auth-spotlight-grid div{display:flex;flex-direction:column;gap:.32rem;padding:.95rem;border-radius:18px;background:linear-gradient(180deg,#ffffff29,#e0d4ffa6);border:1px solid rgba(185,134,255,.16);box-shadow:0 16px 32px #62439e1a}.auth-spotlight-icon{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;margin-bottom:.18rem;border-radius:14px;background:linear-gradient(180deg,#ffffff38,#dad2ff1f);border:1px solid rgba(185,134,255,.18);box-shadow:inset 0 1px #fff3,0 10px 24px #62439e1a}.auth-spotlight-icon svg{width:1.1rem;height:1.1rem;stroke:#065f46;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-spotlight-grid strong{font-size:1.2rem;color:#065f46;font-family:var(--auth-font-display);font-weight:700}.auth-spotlight-grid span{font-size:.84rem;color:#065f46e6}.auth-panel{position:relative;min-width:0;padding:clamp(20px,2.8vw,28px);border-radius:32px;background:linear-gradient(180deg,#fffffffa,#f4edfff2 62%,#ece3ff);border:1px solid rgba(185,134,255,.12);box-shadow:0 30px 74px #7b3cb429,0 14px 34px #1f183014,0 0 0 1px #a855f70a;animation:authRiseIn .95s var(--auth-ease-premium) .08s both}.auth-panel-register{border-color:#a855f729;box-shadow:0 24px 62px #7b3cb424,0 0 0 1px #a855f70f,inset 0 1px #fffc}.auth-panel-login{width:min(100%,392px);padding:clamp(18px,2.4vw,24px);min-height:488px;display:flex;flex-direction:column;justify-content:center;height:100%}.auth-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.7),transparent 28%);pointer-events:none}.auth-panel:after{content:"";position:absolute;inset:1px;border-radius:31px;border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px #b986ff0d;pointer-events:none}.auth-panel h2{font-size:clamp(1.48rem,2.2vw,1.96rem);color:#111827;font-family:var(--auth-font-display);font-weight:700;letter-spacing:-.01em;text-shadow:0 10px 24px rgba(168,85,247,.06)}.auth-panel-login h2{font-size:clamp(1.36rem,1.95vw,1.76rem)}.auth-card-subtitle{margin:0 0 1.1rem;color:#111827c7}.auth-panel-login .auth-card-subtitle{margin-bottom:.9rem;font-size:.92rem}.auth-mobile-header{margin-bottom:1.1rem}.auth-mobile-kicker{margin:0 0 .3rem;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:#111827ad}.auth-mobile-header h1{margin:0;font-size:clamp(1.6rem,6vw,2rem);line-height:1.1;color:#111827;font-family:var(--auth-font-display)}.auth-mobile-copy{margin:.5rem 0 0;color:#111827c7;font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-panel-login .auth-form{gap:.85rem}.auth-field{display:flex;flex-direction:column;gap:.45rem}.auth-password-field{position:relative}.auth-field label{font-size:.9rem;color:#000}.auth-field input{width:100%;padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(185,134,255,.45);box-sizing:border-box;background:linear-gradient(180deg,#fffffff5,#f4eefff5);color:#065f46;font-size:.98rem;transition:transform .25s var(--auth-ease-premium),border-color .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:inset 0 1px #ffffffbf}.auth-panel-login .auth-field input{padding:.84rem .92rem;font-size:.95rem}.auth-password-field input{padding-right:3.9rem}.auth-password-toggle{position:absolute;top:50%;right:.7rem;transform:translateY(-50%);border:none;display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;padding:0;border-radius:999px;background:#a855f714;color:#1f1830b3;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.auth-password-toggle:hover{background:#a855f724;color:var(--auth-accent-deep)}.auth-password-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #a855f72e}.auth-password-toggle[aria-pressed=true]{background:#a855f72e;color:var(--auth-accent-deep)}.auth-password-icon{display:inline-flex;align-items:center;justify-content:center}.auth-password-icon svg{width:1.2rem;height:1.2rem;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-password-icon circle{stroke:currentColor}.auth-field input::placeholder{color:#065f4699}.auth-field input:focus{outline:none;border-color:#b986ffd9;background:linear-gradient(180deg,#fff,#f4eefffa);box-shadow:0 0 0 4px #b986ff2e,inset 0 1px #ffffffeb;transform:translateY(-1px)}.auth-submit,.auth-secondary-button{border:none;border-radius:16px;cursor:pointer;font-weight:700;transition:transform .3s var(--auth-ease-premium),filter .2s ease,background .2s ease,box-shadow .3s var(--auth-ease-premium),border-color .25s ease}.auth-submit{margin-top:.5rem;padding:1.1rem;font-size:1.05rem;font-weight:700;border-radius:14px;position:relative;overflow:hidden;border:1px solid rgba(111,52,165,.25);background:linear-gradient(135deg,#047857,#6ee7b7);color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 1px #ffffff3d,0 0 38px #a855f773,0 18px 36px #04523438;animation:authFadeUp .82s var(--auth-ease-premium) .18s both}.auth-panel-login .auth-submit{margin-top:.35rem;padding:.96rem;font-size:.98rem}.auth-submit:before{content:"";position:absolute;inset:1px;border-radius:13px;background:linear-gradient(180deg,#fff3,#ffffff14 42%,#a855f714);pointer-events:none}.auth-submit:after{content:"";position:absolute;top:0;left:12%;width:42%;height:100%;background:linear-gradient(90deg,#fff0,#e1d6ff5c 45%,#fff0);opacity:.7;transform:skew(-18deg);pointer-events:none;transition:transform .6s var(--auth-ease-premium),opacity .35s ease}.auth-submit:hover,.auth-secondary-button:hover{filter:brightness(1.05);transform:translateY(-2px)}.auth-submit:hover{box-shadow:inset 0 1px #ffffff47,0 0 50px #a855f7a6,0 18px 40px #04523452}.auth-submit:hover:after{transform:translate(130%) skew(-18deg);opacity:.92}.auth-submit:active,.auth-secondary-button:active,.auth-toggle:active{transform:translateY(0)}.auth-divider{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.4rem 0}.auth-divider span{height:1px;background:linear-gradient(90deg,transparent,rgba(27,4,235,.979),transparent)}.auth-footer-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.auth-footer-label{margin:0 0 .2rem;color:#111827eb;font-weight:600}.auth-footer-text{margin:0;color:#111827b8;font-size:.9rem}.auth-secondary-button{padding:.9rem 1.15rem;background:linear-gradient(180deg,#f5f0ff,#e9dafff5);color:#7c3aed;white-space:nowrap;border:1px solid rgba(185,134,255,.55);box-shadow:inset 0 1px #ffffffbd}.auth-secondary-button:hover{border-color:#a855f759;box-shadow:inset 0 1px #ffffffeb,0 14px 26px #a855f729}.auth-feedback{margin:0 0 1rem;padding:.85rem 1rem;border-radius:14px;font-size:.92rem}.auth-feedback-error{background:#fef2f2f5;color:#b91c1c;border:1px solid rgba(220,38,38,.12)}.auth-feedback-success{background:#f0fdf4fa;color:#166534;border:1px solid rgba(34,197,94,.16)}.auth-feedback-info{background:#ecfdf5fa;color:#166534;border:1px solid rgba(31,143,87,.14)}.auth-demo-panel{display:grid;gap:1rem;margin-top:1rem;padding:1rem 1.05rem;border-radius:18px;background:linear-gradient(180deg,#f8f4fdf5,#f1e8fbf0);border:1px solid rgba(111,52,165,.15)}.auth-panel-login .auth-demo-panel{gap:.8rem;margin-top:.8rem;padding:.88rem .92rem}.auth-demo-label{margin:0;font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#44205fd1}.auth-demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.auth-panel-login .auth-demo-grid{gap:.6rem}.auth-demo-button{display:grid;justify-items:start;gap:.42rem;min-width:0;padding:.95rem 1rem;border-radius:14px;border:1px solid rgba(185,134,255,.22);background:#f4edffeb;color:var(--auth-accent-deep);font:inherit;font-weight:800;text-align:left;cursor:pointer;box-shadow:inset 0 1px #ffffffe0;transition:transform .3s var(--auth-ease-premium),border-color .25s ease,box-shadow .25s ease,background .25s ease}.auth-panel-login .auth-demo-button{padding:.82rem .86rem}.auth-demo-button-label{font-size:.96rem;line-height:1.2}.auth-demo-button-action{font-size:.78rem;line-height:1.3;font-weight:800;color:var(--auth-accent)}.auth-demo-button:hover{transform:translateY(-2px);border-color:#a855f780;background:#f1e5fff5;box-shadow:inset 0 1px #ffffffeb,0 16px 28px #a855f724}.auth-demo-button:active{transform:translateY(0)}.auth-demo-button:disabled{cursor:wait;opacity:.82}.auth-inline-actions{display:flex;justify-content:flex-end;margin-top:-.1rem}.auth-text-link{padding:0;border:none;background:transparent;color:#7c3aed;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.auth-text-link:hover{color:var(--auth-accent-deep)}.auth-modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#1f18302e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:60}.auth-modal{width:min(100%,420px);padding:1.2rem;border-radius:22px;background:linear-gradient(180deg,#fffffffa,#f9f5fffc 58%,#f3ecfb);border:1px solid rgba(111,52,165,.14);box-shadow:0 28px 60px #3f1f5b2e}.auth-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.auth-modal-kicker{margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:#111827ad}.auth-modal h3{margin:0;color:#111827;font-family:var(--auth-font-display);font-size:1.55rem}.auth-modal-close{width:2rem;height:2rem;border:none;border-radius:999px;background:#6f34a514;color:var(--auth-accent-deep);font-size:1.2rem;line-height:1;cursor:pointer}.auth-modal-copy{margin:.9rem 0 1.1rem;color:#111827c7;font-size:.96rem}.auth-modal-action{width:100%;min-height:48px;border:none;border-radius:16px;background:linear-gradient(180deg,#3f3db3,#343ca5);color:#f7fff9;font-weight:800;cursor:pointer}.auth-submit:disabled{cursor:wait;filter:none;opacity:.92}.auth-submit-loading{display:inline-flex;align-items:center;justify-content:center;gap:.65rem}.auth-spinner{width:1rem;height:1rem;border-radius:999px;border:2px solid rgba(240,255,244,.28);border-top-color:#f7fff9;animation:authSpin .8s linear infinite}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 10% 14%,rgba(187,145,231,.28),transparent 24%),radial-gradient(circle at 86% 12%,rgba(255,255,255,.22),transparent 18%),radial-gradient(circle at 72% 78%,rgba(168,85,247,.18),transparent 26%),radial-gradient(circle at 26% 88%,rgba(22,22,22,.08),transparent 28%),linear-gradient(145deg,#f6f0ff,#ecd7ff 42%,#d8c6f6);position:relative;overflow:hidden;transition:background .7s ease}.login-wrapper,.auth-shell,.auth-shell-register,.auth-showcase,.auth-panel{max-width:100%}.login-wrapper:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50%;background:radial-gradient(ellipse at 26% 108%,rgba(111,52,165,.22) 0%,transparent 62%);opacity:0;transition:opacity .7s ease;pointer-events:none}.login-wrapper:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 1px,transparent 1px,transparent 22px),linear-gradient(90deg,rgba(255,255,255,.18) 0%,transparent 28%,transparent 72%,rgba(68,32,95,.08) 100%);opacity:.62;pointer-events:none}.login-wrapper.system-on{background:radial-gradient(circle at 14% 20%,rgba(187,145,231,.32),transparent 24%),radial-gradient(circle at 82% 16%,rgba(255,255,255,.22),transparent 20%),radial-gradient(circle at 60% 100%,rgba(111,52,165,.22),transparent 34%),radial-gradient(circle at 24% 88%,rgba(22,22,22,.12),transparent 28%),linear-gradient(150deg,#f8f1ff,#e5d5f6,#ceb1e5)}.login-wrapper.system-on:after{opacity:1}@keyframes authSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes authRiseIn{0%{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes authFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes authMobileFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.auth-showcase,.auth-panel,.auth-showcase-copy>*,.auth-spotlight-card,.auth-toggle,.auth-submit{animation:none;opacity:1;transform:none}.auth-submit,.auth-secondary-button,.auth-toggle,.auth-field input,.auth-submit:after{transition:none}}.login-stage{position:relative;width:100%;height:100vh;max-height:900px}.hospital-toggle{position:absolute;left:clamp(48px,9vw,180px);bottom:24px;width:280px;height:520px;border:0;padding:0;background:transparent;cursor:pointer;z-index:2}.hospital-halo{position:absolute;top:18px;left:50%;width:360px;height:360px;transform:translate(-50%);background:radial-gradient(circle,rgba(16,185,129,.4) 0%,rgba(16,185,129,.15) 42%,transparent 72%);filter:blur(18px);opacity:0;transition:opacity .6s ease,transform .6s ease}.hospital-panel{position:absolute;top:36px;left:50%;width:188px;height:188px;transform:translate(-50%);border-radius:38px;background:linear-gradient(180deg,#f0fdfaf5,#ecfdfafa);border:1px solid rgba(16,185,129,.24);box-shadow:0 28px 48px #064e3b33,inset 0 1px #10b9811f}.hospital-led{position:absolute;top:18px;right:18px;width:12px;height:12px;border-radius:50%;background:#10b981;box-shadow:0 0 0 6px #10b9812e}.hospital-cross{position:absolute;left:50%;transform:translate(-50%);border-radius:999px;background:linear-gradient(180deg,#fff,#047857);box-shadow:0 0 24px #10b98133}.hospital-cross-horizontal{top:54px;width:82px;height:22px}.hospital-cross-vertical{top:24px;width:22px;height:82px}.hospital-pulse{position:absolute;left:26px;right:26px;bottom:38px;height:34px;clip-path:polygon(0 64%,14% 64%,24% 64%,32% 24%,40% 76%,48% 46%,60% 46%,70% 12%,80% 76%,90% 64%,100% 64%,100% 78%,0 78%);background:linear-gradient(90deg,#10b98140,#10b981e6,#10b98140);opacity:.45}.hospital-stand{position:absolute;left:50%;top:224px;width:14px;height:210px;transform:translate(-50%);border-radius:999px;background:linear-gradient(180deg,#d8e5eb,#8fa4af)}.hospital-base{position:absolute;left:50%;bottom:0;width:112px;height:14px;transform:translate(-50%);border-radius:999px;background:linear-gradient(90deg,#d5dfe4,#fff,#d5dfe4);box-shadow:0 12px 28px #00000061}.hospital-toggle:hover .hospital-panel{border-color:#10b98166}.hospital-toggle.is-on .hospital-halo{opacity:1;transform:translate(-50%) scale(1.06)}.hospital-toggle.is-on .hospital-led{box-shadow:0 0 0 10px #10b98133,0 0 26px #10b98180}.hospital-toggle.is-on .hospital-pulse,.login-wrapper.system-on .hospital-pulse{opacity:1}.hospital-toggle:focus-visible{outline:2px solid rgba(16,185,129,.8);outline-offset:10px;border-radius:24px}.hospital-login-card{position:absolute;right:clamp(24px,7vw,100px);top:50%;transform:translateY(-50%) translate(32px) scale(.96);width:min(360px,42%);padding:2.4rem 2rem;border-radius:28px;background:linear-gradient(160deg,#f0fdfafa,#e6faf7fc);border:1px solid rgba(16,185,129,.16);box-shadow:0 36px 90px #064e3b26,inset 0 1px #10b98114;color:#047857;opacity:0;transition:opacity .5s ease,transform .5s ease;pointer-events:none;z-index:3}.hospital-login-card.revealed{opacity:1;transform:translateY(-50%) translate(0) scale(1);pointer-events:auto}.login-card-kicker{margin:0 0 .4rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#10b981bf;text-align:center}.hospital-login-card h2{text-align:center;margin:0 0 .4rem;font-size:1.55rem;color:#047857}.login-card-subtitle{margin:0 0 1.2rem;text-align:center;color:#047857bf;font-size:.9rem}.hospital-login-card form{display:flex;flex-direction:column;gap:0}.hospital-login-card label{display:block;margin-top:10px;color:#047857e6;font-size:.9rem}.hospital-login-card input{width:100%;padding:11px 13px;margin-top:5px;margin-bottom:6px;border-radius:12px;border:1px solid rgba(16,185,129,.2);box-sizing:border-box;background:#f0fdfa99;color:#047857;font-size:.95rem}.hospital-login-card input::placeholder{color:#04785766}.hospital-login-card input:focus{outline:none;border-color:#10b98180;box-shadow:0 0 0 4px #10b98126}.hospital-login-card button[type=submit]{display:block;width:100%;margin:14px 0 0;padding:12px;background:linear-gradient(135deg,#10b981,#059669,#047857);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.03em;transition:transform .2s ease,filter .2s ease}.hospital-login-card button[type=submit]:hover{filter:brightness(1.06);transform:translateY(-1px)}.login-register-cta{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin-top:1rem}.login-register-text{margin:0;color:#047857b3;font-size:.9rem;text-align:center}.login-register-button{width:100%!important;margin-top:0!important;white-space:nowrap;font-size:.92rem}.hospital-hint{position:absolute;bottom:28px;left:clamp(48px,9vw,180px);width:280px;margin:0;text-align:center;color:#c6ecf36b;font-size:.82rem;letter-spacing:.06em;pointer-events:none;transition:opacity .4s}@media(max-width:860px){.hospital-toggle{left:50%;transform:translate(-50%);bottom:340px}.hospital-login-card{inset:auto auto 20px 50%;transform:translate(-50%) translateY(20px) scale(.96);width:min(380px,calc(100% - 40px))}.hospital-login-card.revealed{transform:translate(-50%) translateY(0) scale(1)}.hospital-hint{left:50%;transform:translate(-50%)}}@media(max-width:480px){.hospital-toggle{width:190px;height:460px;bottom:310px}.hospital-panel{width:150px;height:150px}.hospital-stand{top:192px;height:188px}.hospital-halo{width:300px;height:280px}.hospital-hint{width:240px}.hospital-login-card{padding:1.8rem 1.4rem;bottom:16px}.login-register-button{white-space:normal}}.error{color:#ff8f8f;text-align:center}@media(max-width:980px){.auth-shell,.auth-shell-register{grid-template-columns:1fr;gap:1.4rem;padding:24px;align-items:center}.auth-showcase{min-height:0;height:auto}.auth-showcase h1{max-width:13.2ch}.auth-panel{width:min(100%,620px);justify-self:center}.auth-panel-login{min-height:0;height:auto}}@media(max-width:640px){.auth-shell,.auth-shell-register{padding:16px}.auth-showcase,.auth-panel{padding:22px;border-radius:24px}.auth-showcase-copy{gap:.72rem}.auth-brand-header{grid-template-columns:56px minmax(0,1fr);gap:.62rem;align-items:start;width:min(100%,420px)}.auth-brand-badge{width:56px;min-height:56px;margin-top:.08rem;flex-basis:56px}.auth-brand-logo-full{max-width:56px}.auth-brand-heading{max-width:19rem}.auth-kicker{font-size:.72rem;letter-spacing:.18em}.auth-showcase h1{font-size:clamp(1.48rem,6.2vw,1.88rem);line-height:1.08;max-width:11.5ch}.auth-copy{max-width:31ch;font-size:.93rem;line-height:1.62}.auth-spotlight-grid{grid-template-columns:1fr}.auth-footer-row{flex-direction:column;align-items:stretch}.auth-demo-panel{gap:.9rem}.auth-demo-grid{grid-template-columns:1fr}.auth-demo-button,.auth-secondary-button{width:100%}}@media(max-width:420px){.auth-brand-header{grid-template-columns:56px minmax(0,1fr);gap:.62rem;width:100%}.auth-brand-badge{width:56px;min-height:56px;margin-top:.08rem;flex-basis:56px}.auth-brand-logo-full{max-width:56px}.auth-showcase h1{font-size:clamp(1.34rem,7vw,1.68rem);max-width:11ch}.auth-copy{max-width:29ch;font-size:.9rem;line-height:1.58}}.login-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}.login-container .login-card{background:#fff8ebf5;color:#1f2937}.login-container .login-card input{background:#fff;color:#111827;border-color:#94a3b859}.login-container .login-card label,.login-container .login-register-text,.login-container .error{color:#1f2937}.login-container .login-card button,.login-container .login-register-button,.login-container .btn-green{color:#2f2410!important}.appointment-form-container{display:flex;justify-content:center;padding:1rem 0 2rem}.appointment-form-card{width:min(100%,720px);background:linear-gradient(180deg,#faf5ffeb,#f3ecffe0);color:#0f172a;padding:1.5rem;border-radius:20px;box-shadow:0 24px 50px #6f34a51f;border:1px solid rgba(168,85,247,.18)}.appointment-form-title{text-align:center;margin:0 0 1.25rem;color:#4c1d95;font-weight:800;letter-spacing:-.02em}.appointment-form-mobile-note{display:none}.appointment-form{display:flex;flex-direction:column;gap:1rem}.appointment-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.25rem}.appointment-field{min-width:0}.appointment-field-full{grid-column:1 / -1}.appointment-field label{display:block;margin-bottom:.4rem;font-weight:700;color:#5b21b6}.appointment-field-label-content{display:inline-flex;align-items:center;gap:.45rem}.appointment-field-icon{display:inline-flex;align-items:center;justify-content:center;width:1.2rem}.appointment-field input,.appointment-field select{width:100%;padding:.9rem 1rem;border-radius:14px;border:1px solid rgba(168,85,247,.22);box-sizing:border-box;margin:0;background:#ffffffe0;color:#111827;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:inset 0 1px #fffc}.appointment-field input:focus,.appointment-field select:focus{outline:none;border-color:#6f34a559;box-shadow:0 0 0 4px #a855f71f;background:#fff}.appointment-field select:disabled,.appointment-field input:disabled{background:#eef2f7;color:#94a3b8;border-color:#d7dee8;cursor:not-allowed;opacity:1}.appointment-field-helper{margin:.45rem 0 0;font-size:.82rem;color:#6d7280}.appointment-option-grid{display:none}.appointment-form button{width:min(100%,260px);margin:0;padding:.95rem 1.45rem;border:none;border-radius:16px;background:linear-gradient(135deg,#7c3aed,#16a34a);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;box-shadow:0 14px 28px #4c1d952e}.appointment-form button:hover{transform:translateY(-1px);box-shadow:0 18px 32px #4c1d9538}.appointment-form-error{color:red;margin:0}.appointment-availability-card{padding:1rem;border-radius:16px;background:linear-gradient(180deg,#f0fdf4,#dcfce7);border:1px solid rgba(16,185,129,.2)}.appointment-availability-header h3{margin:0;color:#0f172a;font-size:1rem;font-weight:800}.appointment-availability-header p,.appointment-availability-empty{margin:.35rem 0 0;color:#475569}.appointment-availability-calendar{margin-top:1rem}.appointment-availability-calendar .fc{--fc-border-color: rgba(148, 163, 184, .18);--fc-neutral-bg-color: #ffffff;--fc-page-bg-color: #ffffff;--fc-today-bg-color: rgba(59, 130, 246, .08);font-family:var(--auth-font-body)}.appointment-availability-calendar .fc-timegrid-event{border-radius:10px;box-shadow:0 8px 18px #0f172a14;min-height:3.4rem}.appointment-availability-calendar .fc-event-main{padding:.45rem .55rem;font-size:.86rem}.appointment-availability-calendar .fc-toolbar{margin-bottom:.75rem}.appointment-availability-calendar .fc-col-header-cell-cushion,.appointment-availability-calendar .fc-timegrid-axis-cushion,.appointment-availability-calendar .fc-timegrid-slot-label-cushion{color:#475569;font-weight:700}.appointment-form-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.patient-appointments-mobile-list{display:none}.btn-form-secondary{border:none;border-radius:14px;padding:.85rem 1.15rem;background:linear-gradient(135deg,#f5f3fff2,#ece8fff2);color:#221c42;font-weight:700;box-shadow:0 8px 18px #6f34a514;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn-form-secondary:hover{transform:translateY(-1px);background:linear-gradient(135deg,#ece8ff,#ddd6ff)}.btn-secondary{border:none;border-radius:14px;padding:.85rem 1.15rem;background:linear-gradient(135deg,#f5f3fff2,#ece8fff2);color:#221c42;font-weight:700;box-shadow:0 8px 18px #6f34a514;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn-secondary:hover{transform:translateY(-1px);background:linear-gradient(135deg,#ece8ff,#ddd6ff)}.admin-access-panel{position:fixed;top:0;right:0;width:min(100%,92vw);max-width:820px;height:100vh;background:linear-gradient(180deg,#faf5fff5,#f3ecfff0);border-left:1px solid rgba(168,85,247,.22);box-shadow:-20px 0 50px #6f34a529;display:flex;flex-direction:column;z-index:10003;animation:slideInFromRight .32s ease-out both}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.admin-access-header{display:flex;justify-content:space-between;align-items:center;padding:1.35rem;border-bottom:1px solid rgba(168,85,247,.16);background:#fffffff0}.admin-access-header h3{margin:0;font-size:1.25rem;color:#4c1d95}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#5b21b6;padding:.5rem;border-radius:999px;transition:background .2s ease,color .2s ease}.btn-close:hover{background:#a855f71f;color:#4c1d95}.admin-stats-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem;background:#f5f3ffeb;border-bottom:1px solid rgba(168,85,247,.16)}.stat-card{padding:1rem;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border-left:4px solid;background:linear-gradient(180deg,#fffffff5,#faf5fff5);box-shadow:0 14px 30px #6f34a50f}.stat-number{font-size:1.5rem;font-weight:800;color:#4c1d95}.stat-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-align:center;color:#6b7280}.stat-card-pending{border-color:#047857;background:#10b9811f;color:#175c42}.stat-card-approved{border-color:#7c3aed;background:#7c3aed1f;color:#4c1d95}.stat-card-rejected{border-color:#dc2626;background:#ef44441f;color:#991b1b}.stat-card-auto{border-color:#10b981;background:#10b9811f;color:#065f46}.admin-message{padding:1rem;margin:1rem;background:#a7f3d02e;border:1px solid rgba(16,185,129,.25);border-radius:14px;color:#065f46;font-size:.95rem}.admin-access-filters{display:flex;gap:.75rem;padding:1rem;border-bottom:1px solid rgba(168,85,247,.12);background:#faf5fffa;flex-wrap:wrap}.filter-btn{padding:.55rem 1rem;border:1px solid rgba(168,85,247,.24);background:#fffffff5;border-radius:12px;cursor:pointer;font-size:.9rem;color:#4c1d95;transition:all .2s ease}.filter-btn:hover{background:#ece8fff5}.filter-btn.active{background:linear-gradient(135deg,#7c3aed2e,#a855f72e);border-color:#7c3aed59;color:#4c1d95}.admin-access-table{flex:1;overflow-y:auto;padding:1rem}.admin-access-table table{width:100%;border-collapse:collapse;font-size:.92rem}.admin-access-table th,.admin-access-table td{padding:.85rem;text-align:left;border-bottom:1px solid rgba(168,85,247,.12);color:#1f2937}.admin-access-table th{background:#faf5fff0;font-weight:700;color:#4c1d95}.admin-access-table tbody tr:hover{background:#ece8ff8c}.admin-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.btn-reject-action{padding:.45rem .85rem;background:#f97316;color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:.88rem;font-weight:700;transition:background .2s ease,transform .2s ease}.btn-reject-action:hover{background:#ea580c;transform:translateY(-1px)}.rejection-reason{font-size:.8rem;color:#6b7280;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.admin-loading,.admin-empty{padding:2rem;text-align:center;color:#475569}.admin-modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:10004}.admin-modal{background:#fffffffa;padding:2rem;border-radius:20px;max-width:500px;width:90%;box-shadow:0 20px 40px #6f34a533;border:1px solid rgba(168,85,247,.15)}.admin-modal h4{margin:0 0 1rem;font-size:1.1rem;color:#4c1d95}.admin-modal p{margin:0 0 1rem;color:#475569;font-size:.95rem}.admin-modal textarea{width:100%;padding:.85rem 1rem;border:1px solid rgba(168,85,247,.24);border-radius:14px;font-family:inherit;font-size:.95rem;resize:vertical;box-sizing:border-box;min-height:130px;background:#faf5ff;color:#0f172a}.admin-modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;flex-wrap:wrap}@media(max-width:768px){.admin-access-panel{width:100%;max-width:100%;border-left:none;border-right:none}.admin-stats-dashboard{grid-template-columns:repeat(2,1fr)}}.dashboard{max-width:600px;margin:50px auto;padding:20px;border:1px solid #ccc;border-radius:8px;text-align:center}.btn-green{padding:12px 24px;margin-right:10px;background:#10b981;color:#fff;border:none;border-radius:12px;font-weight:600;transition:background .2s ease}.btn-green:hover{background:#047857}.btn-red{padding:12px 24px;background:#e53935;color:#fff;border:none;border-radius:12px;font-weight:600;transition:background .2s ease}.btn-red:hover{background:#c62828}.data-box{margin-top:20px;padding:10px;background:#f0f0f0;border-radius:4px}.symptoms-group{margin-bottom:10px;display:flex;flex-direction:column;gap:10px;padding-left:10px}.checkbox-label{display:flex;align-items:center;gap:6px;font-weight:400}.app-wrapper{min-height:100vh;display:flex;flex-direction:column;min-width:0}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2.5rem;background:linear-gradient(95deg,#fff,#10b981 48%,#059669);color:#047857;box-shadow:0 14px 30px #10b98126}.brand{display:flex;align-items:center;gap:.75rem;min-width:0}.brand h1{margin:0;font-size:clamp(1.3rem,2.2vw,1.85rem);line-height:1.15}.brand-title-desktop,.brand-title-mobile{display:block}.brand-title-mobile{display:none}.brand-logo{width:52px;height:52px;flex:0 0 auto;object-fit:contain}.brand-subtitle{font-size:.9rem;opacity:.9;margin:0}.header-actions button{padding:.65rem 1.2rem;border-radius:6px;border:1px solid rgba(255,255,255,.22);background:#ffffff14;color:#fff;cursor:pointer;font-weight:600}.header-actions{display:flex;align-items:center;gap:.75rem}.mobile-header-primary-actions,.btn-mobile-logout{display:none}.btn-mobile-menu{display:none;align-items:center;gap:.75rem;padding:.65rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.24);background:#ffffff14;color:#fff;cursor:pointer;font-weight:700}.btn-mobile-menu-icon{display:inline-flex;flex-direction:column;gap:3px}.btn-mobile-menu-icon span{display:block;width:16px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.btn-mobile-menu.is-open .btn-mobile-menu-icon span:nth-child(1){transform:translateY(5px) rotate(45deg)}.btn-mobile-menu.is-open .btn-mobile-menu-icon span:nth-child(2){opacity:0}.btn-mobile-menu.is-open .btn-mobile-menu-icon span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.header-actions button:hover{background:#ffffff29}.app-body{flex:1;display:flex;min-height:0;min-width:0;position:relative;background:linear-gradient(180deg,#fbf8ff,#f4eefb)}.app-sidebar-overlay{display:none}.app-sidebar{width:260px;background:linear-gradient(180deg,#fffffff2,#f0fdfaf5);border-right:1px solid rgba(16,185,129,.12);padding:1.75rem 1rem 1.25rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset -1px 0 #fff9}.sidebar-section+.sidebar-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(16,185,129,.08)}.sidebar-section-doctor{background:linear-gradient(180deg,#10b9810f,#04785714);border-radius:14px;padding:1rem}.sidebar-title{margin:0 0 .7rem .5rem;font-size:.69rem;font-weight:800;letter-spacing:.12em;color:#64748b;text-transform:uppercase}.sidebar-link{width:100%;min-height:44px;display:flex;align-items:center;gap:.75rem;text-align:left;padding:.68rem .75rem;border-radius:8px;border:none;background:transparent;cursor:pointer;font:inherit;font-size:.92rem;font-weight:650;margin-top:.2rem;transition:background .15s ease,color .15s ease,transform .15s ease;color:#334155}.sidebar-link svg{flex:0 0 auto;color:#64748b}.sidebar-link:hover{background:#eaf8f4;color:#0f766e}.sidebar-link.active{background:#d7f2ea;color:#0f766e;font-weight:800;box-shadow:inset 3px 0 #0f9b78}.sidebar-link.active svg{color:#0f9b78}.sidebar-footer{margin:1.5rem .25rem 0;padding:1rem;border:1px solid #d8ebe6;border-radius:8px;background:#f8fcfb}.sidebar-footer-label{margin:0;letter-spacing:.1em;text-transform:uppercase;color:#64748b;font-size:.68rem;font-weight:800}.sidebar-status-heading{display:flex;align-items:center;justify-content:space-between;color:#0f766e}.sidebar-total-appointments{display:flex;align-items:baseline;justify-content:space-between;margin:.75rem 0;color:#475569;font-size:.78rem}.sidebar-total-appointments strong{color:#0f172a;font-size:1.45rem;line-height:1}.sidebar-status-list{display:grid;gap:.42rem}.sidebar-status-badge{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.38rem .5rem;border-radius:6px;background:#fff;color:#475569;font-size:.76rem;font-weight:650}.sidebar-status-badge strong{color:#0f172a;font-size:.82rem}.sidebar-status-dot{width:.48rem;height:.48rem;border-radius:999px}.sidebar-status-badge.is-pending .sidebar-status-dot{background:#f59e0b}.sidebar-status-badge.is-approved .sidebar-status-dot{background:#0f9b78}.sidebar-status-badge.is-rejected .sidebar-status-dot{background:#dc2626}.app-main{flex:1;padding:2.5rem;overflow:auto;min-width:0;background:transparent;color:#1f2937}.page-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-header h2{margin:0;font-size:1.75rem;letter-spacing:-.02em;color:#0f172a;font-weight:800}.alert{padding:1rem 1.2rem;border-radius:10px;margin-bottom:1.5rem;font-weight:600}.alert strong{display:block;margin-bottom:.2rem}.alert p{margin:0}.alert-success{background:#28a74526;color:#1a6d2a}.alert-error{background:#dc354526;color:#9b1a2b}.alert-feed{margin-bottom:1.5rem}.alert-feed-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.alert-feed-header h3{margin:0;font-size:1rem;color:#0f172a}.alert-feed-header span{min-width:2rem;height:2rem;padding:0 .55rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;color:#0f172a;font-weight:800}.alert-feed-list{display:grid;gap:.85rem}.alert-feed-item{margin-bottom:0;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.alert-feed-copy{min-width:0}.alert-feed-dismiss{width:2rem;height:2rem;border:none;border-radius:999px;background:#ffffff8c;color:inherit;font-size:1.2rem;line-height:1;cursor:pointer;flex-shrink:0}.alert-feed-dismiss:hover{background:#ffffffbf}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.card{position:relative;padding:1.5rem;border-radius:16px;background:linear-gradient(180deg,#fffffffa,#f0fdfaf5);box-shadow:0 10px 25px #064e3b14;border:1px solid rgba(16,185,129,.12);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 15px 35px #064e3b1f}.card h3{margin:0 0 .75rem;font-size:1.1rem;color:#0f172a}.card-value{font-size:2.2rem;font-weight:700;margin:.2rem 0}.card-meta{margin:0;color:#475569}.card-pending-emphasis{background:linear-gradient(180deg,#fff8eb,#fff1cc);border:1px solid rgba(217,119,6,.22);box-shadow:0 14px 30px #d9770624;overflow:hidden}.card-pending-emphasis:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,#f59e0b,#d97706)}.card-pending-emphasis h3,.card-pending-emphasis .card-value{color:#9a3412}.card-pending-emphasis .card-meta{color:#b45309;font-weight:700}.card-approved-emphasis{background:linear-gradient(180deg,#f7f0ff,#eadcf8);border:1px solid rgba(111,52,165,.22);box-shadow:0 14px 30px #6f34a51f;overflow:hidden}.card-approved-emphasis:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,#8e57c2,#6f34a5)}.card-approved-emphasis h3,.card-approved-emphasis .card-value{color:#44205f}.card-approved-emphasis .card-meta{color:#6f34a5;font-weight:700}.card-emphasis-icon{width:2rem;height:2rem;margin-bottom:.85rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#d9770624;color:#b45309;font-weight:900;box-shadow:inset 0 0 0 1px #b453092e}.card-emphasis-icon-approved{background:#6f34a524;color:#6f34a5;box-shadow:inset 0 0 0 1px #6f34a52e}.card-rejected-emphasis{background:linear-gradient(180deg,#fff3f3,#ffe0e0);border:1px solid rgba(220,38,38,.22);box-shadow:0 14px 30px #dc26261f;overflow:hidden}.card-rejected-emphasis:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,#ef4444,#dc2626)}.card-rejected-emphasis h3,.card-rejected-emphasis .card-value{color:#991b1b}.card-rejected-emphasis .card-meta{color:#b91c1c;font-weight:700}.card-emphasis-icon-rejected{background:#dc262624;color:#b91c1c;box-shadow:inset 0 0 0 1px #b91c1c2e}.admin-metrics{display:grid;gap:1.5rem}.metrics-heading,.metrics-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.metrics-heading h3,.metrics-panel-heading h4{margin:0;color:#0f172a}.metrics-eyebrow{margin:0 0 .25rem;color:#0f766e;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.metrics-refresh{border:1px solid #99c9c0;border-radius:8px;background:#f0fdfa;color:#115e59;padding:.55rem .8rem;font:inherit;font-weight:700;cursor:pointer}.metrics-kpis,.metrics-chart-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metrics-kpi,.metrics-chart-panel{border:1px solid #d8e6e2;border-radius:8px;background:#fff;box-shadow:0 8px 22px #0f766e12}.metrics-kpi{padding:1.1rem}.metrics-kpi span,.metrics-kpi p,.metrics-panel-heading p{margin:0;color:#52616b;font-size:.84rem}.metrics-kpi strong{display:block;margin:.35rem 0;color:#0f172a;font-size:2rem;line-height:1.1}.metrics-kpi-noshow{border-top:4px solid #7c3aed}.metrics-kpi-cancelled{border-top:4px solid #c2410c}.metrics-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-chart-panel{min-width:0;padding:1.25rem}.metrics-empty,.metrics-status{margin:0;padding:1.25rem;color:#52616b}.metrics-status-error{color:#b91c1c}@media(max-width:980px){.metrics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.metrics-chart-grid,.metrics-kpis{grid-template-columns:minmax(0,1fr)}.metrics-heading{align-items:center}}.btn-primary{background:linear-gradient(180deg,#8e57c2,#6f34a5);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:12px;cursor:pointer;font-weight:600;margin-top:.75rem;transition:background .2s ease}.btn-primary:hover{background:linear-gradient(180deg,#9a68cb,#5d2c8c)}.btn-small{width:2.4rem;height:2.4rem;padding:0;border:none;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease;flex:0 0 auto}.appointments-content{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:2rem;align-items:start}.appointments-content-calendar{grid-template-columns:minmax(0,1fr)}.appointments-table-card{min-width:0}.appointments-table-card{background:linear-gradient(180deg,#fff,#fcfbff);border:1px solid rgba(15,23,42,.06);padding:1rem;border-radius:12px;box-shadow:0 8px 20px #0f172a0a}.appointments-table-card .auth-form{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem;align-items:start}.appointments-table-card .auth-field{display:flex;flex-direction:column;gap:.35rem}.appointments-table-card .auth-field.auth-field-wide{grid-column:1 / -1}.appointments-table-card .auth-field input,.appointments-table-card .auth-field select,.appointments-table-card .auth-field textarea{padding:.7rem .9rem;border-radius:10px;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:none;color:#0b1324;font-size:.95rem}.appointments-table-card .auth-field textarea{min-height:96px;resize:vertical}.appointments-table-card .auth-panel .auth-submit,.appointments-table-card .auth-submit{grid-column:1 / -1;justify-self:start;padding:.65rem 1rem;min-width:180px;border-radius:10px;background:linear-gradient(90deg,#2563eb,#60a5fa);box-shadow:0 8px 18px #2563eb2e}@media(max-width:900px){.appointments-table-card .auth-form{grid-template-columns:1fr}.appointments-table-card .auth-field.auth-field-wide{grid-column:auto}}.calendar-shell{display:grid;gap:1rem}.calendar-shell-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.calendar-shell-header h3{margin:0;color:#0b1324;font-weight:800;letter-spacing:-.02em}.calendar-shell-header p{margin:.35rem 0 0;color:#475569}.calendar-legend{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.calendar-legend-item{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .8rem;border-radius:999px;font-size:.85rem;font-weight:700;border:1px solid transparent}.calendar-legend-item:before{content:"";width:.7rem;height:.7rem;border-radius:999px;background:currentColor}.calendar-legend-item.is-approved{background:#eadcf8;border-color:#6f34a533;color:#6f34a5}.calendar-legend-item.is-rejected{background:#fee2e2;border-color:#dc262633;color:#991b1b}.calendar-legend-item.is-pending{background:#fef3c7;border-color:#f59e0b3d;color:#92400e}.calendar-card{padding:1rem;border-radius:18px;background:linear-gradient(180deg,#fff,#f7f2fc);box-shadow:0 12px 24px #1f18300f;border:1px solid rgba(111,52,165,.12)}.calendar-card .fc{--fc-border-color: rgba(148, 163, 184, .18);--fc-page-bg-color: #ffffff;--fc-neutral-bg-color: #faf5ff;--fc-today-bg-color: rgba(111, 52, 165, .08);--fc-now-indicator-color: #6f34a5;font-family:var(--auth-font-body)}.calendar-card .fc-toolbar{gap:.75rem;margin-bottom:1rem}.calendar-card .fc-toolbar-title{font-size:1.2rem;color:#0f172a;font-weight:800}.calendar-card .fc-button{border-radius:12px;border:1px solid rgba(148,163,184,.24);background:#fff;color:#0f172a;font-weight:700;box-shadow:none}.calendar-card .fc-button:hover,.calendar-card .fc-button:focus{background:#f4ecfb;color:#6f34a5}.calendar-card .fc-button-primary:not(:disabled).fc-button-active,.calendar-card .fc-button-primary:not(:disabled):active{background:#eadcf8;border-color:#6f34a540;color:#6f34a5}.calendar-card .fc-col-header-cell-cushion,.calendar-card .fc-timegrid-axis-cushion,.calendar-card .fc-timegrid-slot-label-cushion{color:#475569;font-weight:700}.calendar-card .fc-event{border-width:1px;border-radius:12px;padding:0;box-shadow:0 8px 18px #0f172a14;min-height:4.2rem}.calendar-card .fc-event-main{padding:.5rem .8rem;display:flex;align-items:center;gap:.6rem}.calendar-event-content{display:flex;align-items:center;gap:.6rem;width:100%}.calendar-event-time{flex:0 0 3.2rem;font-weight:700;font-size:.86rem;white-space:nowrap;text-align:left;color:inherit}.calendar-event-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.08rem}.calendar-event-title{font-size:.92rem;line-height:1.1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-sub{font-size:.78rem;color:#0f172ab3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-list-card .calendar-list-card-main{display:flex;align-items:center;gap:.6rem}.calendar-list-card-time{flex:0 0 3.2rem;font-weight:700}.calendar-card .fc-list{border:none}.calendar-card .fc-list-day-cushion{background:#f1f5f9;font-weight:800;font-size:.88rem;color:#0f172a;padding:.55rem .85rem}.calendar-card .fc-list-event{cursor:pointer}.calendar-card .fc-list-event-time,.calendar-card .fc-list-event-graphic{display:none}.calendar-card .fc-list-event-title{padding:0}.calendar-card .fc-list-event td{border:none;padding:.3rem .55rem}.calendar-list-card{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.65rem .85rem;border-radius:12px;border-left:4px solid #f59e0b;background:#fffbeb;transition:background .15s ease,box-shadow .15s ease}.calendar-list-card:active{box-shadow:0 0 0 3px #6f34a52e}.calendar-list-card-aprobada{border-left-color:#6f34a5;background:#f7f0ff}.calendar-list-card-rechazada{border-left-color:#dc2626;background:#fef2f2}.calendar-list-card-pendiente{border-left-color:#f59e0b;background:#fffbeb}.calendar-list-card-main{display:flex;flex-direction:column;gap:.18rem;min-width:0}.calendar-list-card-title{font-size:.92rem;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-list-card-time{font-size:.8rem;color:#475569;font-weight:600}.calendar-list-badge{flex-shrink:0;display:inline-flex;align-items:center;padding:.28rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}.calendar-list-badge-aprobada{background:#eadcf8;color:#6f34a5}.calendar-list-badge-rechazada{background:#fee2e2;color:#991b1b}.calendar-list-badge-pendiente{background:#fef3c7;color:#92400e}@media(max-width:640px){.calendar-card{padding:.5rem;border-radius:14px}.calendar-card .fc-toolbar{flex-direction:column;gap:.5rem;align-items:stretch}.calendar-card .fc-toolbar-chunk{display:flex;justify-content:center}.calendar-card .fc-toolbar-title{font-size:1rem;text-align:center}.calendar-card .fc-button{font-size:.78rem;padding:.35rem .55rem;border-radius:10px}.calendar-shell-header{flex-direction:column;gap:.5rem}.calendar-legend{gap:.4rem}.calendar-legend-item{padding:.35rem .6rem;font-size:.78rem}.calendar-shell-header p{font-size:.88rem}}.appointment-modal-backdrop{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0f172a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.appointment-modal{width:min(100%,760px);max-height:calc(100vh - 3rem);margin-left:0;overflow-y:auto;box-shadow:0 24px 60px #0f172a38;pointer-events:auto;z-index:10002}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.appointments-table-card>h3,.medical-history-form-card h3,.appointment-details-header h3,.clinical-history-readonly-card h3{color:#0b1324;font-weight:800;letter-spacing:-.02em}.medical-history-cta-card,.medical-history-form-card{margin-top:1.5rem;padding:1.4rem;border-radius:20px;background:linear-gradient(180deg,#faf5fff5,#f3ecfff0);border:1px solid rgba(168,85,247,.18);box-shadow:0 16px 32px #6f34a514}.medical-history-cta-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.medical-history-cta-card-inline{margin-top:1.5rem}.medical-history-cta-card h3,.medical-history-form-card h3{margin:0;color:#4c1d95}.medical-history-cta-card p,.medical-history-form-card p{margin:.35rem 0 0;color:#475569}.btn-primary-action{border:none;border-radius:16px;padding:.85rem 1.15rem;background:linear-gradient(135deg,#7c3aed,#16a34a);color:#fff;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;box-shadow:0 12px 26px #4c1d953d}.btn-primary-action:hover{transform:translateY(-1px);box-shadow:0 16px 30px #4c1d9547}.btn-primary-action:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.table-actions{display:flex;gap:.5rem;flex-wrap:nowrap;align-items:center;justify-content:flex-start;white-space:nowrap}.action-icon{width:1rem;height:1rem;display:block}.btn-view{background:linear-gradient(135deg,#a855f724,#7c3aed38);color:#4c1d95;border:1px solid rgba(168,85,247,.26)}.btn-view:hover{background:linear-gradient(135deg,#a855f738,#7c3aed4d)}.btn-edit{background:linear-gradient(135deg,#10b98129,#10b9813d);color:#065f46;border:1px solid rgba(16,185,129,.3)}.btn-edit:hover{background:linear-gradient(135deg,#10b9813d,#10b98152)}.btn-delete{background:linear-gradient(135deg,#ef44442e,#ef444442);color:#7f1d1d;border:1px solid rgba(239,68,68,.3)}.btn-delete:hover{background:linear-gradient(135deg,#ef444442,#dc262652)}.btn-approve{background:linear-gradient(135deg,#7c3aed,#10b981);color:#fff;cursor:pointer;padding:.45rem .85rem;border:none;border-radius:10px;font-weight:700}.btn-approve:hover{background:linear-gradient(135deg,#6d28d9,#059669)}.btn-reject{background:linear-gradient(135deg,#f59e0b38,#ef444429);color:#92400e}.btn-reject:hover{background:linear-gradient(135deg,#f59e0b57,#ef444438)}.appointments-table{width:100%;min-width:720px;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 20px #0000000d}.appointments-table th,.appointments-table td{padding:.9rem 1rem;border-bottom:1px solid rgba(0,0,0,.08);text-align:left;color:#1f2937}.appointments-table th:last-child,.appointments-table td:last-child{white-space:nowrap;width:1%}.appointments-table th{background:#6f34a51a;font-weight:700;color:#0f172a}.appointments-table tr:last-child td{border-bottom:none}.appointment-row{cursor:pointer;transition:background .2s ease}.appointment-row:hover{background:#6f34a514}.appointment-row.selected{background:#6f34a524}.appointment-row-approved{position:relative;background:linear-gradient(90deg,#6f34a514,#fff0)}.appointment-row-approved td:first-child{box-shadow:inset 4px 0 #6f34a5}.appointment-row-approved:hover{background:linear-gradient(90deg,#6f34a524,#6f34a50a)}.appointment-row-pending{position:relative;background:linear-gradient(90deg,#f59e0b14,#fff0)}.appointment-row-pending td:first-child{box-shadow:inset 4px 0 #f59e0b}.appointment-row-pending:hover{background:linear-gradient(90deg,#f59e0b29,#6f34a50a)}.appointment-row-rejected{position:relative;background:linear-gradient(90deg,#ef444414,#fff0)}.appointment-row-rejected td:first-child{box-shadow:inset 4px 0 #dc2626}.appointment-row-rejected:hover{background:linear-gradient(90deg,#ef444424,#6f34a50a)}.appointment-details-card{background:#fff;color:#1f2937;border-radius:16px;padding:1.5rem;margin-left:.5rem;box-shadow:0 10px 20px #0000000d;border:1px solid rgba(0,0,0,.06)}.appointment-details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.appointment-details-header h3{margin:0}.btn-details-close{width:2rem;height:2rem;border:none;border-radius:999px;background:#0f172a14;color:#334155;font-size:1.25rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.btn-details-close:hover{background:#0f172a24}.details-eyebrow{margin:0 0 .35rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#475569;font-weight:700}.details-empty{margin:0;color:#475569}.appointment-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.appointment-detail-grid p{margin:.35rem 0 0;font-weight:600;color:#1f2937}.appointment-detail-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.appointment-detail-actions .btn-small{min-width:110px;padding:.8rem 1rem;border-radius:12px;font-weight:700}.appointment-role-action{width:auto!important;min-width:180px;padding:.8rem 1rem!important;border-radius:12px!important;font-weight:700}.appointment-role-action:disabled{cursor:not-allowed;opacity:.6}.appointment-detail-full{grid-column:1 / -1}.detail-label{color:#334155;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.medical-history-form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.medical-history-header-stack{display:grid;gap:.95rem;min-width:0}.medical-history-brand-lockup{display:inline-flex;align-items:center;gap:.85rem;width:fit-content;padding:.7rem .9rem;border-radius:18px;background:linear-gradient(135deg,#fffffffa,#f0fdfafc);border:1px solid rgba(16,185,129,.16);box-shadow:0 10px 24px #064e3b14}.medical-history-brand-logo{width:48px;height:48px;flex:0 0 auto}.medical-history-brand-copy{display:grid;gap:.16rem}.medical-history-brand-name{color:#0f172a;font-size:1rem;font-weight:800;letter-spacing:-.02em}.medical-history-brand-tagline{color:#475569;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.medical-history-meta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem;color:#334155;font-size:.92rem;font-weight:600}.doctor-clinical-workspace{display:grid;gap:1.4rem}.doctor-clinical-board{overflow:hidden}.doctor-clinical-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem;padding:1.4rem 1.45rem;border-radius:18px;background:linear-gradient(135deg,#082f49f5,#0e7490eb 58%,#0f766ef0),radial-gradient(circle at top right,rgba(255,255,255,.18),transparent 24%);color:#eff9ff;box-shadow:0 18px 40px #082f4933}.doctor-clinical-kicker{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;color:#e2f4ffc2}.doctor-clinical-hero h3{margin:.45rem 0 0;color:#fff;font-size:clamp(1.45rem,2.6vw,2rem)}.doctor-clinical-hero p{margin:.55rem 0 0;color:#ecf8ffd1;max-width:52ch}.doctor-clinical-stats{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:.75rem;min-width:min(100%,320px)}.doctor-clinical-stats article{padding:.95rem .85rem;border-radius:16px;background:#ffffff1f;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;gap:.2rem}.doctor-clinical-stats strong{font-size:1.45rem;line-height:1;color:#fff}.doctor-clinical-stats span{font-size:.78rem;color:#eff9ffc7;text-transform:uppercase;letter-spacing:.06em}.doctor-history-section-professional{padding:1.15rem 1.2rem;border-radius:18px;background:linear-gradient(180deg,#fff,#f0fdf4);border:1px solid rgba(16,185,129,.12);box-shadow:0 12px 28px #064e3b0d}.doctor-history-section-saved{background:linear-gradient(180deg,#fcfffd,#f0fdf4)}.doctor-history-table th{background:linear-gradient(180deg,#10b9811f,#10b98112)}.medical-history-form-card-professional{position:relative;padding:1.55rem;border-radius:22px;background:linear-gradient(180deg,#fff,#f0fdf4),radial-gradient(circle at top right,rgba(16,185,129,.08),transparent 24%);border:1px solid rgba(16,185,129,.16);box-shadow:0 18px 42px #064e3b14}.medical-history-form-card-professional:before{content:"";position:absolute;inset:0 0 auto;height:5px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,#fff,#10b981 45%,#047857)}.medical-history-identity{min-width:0}.medical-history-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}.medical-history-title-row h3{margin:0}.medical-history-specialty-badge{display:inline-flex;align-items:center;padding:.38rem .8rem;border-radius:999px;background:linear-gradient(135deg,#10b98124,#0478571f);border:1px solid rgba(16,185,129,.2);color:#10b981;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.medical-history-record-code{margin:.35rem 0 0;display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border-radius:999px;background:#0e749014;color:#0f4c5c;font-size:.8rem;font-weight:800;letter-spacing:.05em}.medical-history-meta-cards span{min-width:140px;padding:.85rem .95rem;border-radius:14px;background:linear-gradient(180deg,#f8fbff,#eef6fb);border:1px solid rgba(14,116,144,.1);display:grid;gap:.3rem}.medical-history-meta-cards strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#0f766e}.clinical-history-panel{padding:1.1rem;border-radius:18px;background:linear-gradient(180deg,#fbfdff,#f4f9fc);border:1px solid rgba(148,163,184,.18);box-shadow:inset 0 1px #ffffffb8}.clinical-history-panel-records{background:linear-gradient(180deg,#fcfffe,#f4fbf8);border-color:#0f766e1f}.clinical-history-panel-header{margin-bottom:.95rem}.clinical-history-panel-header h4{margin:0}.clinical-history-panel-header p{margin:.35rem 0 0;color:#64748b}.clinical-summary-grid{margin-top:0}.clinical-summary-card,.clinical-field-card{padding:.95rem 1rem;border-radius:16px;background:#fff;border:1px solid rgba(148,163,184,.16);box-shadow:0 8px 18px #0f172a0a}.clinical-summary-card-record p{white-space:pre-wrap}.clinical-history-grid-readonly .clinical-field-card input,.clinical-history-grid-readonly .clinical-field-card textarea{background:linear-gradient(180deg,#fbfdff,#f1f6fa)}.clinical-field-card label{display:block;margin-bottom:.55rem}.medical-history-form textarea{min-height:132px}.medical-history-form{display:flex;flex-direction:column;gap:1rem;margin-top:1.15rem}.clinical-history-fields{display:flex;flex-direction:column;gap:1rem}.clinical-history-fields h4{margin:.35rem 0 0;color:#0f172a;font-size:1rem;font-weight:800;letter-spacing:-.01em}.clinical-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media(max-width:640px){.medical-history-form-header{flex-direction:column}.medical-history-header-stack,.medical-history-brand-lockup{width:100%}.medical-history-brand-lockup{justify-content:flex-start}.medical-history-form-header .btn-details-close{align-self:flex-end}}.status-done,.status-pending,.status-rejected{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700}.status-done{background:#6f34a529;color:#6f34a5}.status-pending{background:#10b9812e;color:#047857}.status-rejected{background:#ef444421;color:#991b1b}.medical-history-form label{font-size:.92rem;font-weight:700;color:#0f172a}.medical-history-form input{width:100%;box-sizing:border-box;border-radius:14px;border:1px solid rgba(111,52,165,.18);background:#faf5ff;padding:.95rem 1rem;color:#1f2937;font:inherit}.medical-history-form textarea{width:100%;min-height:150px;resize:vertical;box-sizing:border-box;border-radius:14px;border:1px solid rgba(111,52,165,.18);background:#fff;padding:.95rem 1rem;color:#1f2937;font:inherit;transition:border-color .2s ease,box-shadow .2s ease}.medical-history-form textarea:focus{outline:none;border-color:#10b98180;box-shadow:0 0 0 4px #10b98126}.medical-history-form input:focus{outline:none;border-color:#10b98180;box-shadow:0 0 0 4px #10b98126}.medical-history-form-actions{display:flex;justify-content:flex-end;gap:.85rem}.diagnosis-autocomplete{position:relative}.cie10-results{display:grid;gap:.35rem;margin-top:.55rem;max-height:210px;overflow-y:auto;border:1px solid rgba(15,118,110,.16);border-radius:8px;padding:.45rem;background:#f8fffd}.cie10-results button{display:grid;grid-template-columns:74px minmax(0,1fr);gap:.65rem;width:100%;border:0;border-radius:6px;padding:.65rem;background:transparent;color:#163e3a;font:inherit;text-align:left;cursor:pointer}.cie10-results button:hover{background:#e5f6f1}.cie10-results strong{color:#0f766e}.clinical-subsection{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(15,118,110,.14)}.clinical-subsection h4{margin:0 0 .8rem;font-size:1.02rem;font-weight:800;color:#123b37}.vitals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.vitals-grid label,.prescription-row label{display:grid;gap:.35rem;font-size:.88rem;font-weight:700}.vitals-grid input,.prescription-row input{min-width:0;padding:.7rem .75rem;border-radius:8px}.bmi-result{display:inline-flex;gap:.25rem;margin:.9rem 0 0;padding:.45rem .7rem;border-radius:999px;background:#dff7ef;color:#075c51;font-size:.9rem}.prescription-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.prescription-header h4{margin-bottom:0}.prescription-row{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr)) 34px;align-items:end;gap:.65rem;margin-top:.65rem;padding:.75rem;border:1px solid rgba(15,118,110,.12);border-radius:8px;background:#fff}.prescription-row .btn-details-close{width:32px;height:32px;padding:0}.medical-history-form-actions{position:sticky;bottom:0;z-index:2;padding:.85rem 0 .15rem;background:linear-gradient(180deg,#fcfffe00,#fcfffe 35%)}@media(max-width:820px){.vitals-grid,.prescription-row{grid-template-columns:repeat(2,minmax(0,1fr))}.prescription-row .btn-details-close{grid-column:2;justify-self:end}}@media(max-width:520px){.vitals-grid,.prescription-row{grid-template-columns:1fr}.prescription-row .btn-details-close{grid-column:1}.prescription-header,.medical-history-form-actions{align-items:stretch;flex-direction:column}.medical-history-form-actions button{width:100%}}.doctor-history-sections{display:grid;gap:1.25rem;margin-top:1.25rem}.doctor-history-section{display:grid;gap:.9rem}.doctor-history-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.doctor-history-section-header h4{margin:0;color:#0f172a;font-size:1rem;font-weight:800;display:inline-flex;align-items:center;gap:.65rem}.doctor-history-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.9rem;height:1.9rem;padding:0 .55rem;border-radius:999px;background:#f59e0b2e;color:#92400e;font-size:.85rem;font-weight:800}.doctor-history-count-saved{background:#6f34a529;color:#6f34a5}.doctor-history-section-header p,.doctor-history-empty{margin:.35rem 0 0;color:#475569}.doctor-history-actions{display:flex;align-items:center;gap:.65rem}.doctor-history-actions .btn-primary-action,.doctor-history-actions .btn-form-secondary{padding:.7rem .95rem}.clinical-history-readonly-list{display:grid;gap:1.25rem;margin-top:1.25rem}.clinical-history-readonly-card{padding:1.4rem;border-radius:18px;background:linear-gradient(180deg,#faf5fff5,#f3ecfff5);border:1px solid rgba(168,85,247,.16);box-shadow:0 12px 26px #6f34a514}.clinical-history-readonly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.1rem}.clinical-history-readonly-grid p{margin:.35rem 0 0;color:#1f2937;font-weight:600}.status-badge{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700;text-transform:capitalize;background:#faf5ffe6;color:#4c1d95;border:1px solid rgba(168,85,247,.18)}.status-aprobada{background:#6f34a524;color:#6f34a5}.status-rechazada{background:#ef444424;color:#b91c1c}.status-pendiente{background:#10b98129;color:#047857;box-shadow:inset 0 0 0 1px #10b9812e}@media(max-width:900px){.app-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem}.header-actions{width:100%;justify-content:space-between}.header-actions button{width:auto}.header-logout-desktop{display:none}.mobile-header-primary-actions{display:flex;width:100%;align-items:stretch;gap:.55rem}.btn-mobile-menu,.btn-mobile-logout{display:inline-flex;flex:1 1 0;justify-content:center;min-width:0}.app-body{display:block}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(320px,calc(100vw - 3rem));max-width:100%;border-right:1px solid rgba(0,0,0,.08);border-bottom:none;z-index:30;transform:translate(-100%);transition:transform .25s ease;overflow-y:auto;box-shadow:20px 0 40px #0f172a2e}.app-sidebar.is-open{transform:translate(0)}.app-sidebar-overlay{display:block;position:fixed;inset:0;background:#0f172a75;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:20}.app-sidebar-overlay.is-visible{opacity:1;pointer-events:auto}.app-main{padding:1.5rem}.appointments-content{grid-template-columns:1fr}.calendar-card .fc-toolbar{flex-direction:column;align-items:stretch}.calendar-card .fc-toolbar-chunk{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}.appointment-details-card{margin-left:0}.medical-history-cta-card{flex-direction:column;align-items:flex-start}.appointment-form-card{padding:1.25rem}.clinical-history-grid,.clinical-history-readonly-grid{grid-template-columns:1fr}}@media(max-width:640px){.login-wrapper{align-items:flex-start}.app-header{padding:1rem 1rem 1.1rem;align-items:flex-start;gap:.7rem}.brand{width:100%;gap:.55rem}.brand-logo{width:42px;height:42px}.brand h1{font-size:1rem;line-height:1.05;letter-spacing:-.01em}.brand-title-desktop{display:none}.brand-title-mobile{display:block}.brand-subtitle{font-size:.74rem;line-height:1.15;margin-top:.12rem}.header-actions{order:-1;width:100%;flex-direction:row;align-items:stretch;justify-content:space-between;gap:.4rem;padding:0;border-radius:0;background:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.mobile-header-primary-actions{width:100%;gap:.4rem;align-items:stretch;justify-content:space-between}.btn-mobile-logout{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:8.75rem;padding:.58rem .72rem;border-radius:11px;font-size:.82rem;line-height:1;white-space:nowrap}.btn-mobile-menu,.btn-mobile-logout{width:auto;flex:0 0 auto;justify-content:center;text-align:center}.header-logout-desktop{display:none}.btn-mobile-menu{min-width:8.75rem;padding:.58rem .82rem;border-radius:11px;font-size:.82rem}.appointment-form-grid{grid-template-columns:1fr}.appointment-form button{width:100%}.appointment-form-actions{flex-direction:column}.appointment-detail-grid{grid-template-columns:1fr}.medical-history-form-actions{flex-direction:column}.btn-primary-action{width:100%}.auth-shell,.auth-shell-register{min-height:auto;gap:1rem;padding:12px}.auth-showcase,.auth-panel{width:100%;padding:20px 18px;border-radius:22px}.auth-showcase{gap:1.25rem}.auth-showcase h1{font-size:clamp(1.8rem,9vw,2.5rem)}.auth-copy{font-size:.95rem}.auth-spotlight-card{padding:1rem}.auth-toggle{width:100%;justify-content:center;flex-wrap:wrap}.auth-submit,.auth-secondary-button{width:100%}.app-main{padding:1rem}.page-header h2{font-size:1.45rem}.dashboard-cards{grid-template-columns:1fr;gap:1rem}.appointment-form-card,.appointment-details-card,.medical-history-cta-card,.medical-history-form-card,.clinical-history-readonly-card{padding:1rem}.appointment-form-card-patient{width:min(100%,460px);margin:0 auto;padding:1rem .9rem;border-radius:26px;background:linear-gradient(180deg,#faf5fff0,#f3ecffeb);border:1px solid rgba(168,85,247,.18);box-shadow:0 20px 40px #6f34a51f}.appointment-form-card-patient .appointment-form-title{text-align:left;margin-bottom:.45rem;font-size:1.35rem;max-width:22rem;margin-left:auto;margin-right:auto;color:#4c1d95}.appointment-form-card-patient .appointment-form-mobile-note{display:block;margin:0 0 1rem;color:#475569;font-size:.92rem;max-width:22rem;margin-left:auto;margin-right:auto}.appointment-form-card-patient .appointment-form{gap:.9rem;max-width:22rem;margin:0 auto}.appointment-form-card-patient .appointment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.appointment-form-card-patient .appointment-field-full,.appointment-form-card-patient .appointment-field:not(.appointment-field-compact){grid-column:1 / -1}.appointment-form-card-patient .appointment-field-compact{min-width:0;max-width:100%;overflow:hidden;padding:.75rem;border-radius:16px;background:linear-gradient(180deg,#f8f5fff2,#ece8fff2);border:1px solid rgba(168,85,247,.2);box-shadow:inset 0 1px #ffffffbf}.appointment-form-card-patient .appointment-field label{margin-bottom:.45rem;font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;color:#5b21b6}.appointment-form-card-patient .appointment-field input,.appointment-form-card-patient .appointment-field select{min-width:0;max-width:100%;min-height:50px;padding:.85rem .9rem;border-radius:14px;border-color:#a855f738;background:#f8f5ff;font-size:16px}.appointment-form-card-patient .appointment-field-date input,.appointment-form-card-patient .appointment-field-time input{width:100%;min-width:0;appearance:none;-webkit-appearance:none}.appointment-form-card-patient .appointment-mobile-hidden-input{display:none}.appointment-form-card-patient .appointment-option-grid{display:grid;gap:.65rem;margin-top:.2rem}.appointment-form-card-patient .appointment-option-grid-specialty{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-form-card-patient .appointment-option-grid-doctor{grid-template-columns:1fr}.appointment-form-card-patient .appointment-option-card{width:100%;padding:.9rem .85rem;border:1px solid rgba(168,85,247,.24);border-radius:16px;background:linear-gradient(180deg,#fffffffa,#f8f5fff5);color:#0f172a;text-align:left;box-shadow:0 8px 18px #6f34a50f}.appointment-form-card-patient .appointment-option-card.is-selected{border-color:#a855f76b;background:linear-gradient(180deg,#ece8fff2,#ddd6fff2);box-shadow:0 12px 20px #6f34a51f}.appointment-form-card-patient .appointment-option-title{display:block;font-size:.92rem;font-weight:700;line-height:1.25}.appointment-form-card-patient .appointment-option-meta{display:block;margin-top:.2rem;color:#475569;font-size:.8rem}.appointment-form-card-patient .appointment-form-actions{margin-top:.25rem;padding-top:.9rem;background:linear-gradient(180deg,#fff0,#fff 34%)}.appointment-form-card-patient .appointment-form-actions button{width:100%;min-height:52px;border-radius:16px;font-size:1rem}.appointment-form-card-patient .appointment-form-actions-patient{position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) + .25rem);padding:.9rem 0 .2rem;border-top:1px solid rgba(168,85,247,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.patient-appointments-mobile-list{display:grid;gap:.85rem;margin-bottom:1rem}.calendar-card{padding:.75rem}.calendar-card .fc-toolbar-title{font-size:1rem;text-align:center}.calendar-card .fc-button{min-height:42px}.calendar-card .fc-timegrid-slot-label-cushion,.calendar-card .fc-col-header-cell-cushion{font-size:.78rem}.calendar-event-content strong{font-size:.82rem}.calendar-event-content span,.calendar-event-content small{font-size:.72rem}.patient-appointment-card{padding:1rem;border-radius:18px;background:linear-gradient(180deg,#fff,#f8f2fc);border:1px solid rgba(148,163,184,.18);box-shadow:0 12px 24px #0f172a0f}.patient-appointment-card.is-selected{border-color:#6f34a552;box-shadow:0 14px 30px #6f34a51a}.patient-appointment-card-aprobada{background:linear-gradient(180deg,#fbf5ff,#f2e8fb)}.patient-appointment-card-pendiente{background:linear-gradient(180deg,#fffdf5,#fff8e8)}.patient-appointment-card-rechazada{background:linear-gradient(180deg,#fff7f7,#fff0f0)}.patient-appointment-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.patient-appointment-card-top h3{margin:0;font-size:1rem;color:#0f172a}.patient-appointment-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.95rem}.patient-appointment-card-grid p{margin:.3rem 0 0;color:#0f172a;font-weight:600}.patient-appointment-card-button{width:100%;margin-top:.95rem;min-height:46px;border:1px solid rgba(37,99,235,.18);border-radius:14px;background:#eff6ff;color:#1d4ed8;font-weight:700}.patient-appointment-card-button:hover{background:#dbeafe}.appointment-details-card-patient{display:none}}@media(max-width:480px){.auth-shell,.auth-shell-register{padding:10px}.app-header{padding:1rem}.brand{align-items:flex-start}.brand-logo{width:44px;height:44px}.brand-subtitle{font-size:.85rem}.sidebar-link{padding:.8rem .75rem}.appointments-table{min-width:560px}.appointment-form-card-patient{width:min(100%,360px);padding:.85rem .7rem;border-radius:18px}.appointment-form-card-patient .appointment-form-title{font-size:1.25rem}.appointment-form-card-patient .appointment-form,.appointment-form-card-patient .appointment-form-title,.appointment-form-card-patient .appointment-form-mobile-note{max-width:100%}.appointment-form-card-patient .appointment-option-grid-specialty{grid-template-columns:1fr}.appointment-form-card-patient .appointment-field-date,.appointment-form-card-patient .appointment-field-time{grid-column:1 / -1}.patient-appointment-card{padding:.9rem;border-radius:16px}.patient-appointment-card-grid{grid-template-columns:1fr;gap:.7rem}}@media(max-width:375px){.appointment-form-card-patient{width:min(100%,330px)}.appointment-form-card-patient .appointment-form-grid{gap:.7rem}.appointment-form-card-patient .appointment-field-compact{padding:.65rem}}@media(max-width:1100px){.auth-shell,.auth-shell-register{grid-template-columns:1fr;gap:1.25rem;max-width:760px;margin:0 auto}.auth-showcase{min-height:auto}.auth-showcase h1{max-width:none}.auth-panel{width:100%;max-width:620px;justify-self:center}}@media(max-width:820px){.login-wrapper{align-items:flex-start}.auth-shell,.auth-shell-register{min-height:auto;gap:1.15rem;padding:16px}.auth-panel,.auth-showcase{width:100%;padding:22px 20px;border-radius:24px}.auth-panel{order:1}.auth-showcase{order:2;gap:1.25rem}.auth-showcase h1{max-width:12.6ch;font-size:clamp(1.76rem,7vw,2.38rem)}.auth-title-desktop{display:none}.auth-title-mobile{display:block}.auth-copy,.auth-card-subtitle{font-size:.96rem}.auth-copy{max-width:34ch;line-height:1.64}.auth-spotlight-card{width:100%;max-width:none;padding:1.05rem}.auth-spotlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.auth-spotlight-grid div{padding:.8rem}.auth-toggle,.auth-submit,.auth-secondary-button{width:100%}}@media(max-width:520px){.login-wrapper,.login-wrapper.system-on{background:linear-gradient(180deg,#f6fff8,#dff6e7)}.login-wrapper:before,.login-wrapper:after{display:none}.auth-showcase{display:none}.auth-panel{max-width:none;min-height:calc(100vh - 20px);display:flex;flex-direction:column;justify-content:center;padding:1.4rem 1.15rem}.auth-panel-login,.auth-panel-register{animation:authMobileFadeIn .45s ease-out both}.auth-mobile-header{display:block;margin-bottom:1.15rem}.auth-mobile-kicker{color:#000}.auth-mobile-header h1{font-size:clamp(2rem,8vw,2.35rem);color:#000}.auth-mobile-copy{font-size:1rem;color:#000}.auth-feedback{margin-bottom:1.1rem;padding:1rem;border-radius:16px;font-size:.94rem;line-height:1.45}.auth-card-kicker,.auth-panel h2,.auth-card-subtitle{display:none}.auth-form{gap:1.1rem}.auth-panel .auth-field{gap:.55rem}.auth-panel .auth-field label{font-size:.98rem;font-weight:700;color:#111827}.auth-panel .auth-field input{min-height:52px;padding:1rem;border-radius:18px}.auth-panel .auth-password-field input{padding-right:4rem}.auth-panel .auth-field input::placeholder{color:#11182766}.auth-panel .auth-password-toggle{right:.85rem;color:#6f34a5}.auth-panel .auth-inline-actions{margin-top:.15rem;margin-bottom:.25rem}.auth-panel .auth-text-link{font-size:.92rem}.auth-modal-backdrop{padding:1rem;background:#1f183047;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal{width:100%;padding:1.15rem;border-radius:20px;background:linear-gradient(180deg,#fffffffc,#f8f4fdfc);border:1px solid rgba(111,52,165,.14);box-shadow:0 22px 48px #6f34a52e}.auth-modal h3{font-size:1.4rem}.auth-modal-copy{font-size:.94rem;line-height:1.5}.auth-panel .auth-submit{width:100%;min-height:56px;margin-top:.35rem;padding:1rem 1.1rem;font-size:1.02rem;border-radius:18px;background:linear-gradient(135deg,#047857,#6ee7b7);color:#f7fff9;box-shadow:inset 0 1px #fff3,0 18px 34px #a855f74d}.auth-panel .auth-footer-row{flex-direction:column;align-items:stretch;gap:.9rem}}.auth-shell-login{width:min(1200px,calc(100% - 3rem));min-height:auto;margin:auto;padding:clamp(1.5rem,3vw,3rem);display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,2.6vw,2.5rem);align-content:center}.auth-shell-login .auth-showcase{min-height:0;height:auto;padding:clamp(1.75rem,3vw,2.75rem);border-radius:20px;align-items:center;text-align:center}.auth-shell-login .auth-showcase-copy{justify-items:center}.auth-shell-login .auth-brand-heading,.auth-shell-login .auth-copy{max-width:48rem}.auth-shell-login .auth-showcase h1{max-width:24ch;font-size:clamp(2.1rem,3.1vw,3.15rem)}.auth-shell-login .auth-spotlight-card{width:min(100%,960px);padding:.9rem 1rem;border-radius:14px;text-align:left}.auth-shell-login .auth-spotlight-grid div{min-height:112px;padding:.85rem 1rem;border-radius:10px}.auth-login-access{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(320px,400px) minmax(190px,.8fr);align-items:center;gap:clamp(1rem,2.5vw,2.25rem)}.auth-login-side{min-width:0}.auth-shell-login .auth-panel-login{width:100%;min-height:0;height:auto;padding:1.5rem 1.65rem;border-radius:18px}.auth-shell-login .auth-panel-login .auth-card-kicker{font-size:.68rem}.auth-shell-login .auth-panel-login h2{margin:.2rem 0 .4rem}.auth-shell-login .auth-panel-login .auth-card-subtitle{margin-bottom:.8rem}.auth-shell-login .auth-panel-login .auth-form{gap:.7rem}.auth-shell-login .auth-demo-panel,.auth-access-card{padding:1.1rem;border:1px solid rgba(185,134,255,.23);border-radius:14px;background:#ffffff6b;box-shadow:0 16px 32px #7b3cb41a}.auth-shell-login .auth-demo-panel{margin:0}.auth-side-copy{margin:.55rem 0 .9rem;color:#111827ad;font-size:.8rem;line-height:1.5}.auth-shell-login .auth-demo-grid{grid-template-columns:1fr;gap:.5rem}.auth-shell-login .auth-demo-button{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.72rem .8rem;border-radius:8px}.auth-shell-login .auth-demo-button-action{text-align:right}.auth-access-card{display:grid;gap:.65rem}.auth-shell-login .auth-footer-text{font-size:.82rem;line-height:1.5}.auth-shell-login .auth-secondary-button{width:100%;padding:.75rem .9rem;border-radius:8px}@media(max-width:820px){.auth-shell-login{width:min(680px,calc(100% - 2rem));margin:0 auto}.auth-login-access{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-login-demo-side,.auth-login-access-side{grid-row:2}}@media(max-width:560px){.auth-shell-login{width:100%;min-height:100vh;padding:1rem}.auth-shell-login .auth-showcase{display:flex;padding:1.5rem 1rem}.auth-shell-login .auth-showcase h1{font-size:2rem}.auth-shell-login .auth-spotlight-grid,.auth-login-access{grid-template-columns:1fr}.auth-shell-login .auth-panel-login,.auth-login-demo-side,.auth-login-access-side{grid-column:auto;grid-row:auto}}.login-wrapper.system-on{min-height:100vh;display:grid;place-items:center;padding:1.5rem;box-sizing:border-box;background-color:#0b4d50;background-image:linear-gradient(135deg,#0a3f42ed,#0f5f62db 45%,#146f72eb),url(/assets/right-image-YVZ9Evtd.png);background-size:cover,cover;background-position:center,center 30%;background-repeat:no-repeat,no-repeat;background-blend-mode:multiply,normal}.login-wrapper.system-on:before,.login-wrapper.system-on:after{display:none}.auth-shell-login{width:min(1040px,100%);min-height:580px;margin:0;padding:0;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);grid-template-rows:minmax(580px,1fr);align-items:stretch;gap:0;overflow:hidden;border:1px solid #cad9dc;border-radius:12px;background:#fff;box-shadow:0 22px 52px #0f172a1f,0 2px 8px #0f5f620f}.auth-login-brand{height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:1.35rem;padding:clamp(2rem,5vw,4.5rem);background-color:#0f5f62;background-image:linear-gradient(rgba(207,250,254,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(207,250,254,.08) 1px,transparent 1px),linear-gradient(155deg,#146f72,#0b5155);background-size:28px 28px,28px 28px,100% 100%;color:#fff}.auth-login-logo{width:64px;height:auto;opacity:.94}.auth-login-brand-name{margin:0 0 .55rem;color:#c8efea;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.auth-login-brand h1{margin:0;color:#fff;font-family:var(--auth-font-display);font-size:clamp(2rem,3vw,2.7rem);font-weight:700;line-height:1.12;letter-spacing:0}.auth-login-brand>div>p:last-child{max-width:28ch;margin:.8rem 0 0;color:#d7f0ed;font-size:.95rem;line-height:1.6}.auth-shell-login .auth-panel-login{width:auto;min-height:0;height:100%;box-sizing:border-box;padding:clamp(2rem,5vw,4rem);display:flex;align-items:center;justify-content:center;border:none;border-radius:0;background:#fff;box-shadow:none;animation:none}.auth-shell-login .auth-panel-login::selection{background:#0f766e2e}.auth-shell-login .auth-panel-login:before,.auth-shell-login .auth-panel-login:after{display:none}.auth-shell-login .auth-panel-login>*{width:min(100%,360px)}.auth-shell-login .auth-card-kicker{margin:0 0 .65rem;color:#64748b;font-size:.7rem;font-weight:800;letter-spacing:.12em}.auth-shell-login .auth-panel-login h2{margin:0 0 1.8rem;color:#1e293b;font-family:var(--auth-font-display);font-size:1.65rem;font-weight:700;letter-spacing:0;text-shadow:none}.auth-shell-login .auth-panel-login .auth-form{gap:1rem}.auth-shell-login .auth-field{gap:.4rem}.auth-shell-login .auth-field label{color:#334155;font-size:.82rem;font-weight:700}.auth-shell-login .auth-field input,.auth-shell-login .auth-panel-login .auth-field input{padding:.8rem .9rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e293b;box-shadow:none}.auth-shell-login .auth-field input::placeholder{color:#94a3b8}.auth-shell-login .auth-field input:focus{border-color:#0f766e;background:#fff;box-shadow:0 0 0 3px #0f766e1f;transform:none}.auth-shell-login .auth-password-toggle{width:2rem;height:2rem;right:.55rem;background:transparent;color:#64748b}.auth-shell-login .auth-text-link{color:#0f766e;font-size:.8rem}.auth-shell-login .auth-submit,.auth-shell-login .auth-panel-login .auth-submit{min-height:46px;margin-top:.15rem;padding:.75rem 1rem;border:1px solid #0b665f;border-radius:8px;background:linear-gradient(135deg,#0f766e,#0b655f);box-shadow:none;font-size:.9rem}.auth-shell-login .auth-submit:before,.auth-shell-login .auth-submit:after{display:none}.auth-shell-login .auth-submit:hover{background:#0b655f;box-shadow:none;transform:none}.auth-shell-login .auth-demo-panel{width:min(100%,360px);margin:1.6rem 0 0;padding:.8rem 0;border:none;border-top:1px solid #dbe5e7;border-radius:0;background:transparent;box-shadow:none}.auth-shell-login .auth-demo-label{margin-bottom:.65rem;color:#64748b;font-size:.66rem;letter-spacing:.1em}.auth-shell-login .auth-demo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.auth-shell-login .auth-demo-button,.auth-shell-login .auth-panel-login .auth-demo-button{display:flex;flex-direction:column;align-items:center;gap:.18rem;padding:.48rem .25rem;border:1px solid #d6e1e4;border-radius:6px;background:#f8fafc;color:#334155;box-shadow:none;text-align:center}.auth-shell-login .auth-demo-button-label{font-size:.74rem}.auth-shell-login .auth-demo-button-action{color:#0f766e;font-size:.68rem}.auth-shell-login .auth-demo-button:hover{border-color:#5eead4;background:#f0fdfa;box-shadow:none;transform:none}.auth-login-request{display:flex;justify-content:center;gap:.35rem;margin-top:.45rem;color:#64748b;font-size:.76rem}.auth-login-request button{padding:0;border:none;background:none;color:#0f766e;font:inherit;font-weight:700;cursor:pointer}@media(max-width:720px){.login-wrapper.system-on{display:block;padding:1rem}.auth-shell-login{min-height:0;grid-template-columns:1fr;grid-template-rows:none;border-radius:10px}.auth-login-brand{height:auto;flex-direction:row;align-items:center;padding:1.5rem}.auth-login-logo{width:45px}.auth-login-brand h1{font-size:1.45rem}.auth-login-brand>div>p:last-child{display:none}.auth-shell-login .auth-panel-login{min-height:0;height:auto;padding:1.75rem 1.25rem}.auth-shell-login .auth-card-kicker,.auth-shell-login .auth-panel-login h2{display:block}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.65rem;pointer-events:none;max-width:min(420px,calc(100vw - 2rem))}.toast{position:relative;display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border-radius:14px;background:#fff;border:1px solid rgba(148,163,184,.18);box-shadow:0 12px 32px #0f172a24,0 2px 6px #0f172a0f;pointer-events:auto;overflow:hidden;will-change:transform,opacity}.toast-enter{animation:toastSlideIn .35s cubic-bezier(.21,1.02,.73,1) forwards}.toast-exit{animation:toastSlideOut .35s cubic-bezier(.55,0,1,.45) forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%) scale(.92)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.92)}}.toast-icon{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:999px;font-size:.95rem;font-weight:800}.toast-success .toast-icon{background:#dcfce7;color:#16a34a}.toast-error .toast-icon{background:#fee2e2;color:#dc2626}.toast-info .toast-icon{background:#dbeafe;color:#2563eb}.toast-warning .toast-icon{background:#fef3c7;color:#d97706}.toast-reminder .toast-icon{background:#ede9fe;color:#7c3aed}.toast-body{flex:1;min-width:0}.toast-title{display:block;font-size:.88rem;font-weight:800;color:#0f172a;margin-bottom:.15rem;line-height:1.3}.toast-message{margin:0;font-size:.82rem;color:#475569;line-height:1.4}.toast-close{flex-shrink:0;width:1.6rem;height:1.6rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:transparent;color:#94a3b8;font-size:1.15rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.toast-close:hover{background:#f1f5f9;color:#0f172a}.toast-progress{position:absolute;bottom:0;left:0;height:3px;border-radius:0 0 14px 14px;background:currentColor;opacity:.25;animation:toastProgress linear forwards;width:100%;transform-origin:left}.toast-success .toast-progress{color:#16a34a}.toast-error .toast-progress{color:#dc2626}.toast-info .toast-progress{color:#2563eb}.toast-warning .toast-progress{color:#d97706}.toast-reminder .toast-progress{color:#7c3aed}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:640px){.toast-container{top:auto;bottom:1rem;right:.5rem;left:.5rem;max-width:none;align-items:stretch}.toast-enter{animation-name:toastSlideUp}.toast-exit{animation-name:toastSlideDown}}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(100%) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastSlideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(100%) scale(.92)}}.auth-verification-panel{justify-content:center}.auth-verification-copy{margin:0 0 1.4rem;color:#4b6370;overflow-wrap:anywhere}.auth-verification-code{box-sizing:border-box;width:100%;letter-spacing:.34em;text-align:center;font-size:1.2rem;font-weight:700}.auth-verification-resend{min-height:1.8rem;margin-top:1.25rem;text-align:center;color:#55707b;font-size:.9rem}.auth-verification-cancel{display:block;margin:.4rem auto 0}.login-wrapper.system-on{position:relative;isolation:isolate;height:100dvh;min-height:100dvh;overflow:hidden;padding:clamp(1rem,3vw,2.5rem);background:linear-gradient(112deg,#041e33b3,#0950676b 52%,#052a4e9e),radial-gradient(ellipse at 17% 13%,rgba(255,207,145,.3),transparent 35%),radial-gradient(circle at 82% 73%,rgba(65,164,221,.22),transparent 34%),url(/assets/right-image-YVZ9Evtd.png) center / cover no-repeat;background-position:center,17% 13%,82% 73%,center;animation:clinicalBackgroundDrift 18s ease-in-out infinite alternate}.login-wrapper.system-on:before,.login-wrapper.system-on:after{display:block;position:absolute;content:""}.login-wrapper.system-on:before{z-index:-2;inset:0;background:linear-gradient(112deg,#07203757,#08304533 52%,#041b346b);pointer-events:none}.login-wrapper.system-on:after{z-index:-1;width:38rem;height:38rem;border:1px solid rgba(27,173,201,.16);border-radius:50%;animation:authNetworkOrbit 14s ease-in-out infinite alternate}.login-wrapper.system-on:after{bottom:-25rem;left:-17rem;animation-delay:-7s}.login-background-video{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.55;filter:brightness(.84) saturate(.94) contrast(1.04)}.auth-login-launcher{position:absolute;z-index:4;left:clamp(1rem,3vw,2.5rem);bottom:clamp(1rem,3vw,2.5rem);display:inline-flex;align-items:center;gap:.55rem;min-height:44px;padding:.65rem .9rem;border:1px solid rgba(202,250,255,.58);border-radius:8px;background:#052f48b3;color:#effeff;box-shadow:0 10px 28px #000a1852,inset 0 1px #ffffff29;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.auth-login-launcher:hover{border-color:#8ff7f0;background:#077391d1;transform:translateY(-2px)}.auth-login-launcher:focus-visible{outline:3px solid rgba(92,245,232,.72);outline-offset:3px}.auth-login-launcher-open{left:50%;bottom:18%;min-width:190px;justify-content:center;transform:translate(-50%);background:linear-gradient(100deg,#05b8c6,#208ae1);box-shadow:0 16px 34px #000a1866,0 0 0 7px #75f0f61a}.auth-login-launcher-open:hover{transform:translate(-50%) translateY(-2px)}.auth-login-launcher-close{top:clamp(1rem,3vw,2.5rem);right:clamp(1rem,3vw,2.5rem);bottom:auto;left:auto}.auth-whatsapp-demo{position:absolute;z-index:4;right:clamp(1rem,3vw,2.5rem);bottom:clamp(1rem,3vw,2.5rem);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;padding:.68rem 1rem;border:1px solid rgba(154,255,204,.7);border-radius:8px;background:linear-gradient(105deg,#087f62,#14a879);color:#f4fffa;box-shadow:0 12px 26px #00251b47,inset 0 1px #fff3;font-size:.86rem;font-weight:800;line-height:1.2;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.auth-whatsapp-demo:before{position:absolute;bottom:calc(100% + .7rem);left:50%;width:max-content;max-width:min(260px,calc(100vw - 2rem));padding:.45rem .65rem;border:1px solid rgba(213,255,240,.28);border-radius:6px;background:#032530eb;box-shadow:0 8px 20px #000a1847;color:#f5fffb;content:attr(data-tooltip);font-size:.72rem;font-weight:700;opacity:0;pointer-events:none;transform:translate(-50%,6px);transition:opacity .18s ease,transform .18s ease}.auth-whatsapp-demo:hover{background:linear-gradient(105deg,#069166,#19b982);box-shadow:0 15px 30px #002a1e57,0 0 0 4px #59f7b41f;color:#fff;transform:translateY(-2px) scale(1.02)}.auth-whatsapp-demo:hover:before,.auth-whatsapp-demo:focus-visible:before{opacity:1;transform:translate(-50%)}.auth-whatsapp-demo:focus-visible{outline:3px solid rgba(150,255,202,.8);outline-offset:3px}.auth-entry-intro{position:absolute;top:50%;left:50%;z-index:2;display:grid;justify-items:center;width:min(calc(100% - 2rem),32rem);margin:0;color:#effeff;text-align:center;transform:translate(-50%,-56%);transition:opacity .3s ease,transform .3s ease,visibility 0s linear 0s}.auth-entry-intro-hidden{opacity:0;visibility:hidden;transform:translate(-50%,calc(-56% - 18px)) scale(.98);transition:opacity .24s ease,transform .24s ease,visibility 0s linear .24s}.auth-entry-intro-logo{width:72px;height:auto;margin-bottom:1.25rem;filter:drop-shadow(0 12px 24px rgba(0,10,24,.26))}.auth-entry-intro-kicker{margin:0 0 .55rem;color:#a9f7f5;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.auth-entry-intro h1{margin:0;color:#fff;font-family:var(--auth-font-display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1}.auth-entry-intro p:last-child{max-width:38ch;margin:1rem 0 0;color:#e8feffd9;font-size:1rem}.auth-shell-login{position:relative;z-index:1;width:min(900px,calc(100vw - 3rem));height:min(650px,calc(100dvh - clamp(2rem,6vw,5rem)));min-height:0;grid-template-columns:minmax(330px,1.03fr) minmax(360px,.97fr);grid-template-rows:1fr;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:#e1f6ff3d;box-shadow:0 34px 92px #00040e8f,0 8px 30px #00bed224,inset 0 1px #ffffffc7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-shell-login.auth-entry-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(24px) scale(.98);transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s}.auth-shell-login:not(.auth-entry-hidden){transition:opacity .3s ease,transform .3s ease,visibility 0s linear 0s}.auth-login-brand{position:relative;justify-content:flex-start;overflow:hidden;padding:clamp(2rem,5vw,4rem);background:linear-gradient(150deg,#09a9bff5,#1a7bcce8),linear-gradient(45deg,#00b8ca,#1a7bcc)}.auth-login-brand:before{position:absolute;inset:0;content:"";opacity:.35;background-image:linear-gradient(115deg,transparent 49.5%,rgba(255,255,255,.38) 50%,transparent 50.5%);background-size:170px 170px}.auth-login-logo,.auth-login-brand>div{position:relative;z-index:2}.auth-login-logo{width:52px;filter:drop-shadow(0 8px 12px rgba(0,74,108,.18))}.auth-login-brand-name{color:#edfdffd1}.auth-login-brand h1{font-size:clamp(2.2rem,3.4vw,3.25rem);font-weight:800}.auth-login-brand>div>p:last-child{color:#effdffe0;font-size:1rem}.auth-doctor-visual{position:absolute;z-index:1;right:clamp(-1.6rem,-1vw,-.35rem);bottom:-1.25rem;width:min(80%,420px);pointer-events:none}.auth-doctor-visual img{position:relative;z-index:2;display:block;width:100%;animation:authDoctorFloat 5.5s ease-in-out infinite}.auth-network-line,.auth-network-node{position:absolute;z-index:1;display:block}.auth-network-line{height:1px;transform-origin:left;background:#e2feffb8}.auth-network-line-one{width:170px;top:22%;right:64%;transform:rotate(-28deg)}.auth-network-line-two{width:130px;bottom:30%;left:10%;transform:rotate(21deg)}.auth-network-node{width:9px;height:9px;border-radius:50%;background:#e7ffff;box-shadow:0 0 0 6px #e7ffff2e;animation:authNodePulse 2.8s ease-in-out infinite}.auth-network-node-one{top:17%;left:15%}.auth-network-node-two{top:39%;right:24%;animation-delay:-1s}.auth-network-node-three{bottom:28%;left:8%;animation-delay:-2s}.clinical-ecg{position:absolute;z-index:-1;top:50%;left:0;width:100%;height:180px;overflow:hidden;opacity:.88;transform:translateY(-50%)}.clinical-ecg:before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(4,15,31,.95) 0%,transparent 16%,transparent 84%,rgba(4,15,31,.95) 100%);z-index:1}.clinical-ecg:after{display:none}.clinical-ecg svg{display:block;width:100%;height:100%}.clinical-ecg path{fill:none;stroke:#ff2a2a;stroke-width:2.5;filter:drop-shadow(0 0 10px #ff0033) drop-shadow(0 0 22px rgba(255,0,51,.8))}.clinical-ecg-trace{opacity:.22}.clinical-ecg-trail{stroke:#f03;stroke-width:3.4px;stroke-dasharray:150 1050;stroke-dashoffset:1200;filter:drop-shadow(0 0 10px #ff0033) drop-shadow(0 0 24px rgba(255,0,51,.9));animation:clinicalEcgTrail 4.8s linear infinite}.clinical-ecg-dot{fill:#f03;filter:drop-shadow(0 0 5px rgba(255,215,220,1)) drop-shadow(0 0 10px #ff0033) drop-shadow(0 0 28px rgba(255,0,51,.9))}.clinical-particle{position:absolute;z-index:-1;display:grid;place-items:center;color:#6df5ee61;font-size:1.55rem;font-weight:400;line-height:1;animation:clinicalParticleFloat 11s linear infinite}.clinical-particle:not(:empty){text-shadow:0 0 14px rgba(81,247,228,.48)}.clinical-particle:empty{width:8px;height:8px;border:1px solid rgba(109,245,238,.3);border-radius:50%;box-shadow:0 0 14px #51f7e442}.clinical-particle-one{left:10%;bottom:-2rem;animation-delay:-2s}.clinical-particle-two{left:28%;bottom:-1rem;animation-duration:15s;animation-delay:-9s}.clinical-particle-three{right:18%;bottom:-2rem;animation-duration:13s;animation-delay:-5s}.clinical-particle-four{right:7%;bottom:-1rem;animation-duration:17s;animation-delay:-12s}.auth-shell-login .auth-panel-login{align-items:center;padding:clamp(2rem,5vw,4.25rem);border-left:1px solid rgba(255,255,255,.2);background:#ffffffa6!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}.auth-shell-login .auth-card-kicker{color:#148aad;letter-spacing:.14em}.auth-shell-login .auth-panel-login h2{margin-bottom:1.65rem;color:#123453;font-size:1.8rem}.auth-shell-login .auth-field label{color:#31516b}.auth-shell-login .auth-field input,.auth-shell-login .auth-panel-login .auth-field input{border:1px solid rgba(255,255,255,.8);border-radius:10px;background:#ffffff80;color:#173e59;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px #ffffff7a;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.auth-shell-login .auth-field input:focus{border-color:#16b5c4c7;background:#ffffffe6;box-shadow:0 0 0 4px #16b5c424,inset 0 1px #ffffffb8}.auth-shell-login .auth-text-link,.auth-login-request button{color:#078baa}.auth-shell-login .auth-submit,.auth-shell-login .auth-panel-login .auth-submit{border-color:#0ba8bd;border-radius:10px;background:linear-gradient(100deg,#05b8c6,#208ae1);box-shadow:0 9px 21px #09a6c147;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.auth-shell-login .auth-submit:hover:not(:disabled){background:linear-gradient(100deg,#04aebb,#197ed3);box-shadow:0 12px 27px #09a6c161;transform:translateY(-2px)}.auth-shell-login .auth-demo-panel{border-top-color:#3a91b133}.auth-shell-login .auth-demo-button,.auth-shell-login .auth-panel-login .auth-demo-button{border:1px solid rgba(255,255,255,.8);background:#ffffff80;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.auth-shell-login .auth-demo-button[data-role=paciente]{border-color:#0284c77a}.auth-shell-login .auth-demo-button[data-role=paciente] .auth-demo-button-action{color:#0284c7}.auth-shell-login .auth-demo-button[data-role=paciente]:hover{border-color:#0284c7;background:#0284c71f;box-shadow:0 8px 16px #0284c729;transform:translateY(-2px)}.auth-shell-login .auth-demo-button[data-role=doctor]{border-color:#1e40af7a}.auth-shell-login .auth-demo-button[data-role=doctor] .auth-demo-button-action{color:#1e40af}.auth-shell-login .auth-demo-button[data-role=doctor]:hover{border-color:#1e40af;background:#1e40af1f;box-shadow:0 8px 16px #1e40af29;transform:translateY(-2px)}.auth-shell-login .auth-demo-button[data-role=admin]{border-color:#47556980}.auth-shell-login .auth-demo-button[data-role=admin] .auth-demo-button-action{color:#475569}.auth-shell-login .auth-demo-button[data-role=admin]:hover{border-color:#475569;background:#4755691f;box-shadow:0 8px 16px #47556929;transform:translateY(-2px)}.auth-login-brand{background:linear-gradient(148deg,#0fc2d3f5,#1085cbed 52%,#1654a4f5),linear-gradient(45deg,#00b8ca,#1a7bcc)}.auth-login-brand:after{position:absolute;inset:11% 8% auto auto;width:11rem;height:11rem;content:"";border:1px solid rgba(230,255,255,.3);border-radius:50%;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.34),rgba(213,250,255,.08) 44%,transparent 70%);box-shadow:inset 0 1px #ffffff80,0 24px 42px #012b7629;pointer-events:none}.auth-login-logo{position:relative;z-index:3;display:grid;width:58px;height:58px;place-items:center;border:1px solid rgba(235,255,255,.7);border-radius:50%;background:linear-gradient(145deg,#ffffff6b,#ccf8ff1f);box-shadow:inset 0 1px #fffc,inset 0 -10px 18px #01649f2e,0 12px 28px #002d763d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.auth-login-logo:before,.auth-login-logo:after{position:absolute;content:"";border-radius:999px;background:linear-gradient(180deg,#ff665f,#d91c39);box-shadow:inset 0 1px #ffffff6b,0 3px 7px #67081c47}.auth-login-logo:before{width:27px;height:9px}.auth-login-logo:after{width:9px;height:27px}.auth-login-brand-name{color:#effffff0;font-size:.84rem;letter-spacing:.2em;text-shadow:0 1px 12px rgba(0,44,97,.24)}.auth-login-brand h1{text-shadow:0 8px 24px rgba(0,53,113,.24)}.auth-doctor-visual{width:min(83%,438px);padding:.6rem;border:1px solid rgba(227,255,255,.3);border-radius:46% 54% 42% 58%;background:linear-gradient(145deg,#e7ffff38,#1495d30d);box-shadow:inset 0 1px #ffffff6b,0 22px 48px #003b802e;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.auth-doctor-visual img{opacity:.9;filter:saturate(.72) brightness(1.12) contrast(.92) drop-shadow(0 14px 18px rgba(0,54,122,.2))}.auth-network-line{height:2px;background:linear-gradient(90deg,transparent,rgba(238,255,255,.95),transparent);box-shadow:0 0 12px #e0ffffa3}.auth-network-node{border:1px solid rgba(239,255,255,.78);background:#c9fdff66;box-shadow:inset 0 1px #ffffffd6,0 0 0 6px #e0ffff1f,0 0 17px #e0ffff80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.auth-shell-login .auth-panel-login{border-left-color:#e0f9ff8f;background:linear-gradient(145deg,#f7fdffc2,#d5effa94)!important;box-shadow:inset 1px 0 #ffffff8a}.auth-shell-login .auth-field input,.auth-shell-login .auth-panel-login .auth-field input,.auth-shell-login .auth-demo-button,.auth-shell-login .auth-panel-login .auth-demo-button{border-color:#ffffffd1;background:linear-gradient(145deg,#ffffffad,#d5f1fa6b);box-shadow:inset 0 1px #ffffffdb,0 8px 18px #1b5a8014;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.auth-shell-login .auth-field input:focus{border-color:#0cb2cbd6;background:#ffffffd1;box-shadow:0 0 0 4px #28c9db29,inset 0 1px #ffffffdb}.auth-shell-login .auth-submit,.auth-shell-login .auth-panel-login .auth-submit{border-color:#9df8ffc2;background:linear-gradient(108deg,#087ca9,#0a9fbe 48%,#1463c1);box-shadow:inset 0 1px #ffffff80,inset 0 -10px 20px #042b7533,0 12px 25px #0069a447}.auth-shell-login .auth-submit:hover:not(:disabled){background:linear-gradient(108deg,#076e9a,#0793b0 48%,#104fa8);box-shadow:inset 0 1px #ffffff8a,inset 0 -10px 20px #042b753d,0 15px 29px #0069a457}.auth-shell-login .auth-demo-button:hover,.auth-shell-login .auth-panel-login .auth-demo-button:hover{background:linear-gradient(145deg,#ffffffdb,#bbedf999);box-shadow:inset 0 1px #ffffffeb,0 12px 20px #13739e24}.auth-overlay-slider .auth-panel-login{scrollbar-width:none}.auth-overlay-slider .auth-panel-login::-webkit-scrollbar{display:none}.auth-shell-login{border-color:#cdf9ff75;border-radius:24px;background:#d3f2ff33;box-shadow:0 40px 100px #000d298f,0 0 0 1px #62edff1a,inset 0 1px #ffffffb3}.auth-login-brand{background:linear-gradient(136deg,#05becff7,#0678c3f5 52%,#0d3189fa),linear-gradient(45deg,#00b8ca,#1a7bcc)}.auth-login-brand:before{opacity:.5;background-image:linear-gradient(115deg,transparent 49.6%,rgba(230,255,255,.36) 50%,transparent 50.4%),linear-gradient(0deg,rgba(214,255,255,.09) 1px,transparent 1px);background-size:164px 164px,30px 30px}.auth-form-stage{isolation:isolate;background:linear-gradient(148deg,#f8feffbf,#d3f0fb9e),repeating-linear-gradient(90deg,rgba(27,156,190,.055) 0 1px,transparent 1px 26px)}.auth-form-stage:before{position:absolute;z-index:3;top:9%;bottom:9%;left:0;width:1px;content:"";background:linear-gradient(180deg,transparent,rgba(86,240,255,.96) 18%,rgba(78,184,255,.92) 82%,transparent);box-shadow:0 0 12px #3ce1ffcc,0 0 30px #1874e440;pointer-events:none}.auth-overlay-slider .auth-panel-login{z-index:2;padding:clamp(2.25rem,5vw,4.75rem);background:linear-gradient(145deg,#f8feffc7,#cdecf99e)!important}.auth-shell-login .auth-card-kicker{color:#0879a2;font-size:.68rem;letter-spacing:.2em}.auth-shell-login .auth-panel-login h2{color:#082e55;font-size:clamp(1.72rem,2.4vw,2.05rem);line-height:1.15}.auth-shell-login .auth-field label{color:#173f62;font-size:.78rem;letter-spacing:.025em}.auth-shell-login .auth-field input,.auth-shell-login .auth-panel-login .auth-field input{min-height:48px;border-radius:12px;color:#0d3859;font-weight:600}.auth-shell-login .auth-field input::placeholder{color:#7190a8;font-weight:500}.auth-shell-login .auth-password-toggle{color:#126f9a}.auth-shell-login .auth-submit,.auth-shell-login .auth-panel-login .auth-submit{min-height:50px;border-radius:12px;font-family:var(--auth-font-display);font-size:.82rem;letter-spacing:.025em}.auth-shell-login .auth-demo-panel{margin-top:1.85rem;padding-top:1rem;border-top-color:#1a8bb24d}.auth-shell-login .auth-demo-label{color:#315e7e;font-size:.64rem;letter-spacing:.16em}.auth-shell-login .auth-demo-grid{gap:.58rem}.auth-shell-login .auth-demo-button,.auth-shell-login .auth-panel-login .auth-demo-button{min-height:52px;border-radius:10px;color:#123a5b;font-weight:700}.auth-shell-login .auth-demo-button-label{font-size:.72rem}.auth-shell-login .auth-demo-button-action{font-size:.65rem;font-weight:800;letter-spacing:.035em}.auth-login-brand>div{max-width:25rem}.auth-login-brand h1{max-width:8ch;font-size:clamp(2.4rem,4.1vw,3.85rem);line-height:1.04;letter-spacing:0}.auth-login-brand>div>p:last-child{max-width:30ch;color:#efffffeb;font-size:.98rem}.auth-doctor-visual{border-color:#e6ffff7a;box-shadow:inset 0 1px #ffffff94,inset 0 -22px 42px #0248a729,0 28px 58px #00217047}@keyframes authDoctorFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes authNodePulse{0%,to{transform:scale(.8);opacity:.65}50%{transform:scale(1.15);opacity:1}}@keyframes authNetworkOrbit{0%{transform:rotate(0) scale(1)}to{transform:rotate(10deg) scale(1.08)}}@keyframes clinicalBackgroundDrift{0%{background-position:center,18% 16%,83% 78%,48% center}to{background-position:center,23% 20%,77% 72%,56% center}}@keyframes clinicalEcgTrail{0%{stroke-dashoffset:1200;opacity:.15}8%,92%{opacity:1}to{stroke-dashoffset:0;opacity:.15}}@keyframes clinicalParticleFloat{0%{transform:translateZ(0) rotate(0);opacity:0}12%,82%{opacity:1}to{transform:translate3d(28px,-112vh,0) rotate(90deg);opacity:0}}@media(max-width:720px){.auth-shell-login{min-height:0;border-radius:16px}.auth-login-brand{min-height:230px;padding:1.6rem}.auth-login-brand h1{font-size:2rem}.auth-doctor-visual{right:-1rem;bottom:-2.8rem;width:235px}.auth-login-brand>div>p:last-child{display:block;max-width:22ch;font-size:.86rem}}@media(prefers-reduced-motion:reduce){.login-wrapper.system-on,.auth-doctor-visual img,.auth-network-node,.login-wrapper.system-on:before,.login-wrapper.system-on:after,.clinical-ecg svg,.clinical-particle{animation:none}}.auth-overlay-slider{position:relative;display:block;height:clamp(580px,calc(100vh - 3rem),650px);min-height:0;overflow:hidden}.auth-overlay-slider .auth-login-brand{position:absolute;z-index:3;inset:0 auto 0 0;width:50%;height:auto;transition:transform .6s cubic-bezier(.65,0,.35,1)}.auth-overlay-slider.right-panel-active .auth-login-brand{transform:translate(100%)}.auth-form-stage{position:relative;width:100%;height:100%;min-height:inherit}.auth-overlay-slider .auth-panel-login{position:absolute;inset:0 0 0 50%;width:50%;height:100%;padding:clamp(2rem,5vw,4.25rem);overflow-y:auto;opacity:1;pointer-events:auto;transition:opacity .35s ease,transform .6s cubic-bezier(.65,0,.35,1),visibility 0s linear 0s}.auth-overlay-slider .auth-register-pane{opacity:0;visibility:hidden;pointer-events:none;transform:translate(12%);transition:opacity .35s ease,transform .6s cubic-bezier(.65,0,.35,1),visibility 0s linear .6s}.auth-overlay-slider.right-panel-active .auth-login-pane{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-12%);transition-delay:0s,0s,.6s}.auth-overlay-slider.right-panel-active .auth-register-pane{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-100%);transition-delay:.16s,0s,0s}@media(max-width:540px){.auth-login-launcher{left:1rem;bottom:1rem}.auth-overlay-slider{height:min(760px,calc(100vh - 2rem));min-height:580px}.auth-overlay-slider .auth-login-brand{position:relative;width:auto;height:230px;transform:none}.auth-overlay-slider.right-panel-active .auth-login-brand{transform:none}.auth-overlay-slider .auth-form-stage{height:calc(100% - 230px);min-height:0}.auth-overlay-slider .auth-panel-login{position:absolute;inset:0;width:auto;min-height:0;justify-content:flex-start;overflow-y:auto}}@media(max-width:768px){.login-wrapper.system-on{width:100%;min-height:100dvh;height:auto;padding:1rem;background-position:center,20% 16%,78% 76%,58% center}.login-wrapper.system-on:after{width:26rem;height:26rem;bottom:-18rem;left:-12rem}.auth-entry-intro{width:min(calc(100% - 2rem),26rem);transform:translate(-50%,-58%)}.auth-entry-intro-logo{width:58px;margin-bottom:.85rem}.auth-entry-intro h1{max-width:100%;font-size:clamp(2.2rem,11vw,3.25rem);line-height:1.06}.auth-entry-intro p:last-child{max-width:30ch;margin-top:.75rem;font-size:.92rem;line-height:1.5}.auth-login-launcher-open{left:50%;bottom:max(1.5rem,env(safe-area-inset-bottom));min-width:min(190px,calc(100vw - 2rem))}.auth-login-launcher-close{top:max(1rem,env(safe-area-inset-top));right:1rem;left:auto;bottom:auto}.auth-shell-login,.auth-overlay-slider{width:100%;max-width:100%;height:min(760px,calc(100dvh - 2rem));min-height:min(580px,calc(100dvh - 2rem))}.auth-overlay-slider .auth-login-brand{height:218px;min-height:218px;padding:1.4rem}.auth-overlay-slider .auth-form-stage{height:calc(100% - 218px)}.auth-login-brand h1{max-width:10ch;font-size:clamp(1.8rem,8vw,2.25rem)}.auth-login-brand>div>p:last-child{max-width:25ch;font-size:.82rem}.auth-login-logo{width:48px;height:48px}.auth-login-logo:before{width:23px;height:8px}.auth-login-logo:after{width:8px;height:23px}.auth-doctor-visual{width:min(58%,220px);right:-.6rem;bottom:-2rem}.clinical-ecg{height:120px}.clinical-particle{max-width:1.25rem}}@media(max-width:390px){.login-wrapper.system-on{padding:.75rem}.auth-entry-intro h1{font-size:2.15rem}.auth-entry-intro p:last-child{font-size:.86rem}.auth-overlay-slider .auth-login-brand{height:205px;min-height:205px;padding:1.15rem}.auth-overlay-slider .auth-form-stage{height:calc(100% - 205px)}.auth-doctor-visual{width:185px;bottom:-1.7rem}}@media(max-width:600px){.login-wrapper.system-on{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100vw;min-height:100dvh;overflow-x:hidden;box-sizing:border-box;background-position:center,22% 18%,80% 78%,62% center}.login-wrapper.system-on,.login-wrapper.system-on *{box-sizing:border-box}.auth-entry-intro:not(.auth-entry-intro-hidden){position:relative;top:auto;left:auto;display:flex;flex-direction:column;align-items:center;width:min(100%,340px);max-width:calc(100vw - 2rem);padding:0;transform:none}.auth-entry-intro h1{font-size:clamp(1.9rem,9.5vw,2.5rem);overflow-wrap:anywhere}.auth-entry-intro p:last-child{width:min(100%,30ch);max-width:100%;text-align:center}.auth-entry-intro-logo{width:52px}.auth-login-launcher-open{position:static;flex:0 0 auto;width:min(85%,320px);max-width:calc(100vw - 2rem);min-width:0;margin:1.5rem auto 0;transform:none!important}.auth-login-launcher-open:hover{transform:translateY(-2px)}.auth-whatsapp-demo{position:static;flex:0 0 auto;width:min(85%,320px);max-width:calc(100vw - 2rem);margin:.75rem auto 0}.auth-whatsapp-demo:before{max-width:calc(100vw - 2rem);white-space:normal;text-align:center}.auth-shell-login,.auth-overlay-slider,.clinical-ecg,.clinical-particle{max-width:100%}.clinical-ecg{left:0;right:0;width:auto;overflow:hidden}.auth-shell-login{display:block;grid-template-columns:none;grid-template-rows:none;position:relative;z-index:2;overflow:hidden}.auth-shell-login.auth-entry-hidden{position:absolute;inset:1rem;width:auto;height:auto;min-height:0;margin:0}.auth-shell-login:not(.auth-entry-hidden){align-self:center}.auth-overlay-slider{display:flex;flex-direction:column}.auth-overlay-slider .auth-login-brand{position:relative;z-index:1;inset:auto;flex:0 0 184px;width:100%;min-height:184px;padding:1.15rem 1.25rem}.auth-login-brand h1{font-size:clamp(1.7rem,8vw,2.1rem)}.auth-login-brand>div>p:last-child{font-size:.8rem}.auth-doctor-visual{width:175px;right:-.35rem;bottom:-1.6rem}.auth-overlay-slider .auth-form-stage{position:relative;z-index:2;display:block;flex:1 1 auto;height:auto;min-height:0;overflow:hidden;background:#f6fcff}.auth-overlay-slider .auth-panel-login{position:relative;inset:auto;z-index:3;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;height:100%;min-height:0;padding:1.15rem 1.25rem;overflow-y:auto;opacity:1;visibility:visible;transform:none;background:linear-gradient(145deg,#f8feff,#def4fb)!important}.auth-overlay-slider .auth-panel-login>*{width:min(100%,360px);flex:0 0 auto}}
