.eloxy-privacy-link,.eloxy-soft-link{appearance:none;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin:0;padding:0;text-decoration:underline}.eloxy-privacy-link:hover,.eloxy-privacy-link:focus-visible,.eloxy-soft-link:hover,.eloxy-soft-link:focus-visible{color:inherit;opacity:.9}.eloxy-privacy-link:visited,.eloxy-privacy-link:active,.eloxy-soft-link:visited,.eloxy-soft-link:active{color:inherit}.eloxy-soft-link{display:inline}.session-warning-backdrop{z-index:2147483000;color:#10231f;background:#041411b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.session-warning-dialog{background:#fbfaf7;border:1px solid #10433829;border-radius:20px;width:min(430px,100%);padding:28px;box-shadow:0 24px 70px #00000047}.session-warning-kicker{color:#286f60;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:750}.session-warning-dialog h2{color:#10231f;margin:0;font:600 clamp(1.45rem,5vw,1.8rem)/1.15 Georgia,Times New Roman,serif}.session-warning-dialog>p:not(.session-warning-kicker){color:#52635f;margin:14px 0 0;line-height:1.55}.session-warning-actions{gap:10px;margin-top:24px;display:grid}.session-warning-actions button{cursor:pointer;border-radius:12px;min-height:46px;font:700 .92rem/1 system-ui,sans-serif}.session-warning-continue{color:#f8fbfa;background:#175b4d;border:1px solid #175b4d}.session-warning-exit{color:#314641;background:0 0;border:1px solid #1f494038}:root{color:#f8f6f0;font-synthesis:none;--night:#08211d;--forest:#103a32;--green:#9bd5c5;--rose:#d8aaa2;--paper:#fbfaf7;--muted:#ebf3f0bd;--line:#bedcd433;--surface:#143d35d6;--surface-hover:#19483ef0;--serif:Georgia, "Times New Roman", serif;background:#071816;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #8fd8c5b8}.portal-scene{background:radial-gradient(circle at 14% 12%,#40897733,#0000 32rem),linear-gradient(145deg,#071a17,#0c2c26 62%,#172621);min-height:100dvh;padding:clamp(14px,2vw,28px) clamp(16px,4vw,48px) 12px}.portal-frame{--frame-width:1120px;width:min(var(--frame-width), 100%);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);min-height:calc(100dvh - clamp(14px,2vw,28px) - 12px);margin:0 auto;display:grid}.portal-scene[data-portal-count="1"] .portal-frame{--frame-width:820px}.portal-scene[data-portal-count="2"] .portal-frame{--frame-width:940px}.portal-scene[data-portal-count="4"] .portal-frame{--frame-width:1240px}.portal-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.portal-brand{color:#f5f9f7c7;letter-spacing:.04em;align-items:center;gap:14px;height:46px;font-size:.8rem;font-weight:650;text-decoration:none;display:inline-flex}.brand-wordmark{object-fit:contain;width:104px;height:46px;display:block}.quiet-button{color:#eff7f4;border:1px solid var(--line);cursor:pointer;background:#ffffff0f;border-radius:999px;min-height:40px;padding:8px 16px;transition:background .2s,border-color .2s}.quiet-button:hover{background:#ffffff1a;border-color:#8fd8c561}.portal-content{grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-self:center;align-items:end;gap:24px 40px;padding:clamp(20px,4vh,48px) 0;display:grid}.portal-kicker,.card-eyebrow{color:var(--green);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:700}.portal-intro h1{font-family:var(--serif);letter-spacing:-.035em;margin:0;font-size:clamp(2.4rem,5vw,4rem);font-weight:500;line-height:1}.portal-intro h1 span{color:var(--rose);font-style:italic}.portal-lead{max-width:560px;color:var(--muted);margin:12px 0 0;font-size:1rem;line-height:1.55}.access-context{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:16px;box-shadow:0 18px 48px #0000002e}.access-label{color:#e7f1edb3;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;display:block}.tenant-name{overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:650}.select-wrap{position:relative}.select-wrap:after{content:"⌄";color:var(--green);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-58%)}.access-context select{appearance:none;color:#f7faf8;cursor:pointer;background:#01110e7a;border:1px solid #8fd8c533;border-radius:12px;width:100%;padding:11px 36px 11px 12px}.access-context select option{color:#10231f;background:#f7f5ef}.role-badge{color:#d8e8e3;align-items:center;gap:8px;margin-top:10px;font-size:.8rem;display:flex}.role-badge span{color:var(--rose);font-size:.65rem}.tenant-notice{color:#f6e3c4;background:#f0c43e14;border:1px solid #f0c43e52;border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:.8rem;line-height:1.45}.portal-grid{grid-column:1/-1;grid-template-columns:repeat(var(--portal-columns,3), minmax(0, 1fr));gap:14px;display:grid}.portal-grid[data-portal-count="1"]{--portal-columns:1}.portal-grid[data-portal-count="2"],.portal-grid[data-portal-count="4"]{--portal-columns:2}.portal-card{--card-accent:143, 216, 197;border:1px solid rgba(var(--card-accent), .22);background:radial-gradient(circle at 88% 0%, rgba(var(--card-accent), .12), transparent 40%), var(--surface);border-radius:18px;flex-direction:column;padding:20px;transition:border-color .18s,background-color .18s;display:flex;box-shadow:0 18px 48px #0000002e}.portal-card-admin{--card-accent:214, 160, 151}.portal-card-clinico{--card-accent:116, 191, 175}.portal-card-paciente{--card-accent:140, 170, 220}.portal-card:hover{background-color:var(--surface-hover);border-color:rgba(var(--card-accent), .46)}.card-icon{width:40px;height:40px;color:rgb(var(--card-accent));border:1px solid rgba(var(--card-accent), .36);background:rgba(var(--card-accent), .1);border-radius:12px;place-items:center;display:grid}.portal-card .card-eyebrow{color:rgb(var(--card-accent));margin-top:16px}.portal-card h2{font-family:var(--serif);margin:0;font-size:clamp(1.4rem,2vw,1.75rem);font-weight:500;line-height:1.1}.card-description{color:var(--muted);margin:8px 0 16px;font-size:.9rem;line-height:1.5}.portal-card .portal-card-action{color:#f8fcfa;background:rgba(var(--card-accent), .1);border:1px solid rgba(var(--card-accent), .26);cursor:pointer;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;margin-top:auto;padding:10px 14px;font-size:.9rem;font-weight:650;text-decoration:none;transition:background .2s,border-color .2s;display:flex}.portal-card .portal-card-action:hover{background:rgba(var(--card-accent), .18);border-color:rgba(var(--card-accent), .48)}.portal-card .portal-card-action span{color:rgb(var(--card-accent));font-size:1.1rem}.portal-card .portal-card-action[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.empty-access{color:#f3d4cf;background:#7836352e;border:1px solid #d6a0974d;border-radius:16px;grid-column:1/-1;margin:0;padding:20px}.portal-footer{color:#e2eeea94;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35em .45em;padding-top:8px;font-size:.75rem;display:flex}.portal-footer a,.portal-footer .eloxy-privacy-link{color:inherit;text-underline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-gate{color:#eff8f5;background:radial-gradient(circle at 15% 15%,#43927e38,#0000 30rem),linear-gradient(145deg,#071a17,#0d3029 66%,#1d2824);grid-template-columns:minmax(0,1fr);place-items:center;min-height:100dvh;padding:clamp(18px,5vw,48px);display:grid;position:relative;overflow:auto}.auth-gate-atmosphere,.auth-gate-orb{display:none}.auth-gate-stack{z-index:1;flex-direction:column;align-items:center;width:min(460px,100%);display:flex;position:relative}.auth-gate-panel{background:#0d2f28f5;border:1px solid #addccf33;border-radius:22px;width:100%;padding:clamp(28px,5vw,44px) clamp(22px,5vw,44px);position:relative;box-shadow:0 24px 64px #0000004d}.auth-gate-brand{align-items:center;gap:14px;margin-bottom:34px;display:flex}.auth-gate-logo{object-fit:contain;width:116px;height:52px}.auth-gate-brand-copy{border-left:1px solid #ffffff2e;padding-left:14px;display:grid}.auth-gate-name{font-family:var(--serif);letter-spacing:.12em}.auth-gate-product{color:var(--rose);font-size:.75rem}.auth-gate-kicker{color:var(--green);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:.75rem;font-weight:700}.auth-gate-title{font-family:var(--serif);margin:0;font-size:clamp(2rem,8vw,2.75rem);font-weight:500;line-height:1.04}.auth-gate-lead{color:var(--muted);margin:18px 0 0;line-height:1.65}.auth-gate-message{background:#8fd8c51a;border-radius:12px;margin:18px 0 0;padding:12px;font-size:.84rem}.auth-gate-message.is-error{color:#f6d1ca;background:#96474238}.auth-gate-actions{gap:10px;margin-top:28px;display:grid}.auth-gate-actions button{cursor:pointer;border-radius:13px;padding:14px;font-weight:700}.auth-gate-primary{color:#071816;background:linear-gradient(110deg, var(--green), var(--rose));border:0;min-height:48px}.auth-gate-secondary{color:#f4faf8;border:1px solid var(--line);background:0 0}.auth-gate-footer{color:#e8f2eec7;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35em .5em;width:100%;margin-top:22px;padding:0 12px;font-size:.75rem;line-height:1.45;display:flex}.auth-gate-footer a,.auth-gate-footer .eloxy-privacy-link,.auth-gate-footer .auth-gate-version,.auth-gate-footer a.eloxy-soft-link{color:inherit}.eloxy-vendor-mark{object-fit:contain;opacity:.95;flex-shrink:0;width:28px;height:16px}.auth-gate-pulse{gap:7px;margin-top:28px;display:flex}.auth-gate-pulse span{background:var(--green);border-radius:50%;width:7px;height:7px;animation:1.1s 3 loading-dot}.auth-gate-pulse span:nth-child(2){animation-delay:.15s}.auth-gate-pulse span:nth-child(3){animation-delay:.3s}@keyframes loading-dot{0%,70%,to{opacity:.24;transform:translateY(0)}35%{opacity:1;transform:translateY(-5px)}}@media (width>=1200px){.portal-grid[data-portal-count="4"]{--portal-columns:4}}@media (width>=901px) and (height<=820px){.portal-brand{height:40px}.brand-wordmark{width:92px;height:40px}.quiet-button{min-height:36px;padding:6px 14px}.portal-content{gap:16px 32px;padding:12px 0}.portal-intro h1{font-size:clamp(2.2rem,6vh,3rem)}.portal-lead{margin-top:8px;font-size:.9rem}.access-context{padding:12px 14px}.portal-card{padding:16px}.card-icon{border-radius:10px;width:34px;height:34px}.portal-card .card-eyebrow{margin-top:12px;margin-bottom:4px}.card-description{margin:6px 0 12px;font-size:.84rem}.portal-card .portal-card-action{min-height:40px;font-size:.84rem}}@media (width<=900px){.portal-content{grid-template-columns:minmax(0,1fr);align-items:stretch}.portal-grid,.portal-grid[data-portal-count]{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}}@media (width<=620px){.portal-scene{padding:14px 16px 16px}.portal-brand span{display:none}.portal-content{gap:18px;padding-top:24px}.portal-grid,.portal-grid[data-portal-count]{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
