@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/quicksand-vietnamese-400-normal-CYVZRxRj.woff2)format("woff2"),url(/assets/quicksand-vietnamese-400-normal-D4WCpyCa.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/quicksand-latin-ext-400-normal-BdPaGDPN.woff2)format("woff2"),url(/assets/quicksand-latin-ext-400-normal-BzqwlOho.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/quicksand-latin-400-normal-BSDtH9U0.woff2)format("woff2"),url(/assets/quicksand-latin-400-normal-BqXBKzPR.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/quicksand-vietnamese-500-normal-CMA0PiFa.woff2)format("woff2"),url(/assets/quicksand-vietnamese-500-normal-DdPH4leT.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/quicksand-latin-ext-500-normal-Rkq3IeWS.woff2)format("woff2"),url(/assets/quicksand-latin-ext-500-normal-BlYHgpcu.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/quicksand-latin-500-normal-_DbwbYKP.woff2)format("woff2"),url(/assets/quicksand-latin-500-normal-7J1fbcAD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-vietnamese-600-normal-dD2kotB2.woff2)format("woff2"),url(/assets/quicksand-vietnamese-600-normal-JmvBH-hY.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-latin-ext-600-normal-fxOF3zcr.woff2)format("woff2"),url(/assets/quicksand-latin-ext-600-normal-BDPVAPCS.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-latin-600-normal-DTBPeRoM.woff2)format("woff2"),url(/assets/quicksand-latin-600-normal-CkxN0sDw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/quicksand-vietnamese-700-normal-5oDqeHTF.woff2)format("woff2"),url(/assets/quicksand-vietnamese-700-normal-BsIWXrxI.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/quicksand-latin-ext-700-normal-8b1JBoEj.woff2)format("woff2"),url(/assets/quicksand-latin-ext-700-normal-DbLsDSEV.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/quicksand-latin-700-normal-Dpk7G9Y6.woff2)format("woff2"),url(/assets/quicksand-latin-700-normal-HjJN-aaT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{-webkit-font-smoothing:antialiased;font-family:Quicksand,system-ui,-apple-system,Segoe UI,sans-serif}.auth-layout{background:linear-gradient(145deg,#78cfdd 0%,#6cc5d8 55%,#72d6e2 100%);min-height:100vh;position:relative;overflow:hidden}.auth-layout:after{content:"";opacity:.15;background:radial-gradient(140px 48px at 70px 50px,#111,#0000 70%),repeating-radial-gradient(circle at 100px 70px,#9fb5c1 0 16px,#3b4c56 16px 33px);height:220px;position:absolute;bottom:-100px;left:-8%;right:-8%}.auth-layout__content{z-index:2;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:relative}.auth-layout__header{text-align:center;margin-bottom:28px}.auth-layout__bg-icon{z-index:1;color:#ffffff38;line-height:1;position:absolute}.auth-layout__bg-icon--plus{font-size:74px;top:14%;left:10%}.auth-layout__bg-icon--heart{font-size:66px;top:22%;right:14%}.auth-layout__bg-icon--medical{font-size:90px;bottom:20%;right:10%}@media (width<=768px){.auth-layout__bg-icon--plus{font-size:54px}.auth-layout__bg-icon--heart{font-size:48px}.auth-layout__bg-icon--medical{font-size:64px}}.portal-layout{min-height:100vh}.portal-layout__brand{align-items:center;gap:10px;padding:16px;display:flex}.portal-layout__brand-mark{background:#6cc5d8;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.portal-layout__brand-logo{object-fit:contain;width:22px;height:22px}.portal-layout__brand-text{color:#6cc5d8;letter-spacing:.6px;font-size:24px;font-weight:700}.portal-layout__header{background:#fff;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding-inline:16px;display:flex}.portal-layout__content{background:#f5f7fb;padding:20px}.portal-layout__menu .ant-menu-item .ant-menu-title-content{font-size:15px;font-weight:600}.portal-layout__profile-link.ant-btn{max-width:220px;padding-inline:0;font-weight:700;color:#111!important}.portal-layout__profile-link.ant-btn:hover,.portal-layout__profile-link.ant-btn:focus{color:#6cc5d8!important}.portal-layout__header-actions{flex-wrap:nowrap}.portal-layout__mobile-menu-button.ant-btn{width:38px;height:38px;font-size:20px}.portal-layout__notification-button.ant-btn{color:#6cc5d8;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:inline-flex}.portal-layout__notification-button.ant-btn:hover,.portal-layout__notification-button.ant-btn:focus{color:#4ab3ca;background:#f0fbfe}.portal-layout__notification-button--ringing .anticon{transform-origin:top;animation:.65s ease-in-out portal-bell-ring}@keyframes portal-bell-ring{0%{transform:rotate(0)}15%{transform:rotate(16deg)}30%{transform:rotate(-14deg)}45%{transform:rotate(10deg)}60%{transform:rotate(-8deg)}75%{transform:rotate(5deg)}to{transform:rotate(0)}}@media (width<=992px){.portal-layout__header{padding-inline:10px}.portal-layout__content{padding:12px}.portal-layout__greeting-label{display:none}.portal-layout__profile-link.ant-btn{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.portal-layout__header-actions .ant-space-item:last-child .ant-btn{padding-inline:10px}}.home-page{background:#f5f7fb;min-height:100vh}.hero{background:linear-gradient(145deg,#78cfdd 0%,#6cc5d8 55%,#72d6e2 100%);min-height:74vh;padding:26px 64px 90px;position:relative;overflow:hidden}.hero:after{content:"";opacity:.2;background:radial-gradient(140px 48px at 70px 50px,#111,#0000 70%),repeating-radial-gradient(circle at 100px 70px,#9fb5c1 0 16px,#3b4c56 16px 33px);height:220px;position:absolute;bottom:-85px;left:-8%;right:-8%}.hero__topbar{z-index:2;justify-content:space-between;align-items:center;display:flex;position:relative}.hero__brand{align-items:center;gap:10px;display:flex}.hero__logo{object-fit:contain;width:auto;height:44px}.hero__brand-text{color:#f8fdff;letter-spacing:.2px;font-family:Quicksand,system-ui,sans-serif;font-size:24px;font-weight:700}.hero__ghost-btn{color:#ecf7fb!important}.hero__content{z-index:2;text-align:center;max-width:760px;margin:110px auto 0;position:relative}.hero__title.ant-typography{color:#f7fbfd;margin-bottom:8px;font-size:clamp(34px,5vw,72px);font-weight:700;line-height:1.1}.hero__subtitle.ant-typography{color:#f0fafc;margin-bottom:28px;font-size:18px}.hero__cta.ant-btn{color:#6cc5d8;background:#fff;border-color:#fff;border-radius:12px;min-width:220px;height:48px;font-weight:600;transition:all .2s;box-shadow:0 10px 24px #16454e2e}.hero__cta.ant-btn:hover,.hero__cta.ant-btn:focus{transform:translateY(-1px);box-shadow:0 14px 28px #16454e38;color:#6cc5d8!important;background:#fff!important;border-color:#fff!important}.hero__portal-btn.ant-btn{color:#6cc5d8;background:#fff;border-color:#fff;border-radius:10px;font-weight:600;transition:all .2s;box-shadow:0 8px 18px #16454e24}.hero__portal-btn.ant-btn:hover,.hero__portal-btn.ant-btn:focus{transform:translateY(-1px);box-shadow:0 12px 22px #16454e33;color:#6cc5d8!important;background:#fff!important;border-color:#fff!important}.services{max-width:1200px;margin:0 auto;padding:24px 24px 40px}.services .ant-row{align-items:stretch}.services .ant-col{display:flex}.services__card{border-radius:14px;width:100%;height:100%}.services__icon{color:#45b3c6;margin-bottom:8px;font-size:34px;line-height:1}.services__card .ant-typography{margin-bottom:8px}@media (width<=768px){.hero{min-height:66vh;padding:20px 18px 70px}.hero__content{margin-top:88px}.hero__logo{height:34px}.hero__brand-text{font-size:18px}}.auth-page__button.ant-btn{border-radius:12px;height:46px;font-weight:600;transition:all .2s;box-shadow:0 10px 24px #16454e2e;color:#fff!important;background:#6cc5d8!important;border-color:#6cc5d8!important}.auth-page__button.ant-btn:hover,.auth-page__button.ant-btn:focus,.auth-page__button.ant-btn:active,.auth-page__button.ant-btn.ant-btn-loading{color:#fff!important;background:#6cc5d8!important;border-color:#6cc5d8!important}.auth-page__button.ant-btn:hover,.auth-page__button.ant-btn:focus{transform:translateY(-1px);box-shadow:0 14px 28px #16454e38}.medicine-grid{width:100%}.medicine-grid__list{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.medicine-grid__cover{background:#f5f7fb;border-radius:12px 12px 0 0;justify-content:center;align-items:center;height:160px;display:flex;overflow:hidden}.medicine-grid__cover img{object-fit:cover;width:100%;height:100%}.medicine-grid__cover-fallback{color:#8c8c8c;font-weight:600}.medicine-grid__card{border-radius:12px;flex-direction:column;width:100%;height:100%;display:flex}.medicine-grid__card .ant-card-cover{flex-shrink:0}.medicine-grid__card .ant-card-body{flex-direction:column;flex:1;gap:8px;display:flex}.medicine-grid__meta{flex-direction:column;gap:8px;display:flex}.medicine-grid__unit.ant-typography{min-height:66px;margin:0}.medicine-grid__actions{gap:4px;margin-top:auto;display:flex}.medicine-grid__actions .ant-btn{padding-left:0}.medicine-grid__pagination{justify-content:center;margin-top:8px;display:flex}@media (width<=1200px){.medicine-grid__list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=992px){.medicine-grid__list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.medicine-grid__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.medicine-grid__list{grid-template-columns:1fr}}.doctor-schedule__toolbar{justify-content:space-between;width:100%}.doctor-schedule__heading{flex-direction:column;gap:6px;display:flex}.doctor-schedule__filters{margin-left:auto}.doctor-schedule__record-card{border-color:#d8eef3;width:100%;box-shadow:0 18px 40px #6cc5d81f}.doctor-schedule__record-reveal{transform-origin:top;width:100%;animation:.26s cubic-bezier(.22,1,.36,1) doctor-schedule-record-enter}.doctor-schedule__record-subcard{background:linear-gradient(#fbfeff 0%,#f4fbfd 100%);border-color:#e6f4f7;border-radius:14px;transition:transform .18s,box-shadow .18s}.doctor-schedule__record-subcard:hover{transform:translateY(-1px);box-shadow:0 10px 24px #6cc5d81a}@keyframes doctor-schedule-record-enter{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.doctor-schedule__record-reveal{animation:none}.doctor-schedule__record-subcard{transition:none}}@media (width<=768px){.doctor-schedule__filters{width:100%;margin-left:0}.doctor-schedule__filters .ant-picker,.doctor-schedule__filters .ant-select,.doctor-schedule__filters .ant-input-affix-wrapper,.doctor-schedule__filters .ant-input{width:100%!important}}.doctor-examination,.doctor-examination__stack{width:100%}.doctor-examination__hero{background:radial-gradient(circle at 100% 0,#6cc5d833,#0000 32%),linear-gradient(#fcffff 0%,#f2fafc 100%);border:1px solid #d7eef3;overflow:hidden;box-shadow:0 20px 40px #6cc5d81f}.doctor-examination__hero-row{justify-content:space-between;align-items:flex-start;gap:16px;width:100%;display:flex}.doctor-examination__hero-text{flex-direction:column;gap:8px;display:flex}.doctor-examination__hero-tags{flex-wrap:wrap;gap:8px;display:flex}.doctor-examination__summary-grid{margin-top:4px}.doctor-examination__progress-card,.doctor-examination__section,.doctor-examination__lab-item,.doctor-examination__summary-card{border-color:#e2f1f5;border-radius:18px}.doctor-examination__progress-card{position:sticky;top:24px}.doctor-examination__progress-list{gap:12px;display:grid}.doctor-examination__progress-item{background:linear-gradient(#fbfeff 0%,#f6fbfd 100%);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.doctor-examination__progress-item strong{margin-bottom:4px;display:block}.doctor-examination__section-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.doctor-examination__section-note{text-align:right;max-width:280px}.doctor-examination__medication-row{background:#fbfeff;border:1px dashed #cfe6eb;border-radius:16px;padding:16px}.doctor-examination__lab-item{background:linear-gradient(#fff 0%,#f7fbfd 100%)}.doctor-examination__lab-item+.doctor-examination__lab-item{margin-top:12px}.doctor-examination__result-block{background:#f5fbf7;border:1px solid #dcefe2;border-radius:14px;padding:14px}@media (width<=991px){.doctor-examination__progress-card{position:static}}@media (width<=768px){.doctor-examination__hero-row,.doctor-examination__section-header{flex-direction:column}.doctor-examination__section-note{text-align:left;max-width:none}}.doctor-patient-history{width:100%}.doctor-patient-history__hero,.doctor-patient-history__section,.doctor-patient-history__detail-card,.doctor-patient-history__lab-card{border-color:#e2f1f5;border-radius:18px}.doctor-patient-history__hero{background:radial-gradient(circle at 100% 0,#6cc5d82e,#0000 34%),linear-gradient(#fcffff 0%,#f3fafc 100%);border:1px solid #d7eef3;overflow:hidden;box-shadow:0 20px 40px #6cc5d81f}.doctor-patient-history__hero-header{justify-content:space-between;align-items:flex-start;gap:16px;width:100%;display:flex}.doctor-patient-history__section .ant-card-body{padding:20px}.doctor-patient-history__section .ant-card-head{min-height:auto}.doctor-patient-history__section .ant-card-head-title,.doctor-patient-history__section .ant-card-extra{padding:18px 0}.doctor-patient-history__section-caption{margin-bottom:14px;display:block}.doctor-patient-history__patient-row,.doctor-patient-history .ant-table-tbody>tr{cursor:pointer}.doctor-patient-history__selected-card{background:linear-gradient(#fff 0%,#fbfdfe 100%);border:1px solid #e6f0f3;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.doctor-patient-history__selected-main{align-items:center;gap:16px;min-width:0;display:flex}.doctor-patient-history__identity-icon{color:#57b9cf;background:#eef8fb;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:inline-flex}.doctor-patient-history__identity-text{min-width:0}.doctor-patient-history__selected-stats{flex:1;grid-template-columns:repeat(3,minmax(160px,1fr));gap:16px;display:grid}.doctor-patient-history__selected-stat{background:#f8fbfc;border:1px solid #edf4f6;border-radius:14px;padding:14px 16px}.doctor-patient-history__selected-stat strong{color:#1f1f1f;margin-top:8px;font-size:18px;line-height:1.5;display:block}.doctor-patient-history__metric-value{color:#1f1f1f;margin-top:10px;font-size:32px;font-weight:700;line-height:1}.doctor-patient-history__metric-time{color:#1f1f1f;margin-top:10px;font-size:26px;font-weight:700;line-height:1.1}.doctor-patient-history .ant-table-wrapper .ant-table-thead>tr>th{background:#fbfdfe}.doctor-patient-history .ant-table-pagination.ant-pagination{margin-bottom:0}.doctor-patient-history__lab-card{background:linear-gradient(#fff 0%,#f7fbfd 100%)}@media (width<=768px){.doctor-patient-history__hero-header{flex-direction:column;gap:12px}.doctor-patient-history__selected-card{flex-direction:column;align-items:stretch}.doctor-patient-history__selected-stats{grid-template-columns:1fr}.doctor-patient-history__selected-main{align-items:flex-start}}
