*{box-sizing:border-box;margin:0;padding:0}body{color:#e2e8f0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#060d17;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#060d17}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#334155}.privacy-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background-color:#0f172a66;justify-content:flex-start;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.privacy-drawer{z-index:1001;text-align:left;background-color:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:480px;max-width:100vw;height:100dvh;min-height:0;animation:.25s cubic-bezier(.16,1,.3,1) slideRight;display:flex;position:relative;box-shadow:4px 0 25px #0f172a26}.drawer-header{background-color:#fff;border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:1.5rem;display:flex}.drawer-branding{flex-direction:column;gap:.25rem;display:flex}.drawer-logo{object-fit:contain;align-self:flex-start;height:1.85rem;margin-bottom:.5rem}.drawer-title{color:#0f172a;margin:0;font-size:1.15rem;font-weight:800}.drawer-subtitle{color:#005c6e;text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem;font-size:.75rem;font-weight:700}.drawer-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.375rem;margin-top:-.25rem;margin-right:-.25rem;padding:.5rem;transition:all .15s;display:flex}.drawer-close-btn:hover{color:#475569;background-color:#f1f5f9}.drawer-close-btn:focus{outline:2px solid #005c6e}.drawer-nav-index{scrollbar-width:none;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;gap:.85rem;padding:.75rem 1.5rem;display:flex;overflow-x:auto}.drawer-nav-index::-webkit-scrollbar{display:none}.drawer-nav-link{color:#64748b;white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:.2rem 0;font-size:.75rem;font-weight:700;text-decoration:none;transition:color .15s}.drawer-nav-link:hover{color:#005c6e}.drawer-nav-link:focus{outline:1px solid #005c6e}.drawer-content-scroll{scroll-behavior:smooth;flex-direction:column;flex:1;gap:2rem;min-height:0;padding:2rem 1.5rem 6rem;display:flex;overflow-y:auto}.privacy-section-block{flex-direction:column;gap:.85rem;scroll-margin-top:1.5rem;display:flex}.section-block-title{color:#0f172a;border-left:3px solid #005c6e;margin:0;padding-left:.6rem;font-size:1rem;font-weight:800;line-height:1.2}.section-block-paragraph{color:#475569;margin:0;font-size:.825rem;line-height:1.6}.drawer-footer{color:#94a3b8;background-color:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;font-size:.7rem;display:flex}@keyframes fadeIn{0%{opacity:.7}to{opacity:1}}@keyframes slideRight{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (width<=1024px){.privacy-drawer{width:70vw}}@media (width<=768px){.privacy-drawer{width:100vw}}.pwa-login-install-wrapper{width:100%;margin-top:1.25rem}.pwa-login-install-btn{text-align:left;cursor:pointer;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.875rem;outline:none;align-items:center;gap:.85rem;width:100%;min-height:52px;padding:.85rem 1rem;transition:all .2s ease-in-out;display:flex}.pwa-login-install-btn:hover{background-color:#f0f9ff;border-color:#005c6e;transform:translateY(-1px);box-shadow:0 2px 8px #005c6e14}.pwa-login-install-btn:focus-visible{border-color:#005c6e;box-shadow:0 0 0 3px #005c6e26}.pwa-login-install-icon-wrap{color:#005c6e;background-color:#e6f7f9;border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.pwa-login-install-icon{color:#005c6e;width:1.25rem;height:1.25rem}.pwa-login-install-text-wrap{flex-direction:column;flex:1;gap:.15rem;display:flex}.pwa-login-install-title{color:var(--color-teal-brand,#005c6e);letter-spacing:-.01em;font-size:.85rem;font-weight:700}.pwa-login-install-sub{color:var(--color-text-sub,#536273);font-size:.75rem;line-height:1.35}.pwa-ios-modal-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#06242ca6;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out pwaFadeIn;display:flex;position:fixed;inset:0}@keyframes pwaFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.pwa-ios-modal-card{width:100%;max-width:420px;color:var(--color-teal-deep,#06242c);background-color:#fff;border-radius:1.25rem;padding:1.75rem 1.5rem;position:relative;box-shadow:0 20px 25px -5px #06242c26,0 10px 10px -5px #06242c0a}.pwa-ios-modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.pwa-ios-modal-title{color:var(--color-teal-deep,#06242c);margin:0;font-size:1.1rem;font-weight:800}.pwa-ios-close-btn{color:var(--color-text-sub,#536273);cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.4rem;display:flex}.pwa-ios-close-btn:hover{color:var(--color-teal-deep,#06242c);background-color:#f1f5f9}.pwa-ios-steps-list{flex-direction:column;gap:.85rem;margin-bottom:1.5rem;display:flex}.pwa-ios-step-item{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;align-items:flex-start;gap:.85rem;padding:.85rem 1rem;display:flex}.pwa-ios-step-number{background-color:var(--color-teal-brand,#005c6e);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:.8rem;font-weight:700;display:flex}.pwa-ios-step-text{color:var(--color-text-sub,#536273);margin:0;font-size:.825rem;line-height:1.45}.pwa-ios-step-text strong{color:var(--color-teal-deep,#06242c)}.pwa-ios-ok-btn{background-color:var(--color-teal-brand,#005c6e);color:#fff;cursor:pointer;border:none;border-radius:.75rem;width:100%;padding:.8rem 1.5rem;font-size:.9rem;font-weight:700;transition:background-color .2s}.pwa-ios-ok-btn:hover{background-color:var(--color-teal-hover,#004754)}:root{--color-bg-light:#f4f6f9;--color-bg-white:#fff;--color-teal-deep:#06242c;--color-teal-dark:#004754;--color-teal-brand:#005c6e;--color-teal-hover:#004754;--color-teal-light:#e6f7f9;--color-text-main:#06242c;--color-text-sub:#536273;--color-border-light:#e2e8f0;--color-error:#ef4444;--color-error-bg:#fef2f2}*,:before,:after{box-sizing:border-box}.login-container{background-color:var(--color-bg-light);width:100%;min-height:100vh;color:var(--color-text-main);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex;overflow:hidden auto}.institutional-column{background-color:#02141a;flex-shrink:0;width:55%;min-height:100vh;padding:0;display:block;position:relative;overflow:hidden}.login-banner-wrapper{width:100%;height:100%;min-height:100vh;position:relative}.login-visual-image{object-fit:cover;object-position:left center;width:100%;height:100%;transition:opacity .4s ease-in-out;display:block}.animate-fadeIn{animation:.35s ease-in-out fadeIn}.form-column{background-color:#f8fafc;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-width:0;min-height:100vh;padding:2.5rem 2rem;display:flex;position:relative;overflow:hidden auto}.form-column:after{content:"";opacity:.25;pointer-events:none;background-image:radial-gradient(#cbd5e1 1px,#0000 1px);background-size:16px 16px;width:100px;position:absolute;top:0;bottom:0;right:0}.form-wrapper{z-index:2;flex-direction:column;width:100%;max-width:440px;margin:0 auto;display:flex}.mobile-brand-header{justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:none}.mobile-brand-logo{object-fit:contain;max-width:140px;height:2rem}.mobile-brand-divider{background-color:var(--color-border-light);width:1px;height:1.25rem}.mobile-brand-tag{color:var(--color-teal-brand);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.login-card{background-color:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:1rem;flex-direction:column;width:100%;margin-bottom:1.25rem;padding:2.5rem 2rem;display:flex;box-shadow:0 10px 25px -5px #06242c0f,0 8px 10px -6px #06242c0a}.form-header{text-align:left;margin-bottom:1.75rem}.form-title{color:var(--color-teal-deep);letter-spacing:-.01em;font-size:1.5rem;font-weight:800;line-height:1.2}.form-subtitle{color:var(--color-text-sub);margin-top:.4rem;font-size:.85rem;line-height:1.45}.session-info-box{text-align:left;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:.5rem;align-items:flex-start;gap:.6rem;margin-bottom:1.5rem;padding:.85rem 1rem;display:flex}.session-info-icon{color:#0284c7;flex-shrink:0;width:1.15rem;height:1.15rem;margin-top:.1rem}.session-info-text{color:#0369a1;font-size:.8rem;font-weight:600;line-height:1.45}.error-box{background-color:var(--color-error-bg);text-align:left;border:1px solid #ef444440;border-radius:.5rem;align-items:flex-start;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.error-icon{color:var(--color-error);flex-shrink:0;width:1.1rem;height:1.1rem;margin-top:.1rem}.error-text{color:#b91c1c;font-size:.75rem;font-weight:600;line-height:1.4}.login-form{flex-direction:column;gap:1.25rem;width:100%;display:flex}.field-group{text-align:left;flex-direction:column;gap:.4rem;width:100%;display:flex}.field-label{color:var(--color-teal-dark);letter-spacing:.01em;font-size:.825rem;font-weight:700}.input-container{align-items:center;width:100%;display:flex;position:relative}.input-icon-left{color:#8da1aa;pointer-events:none;width:1.1rem;height:1.1rem;position:absolute;left:.9rem}.input-element{background-color:var(--color-bg-white);width:100%;height:3rem;color:var(--color-teal-deep);border:1px solid #cbd5e1;border-radius:.5rem;outline:none;padding:0 1rem 0 2.6rem;font-size:.9rem;font-weight:500;transition:all .15s ease-in-out}.input-element::placeholder{color:#8da1aa}.input-element:focus{border-color:var(--color-teal-brand);box-shadow:0 0 0 3px #005c6e26}.input-element.has-error{border-color:#ef444466}.input-element.has-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ef444426}.password-toggle-btn{color:#8da1aa;cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.35rem;display:flex;position:absolute;right:.75rem}.password-toggle-btn:hover{color:var(--color-teal-brand)}.submit-btn{background-color:var(--color-teal-brand);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:100%;height:3rem;margin-top:.25rem;font-size:.925rem;font-weight:700;transition:background-color .15s,transform .1s;display:flex}.submit-btn:hover:not(:disabled){background-color:var(--color-teal-hover)}.submit-btn:focus-visible{outline-offset:2px;outline:3px solid #005c6e40}.submit-btn:disabled{border:1px solid var(--color-border-light);color:#94a3b8;cursor:not-allowed;background-color:#f1f5f9}.spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:1.15rem;height:1.15rem;animation:.8s linear infinite spin}.forgot-password-container{text-align:left;margin-top:.85rem}.forgot-password-link{color:var(--color-teal-brand);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:700;text-decoration:none;transition:color .15s}.forgot-password-link:hover{color:var(--color-teal-hover);text-decoration:underline}.first-access-box{background-color:var(--color-teal-light);text-align:left;border:1px solid #005c6e1f;border-radius:.75rem;align-items:flex-start;gap:.85rem;width:100%;margin-top:1.5rem;padding:1rem 1.15rem;display:flex}.first-access-icon-circle{width:2.1rem;height:2.1rem;color:var(--color-teal-brand);background-color:#fff;border:1px solid #005c6e1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.first-access-icon{width:1.1rem;height:1.1rem}.first-access-text-block{flex-direction:column;flex:1;gap:.2rem;display:flex}.first-access-title{color:var(--color-teal-brand);font-size:.85rem;font-weight:800}.first-access-desc{color:var(--color-text-sub);font-size:.775rem;line-height:1.45}.privacy-footer-links{color:var(--color-text-sub);justify-content:center;align-items:center;gap:.6rem;margin-top:.25rem;font-size:.8rem;font-weight:600;display:flex}.privacy-footer-link{appearance:none;color:var(--color-text-sub);cursor:pointer;font:inherit;background:0 0;border:0;padding:.15rem 0;line-height:1.3;text-decoration:none;transition:color .15s}.privacy-footer-link:hover{color:var(--color-teal-brand);text-underline-offset:.2rem;text-decoration:underline}.privacy-footer-link:focus-visible{outline-offset:.2rem;border-radius:.25rem;outline:2px solid #005c6e59}.privacy-footer-separator{color:#cbd5e1;font-weight:500}.developer-credit{justify-content:center;align-items:center;margin-top:1.5rem;display:flex}.developer-credit-link{opacity:.65;align-items:center;gap:.5rem;text-decoration:none;transition:opacity .15s ease-in-out;display:flex}.developer-credit-link:hover{opacity:1}.developer-credit-text{color:var(--color-text-sub);font-size:.825rem;font-weight:600}.developer-logo{object-fit:contain;max-width:110px;height:2.25rem}@media (width>=769px) and (width<=1024px){.institutional-column{width:42%}.form-column{padding:2rem 1.5rem}.form-wrapper{max-width:400px}.login-card{padding:2.25rem 1.75rem}}@media (width<=768px){.login-container{flex-direction:column;height:auto;min-height:100vh}.institutional-column{display:none}.form-column{justify-content:flex-start;height:auto;min-height:100vh;padding:2rem 1.25rem}.mobile-brand-header{display:flex}.login-card{padding:2rem 1.5rem}}@media (width<=480px){.form-column{padding:1.5rem 1rem}.login-card{border-radius:.875rem;padding:1.75rem 1.25rem}.form-title{font-size:1.35rem}.form-subtitle{font-size:.8rem}.first-access-box{gap:.75rem;padding:.85rem 1rem}}@media (width<=360px){.form-column{padding:1rem .65rem}.login-card{border-radius:.75rem;padding:1.25rem .85rem}.form-header{margin-bottom:1.25rem}.form-title{font-size:1.2rem}.form-subtitle{font-size:.75rem}.input-element{height:2.75rem;padding:0 .75rem 0 2.4rem;font-size:.85rem}.input-icon-left{width:1rem;height:1rem;left:.75rem}.submit-btn{height:2.75rem;font-size:.875rem}.first-access-box{gap:.6rem;padding:.75rem}.first-access-icon-circle{width:1.85rem;height:1.85rem}.first-access-title{font-size:.8rem}.first-access-desc{font-size:.725rem}}@media (height<=700px){.login-container{height:auto;min-height:100vh}.form-column{height:auto;min-height:100vh;padding-top:1.5rem;padding-bottom:1.5rem}}@keyframes spin{to{transform:rotate(360deg)}}.notif-drawer-overlay{-webkit-backdrop-filter:blur(3px);z-index:9980;box-sizing:border-box;background-color:#03141a99;justify-content:flex-end;width:100vw;height:100vh;animation:.2s cubic-bezier(.16,1,.3,1) notifFadeIn;display:flex;position:fixed;inset:0}.notif-drawer-panel{box-sizing:border-box;background-color:#fff;flex-direction:column;width:420px;max-width:100vw;height:100vh;animation:.25s cubic-bezier(.16,1,.3,1) notifSlideLeft;display:flex;position:relative;box-shadow:-6px 0 30px #06141a33}.notif-drawer-header{background-color:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.notif-drawer-header-left{align-items:center;gap:.75rem;display:flex}.notif-drawer-icon-box{color:#005c6e;background-color:#e6f7f9;border-radius:.75rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.notif-drawer-icon-box svg{width:1.35rem;height:1.35rem}.notif-drawer-title-group{text-align:left;flex-direction:column;display:flex}.notif-drawer-title{color:#0f172a;margin:0;font-size:1rem;font-weight:800}.notif-drawer-badge{color:#64748b;font-size:.75rem;font-weight:600}.notif-drawer-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.45rem;transition:all .15s;display:flex}.notif-drawer-close-btn:hover{color:#334155;background-color:#f1f5f9}.notif-drawer-list{flex-direction:column;flex:1;gap:.85rem;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.notif-card{text-align:left;background-color:#fff;border:1px solid #e2e8f0;border-radius:.85rem;padding:1rem;transition:all .15s}.notif-card.unread{background-color:#f4fbfb;border-color:#b2e5e8;box-shadow:0 2px 8px #005c6e0f}.notif-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.notif-card-title{color:#0f172a;margin:0;font-size:.85rem;font-weight:800}.notif-card-dot{background-color:#005c6e;border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;margin-top:.25rem}.notif-card-message{color:#475569;white-space:pre-line;margin:.5rem 0 0;font-size:.8rem;line-height:1.5}.notif-card-footer{color:#94a3b8;border-top:1px solid #e2e8f099;justify-content:space-between;align-items:center;margin-top:.85rem;padding-top:.65rem;font-size:.7rem;display:flex}.notif-card-time{align-items:center;gap:.35rem;display:flex}.notif-card-action-btn{color:#005c6e;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;font-weight:700;display:flex}.notif-card-action-btn:hover{text-decoration:underline}@keyframes notifFadeIn{0%{opacity:0}to{opacity:1}}@keyframes notifSlideLeft{0%{transform:translate(100%)}to{transform:translate(0)}}.patient-photo-overlay{-webkit-backdrop-filter:blur(4px);z-index:9990;box-sizing:border-box;background-color:#03141aa6;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1.25rem;animation:.2s cubic-bezier(.16,1,.3,1) photoModalFadeIn;display:flex;position:fixed;inset:0}.patient-photo-dialog{box-sizing:border-box;text-align:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;flex-direction:column;width:100%;max-width:380px;padding:1.75rem 1.5rem;animation:.25s cubic-bezier(.16,1,.3,1) photoModalScaleUp;display:flex;position:relative;box-shadow:0 20px 40px -10px #06141a33}.patient-photo-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.85rem;display:flex}.patient-photo-title{color:#0f172a;margin:0;font-size:1rem;font-weight:800}.patient-photo-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.35rem;transition:all .15s;display:flex}.patient-photo-close-btn:hover{color:#334155;background-color:#f1f5f9}.patient-photo-body{flex-direction:column;align-items:center;margin-top:.5rem;display:flex}.patient-photo-avatar-box{color:#005c6e;background-color:#e6f7f9;border:3px solid #005c6e40;border-radius:50%;justify-content:center;align-items:center;width:7rem;height:7rem;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px 6px #005c6e1a}.patient-photo-avatar-box img{object-fit:cover;width:100%;height:100%}.patient-photo-caption{color:#64748b;margin:.85rem 0 0;font-size:.75rem;line-height:1.4}.patient-photo-actions{flex-direction:column;gap:.65rem;margin-top:1.5rem;display:flex}.patient-photo-upload-btn{color:#fff;cursor:pointer;background:linear-gradient(#006d83 0%,#005c6e 100%);border-radius:.65rem;justify-content:center;align-items:center;gap:.5rem;width:100%;height:2.75rem;font-size:.85rem;font-weight:700;transition:all .15s;display:flex;box-shadow:0 4px 10px #005c6e33}.patient-photo-upload-btn:hover{background:linear-gradient(#005c6e 0%,#004754 100%)}.patient-photo-remove-btn{color:#dc2626;cursor:pointer;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.65rem;justify-content:center;align-items:center;gap:.5rem;width:100%;height:2.75rem;font-size:.85rem;font-weight:700;transition:all .15s;display:flex}.patient-photo-remove-btn:hover:not(:disabled){background-color:#fee2e2}.patient-photo-remove-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes photoModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes photoModalScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.change-password-overlay{-webkit-backdrop-filter:blur(6px);z-index:9999;box-sizing:border-box;background-color:#03141ab8;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1.25rem;animation:.25s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.change-password-dialog{box-sizing:border-box;text-align:left;background-color:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;flex-direction:column;width:100%;max-width:450px;max-height:92vh;margin:auto;padding:2.25rem 2rem;animation:.3s cubic-bezier(.16,1,.3,1) modalScaleUp;display:flex;position:relative;overflow-y:auto;box-shadow:0 24px 48px -12px #06141a40,0 12px 24px -8px #0000001f}.change-password-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.change-password-icon-box{color:#005c6e;background:linear-gradient(135deg,#e6f7f9 0%,#d4f1f4 100%);border:1px solid #005c6e26;border-radius:1rem;flex-shrink:0;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;display:flex;box-shadow:0 4px 10px #005c6e14}.change-password-icon-box svg{width:1.65rem;height:1.65rem}.change-password-title-group{flex-direction:column;gap:.2rem;display:flex}.change-password-title{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:800;line-height:1.25}.change-password-badge{color:#005c6e;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.change-password-description{color:#475569;margin:0 0 1.25rem;font-size:.85rem;line-height:1.55}.change-password-error-box{color:#b91c1c;background-color:#fef2f2;border:1px solid #ef44444d;border-radius:.65rem;align-items:flex-start;gap:.6rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.8rem;font-weight:600;line-height:1.4;animation:.2s modalFadeIn;display:flex}.change-password-error-box svg{flex-shrink:0;width:1.15rem;height:1.15rem;margin-top:.1rem}.change-password-form{flex-direction:column;gap:1.15rem;display:flex}.change-password-field-group{flex-direction:column;gap:.45rem;display:flex}.change-password-label{text-transform:uppercase;letter-spacing:.04em;color:#334155;font-size:.75rem;font-weight:700}.change-password-input-wrapper{align-items:center;display:flex;position:relative}.change-password-input{color:#0f172a;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;border-radius:.65rem;outline:none;width:100%;height:2.85rem;padding:0 2.85rem 0 .95rem;font-size:.9rem;font-weight:500;transition:all .15s ease-in-out}.change-password-input::placeholder{color:#94a3b8;font-size:.85rem}.change-password-input:focus{border-color:#005c6e;box-shadow:0 0 0 3px #005c6e26}.change-password-input.has-error{border-color:#ef444499}.change-password-input.has-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.change-password-toggle-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.35rem;transition:color .15s,background-color .15s;display:flex;position:absolute;right:.75rem}.change-password-toggle-btn:hover{color:#334155;background-color:#f1f5f9}.change-password-toggle-btn:focus-visible{outline:2px solid #005c6e}.change-password-toggle-btn svg{width:1.15rem;height:1.15rem}.change-password-security-tip{background:linear-gradient(135deg,#f0fdf9 0%,#e6f7f4 100%);border:1px solid #005c6e26;border-radius:.75rem;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.change-password-security-tip-icon{color:#005c6e;flex-shrink:0;margin-top:.1rem}.change-password-security-tip-icon svg{width:1.15rem;height:1.15rem}.change-password-security-tip-content{flex-direction:column;gap:.2rem;display:flex}.change-password-security-tip-title{color:#005c6e;font-size:.75rem;font-weight:800}.change-password-security-tip-text{color:#334155;margin:0;font-size:.75rem;line-height:1.45}.change-password-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(#006d83 0%,#005c6e 100%);border:none;border-radius:.65rem;justify-content:center;align-items:center;gap:.5rem;width:100%;height:3rem;margin-top:.35rem;font-size:.9rem;font-weight:800;transition:all .15s;display:flex;box-shadow:0 4px 14px #005c6e40}.change-password-submit-btn:hover:not(:disabled){background:linear-gradient(#005c6e 0%,#004754 100%);transform:translateY(-1px);box-shadow:0 6px 18px #005c6e59}.change-password-submit-btn:active:not(:disabled){transform:translateY(0)}.change-password-submit-btn:focus-visible{outline-offset:2px;outline:3px solid #005c6e66}.change-password-submit-btn:disabled{color:#64748b;box-shadow:none;cursor:not-allowed;background:#cbd5e1;transform:none}.change-password-logout-wrapper{text-align:center;margin-top:1rem}.change-password-logout-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;transition:color .15s}.change-password-logout-btn:hover{color:#0f172a;text-decoration:underline}.change-password-logout-btn:focus-visible{outline:2px solid #005c6e}.change-password-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:1.15rem;height:1.15rem;animation:.75s linear infinite modalSpin}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modalSpin{to{transform:rotate(360deg)}}@media (width<=480px){.change-password-overlay{padding:1rem}.change-password-dialog{border-radius:1rem;padding:1.75rem 1.25rem}.change-password-icon-box{width:2.75rem;height:2.75rem}.change-password-icon-box svg{width:1.35rem;height:1.35rem}.change-password-title{font-size:1.1rem}.change-password-description{font-size:.8rem}}.campaign-modal-overlay{z-index:9995;-webkit-backdrop-filter:blur(4px);box-sizing:border-box;background-color:#03141ab8;justify-content:center;align-items:center;padding:20px;animation:.2s cubic-bezier(.16,1,.3,1) campaignFadeIn;display:flex;position:fixed;inset:0}.campaign-modal-dialog{box-sizing:border-box;background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;width:100%;max-width:560px;max-height:85vh;animation:.25s cubic-bezier(.16,1,.3,1) campaignScaleUp;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px -12px #06141a38,0 8px 16px #0000000f}.campaign-modal-header{background-color:#fff;border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.campaign-modal-header-tag{color:#00616d;letter-spacing:-.01em;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.campaign-modal-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.campaign-modal-close-btn:hover{color:#334155;background-color:#f1f5f9}.campaign-modal-close-btn:focus-visible{outline-offset:2px;outline:2px solid #00616d}.campaign-modal-body{flex-direction:column;flex:1;display:flex;overflow-y:auto}.campaign-modal-content{flex-direction:column;gap:12px;padding:24px 24px 20px;display:flex}.campaign-modal-title{color:#00616d;letter-spacing:-.01em;margin:0;font-size:20px;font-weight:700;line-height:1.35}.campaign-modal-divider{background-color:#eef2f6;height:1px;margin:2px 0 4px}.campaign-modal-description{color:#475569;flex-direction:column;gap:10px;font-size:14.5px;font-weight:400;line-height:1.7;display:flex}.campaign-modal-description p{margin:0}.campaign-modal-cta-wrap{margin-top:10px}.campaign-modal-cta-link{color:#fff;background:linear-gradient(135deg,#006d83 0%,#005c6e 100%);border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 4px 12px #005c6e33}.campaign-modal-cta-link:hover{background:linear-gradient(135deg,#005c6e 0%,#004754 100%);transform:translateY(-1px);box-shadow:0 6px 16px #005c6e4d}.campaign-modal-cta-link:focus-visible{outline-offset:2px;outline:2px solid #005c6e}.campaign-modal-footer{background-color:#f8fafc;border-top:1px solid #f1f5f9;flex-shrink:0;justify-content:flex-end;padding:14px 22px;display:flex}.campaign-modal-footer-btn{color:#334155;cursor:pointer;background-color:#fff;border:1px solid #cfdbe2;border-radius:8px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:700;transition:all .15s}.campaign-modal-footer-btn:hover{color:#071722;background-color:#f1f5f9;border-color:#94a3b8}.campaign-modal-footer-btn:focus-visible{outline-offset:2px;outline:2px solid #00616d}@keyframes campaignFadeIn{0%{opacity:0}to{opacity:1}}@keyframes campaignScaleUp{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=640px){.campaign-modal-overlay{padding:12px}.campaign-modal-dialog{border-radius:14px;max-height:90vh}.campaign-modal-content{padding:18px 18px 16px}.campaign-modal-title{font-size:18px}.campaign-modal-description{font-size:13.5px;line-height:1.6}}:root{--patient-navy:#06242c;--patient-navy-deep:#03191f;--patient-teal:#00616d;--patient-teal-hover:#004d57;--patient-teal-soft:#e7f7f5;--patient-teal-border:#bceae6;--patient-text:#1e293b;--patient-heading:#0f3640;--patient-section-title:#0b4d57;--patient-muted:#64748b;--patient-sub:#475569;--patient-line:#e2e8f0;--patient-bg:#f7faf9;--patient-card-bg:#fffffff5;--patient-card-radius:12px;--patient-card-shadow:0 8px 28px #08363e0b}.exams-portal-wrapper{background:var(--patient-bg);min-height:100vh;color:var(--patient-text);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;display:flex}.patient-sidebar{color:#fff;background:linear-gradient(#15535c 0%,#0d3d46 30%,#052329 70%,#02181d 100%);border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;width:252px;min-height:100vh;padding:24px 16px;display:flex}.sidebar-brand{padding:4px 8px 24px}.sidebar-brand-wrapper{align-items:center;gap:12px;display:flex}.sidebar-logo-emblem{object-fit:contain;filter:drop-shadow(0 2px 6px #00000040);flex-shrink:0;width:50px;height:50px}.sidebar-brand-text{text-align:left;flex-direction:column;justify-content:center;display:flex}.sidebar-brand-text .brand-title{letter-spacing:.08em;color:#fff;font-size:15px;font-weight:700;line-height:1.1}.sidebar-brand-text .brand-subtitle{letter-spacing:.22em;color:#86e6df;text-transform:uppercase;margin-top:3px;font-size:8.5px;font-weight:600;line-height:1.1}.sidebar-nav{flex-direction:column;gap:6px;display:flex}.sidebar-nav-item,.sidebar-logout-btn{color:#ffffffd1;cursor:pointer;width:100%;min-height:48px;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:0 14px;font-size:14.5px;font-weight:500;transition:all .15s;display:flex}.sidebar-nav-item:hover,.sidebar-logout-btn:hover{color:#fff;background:#ffffff14}.sidebar-nav-item:focus-visible,.sidebar-logout-btn:focus-visible,.security-card-link:focus-visible,.campaign-card-whatsapp-link:focus-visible,.campaign-card-action-btn:focus-visible,.appointment-cta-btn:focus-visible{outline-offset:2px;outline:3px solid #86e6dfb8}.sidebar-nav-item.active{color:#fff;background:linear-gradient(90deg,#087c84d9 0%,#087c8499 100%);font-weight:600;box-shadow:inset 0 0 0 1px #86e6df33}.sidebar-nav-icon,.sidebar-logout-icon{color:#86e6df;opacity:.9;flex-shrink:0;width:20px;height:20px}.sidebar-nav-item.active .sidebar-nav-icon{color:#fff;opacity:1}.sidebar-bottom{flex-direction:column;gap:16px;margin-top:auto;padding-top:20px;display:flex}.security-card{background:#03191f73;border-radius:8px;padding:12px 14px;box-shadow:inset 0 0 0 1px #ffffff14}.security-card-header{align-items:center;gap:8px;display:flex}.security-card-icon-wrap{color:#86e6df;background:#86e6df26;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.security-card-icon{width:12px;height:12px}.security-card-title{color:#fff;font-size:11.5px;font-weight:600;line-height:1.25}.security-card-text{color:#ffffffb3;margin:5px 0 0;font-size:11px;line-height:1.35}.security-card-link{color:#86e6df;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-size:11px;font-weight:500;text-decoration:underline;display:inline-block}.dashboard-content-area{flex:1;min-width:0;padding:28px 32px 40px;overflow-y:auto}.patient-portal-page-shell{isolation:isolate;background:linear-gradient(145deg, #ffffffad, #eff8f694), var(--patient-bg);position:relative}.patient-portal-page-shell:before,.patient-portal-page-shell:after{z-index:-1;pointer-events:none;content:"";position:absolute}.patient-portal-page-shell:before{aspect-ratio:1;opacity:.022;filter:saturate(.7);background:url(/assets/logo-oficial-harten-BuKxW1CF.png) 50%/contain no-repeat;width:clamp(420px,48vw,720px);top:120px;right:clamp(-190px,-8vw,-80px)}.patient-portal-page-shell:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 1200' fill='none'%3E%3Cg stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M-60,-40 C360,180 840,40 1320,190 C1560,265 1780,180 1980,240' stroke='%2300616d' stroke-width='1.1' opacity='0.11'/%3E%3Cpath d='M-40,25 C390,245 870,105 1350,255 C1600,330 1810,245 2010,305' stroke='%2300616d' stroke-width='0.9' opacity='0.08'/%3E%3Cpath d='M-20,90 C420,310 900,170 1380,320 C1640,395 1840,310 2040,370' stroke='%2300616d' stroke-width='1.0' opacity='0.09'/%3E%3Cpath d='M0,155 C450,375 930,235 1410,385 C1680,460 1870,375 2070,435' stroke='%23087c84' stroke-width='0.8' opacity='0.07'/%3E%3Cpath d='M2000,320 C1620,440 1520,720 1710,950 C1800,1060 1910,1140 2020,1210' stroke='%2300616d' stroke-width='1.1' opacity='0.10'/%3E%3Cpath d='M2030,390 C1670,500 1570,780 1760,1000 C1840,1100 1940,1170 2050,1240' stroke='%2300616d' stroke-width='0.85' opacity='0.08'/%3E%3Cpath d='M2060,460 C1720,560 1620,840 1810,1050 C1880,1140 1970,1200 2080,1270' stroke='%23087c84' stroke-width='0.95' opacity='0.07'/%3E%3Cpath d='M-80,720 C280,660 520,850 720,1050 C820,1150 910,1240 960,1310' stroke='%2300616d' stroke-width='1.1' opacity='0.10'/%3E%3Cpath d='M-60,795 C310,735 560,915 760,1105 C850,1195 930,1275 980,1345' stroke='%2300616d' stroke-width='0.85' opacity='0.08'/%3E%3Cpath d='M-40,870 C340,810 600,980 800,1160 C880,1240 950,1310 1000,1380' stroke='%23087c84' stroke-width='0.95' opacity='0.07'/%3E%3C/g%3E%3C/svg%3E");background-position:top;background-repeat:no-repeat;background-size:cover;inset:0}.dashboard-header-row{justify-content:space-between;align-items:flex-start;gap:20px;min-height:54px;margin-bottom:22px;display:flex}.patient-greeting-group{text-align:left}.patient-greeting-title{color:var(--patient-heading);margin:0;font-size:22px;font-weight:650;line-height:1.2}.patient-greeting-sub{color:var(--patient-muted);margin:4px 0 0;font-size:13.5px}.header-actions-area{align-items:center;gap:18px;padding-top:2px;display:flex}.notification-badge-btn{border:1px solid var(--patient-line);min-height:36px;color:var(--patient-sub);cursor:pointer;font:inherit;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex;position:relative}.notification-badge-btn:hover{background:var(--patient-teal-soft);color:var(--patient-teal);border-color:var(--patient-teal-border)}.notification-bell-wrapper{transform-origin:top;will-change:transform;justify-content:center;align-items:center;display:inline-flex}.notification-bell-wrapper svg,.notification-bell-icon{width:16px;height:16px;color:var(--patient-teal);transform-origin:top;display:block}@keyframes hartenBellSwing{0%{transform:rotate(0)}4%{transform:rotate(-22deg)}8%{transform:rotate(20deg)}12%{transform:rotate(-18deg)}16%{transform:rotate(14deg)}20%{transform:rotate(-10deg)}24%{transform:rotate(6deg)}28%{transform:rotate(-2deg)}32%{transform:rotate(0)}to{transform:rotate(0)}}.notification-bell-wrapper.has-unread{transform-origin:top;animation:2.8s cubic-bezier(.36,.07,.19,.97) infinite hartenBellSwing}@media (prefers-reduced-motion:reduce){.notification-bell-wrapper.has-unread{animation:none!important}}.notification-dot{background:#f58220;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.user-profile-widget{border-left:1px solid var(--patient-line);align-items:center;gap:10px;padding-left:18px;display:flex}.avatar-circle{background:var(--patient-teal);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:grid}.user-profile-info{text-align:left;flex-direction:column;display:flex}.profile-name{color:var(--patient-text);font-size:13px;font-weight:600}.profile-role{color:var(--patient-muted);margin-top:1px;font-size:11px}.profile-chevron{width:14px;height:14px;color:var(--patient-muted)}.kpi-cards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.kpi-card{background:var(--patient-card-bg);border:1px solid var(--patient-line);border-radius:var(--patient-card-radius);box-shadow:var(--patient-card-shadow);align-items:center;gap:14px;min-height:98px;padding:14px 18px;display:flex}.kpi-icon-container{border-radius:10px;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.kpi-icon-container svg{width:22px;height:22px}.kpi-icon-container.teal{color:#078374;background:#dff6ef}.kpi-icon-container.blue{color:#0c8fca;background:#e3f4ff}.kpi-icon-container.orange{color:#e67e17;background:#fff1d9}.kpi-icon-container.green{color:#0cae65;background:#daf5e5}.kpi-text-block{text-align:left;flex-direction:column;display:flex}.kpi-label{color:var(--patient-sub);font-size:13px;font-weight:600}.kpi-value{color:var(--patient-heading);margin-top:3px;font-size:28px;font-weight:750;line-height:1.1}.kpi-meta{color:var(--patient-muted);margin-top:4px;font-size:12px}.section-block-card{background:var(--patient-card-bg);border:1px solid var(--patient-line);border-radius:var(--patient-card-radius);box-shadow:var(--patient-card-shadow);margin-bottom:24px;padding:20px 24px}.section-card-header{border-bottom:1px solid var(--patient-line);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;display:flex}.section-card-title{color:var(--patient-section-title);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:650}.section-heading-content{align-items:center;gap:9px;min-width:0;display:inline-flex}.section-heading-icon{width:22px;height:22px;color:var(--patient-teal);flex-shrink:0}.see-all-exams-btn{color:var(--patient-teal);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.see-all-exams-btn:hover{background:var(--patient-teal-soft);color:var(--patient-teal-hover)}.compact-empty-state{border:1px dashed var(--patient-line);background:#fbfdfe;border-radius:10px;flex-direction:row;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex}.empty-state-icon{width:20px;height:20px;color:var(--patient-muted);opacity:.7;flex-shrink:0}.empty-state-text{color:var(--patient-muted);font-size:13px;font-weight:400}.exams-list{flex-direction:column;gap:16px;display:flex}.patient-exam-card{border:1px solid var(--patient-line);border-radius:var(--patient-card-radius);background:#fff;padding:20px 22px;transition:all .2s;box-shadow:0 4px 16px #06242c0a}.patient-exam-card:hover{border-color:var(--patient-teal-border);box-shadow:0 6px 20px #00616d12}.exam-card-main-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.exam-accordion-trigger{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:18px;padding:0;display:flex}.exam-accordion-trigger.is-static:disabled{cursor:default;opacity:1}.exam-accordion-trigger:focus-visible{outline-offset:6px;border-radius:10px;outline:3px solid #00616d3d}.exam-accordion-chevron{color:var(--patient-teal);flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.exam-accordion-chevron svg{width:20px;height:20px;transition:transform .24s}.exam-accordion-trigger[aria-expanded=true] .exam-accordion-chevron svg{transform:rotate(180deg)}.exam-accordion-label{font-size:12px;font-weight:700;display:none}.exam-accordion-content{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .24s,opacity .2s;display:grid}.exam-accordion-content.is-expanded{opacity:1;grid-template-rows:1fr}.exam-accordion-inner{min-height:0;overflow:hidden}.exam-card-meta-left{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.exam-icon-wrapper{border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.exam-icon-wrapper svg{width:24px;height:24px}.exam-icon-wrapper.ultrasound{color:#078374;background:#e3f5ef}.exam-icon-wrapper.heart{color:#dc4f71;background:#ffeaf1}.exam-icon-wrapper.monitor{color:#b38426;background:#f7f0e4}.exam-icon-wrapper.lab{color:#9356de;background:#f2e8ff}.exam-meta-details{flex-direction:column;gap:3px;min-width:0;display:flex}.exam-meta-top-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.exam-date-label{color:var(--patient-muted);font-size:12px;font-weight:500}.exam-title-text{color:var(--patient-heading);font-size:16px;font-weight:700;line-height:1.25}.exam-doctor-name{color:var(--patient-sub);font-size:13px}.exam-status-badge{border-radius:9999px;align-items:center;gap:5px;width:fit-content;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.exam-status-badge.available{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.exam-status-badge.waiting{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.exam-card-actions-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.btn-primary-action{border:1px solid var(--patient-teal);background:var(--patient-teal);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary-action:hover:not(:disabled){background:var(--patient-teal-hover);border-color:var(--patient-teal-hover)}.btn-primary-action:disabled{opacity:.5;cursor:not-allowed}.btn-secondary-action{border:1px solid var(--patient-line);color:var(--patient-sub);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-secondary-action:hover:not(:disabled){background:var(--patient-teal-soft);color:var(--patient-teal);border-color:var(--patient-teal-border)}.btn-secondary-action:disabled{opacity:.5;cursor:not-allowed}.exam-accordion-pill-btn{color:#00616d;cursor:pointer;background:#e6f7f9;border:1px solid #b2ebf2;border-radius:9999px;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.exam-accordion-pill-btn:hover{color:#004d57;background:#d4f3f6;border-color:#80deea}.exam-accordion-pill-btn.is-expanded svg{transform:rotate(180deg)}.exam-documents-panel{border-top:1px dashed var(--patient-line);margin-top:18px;padding-top:16px}.exam-documents-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.exam-docs-title-group{align-items:center;gap:8px;display:flex}.exam-docs-title{text-transform:uppercase;letter-spacing:.05em;color:var(--patient-section-title);font-size:13.5px;font-weight:700}.docs-count-pill{background:var(--patient-teal-soft);color:var(--patient-teal);border:1px solid var(--patient-teal-border);border-radius:9999px;padding:2px 8px;font-size:11px;font-weight:600}.btn-share-docs{color:#fff;cursor:pointer;background:#00616d;border:1px solid #00616d;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn-share-docs:hover:not(:disabled){background:#004d57;border-color:#004d57;transform:translateY(-1px)}.btn-share-docs:disabled{color:#94a3b8;cursor:not-allowed;background:#e2e8f0;border-color:#cbd5e1}.exam-docs-toolbar{color:var(--patient-muted);background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:8px 14px;font-size:12px;display:flex}.select-all-label{color:var(--patient-text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-weight:600;display:inline-flex}.docs-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 8px 8px;overflow-x:auto}.docs-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.docs-table th{color:var(--patient-sub);text-transform:uppercase;letter-spacing:.04em;background:#f1f5f9;border-bottom:1px solid #e2e8f0;padding:10px 14px;font-size:11.5px;font-weight:650}.docs-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 14px}.docs-table tr:last-child td{border-bottom:none}.docs-table tr:hover td{background:#f8fafc}.doc-checkbox{width:17px;height:17px;accent-color:var(--patient-teal);cursor:pointer;border-radius:4px}.doc-preview-cell{width:54px;min-width:54px}.doc-preview-box{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;place-items:center;width:44px;height:44px;transition:transform .15s;display:grid;overflow:hidden}.doc-preview-box:hover{border-color:var(--patient-teal);transform:scale(1.06)}.doc-preview-box.pdf{background:#fef2f2;border-color:#fecaca}.doc-thumbnail-img{object-fit:cover;width:100%;height:100%}.doc-name-cell{min-width:180px}.doc-name-main{color:var(--patient-heading);font-weight:600;display:block}.doc-name-sub{color:var(--patient-muted);font-size:11.5px}.doc-type-badge{color:#475569;background:#f1f5f9;border-radius:6px;padding:2px 8px;font-size:11.5px;font-weight:500;display:inline-block}.doc-type-badge.pdf{color:#b91c1c;background:#fee2e2}.doc-type-badge.image{color:#0369a1;background:#e0f2fe}.doc-actions-group{align-items:center;gap:6px;display:flex}.doc-action-btn{color:var(--patient-sub);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.doc-action-btn:hover{background:var(--patient-teal-soft);color:var(--patient-teal);border-color:var(--patient-teal-border)}.viewer-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03181ed6;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}.viewer-modal-container{background:#fff;border-radius:14px;flex-direction:column;width:90vw;max-width:1400px;height:90vh;max-height:960px;display:flex;overflow:hidden;box-shadow:0 25px 60px -15px #00000080}.viewer-modal-header{color:#fff;background:linear-gradient(90deg,#072e36 0%,#00616d 100%);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.viewer-header-info{min-width:0}.viewer-header-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:17px;font-weight:700;line-height:1.25;overflow:hidden}.viewer-header-subtitle{color:#86e6df;margin-top:2px;font-size:12px;display:block}.viewer-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.viewer-control-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex}.viewer-control-btn:hover{background:#ffffff40}.viewer-control-btn.close{background:#ffffff2e;border-color:#ffffff4d;border-radius:50%;padding:6px}.viewer-control-btn.close:hover{background:#e11d48;border-color:#e11d48}.viewer-modal-body{background:#0f172a;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.viewer-modal-body.pdf{background:#525659}.viewer-iframe{border:none;width:100%;height:100%}.viewer-image-canvas{justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;overflow:auto}.viewer-image-element{object-fit:contain;transform-origin:50%;border-radius:4px;max-width:100%;max-height:100%;transition:transform .2s cubic-bezier(.2,0,0,1);box-shadow:0 10px 30px #00000080}.viewer-state-box{color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:30px;font-size:14px;display:flex}.viewer-state-box.error{color:#fca5a5}.share-modal-container{background:#fff;border-radius:14px;flex-direction:column;width:90vw;max-width:540px;animation:.2s ease-out modalScaleIn;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000059}.share-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.share-modal-title-wrap{align-items:center;gap:10px;display:flex}.share-modal-title{color:var(--patient-heading);margin:0;font-size:17px;font-weight:700}.share-modal-body{flex-direction:column;gap:18px;max-height:75vh;padding:24px;display:flex;overflow-y:auto}.share-docs-preview-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:12px 16px}.share-docs-preview-label{color:#166534;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.share-docs-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.share-docs-list li{color:#14532d;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.share-docs-list li small{color:#15803d;font-size:11px}.share-field-group{flex-direction:column;gap:6px;display:flex}.share-field-label{color:var(--patient-heading);font-size:13px;font-weight:600}.share-input-text{border:1px solid var(--patient-line);border-radius:8px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .15s}.share-input-text:focus{border-color:var(--patient-teal);box-shadow:0 0 0 3px #00616d1f}.share-lgpd-note{color:var(--patient-muted);background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:11.5px;line-height:1.4;display:flex}.share-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.exam-card-main-header{flex-direction:column;align-items:flex-start}.patient-exam-card{padding:16px}.exam-accordion-trigger{align-items:flex-start;gap:10px;width:100%}.exam-card-meta-left{align-items:flex-start;gap:10px}.exam-icon-wrapper{width:40px;height:40px}.exam-accordion-chevron{align-self:center;margin-left:auto}.exam-accordion-label{display:inline}.exam-card-actions-right{width:100%;margin-top:10px}.exam-card-actions-right button{flex:1}.viewer-modal-container{width:96vw;height:94vh}.docs-table-wrapper{display:none}.docs-cards-mobile{flex-direction:column;gap:10px;margin-top:10px;display:flex}.doc-card-mobile{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.doc-card-mobile-top{align-items:center;gap:10px;display:flex}.doc-card-mobile-actions{gap:8px;display:flex}.doc-card-mobile-actions button{flex:1;justify-content:center}}@media (width>=769px){.docs-cards-mobile{display:none}}.patient-two-columns-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px;display:grid}.appointment-card-content{flex-direction:column;gap:14px;display:flex}.appointment-date-badge{background:#f0fdf9;border:1px solid #cbf3e8;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.appointment-datetime-label{color:#0d7f6c;font-size:13px;font-weight:600}.appointment-status-tag{color:#fff;background:#0d7f6c;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:500}.appointment-details-list{flex-direction:column;gap:6px;display:flex}.appointment-detail-item{justify-content:space-between;font-size:12.5px;display:flex}.appointment-detail-item .detail-label{color:var(--patient-muted)}.appointment-detail-item .detail-value{color:var(--patient-text);text-align:right;font-weight:500}.appointment-cta-btn{background:var(--patient-teal);color:#fff;width:100%;font:inherit;cursor:pointer;border:none;border-radius:8px;padding:9px 14px;font-size:12.5px;font-weight:500;transition:background .15s}.appointment-cta-btn:hover{background:var(--patient-teal-hover)}.activities-timeline{flex-direction:column;gap:12px;display:flex}.activity-timeline-item{text-align:left;align-items:flex-start;gap:12px;display:flex}.activity-icon-bubble{width:28px;height:28px;color:var(--patient-teal);background:#f1f5f9;border-radius:50%;flex-shrink:0;place-items:center;margin-top:2px;display:grid}.activity-item-content{flex:1;min-width:0}.activity-item-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.activity-item-title{color:var(--patient-text);font-size:12.5px;font-weight:600}.activity-item-time{color:var(--patient-muted);font-size:11px}.activity-item-desc{color:var(--patient-muted);margin:2px 0 0;font-size:11.5px}.campaigns-cards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.campaigns-cards-grid.count-1{grid-template-columns:minmax(0,340px)}.campaigns-cards-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.campaigns-cards-grid.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.campaigns-cards-grid.count-4{grid-template-columns:repeat(4,minmax(0,1fr))}.campaign-editorial-card{background:var(--patient-card-bg);border:1px solid var(--patient-line);border-radius:var(--patient-card-radius);box-shadow:var(--patient-card-shadow);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.campaign-editorial-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0f172a14}.campaign-card-image-wrap{aspect-ratio:16/9;background:linear-gradient(135deg,#f3faf9 0%,#f8fafc 55%,#edf7f5 100%);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.campaign-card-image{object-fit:contain;object-position:center;width:100%;height:100%;transition:transform .3s;display:block}.campaign-editorial-card:hover .campaign-card-image{transform:none}.campaign-card-footer-bar{background:#fff;border-top:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.campaign-card-whatsapp-link{color:#0d7f6c;border-radius:4px;align-items:center;gap:7px;min-height:40px;padding:8px 6px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.campaign-card-whatsapp-link:hover{color:#085a4c;text-decoration:underline}.campaign-whatsapp-icon{color:#25d366;flex-shrink:0;width:17px;height:17px}.campaign-card-action-btn{min-height:40px;color:var(--patient-teal);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:8px 6px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.campaign-card-action-btn:hover{color:var(--patient-teal-hover)}.appointments-page-container{flex-direction:column;gap:24px;display:flex}.appointments-page-heading{align-items:stretch;gap:14px;padding:4px 2px;display:flex}.appointments-heading-mark{background:linear-gradient(180deg, var(--patient-teal), #50b9aa);border-radius:999px;width:5px}.appointments-heading-mark span{border-radius:inherit;background:#8bd6cb;width:100%;height:34%;display:block}.appointments-page-heading h2{color:var(--patient-heading);letter-spacing:-.02em;margin:0;font-size:27px;font-weight:700}.appointments-page-heading p{color:var(--patient-muted);margin:5px 0 0;font-size:15.5px}.appointments-section-header{justify-content:space-between;align-items:center}.upcoming-appointments-list{flex-direction:column;gap:16px;display:flex}.appointments-primary-section{min-width:0}.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}.appointment-full-card{border:1px solid var(--patient-line);background:#fff;border-radius:14px;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden;box-shadow:0 10px 30px #004b540e}.appointment-full-card:hover{border-color:#b7dcd7;transform:translateY(-1px);box-shadow:0 14px 36px #004b5416}.appointment-full-card.is-primary{border-color:#b9ded9;box-shadow:0 16px 42px #004b5417}.appointment-full-header{background:linear-gradient(90deg,#effaf8 0%,#f8fcfb 100%);border-bottom:1px solid #dcebea;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.appointment-eyebrow{color:var(--patient-teal);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:inline-flex}.appointment-eyebrow svg{width:17px;height:17px}.appointment-full-body{grid-template-columns:180px minmax(0,1fr);gap:22px 30px;padding:26px;display:grid}.appointment-date-panel,.appointment-care-content,.appointment-procedure-block,.appointment-detail-field{flex-direction:column;min-width:0;display:flex}.appointment-date-panel{text-align:center;background:linear-gradient(145deg,#f2fbf9,#fff);border:1px solid #cae4e0;border-radius:13px;justify-content:center;align-items:center;gap:10px;padding:16px}.today-indicator{color:var(--patient-teal);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:5px;font-size:10px;font-weight:800;display:inline-flex}.today-indicator:before{content:"";background:#29a696;border-radius:50%;width:6px;height:6px}.appointment-calendar-date{color:var(--patient-heading);flex-direction:column;align-items:center;display:flex}.calendar-weekday{color:var(--patient-teal);letter-spacing:.12em;font-size:11px;font-weight:800}.appointment-calendar-date strong{letter-spacing:-.055em;margin:1px 0;font-size:46px;font-weight:650;line-height:1}.calendar-month{letter-spacing:.06em;font-size:12px;font-weight:750}.calendar-month small{color:var(--patient-muted);font-size:inherit;font-weight:550}.appointment-time{color:var(--patient-teal);border-top:1px solid #dcebea;align-items:center;gap:6px;padding-top:10px;font-size:21px;font-weight:700;display:inline-flex}.appointment-time svg{width:15px;height:15px}.appointment-care-content{justify-content:center;gap:22px}.appointment-procedure-block{gap:6px}.appointment-procedure-block>span{color:var(--patient-teal);letter-spacing:.1em;text-transform:uppercase;font-size:11.5px;font-weight:750}.appointment-procedure-block strong{color:var(--patient-heading);overflow-wrap:anywhere;font-size:26px;font-weight:650;line-height:1.4}.appointment-procedure-block p{max-width:660px;color:var(--patient-muted);margin:0;font-size:15.5px;line-height:1.55}.appointment-detail-grid{border-top:1px solid #edf3f3;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:16px;display:grid}.appointment-detail-field{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;display:grid}.appointment-detail-icon{width:36px;height:36px;color:var(--patient-teal);background:#e9f7f4;border-radius:50%;place-items:center;display:grid}.appointment-detail-icon svg{width:17px;height:17px}.appointment-detail-field>span:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}.appointment-detail-field small{color:var(--patient-muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:650}.appointment-detail-field strong{color:var(--patient-heading);overflow-wrap:anywhere;font-size:15.5px;font-weight:600}.appointment-guidance{background:#f5faf9;border-radius:11px;grid-column:1/-1;justify-content:space-between;align-items:flex-end;gap:24px;padding:18px 20px;display:flex}.appointment-guidance>div{flex-direction:column;gap:3px;min-width:0;display:flex}.appointment-guidance>div>span{color:var(--patient-teal);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:750}.appointment-guidance strong{color:var(--patient-heading);font-size:14px;font-weight:650}.appointment-guidance p{color:var(--patient-muted);margin:1px 0 0;font-size:13px;line-height:1.5}.contact-reception-btn{background:var(--patient-teal);color:#fff;border:1px solid #83c9c1;border-radius:9px;flex:none;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;display:inline-flex}.contact-reception-btn svg{width:16px;height:16px}.contact-reception-btn:hover{border-color:var(--patient-teal-hover);background:var(--patient-teal-hover);transform:translateY(-1px);box-shadow:0 6px 16px #004b5429}.contact-reception-btn:active{box-shadow:none;transform:translateY(0)}.contact-reception-btn:focus-visible{outline-offset:3px;outline:3px solid #40b8a959}.appointment-status-tag,.history-status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:5px 10px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.status-scheduled{color:#00616d;background:#e5f5f2}.status-confirmed{color:#087463;background:#dcf4ee}.status-completed{color:#237a42;background:#e6f4e9}.status-cancelled,.status-noshow{color:#a63c3c;background:#fbe9e9}.status-default{color:#52616b;background:#eef2f4}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px}.appointments-empty-state{background:#f8fcfb;border:1px dashed #bddbd7;border-radius:13px;align-items:center;gap:16px;padding:24px;display:flex}.appointments-empty-icon{width:44px;height:44px;color:var(--patient-teal);background:#e5f5f2;border-radius:50%;flex:none;place-items:center;display:grid}.appointments-empty-icon svg{width:20px}.appointments-empty-state strong{color:var(--patient-heading);font-size:14px}.appointments-empty-state p{color:var(--patient-muted);margin:3px 0 0;font-size:12px}.appointment-skeleton{border:1px solid var(--patient-line);background:#fff;border-radius:14px;flex-direction:column;justify-content:center;gap:16px;min-height:260px;padding:32px;display:flex}.skeleton-line{background:linear-gradient(90deg,#edf4f3 25%,#f7faf9 50%,#edf4f3 75%) 0 0/200% 100%;border-radius:999px;width:100%;height:14px;animation:1.4s ease-in-out infinite appointment-skeleton}.skeleton-short{width:20%;height:10px}.skeleton-title{width:54%;height:27px}.skeleton-medium{width:68%}@keyframes appointment-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.exam-accordion-content,.exam-accordion-chevron svg,.appointment-full-card,.contact-reception-btn,.skeleton-line{transition:none;animation:none}}.appointments-timeline{flex-direction:column;display:flex}.timeline-item{grid-template-columns:24px minmax(0,1fr);min-width:0;display:grid}.timeline-rail{justify-content:center;display:flex;position:relative}.timeline-rail:after{content:"";background:#c9e1de;width:1px;position:absolute;top:17px;bottom:-17px}.timeline-item:last-child .timeline-rail:after{display:none}.timeline-rail span{z-index:1;background:var(--patient-teal);box-sizing:content-box;border:3px solid #d9efeb;border-radius:50%;width:11px;height:11px;margin-top:22px;position:relative}.timeline-content{background:#fff;border:1px solid #e0eceb;border-radius:11px;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:20px;margin:0 0 14px 10px;padding:17px 19px;transition:background .16s,border-color .16s;display:grid}.timeline-content:hover{background:#fbfdfd;border-color:#c5dfdc}.timeline-date,.timeline-main{flex-direction:column;min-width:0;display:flex}.timeline-date{gap:2px}.timeline-date span{color:var(--patient-teal);letter-spacing:.04em;font-size:16px;font-weight:700}.timeline-date small{color:var(--patient-muted);font-size:15px;font-weight:600}.timeline-main{gap:3px}.timeline-main strong{color:var(--patient-heading);overflow-wrap:anywhere;font-size:16px;font-weight:650}.timeline-main p{color:var(--patient-muted);margin:0;font-size:14px;line-height:1.5}.timeline-main>span{color:#51636a;font-size:14px}.timeline-main i{color:#71aaa3;padding:0 4px;font-style:normal}.reception-banner-card{color:#fff;background:linear-gradient(135deg,#0d5f6b 0%,#063c45 100%);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex;box-shadow:0 4px 14px #0d5f6b26}.reception-banner-text h3{margin:0;font-size:15px;font-weight:600}.reception-banner-text p{color:#ffffffd9;margin:4px 0 0;font-size:12px}.reception-whatsapp-btn{color:#063c45;white-space:nowrap;background:#25d366;border-radius:8px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .15s,filter .15s;display:inline-flex;box-shadow:0 2px 8px #00000026}.reception-whatsapp-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.appointments-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.appointment-item-card{border:1px solid var(--patient-line);text-align:left;background:#fff;border-radius:10px;flex-direction:column;gap:10px;padding:16px;display:flex}.appointment-item-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.appointment-item-date{color:var(--patient-heading);font-size:13px;font-weight:600}.profile-page-card{width:min(100%,1120px);margin-left:auto;margin-right:auto}.profile-page-header{align-items:center;gap:24px}.profile-page-subtitle{color:var(--patient-muted);margin:5px 0 0;font-size:14px;line-height:1.5}.readonly-badge{border:1px solid var(--patient-teal-border);background:var(--patient-teal-soft);min-height:34px;color:var(--patient-teal);border-radius:999px;flex:none;align-items:center;gap:7px;padding:6px 11px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.readonly-badge svg{width:16px;height:16px}.profile-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.profile-section-card{border:1px solid var(--patient-line);border-radius:var(--patient-card-radius);background:var(--patient-card-bg);min-width:0;box-shadow:var(--patient-card-shadow);padding:20px}.profile-address-card,.profile-notice-box{grid-column:1/-1}.profile-section-title{border-bottom:1px solid var(--patient-line);color:var(--patient-section-title);align-items:center;gap:9px;margin:0 0 18px;padding-bottom:12px;font-size:17px;font-weight:700;line-height:1.3;display:flex}.profile-section-title svg{width:21px;height:21px;color:var(--patient-teal);flex:none}.profile-fields-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;margin:0;display:grid}.profile-address-grid{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(130px,1fr))}.profile-field{min-width:0}.profile-field:first-child{grid-column:1/-1}.profile-address-grid .profile-field:first-child{grid-column:auto}.profile-field .field-label,.profile-field .field-val{margin:0;display:block}.profile-field .field-label{color:var(--patient-muted);margin-bottom:6px;font-size:14px;font-weight:650;line-height:1.35}.profile-field .field-val{color:var(--patient-text);overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.5}.profile-notice-box{border:1px solid var(--patient-teal-border);background:linear-gradient(135deg, var(--patient-teal-soft), #f8fcfb);border-radius:12px;align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.profile-notice-icon{width:38px;height:38px;color:var(--patient-teal);box-shadow:inset 0 0 0 1px var(--patient-teal-border);background:#fff;border-radius:10px;flex:none;place-items:center;display:grid}.profile-notice-icon svg{width:20px;height:20px}.profile-notice-box strong{color:var(--patient-heading);font-size:15px;font-weight:700;line-height:1.45;display:block}.profile-notice-box p{color:var(--patient-sub);margin:5px 0 0;font-size:14px;line-height:1.6}.help-page-container{flex-direction:column;gap:20px;display:flex}.help-contact-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.help-card{border:1px solid var(--patient-line);text-align:center;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:20px;display:flex}.help-card-icon{background:var(--patient-teal-soft);width:44px;height:44px;color:var(--patient-teal);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.help-card-title{color:var(--patient-heading);font-size:14px;font-weight:600}.help-card-desc{color:var(--patient-muted);font-size:12px}.help-card-action{color:var(--patient-teal);margin-top:8px;font-size:13px;font-weight:600;text-decoration:none}.help-card-action:hover{text-decoration:underline}.patient-footer{border-top:1px solid var(--patient-line);color:var(--patient-muted);justify-content:space-between;align-items:center;margin-top:36px;padding-top:18px;font-size:12px;display:flex}.patient-footer-copy{gap:8px;display:flex}.patient-footer-right{align-items:center;gap:12px;display:flex}.patient-footer-right button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.patient-footer-right button:hover{color:var(--patient-teal);text-decoration:underline}.footer-velliora{color:inherit;align-items:center;gap:6px;text-decoration:none;display:flex}.footer-velliora img{object-fit:contain;height:13px}.support-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.support-channel-card{border:1px solid var(--patient-line);background:#fff;border-radius:12px;flex-direction:column;gap:16px;min-height:330px;padding:22px;transition:all .2s;display:flex;box-shadow:0 2px 10px #06242c08}.support-channel-card:hover{box-shadow:0 4px 18px #06242c12}.support-channel-card.card-whatsapp{background:linear-gradient(#f0fdf4 0%,#fff 42%);border-color:#dcfce7}.support-channel-card.card-email{background:linear-gradient(#f0f9ff 0%,#fff 42%);border-color:#e0f2fe}.support-channel-card.card-location{background:linear-gradient(#fefce8 0%,#fff 42%);border-color:#fef08a}.support-card-header{align-items:flex-start;gap:14px;display:flex}.support-channel-icon-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px;display:flex}.support-channel-icon-badge.whatsapp{background:#dcfce7}.support-channel-icon-badge.email{background:#e0f2fe}.support-channel-icon-badge.location{background:#fef3c7}.support-channel-icon-badge svg,.support-channel-icon-badge .whatsapp-icon-svg{flex-shrink:0;width:22px!important;max-width:22px!important;height:22px!important;max-height:22px!important}.support-card-title-group{flex-direction:column;gap:4px;min-width:0;display:flex}.support-title{color:#0f3640;margin:0;font-size:15px;font-weight:700;line-height:1.25}.support-desc{color:#64748b;margin:0;font-size:12.5px;line-height:1.35}.support-primary-btn.whatsapp,.support-outline-btn{cursor:pointer;box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:44px;min-height:44px;padding:0 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.support-primary-btn.whatsapp{color:#fff;background:#007a5e;border:1px solid #006b52}.support-primary-btn.whatsapp:hover{background:#00684f}.support-primary-btn.whatsapp svg,.support-primary-btn.whatsapp .whatsapp-icon-svg,.support-outline-btn svg,.support-outline-btn .whatsapp-icon-svg{flex-shrink:0;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important}.support-outline-btn{color:#00616d;background:#fff;border:1px solid #cbd5e1}.support-outline-btn:hover{background:#f8fafc;border-color:#94a3b8}.support-contact-box{color:#334155;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.support-contact-box svg{flex-shrink:0;width:16px!important;height:16px!important}.support-contact-text{min-width:0}.support-copy-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;place-items:center;margin-left:auto;padding:4px;transition:all .15s;display:grid}.support-copy-btn:hover{color:#0f172a;background:#e2e8f0}.support-copy-btn svg{flex-shrink:0;width:14px!important;height:14px!important}.support-address-block{color:#334155;font-size:13px;line-height:1.4}.support-schedule-note{color:#64748b;flex-direction:column;gap:2px;margin-top:auto;padding-top:4px;font-size:11.5px;display:flex}.support-schedule-note.with-icon{flex-direction:row;align-items:flex-start;gap:8px}.support-schedule-note svg{flex-shrink:0;width:15px!important;height:15px!important}.support-contact-form-section{border:1px solid var(--patient-line);background:#fff;border-radius:12px;width:100%;margin-top:24px;padding:24px;box-shadow:0 2px 10px #06242c08}.support-form-header{border-bottom:1px solid #f1f5f9;margin-bottom:20px;padding-bottom:14px}.support-form-title{color:var(--patient-heading);letter-spacing:.02em;margin:0;font-size:16px;font-weight:700}.support-form-subtitle{color:#64748b;margin:4px 0 0;font-size:13px;line-height:1.45}.support-contact-form{flex-direction:column;gap:18px;display:flex}.support-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}.support-form-group{flex-direction:column;gap:6px;display:flex}.support-form-group.full-width{grid-column:1/-1}.support-form-label{color:var(--patient-heading);font-size:13px;font-weight:600}.support-form-input,.support-form-textarea{border:1px solid var(--patient-line);width:100%;color:var(--patient-text);box-sizing:border-box;background:#fff;border-radius:8px;outline:none;padding:10px 14px;font-family:inherit;font-size:13.5px;transition:all .15s}.support-form-input:focus,.support-form-textarea:focus{border-color:var(--patient-teal);box-shadow:0 0 0 3px #00616d1f}.support-form-input:disabled,.support-form-textarea:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.support-form-textarea{resize:vertical;min-height:100px}.support-form-counter{color:#94a3b8;justify-content:flex-end;margin-top:2px;font-size:11.5px;display:flex}.support-form-consent{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.support-checkbox-label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.support-checkbox-input{width:18px;height:18px;accent-color:var(--patient-teal);cursor:pointer;flex-shrink:0;margin-top:2px}.support-checkbox-text{color:#334155;font-size:12.5px;line-height:1.45}.support-privacy-link{color:#00616d;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.support-privacy-link:hover{color:#0d7f6c}.support-form-actions{justify-content:flex-start;align-items:center;margin-top:4px;display:flex}.support-submit-btn{background:var(--patient-teal);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 24px;font-family:inherit;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.support-submit-btn:hover:not(:disabled){background:var(--patient-teal-hover);box-shadow:0 4px 14px #00616d33}.support-submit-btn:disabled{opacity:.65;cursor:not-allowed}.support-form-alert{border-radius:8px;align-items:flex-start;gap:12px;padding:12px 16px;font-size:13px;line-height:1.4;animation:.2s ease-out modalFadeIn;display:flex}.support-form-alert.success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.support-form-alert.success strong{margin-bottom:2px;font-weight:700;display:block}.support-form-alert.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.support-form-alert.error strong{margin-bottom:2px;font-weight:700;display:block}@media (width<=900px){.support-cards-grid,.support-form-grid{grid-template-columns:1fr}.support-form-group.full-width{grid-column:auto}.support-contact-form-section{margin-top:20px;padding:18px}}@media (width<=1280px){.campaigns-cards-grid,.campaigns-cards-grid.count-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1024px){.kpi-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-two-columns-grid,.help-contact-cards,.support-cards-grid{grid-template-columns:1fr}.appointment-full-body{grid-template-columns:160px minmax(0,1fr);gap:20px}.appointment-guidance{flex-direction:column;align-items:flex-start}.timeline-content{grid-template-columns:110px minmax(0,1fr)}.timeline-content .history-status-pill{grid-column:2}.profile-details-grid{grid-template-columns:1fr}.profile-address-card,.profile-notice-box{grid-column:auto}.profile-address-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.exams-portal-wrapper{flex-direction:column}.patient-sidebar{width:100%;min-height:auto;padding:16px}.sidebar-bottom{display:none}.dashboard-content-area{padding:16px}.exam-card-main-header{flex-direction:column;align-items:flex-start;gap:14px}.exam-card-actions-right{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%}.patient-portal-page-shell:after{opacity:.75;background-size:1100px}.dashboard-header-row{flex-direction:column;gap:14px}.header-actions-area{justify-content:space-between;width:100%}.campaigns-cards-grid,.campaigns-cards-grid.count-1,.campaigns-cards-grid.count-2,.campaigns-cards-grid.count-3,.campaigns-cards-grid.count-4{grid-template-columns:1fr}.profile-page-header{flex-direction:column;align-items:flex-start;gap:12px}.profile-section-card{padding:18px}.patient-footer{flex-direction:column;align-items:flex-start;gap:12px}.appointment-full-body{grid-template-columns:1fr;gap:18px;padding:20px}.appointment-detail-grid{grid-template-columns:1fr 1fr}.appointment-date-panel{text-align:left;grid-template-columns:auto auto 1fr;justify-content:start;align-items:center;display:grid}.appointment-calendar-date{grid-template-columns:auto auto;align-items:center;gap:0 8px;display:grid}.calendar-weekday{grid-column:1/-1}.appointment-calendar-date strong{font-size:38px}.calendar-month{flex-direction:column;display:flex}.appointment-time{border-top:0;border-left:1px solid #dcebea;justify-self:end;padding:0 0 0 16px}.timeline-content{grid-template-columns:1fr auto;gap:10px 16px}.timeline-date,.timeline-main{grid-column:1}.timeline-content .history-status-pill{grid-area:1/2/span 2}}@media (width<=480px){.kpi-cards-grid{grid-template-columns:1fr}.exam-main-bar{flex-direction:column;align-items:flex-start}.exam-card-actions{justify-content:flex-end;width:100%}.reception-banner-card{flex-direction:column;align-items:flex-start}.appointments-page-heading h2{font-size:21px}.appointment-full-header{flex-direction:column;align-items:flex-start}.appointment-detail-grid{grid-template-columns:1fr}.contact-reception-btn{justify-content:center;width:100%}.appointment-guidance{padding:16px}.profile-fields-list,.profile-address-grid{grid-template-columns:1fr}.profile-field:first-child,.profile-address-grid .profile-field:first-child{grid-column:auto}.profile-notice-box{padding:16px}.appointment-procedure-block strong{font-size:21px}.appointment-date-panel{grid-template-columns:auto 1fr}.today-indicator{grid-column:1/-1}.appointment-time{justify-self:end}.timeline-content{flex-direction:column;align-items:flex-start;gap:8px;padding:15px;display:flex}.timeline-content .history-status-pill{order:3}.timeline-main>span{flex-wrap:wrap;display:flex}}
