@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-cyrillic-ext-400-normal-2NNEY4IT.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-400-normal-R5TFPZPA.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-vietnamese-400-normal-4YNBRCN2.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-400-normal-7YKB3GLW.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-latin-ext-400-normal-DETV4OMK.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-400-normal-3TVPHM4Q.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-latin-400-normal-EIG3GRNB.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-400-normal-GNGT626H.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-cyrillic-ext-500-normal-ICQOKO3Z.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-500-normal-EYPG33CN.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-vietnamese-500-normal-VNXHDEF3.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-500-normal-INHXTASZ.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-latin-ext-500-normal-ZEMRWY4K.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-500-normal-UA6NZWG2.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-latin-500-normal-NGHMNRZC.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-500-normal-77CDR4QO.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-cyrillic-ext-600-normal-S7UNJGCL.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-600-normal-QYPGW4MS.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-vietnamese-600-normal-V3IXZNX5.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-600-normal-P5XL7VYH.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-latin-ext-600-normal-7SBJ4PZZ.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-600-normal-KTG2KSBM.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-latin-600-normal-EJXYMLOY.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-600-normal-FM56PCEU.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-cyrillic-ext-700-normal-BPSWBP5S.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-700-normal-5PWJCKSC.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-vietnamese-700-normal-OTDKNK4B.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-700-normal-WJ3WOQI4.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-latin-ext-700-normal-KUHVEBZO.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-700-normal-JCLRB63R.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-latin-700-normal-3BBEPNMU.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-700-normal-F25JOMMF.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url("./media/plus-jakarta-sans-cyrillic-ext-800-normal-H6GEZSAJ.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-800-normal-TU3TCRUV.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url("./media/plus-jakarta-sans-vietnamese-800-normal-JLS7EPQM.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-800-normal-KLRGDIAF.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url("./media/plus-jakarta-sans-latin-ext-800-normal-6I4TSQ3H.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-800-normal-4KWVWNBI.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url("./media/plus-jakarta-sans-latin-800-normal-6VZCEYVW.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-800-normal-EORNKM4V.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.portal-page{padding:32px 34px 48px;max-width:1560px;margin:0 auto}.portal-page h1,.portal-page h2,.portal-page p{margin:0}.portal-page-heading,.portal-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.portal-page-heading h1,.portal-welcome h1{margin:5px 0 7px;color:#061826;font-size:30px;letter-spacing:-.025em}.portal-page-heading p,.portal-welcome p{max-width:720px;color:#5f6c80;font-size:14px;line-height:1.65}.portal-welcome{align-items:center;padding:26px 28px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(115deg,#fff 55%,var(--brand-soft));box-shadow:0 12px 32px #0f172a0f}.portal-main-action{min-height:48px;padding-inline:20px}.portal-surface{border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 8px 24px #0f172a0a}.portal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.portal-stats article,.portal-finance-summary article{display:flex;align-items:center;gap:14px;min-height:108px;padding:18px 20px;border:1px solid #dfe5ee;border-radius:14px;background:#fff}.portal-stats article>span,.portal-finance-summary article>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:12px;color:#0f766e;background:var(--brand-soft);font-size:20px}.portal-stats small,.portal-finance-summary small{display:block;color:#6a7587;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.portal-stats strong,.portal-finance-summary strong{display:block;margin-top:2px;color:#061826;font-size:24px}.portal-stats p{color:#7b8595;font-size:11px}.portal-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:18px}.portal-surface>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:21px 22px;border-bottom:1px solid var(--border)}.portal-surface>header span,.portal-contract-detail>section>span{display:block;color:#0f766e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.portal-surface>header h2{margin:4px 0;color:var(--tertiary);font-size:18px}.portal-surface>header p{color:#657185;font-size:12px}.portal-surface>header a{display:flex;align-items:center;gap:5px;color:#0f766e;font-size:12px;font-weight:800}.portal-balance-lines{display:grid;gap:18px;padding:22px}.portal-balance-lines article>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-balance-lines article span{color:#3c4960;font-size:12px;font-weight:700}.portal-balance-lines article strong{color:#061826;font-size:18px}.portal-balance-lines i{display:block;height:7px;margin:8px 0 6px;overflow:hidden;border-radius:20px;background:#edf1f6}.portal-balance-lines i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#2aa198)}.portal-balance-lines small{color:#737f91;font-size:10px}.portal-call-list{padding:8px 14px 14px}.portal-call-list a{display:grid;grid-template-columns:10px minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:13px 8px;border-bottom:1px solid var(--surface-muted);transition:background .18s ease,transform .18s ease}.portal-call-list a:hover{border-radius:10px;background:var(--surface-subtle);transform:translate(2px)}.portal-call-list a:last-child{border-bottom:0}.call-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 4px #0f766e14}.portal-call-list strong,.portal-contract-list strong,.portal-payment-list strong{display:block;color:#061826;font-size:12px}.portal-call-list small,.portal-contract-list small,.portal-payment-list small{display:block;margin-top:3px;color:#748095;font-size:10px}.portal-status{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:20px;color:#315477;background:#edf4fb;font-size:10px;font-weight:800;white-space:nowrap}.portal-status.prominent{min-height:34px;padding-inline:13px;color:#196244;background:#e9f8f1}.portal-call-list.large{padding:0 14px}.portal-call-list.large a{grid-template-columns:10px minmax(170px,.7fr) minmax(230px,1.3fr) 130px auto 16px;min-height:76px}.portal-call-list.large .call-route strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-call-list.large time{color:#637087;font-size:10px}.portal-table-tools{align-items:center!important}.portal-table-tools>span{color:#697589!important;font-size:11px!important;text-transform:none!important;letter-spacing:0!important}.portal-table-tools>div strong,.portal-table-tools>div small{display:block}.portal-table-tools>div strong{color:var(--tertiary);font-size:14px}.portal-table-tools>div small{margin-top:3px;color:#728095;font-size:10px}.portal-table-tools .search-field{width:min(520px,100%);margin:0}.portal-empty{min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px;text-align:center}.portal-empty>ng-icon{margin-bottom:14px;color:#9aabc4;font-size:38px}.portal-empty strong{color:#061826;font-size:15px}.portal-empty p{max-width:440px;margin:7px 0 18px;color:#738095;font-size:12px;line-height:1.6}.portal-empty.compact{min-height:180px}.portal-skeleton{display:grid;gap:14px;padding:24px}.portal-skeleton i{height:108px;border-radius:14px;background:linear-gradient(90deg,var(--surface-soft),#f7f9fb,var(--surface-soft));background-size:200% 100%;animation:portal-shimmer 1.3s infinite}.portal-skeleton.rows i{height:62px}@keyframes portal-shimmer{to{background-position:-200% 0}}.portal-call-drawer{width:min(720px,100vw)}.portal-patient-drawer,.portal-contract-drawer{width:min(620px,100vw)}.portal-form-section{display:grid;gap:15px;padding:20px 22px;border-bottom:1px solid var(--border)}.form-section-title{display:flex;align-items:center;gap:10px}.form-section-title>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;border-radius:8px;color:#fff;background:#0f766e;font-size:11px;font-weight:800}.form-section-title strong,.form-section-title small{display:block}.form-section-title strong{color:#061826;font-size:12px}.form-section-title small{margin-top:2px;color:#798597;font-size:9px}.portal-form-section label>span{display:block;margin-bottom:6px;color:#344157;font-size:10px;font-weight:800}.portal-form-section input,.portal-form-section select,.portal-form-section textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid #d4dce7;border-radius:9px;color:#061826;background:#fff;font-size:12px;outline:0;transition:border-color .18s ease,box-shadow .18s ease}.portal-form-section textarea{resize:vertical}.portal-form-section input:focus,.portal-form-section select:focus,.portal-form-section textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.place-field{position:relative}.place-options{position:absolute;z-index:20;right:0;left:0;top:calc(100% + 5px);overflow:hidden;border:1px solid #d7deea;border-radius:10px;background:#fff;box-shadow:0 12px 26px #061d4a2e}.place-options button{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border:0;border-bottom:1px solid #edf0f5;background:#fff;text-align:left;cursor:pointer}.place-options button:hover{background:#f4f7fb}.place-options ng-icon{color:#0f766e}.place-options strong,.place-options small{display:block}.place-options strong{font-size:11px}.place-options small{margin-top:2px;color:#788497;font-size:9px}.choice-row{display:flex;align-items:center;gap:6px}.choice-row>span{margin-right:auto;color:#344157;font-size:10px;font-weight:800}.choice-row label{cursor:pointer}.choice-row input{position:absolute;opacity:0;width:1px;height:1px}.choice-row label span{min-height:32px;display:grid;place-items:center;margin:0;padding:5px 11px;border:1px solid #d8dfe9;border-radius:8px;color:#657185;background:#fff;font-size:10px}.choice-row input:checked+span{border-color:#0f766e;color:#0f766e;background:var(--brand-soft)}.portal-form-error{display:flex;align-items:center;gap:8px;margin:16px 22px 0;padding:11px 12px;border-radius:9px;color:#a22d35;background:#fff0f1;font-size:11px;font-weight:700}.portal-inline-empty{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #dce5f1;border-radius:10px;background:#f6f9fd}.portal-inline-empty>ng-icon{color:#0f766e;font-size:22px}.portal-inline-empty span{flex:1}.portal-inline-empty strong,.portal-inline-empty small{display:block}.portal-inline-empty strong{font-size:11px}.portal-inline-empty small{margin-top:2px;color:#738096;font-size:9px}.portal-inline-empty a{color:#0f766e;font-size:10px;font-weight:800}.portal-record-heading{display:flex;align-items:center;gap:18px;margin-bottom:22px}.portal-record-heading>div{flex:1}.portal-record-heading h1{margin:4px 0;color:#061826;font-size:27px}.portal-record-heading p{color:#68758a;font-size:12px}.portal-call-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.portal-call-detail-grid>main{display:grid;gap:18px}.portal-map-card>header>strong{padding:7px 10px;border-radius:8px;color:#0f766e;background:var(--brand-soft);font-size:11px}.portal-live-map{height:350px;background:#e9eef5}.portal-map-error{display:flex;align-items:center;justify-content:center;gap:8px;min-height:70px;color:#7a4d15;background:#fff8e8;font-size:11px}.portal-route{padding:20px 22px}.portal-route article{display:flex;align-items:center;gap:12px}.portal-route article i{width:31px;height:31px;display:grid;place-items:center;flex:0 0 31px;border-radius:50%;color:#fff;background:#0f766e;font-size:10px;font-style:normal;font-weight:800}.portal-route article:last-child i{background:#18a06b}.portal-route article small,.portal-route article strong{display:block}.portal-route article small{color:#7b8798;font-size:9px}.portal-route article strong{margin-top:3px;color:#061826;font-size:11px}.portal-route>span{display:block;width:1px;height:26px;margin:3px 0 3px 15px;background:#ccd7e5}.portal-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-top:1px solid var(--border);background:var(--border)}.portal-data-grid article{padding:15px;background:#fff}.portal-data-grid small,.portal-data-grid strong{display:block}.portal-data-grid small{color:#7b8798;font-size:9px}.portal-data-grid strong{margin-top:4px;color:#061826;font-size:11px}.portal-timeline{align-self:start}.portal-timeline ol{margin:0;padding:18px 22px;list-style:none}.portal-timeline li{position:relative;display:flex;gap:12px;min-height:62px}.portal-timeline li:not(:last-child):after{content:"";position:absolute;top:17px;bottom:-4px;left:5px;width:1px;background:#d8e0eb}.portal-timeline li>i{position:relative;z-index:1;width:11px;height:11px;margin-top:3px;flex:0 0 11px;border:2px solid #abb8cb;border-radius:50%;background:#fff}.portal-timeline li.done>i{border-color:#0f766e;background:#0f766e;box-shadow:0 0 0 4px var(--brand-soft)}.portal-timeline strong,.portal-timeline small{display:block}.portal-timeline strong{color:#263349;font-size:11px}.portal-timeline small{margin-top:4px;color:#788497;font-size:9px;line-height:1.5}.portal-patient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1px;background:var(--border)}.portal-patient-grid article{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:18px 20px;background:#fff}.portal-patient-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:#0f766e;background:var(--brand-soft);font-size:12px;font-weight:800}.portal-patient-grid strong,.portal-patient-grid small,.portal-patient-grid p{display:block}.portal-patient-grid strong{font-size:12px}.portal-patient-grid small,.portal-patient-grid p{margin:3px 0 0;color:#748095;font-size:9px}.portal-row-actions{display:flex;gap:3px}.portal-row-actions button{width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:8px;color:#607089;background:#f3f6f9;cursor:pointer}.portal-row-actions button:hover{color:#0f766e;background:var(--brand-soft)}.portal-contract-summary{margin-bottom:18px}.portal-contract-summary>header{align-items:center}.portal-contract-summary>header>span{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border-radius:13px;color:#fff;background:#0f766e;font-size:21px}.portal-contract-summary>header>div{flex:1}.portal-contract-summary>header>strong{color:#59677c;font-size:10px}.portal-contract-balances{display:flex;flex-wrap:wrap}.portal-contract-balances article{min-width:220px;flex:1;padding:18px 22px;border-right:1px solid var(--border)}.portal-contract-balances small,.portal-contract-balances strong,.portal-contract-balances span{display:block}.portal-contract-balances small{color:#6e7b8e;font-size:9px}.portal-contract-balances strong{margin:4px 0;color:#061826;font-size:18px}.portal-contract-balances span{color:#7e8999;font-size:9px}.portal-contract-list>button{width:100%;display:grid;grid-template-columns:42px minmax(230px,1fr) minmax(210px,.7fr) auto 18px;align-items:center;gap:14px;padding:16px 22px;border:0;border-bottom:1px solid #e9edf2;background:#fff;text-align:left;cursor:pointer}.portal-contract-list>button:hover{background:var(--surface-subtle)}.contract-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;color:#0f766e;background:var(--brand-soft);font-size:18px}.portal-contract-detail{overflow-y:auto;padding:20px 22px}.portal-contract-detail>.portal-data-grid{margin:-20px -22px 22px;border:1px solid var(--border)}.portal-contract-detail>section{margin-top:22px}.contract-service{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.contract-service strong,.contract-service small{display:block}.contract-service strong{font-size:11px}.contract-service small{margin-top:3px;color:#738095;font-size:9px}.contract-document{max-height:430px;margin-top:10px;padding:20px;overflow:auto;border:1px solid #dfe5ee;border-radius:10px;color:#27344a;background:#fbfcfd;font-size:11px;line-height:1.7}.portal-finance-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.portal-payment-list article{display:grid;grid-template-columns:38px minmax(0,1fr) 130px auto;align-items:center;gap:14px;padding:15px 22px;border-bottom:1px solid #e9edf2}.portal-payment-list article>span:first-child{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#946b1e;background:#fff5dc}.portal-payment-list article>span:first-child.paid{color:#19714c;background:#e9f8f1}.portal-child-card{display:grid;gap:12px;padding:14px;border:1px solid #dce5f1;border-radius:12px;background:#f7fafc}.portal-child-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.portal-child-card header strong{color:#061826;font-size:12px}@media(max-width:1100px){.portal-stats{grid-template-columns:repeat(2,1fr)}.portal-dashboard-grid,.portal-call-detail-grid{grid-template-columns:1fr}.portal-timeline{align-self:auto}.portal-call-list.large a{grid-template-columns:10px minmax(160px,1fr) auto 16px}.portal-call-list.large .call-route,.portal-call-list.large time{display:none}}@media(max-width:700px){.portal-page{padding:22px 16px 40px}.portal-page-heading,.portal-welcome{align-items:stretch;flex-direction:column}.portal-page-heading .button,.portal-welcome .button{justify-content:center}.portal-welcome{padding:21px}.portal-stats{grid-template-columns:1fr 1fr;gap:8px}.portal-stats article{min-height:94px;padding:13px}.portal-stats article>span{display:none}.portal-dashboard-grid{grid-template-columns:1fr}.portal-call-list.large a{grid-template-columns:9px minmax(0,1fr) 16px}.portal-call-list.large .portal-status{display:none}.portal-surface>header{padding:17px}.portal-table-tools{align-items:stretch!important;flex-direction:column}.portal-data-grid{grid-template-columns:repeat(2,1fr)}.portal-live-map{height:280px}.portal-record-heading{align-items:flex-start;flex-wrap:wrap}.portal-record-heading>div{order:3;flex-basis:100%}.portal-patient-grid{grid-template-columns:1fr}.portal-patient-grid article{grid-template-columns:42px minmax(0,1fr) auto}.portal-patient-grid .portal-status{display:none}.portal-contract-list>button{grid-template-columns:38px minmax(0,1fr) 16px;padding:14px}.portal-contract-list>button>div:nth-of-type(2),.portal-contract-list .portal-status{display:none}.portal-finance-summary{grid-template-columns:1fr}.portal-payment-list article{grid-template-columns:36px minmax(0,1fr) auto}.portal-payment-list article>.portal-status{display:none}.portal-payment-list article>strong{font-size:11px}.choice-row{align-items:stretch;flex-wrap:wrap}.choice-row>span{flex-basis:100%}}:root{font-family:Plus Jakarta Sans,sans-serif;color:#061826;background:#f8fafc;font-synthesis:none}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}body{overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{color:#fff;background:#0f766e}:where(button,a,input,select,textarea):focus-visible{outline:3px solid rgba(15,118,110,.2);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#cbd5e1;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}.app-shell{grid-template-columns:248px minmax(0,1fr)}.sidebar-header,.brand{min-height:80px;height:80px}.brand{padding:11px 50px 11px 20px}.brand-logo{width:176px;height:58px}.sidebar nav{padding:14px 10px 20px}.nav-section{margin:18px 12px 7px;color:var(--neutral);font-size:10px;letter-spacing:.1em}.sidebar nav a{min-height:44px;gap:12px;padding-inline:13px;border-radius:var(--radius-md);color:#475569;font-size:13px}.sidebar nav a.active{box-shadow:0 6px 16px #0d948833}.topbar{height:68px}.content,.finance-content{padding:28px 30px 36px}.page-heading{margin-bottom:22px}.eyebrow{margin-bottom:6px;color:var(--secondary);font-size:10px;letter-spacing:.1em}.page-heading h1{margin-bottom:6px;color:var(--ink);font-size:32px}.page-heading p{font-size:14px}:is(.summary,.dashboard-summary,.customer-summary,.patient-summary,.employee-summary,.access-summary,.plan-overview,.service-summary,.operation-pulse,.contract-pulse,.cash-position,.payroll-summary){overflow:hidden;border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}:is(.workspace,.agenda-workspace,.finance-workspace,.table-shell,.type-panel,.record-panel,.record-hero,.record-nav,.portal-surface){border-color:var(--border);border-radius:var(--radius-lg);background-color:var(--surface);box-shadow:var(--shadow-card)}:is(.button,.primary-button,.secondary-button){border-radius:var(--radius-md);transition:transform .18s ease,color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.button{min-height:44px;padding-inline:16px;font-size:12px}.primary{box-shadow:0 5px 12px #0f766e29}.primary:hover{box-shadow:0 7px 16px #0f766e33}:is(.search-box input,.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.settings-form-grid input,.settings-form-grid select,.settings-form-grid textarea){border-color:var(--border-strong);border-radius:var(--radius-md)}:is(.search-box input,.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.settings-form-grid input,.settings-form-grid select,.settings-form-grid textarea):focus{border-color:var(--brand);box-shadow:var(--focus-ring)}.table-meta{color:var(--muted)}th{color:var(--muted);background:var(--surface-subtle)}td{color:var(--text)}tbody tr:hover{background:var(--surface-subtle)}.empty-state>ng-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-lg);color:var(--brand);background:var(--brand-soft);font-size:25px}.modal-icon,.section-title>span,.monogram{border-radius:var(--radius-md)}.form-modal,.confirm-modal{border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-float)}@media(min-width:861px)and (max-width:1180px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.brand-logo{width:56px;background-size:176px 58px;background-position:left center}}@media(max-width:860px){.app-shell{display:block}.sidebar{width:248px}.brand{padding:11px 50px 11px 20px}.brand-logo{width:176px;background-size:contain;background-position:center}}@media(max-width:680px){.content,.finance-content{padding:22px 16px}}
