.th-shell{--th-ink:#17384d;--th-accent:#087f88;--th-muted:#607587;background:#f4f8fa;color:var(--th-ink);min-height:100vh}.th-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px max(24px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid #dce7eb}.th-brand{display:flex;align-items:center;gap:12px;color:var(--th-ink);text-decoration:none;font-size:21px;font-weight:750}.th-brand img{object-fit:contain}.th-brand small{display:block;font-size:12px;color:var(--th-muted);font-weight:500;margin-top:3px}.th-header nav{display:flex;gap:20px;font-size:14px}.th-main{width:min(1180px,100% - 48px);margin:auto;padding:38px 0 64px}.th-footer{display:flex;justify-content:space-between;padding:20px 24px;border-top:1px solid #dce7eb;font-size:13px;color:var(--th-muted)}.th-main h1{font-size:clamp(28px,4vw,44px);line-height:1.18;letter-spacing:-1px;margin:10px 0 15px}.th-main h2{font-size:24px;margin:30px 0 18px}.th-main h3{font-size:19px;margin:0 0 12px}.th-main p{line-height:1.65}.th-eyebrow{font-size:12px;font-weight:750;letter-spacing:1.5px;color:var(--th-accent)}.th-card{padding:24px;background:#fff;border:1px solid #d9e5eb;border-radius:18px;box-shadow:0 4px 14px #17384d05;margin-bottom:20px;overflow-wrap:anywhere}.th-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:18px}.th-grid .th-card{margin:0}.th-grid+.th-card{margin-top:20px}.th-form{display:grid;gap:14px;margin:16px 0}.th-form label,.th-slot-panel>label{display:grid;gap:7px;font-size:14px;font-weight:650}.th-form input,.th-form select,.th-slot-panel input,.th-search input{width:100%;min-height:46px;padding:11px 13px;border:1px solid #c5d7e0;border-radius:10px;background:#fff;color:var(--th-ink);font:inherit;box-sizing:border-box}.th-form input:focus,.th-form select:focus,.th-slot-panel input:focus{outline:3px solid #bee8ea;outline-offset:1px}.th-form .th-check,.th-check{display:flex;align-items:flex-start;gap:9px;font-weight:500;line-height:1.5}.th-check input{width:19px!important;min-height:19px!important;height:19px;margin-top:2px;flex-shrink:0;accent-color:var(--th-accent)}.th-form fieldset{border:1px solid #d9e5eb;border-radius:12px;padding:18px;display:grid;gap:12px}.th-form legend{padding:0 8px;font-weight:750}.th-feedback{margin:0;font-size:14px;white-space:pre-wrap}.th-feedback:empty{display:none}.th-feedback.error{color:#a62237;background:#fff1f3;padding:12px;border-radius:10px}.th-feedback.success{color:#146b52;background:#edf9f3;padding:12px;border-radius:10px}.th-shell .button.primary,.th-shell button.primary{background:var(--th-accent);color:#fff;border-color:var(--th-accent)}.th-shell .button.primary:hover,.th-shell button.primary:hover{background:#075f67;color:#fff}.th-shell .button.outline{border-color:#c0d5df;background:#fff;color:#17384d}.th-shell .button.outline:hover{background:#e7f4f6;color:#12394a;border-color:#087f88}.th-shell .button:disabled{opacity:.5;cursor:not-allowed}.th-shell .button.danger{background:#a62e42;border-color:#a62e42;color:#fff}.th-shell .button.danger:hover{background:#842032;color:#fff}.th-status{display:inline-block;padding:4px 9px;border-radius:7px;background:#e7f3f4;color:#116974;font-size:12px;font-weight:650}.th-page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.th-page-head .th-form{margin:0}.th-section-nav{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 25px}.th-section-nav a{padding:10px 14px;background:#fff;border:1px solid #d7e4eb;border-radius:10px;color:#18576e;text-decoration:none;font-size:14px}.th-section-nav a:hover{background:#e4f5f6;color:#123d4b}.th-login{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#fff;border:1px solid #d5e3eb;border-radius:24px;max-width:1000px;margin:15px auto}.th-login-story{padding:62px 45px;background:#12364e;color:#fff}.th-login-story .th-eyebrow{color:#9ce4e3}.th-login-story p{color:#c4dbe7}.th-login-note{margin-top:40px;padding:20px;border:1px solid #4b6e83;border-radius:14px;font-size:14px;color:#c9e0eb;line-height:1.7}.th-login-form{padding:42px}.th-login-form p{font-size:13px;color:var(--th-muted)}.th-tabs{display:flex;gap:8px;border-bottom:1px solid #dce7ec;margin-bottom:22px}.th-tabs a{padding:12px;color:#536b7c;text-decoration:none;border-bottom:3px solid transparent}.th-tabs a.selected{color:#087f88;border-color:#087f88;font-weight:750}.th-narrow{max-width:580px;margin:auto}.th-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:15px 0 28px}.th-stats>div{background:#fff;border:1px solid #d9e5eb;border-radius:14px;padding:20px}.th-stats strong{display:block;font-size:27px;margin:7px 0}.th-stats small,.th-stats span{display:block;font-size:13px;color:var(--th-muted)}.th-booking-hero{max-width:650px;margin:5px 0 38px}.th-booking-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:28px}.th-booking-layout h2{margin-top:0}.th-slot-panel{position:sticky;top:20px;align-self:start}.th-doctor-card{display:flex;align-items:flex-start;gap:15px;padding:22px;text-align:left;background:#fff;color:var(--th-ink);border:1px solid #d2e1e8;border-radius:16px;cursor:pointer;font:inherit}.th-doctor-card:hover{background:#f0fafb;color:#12384d;border-color:#087f88}.th-doctor-card.selected{background:#eaf8f8;color:#12384d;border:2px solid #087f88;padding:21px}.th-doctor-card img{border-radius:14px;object-fit:cover}.th-doctor-card strong{display:block;font-size:18px}.th-doctor-card small,.th-doctor-card span>span{display:block;font-size:13px;margin:7px 0;color:#547184}.th-doctor-card b{display:block;margin-top:10px;font-size:19px;color:#075c67}.th-avatar{width:60px;height:60px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;background:#dff0f1;color:#087f88;font-weight:750}.th-slots{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.th-slots button{padding:10px 14px;border:1px solid #bed6e0;color:#17475e;border-radius:9px;background:#fff;cursor:pointer}.th-slots button:hover,.th-slots button.selected{background:#087f88;color:#fff;border-color:#087f88}.th-small{font-size:13px;color:#607587}.th-slot-panel>.button{width:100%;margin:10px 0}.th-search{display:flex;align-items:end;gap:12px;margin-bottom:18px}.th-search label{flex:1}.th-record-release{padding:16px 0;border-top:1px solid #e1e9ef}.th-record-release .th-form{grid-template-columns:1fr auto;align-items:center}.th-record-release .th-feedback{grid-column:1/-1}.th-table{overflow-x:auto}.th-table table{width:100%;border-collapse:collapse;font-size:14px}.th-table th,.th-table td{padding:13px 10px;border-bottom:1px solid #dae5eb;text-align:left;vertical-align:top;min-width:85px}.th-table th{background:#f0f6f8}.th-paper{max-width:920px;margin:auto}.th-record-head{border-bottom:2px solid #0b7f88;padding-bottom:15px;margin-bottom:24px}.th-important{display:block;color:#976209;font-weight:750}.th-stopped td{background:#fff2f3;color:#8e2639}.th-chart{max-width:220px;max-height:240px;display:block;margin:12px 0}.th-call{max-width:1100px;margin:auto}.th-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:14px;background:#0e2639;border-radius:20px;padding:14px;min-height:330px}.th-video-tile{position:relative;background:#183d52;border-radius:14px;min-height:280px;overflow:hidden;display:grid;place-items:center;color:#d9edf4}.th-video-tile video{width:100%;height:100%;object-fit:cover}.th-video-tile span{position:absolute;bottom:10px;left:12px;background:#102938c9;padding:5px 10px;border-radius:8px;color:#fff;font-size:13px}.th-video-placeholder{display:grid;place-items:center;color:#c9dce7;padding:30px;text-align:center;min-height:280px}.th-call-status{padding:10px 0 18px;font-weight:650;color:#3b6277}.th-call-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.th-call-controls .th-check{width:100%}.th-call-records{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:22px 0;border-top:1px solid #d5e3eb}.th-shell details>summary{font-weight:750;cursor:pointer}.th-shell code{font-size:12px;word-break:break-all}.th-receipt{margin-top:14px;padding:14px;border-radius:10px;background:#eef8f5}.th-call-spinner{display:inline-block;width:12px;height:12px;border:2px solid #a2d0d7;border-top-color:#087f88;border-radius:50%;animation:th-spin .8s linear infinite;margin-right:8px}@keyframes th-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.th-header{padding:16px;gap:12px}.th-header nav{gap:10px;font-size:12px}.th-brand{font-size:17px}.th-main{width:calc(100% - 28px);padding:24px 0 40px}.th-login{display:block;margin:0}.th-login-story{padding:28px}.th-login-note{display:none}.th-login-form{padding:26px}.th-page-head{align-items:flex-start;flex-direction:column;gap:10px}.th-booking-layout{display:block}.th-slot-panel{position:static;margin-top:24px}.th-grid{grid-template-columns:1fr}.th-card{padding:20px}.th-stats{grid-template-columns:1fr 1fr;gap:9px}.th-stats>div{padding:15px}.th-stats strong{font-size:22px}.th-video-grid{min-height:260px;grid-template-columns:1fr}.th-video-tile{min-height:230px}.th-call-controls{gap:8px}.th-call-controls .button{flex:1;white-space:nowrap;font-size:13px;padding:12px}.th-record-release .th-form{grid-template-columns:1fr}.th-paper{padding:18px}.th-footer{font-size:12px}.th-table table{min-width:650px}}
@media(prefers-reduced-motion:reduce){.th-call-spinner{animation:none}}
.th-portal-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(120deg,#e5f5f2,#edf6ff);border:1px solid #c8e4df;border-radius:22px;padding:28px;margin:16px 0 22px}.th-portal-welcome h2{margin:0 0 9px}.th-portal-welcome p{max-width:650px;margin:0;color:#456879}.th-portal-welcome .button{flex-shrink:0}.th-patient-stats{grid-template-columns:repeat(3,1fr)}.th-card-top,.th-inline-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.th-badge{display:inline-flex;align-items:center;border:1px solid #cbdce4;background:#eff5f7;color:#234d62;border-radius:30px;padding:5px 10px;font-size:12px;font-weight:650}.th-badge.paid{background:#e5f5ed;border-color:#b5dec8;color:#176441}.th-badge.due{background:#fff5e4;border-color:#efd0a0;color:#87530c}.th-badge.stopped{background:#fff0f0;border-color:#e8bdc2;color:#a32d3e}.th-appointment-card h3{margin-top:16px}.th-appointment-change{margin-top:18px;border-top:1px solid #dce6eb;padding-top:14px}.th-medicine-list{display:grid;gap:12px}.th-medicine-item{padding:15px;border:1px solid #d4e4e6;border-radius:12px;background:#f8fcfb}.th-medicine-item strong{display:block;margin-bottom:7px}.th-medicine-item p{margin:8px 0 0}.th-medicine-item.th-stopped{background:#fff5f5;border-color:#e9cbd0}.th-type-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.th-type-filters button{border:1px solid #bfd8df;border-radius:30px;padding:10px 16px;background:#fff;color:#245368;font:inherit;font-size:14px;cursor:pointer}.th-type-filters button:hover,.th-type-filters button.selected{background:#086f79;color:#fff;border-color:#086f79}.th-doctor-card[hidden]{display:none}.th-slot-panel [data-th-selected-doctor]{white-space:pre-line;border-bottom:1px solid #dce8eb;padding-bottom:15px}.th-appointment-card .th-form{margin-top:14px}.th-main section[id]{scroll-margin-top:20px}.th-main h1{overflow-wrap:anywhere}
@media(max-width:760px){.th-portal-welcome{flex-direction:column;align-items:stretch;padding:22px}.th-portal-welcome .button{text-align:center}.th-patient-stats{grid-template-columns:1fr 1fr}.th-patient-stats>div:last-child{grid-column:1/-1}.th-badge{font-size:11px}.th-inline-actions .button{flex:1;text-align:center}.th-appointment-card{min-width:0}.th-appointment-card .button{max-width:100%;white-space:normal}}
@media print{.th-portal-welcome,.th-type-filters,.th-appointment-change,.th-inline-actions,.th-call-controls{display:none!important}}
.rv-telehealth-workspace.th-shell{min-height:0;background:transparent}.rv-telehealth-workspace>.th-main{width:100%;padding:0 0 24px}.rv-telehealth-workspace .th-section-nav{margin-top:0}.rv-telehealth-workspace .th-card{box-shadow:none}.rv-telehealth-workspace .th-card h3{margin-top:12px}.rv-telehealth-workspace .th-form{margin-top:16px}.rv-telehealth-workspace .button{line-height:1.4}.rv-telehealth-workspace .th-form button{justify-self:start}.rv-telehealth-workspace .th-small{line-height:1.65}
.th-honeypot{display:none!important}
.th-shell .th-login-story h1{color:#fff}.th-shell .th-login-story .th-login-note{color:#d4e7ef}
@media print{.th-header,.th-footer,.th-page-head,.th-section-nav,.th-call-controls,.toast,.skip-link,#editor-dialog{display:none!important}.th-shell{background:#fff}.th-main{width:100%;padding:0}.th-paper{max-width:100%;border:0;box-shadow:none;padding:0}.th-grid{display:block}.th-chart{max-width:180px;max-height:210px}.th-paper .th-card{break-inside:avoid}.th-table{overflow:visible}.th-table table{min-width:0;font-size:11px}.th-table td,.th-table th{padding:8px 5px}.th-paper h1{font-size:25px}}

.th-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:10px 0 24px}.th-facts>div{border-bottom:1px solid #e0e9ee;padding:8px 0}.th-facts dt{font-size:13px;font-weight:650;color:#536f80}.th-facts dd{margin:3px 0 0;overflow-wrap:anywhere}.th-booking-hero p,.th-card p{overflow-wrap:anywhere}@media(max-width:480px){.th-facts{grid-template-columns:1fr}}

.th-brand-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#def0f1;color:#0b6b75;font-size:22px;font-weight:750;flex-shrink:0}.th-days{display:flex;flex-wrap:wrap;gap:8px}.th-days label{display:flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #c7dce4;border-radius:9px;background:#f4f9fa}.th-days input{width:auto;accent-color:#087f88}
