@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&family=DM+Sans:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--blue:#1a56db;--teal:#0d9488;--bg:#f4f6fa;--white:#fff;--text:#111827;--muted:#6b7280;--border:#e5e7eb;--sidebar-w:220px}body{background:var(--bg);color:var(--text);font-family:Inter,sans-serif;font-size:14px}input,select,textarea,button{font-family:Inter,sans-serif}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}:root{--dn-blue:#0c447c;--dn-blue-deep:#07305b;--dn-teal:#11a7ad;--dn-teal-dark:#08787e;--dn-ink:#18202c;--dn-muted:#687585;--dn-soft:#f6f9fb;--dn-card:#fff;--dn-line:#dfe8ef;--dn-amber:#b7791f;--dn-green:#1d9e75}*{box-sizing:border-box}.landing-page{background:linear-gradient(180deg, #11a7ad1a, #fff0 320px), var(--dn-soft);min-height:100vh;color:var(--dn-ink);font-family:DM Sans,sans-serif;overflow-x:hidden}.landing-page button,.landing-page input,.landing-page select,.landing-page textarea{font-family:inherit}.landing-nav{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f9fbe0;border-bottom:1px solid #dfe8efcc;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:12px clamp(18px,4vw,54px);display:flex;position:sticky;top:0}.brand-mark{color:var(--dn-ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;min-width:0;padding:0;font-size:18px;font-weight:800;display:inline-flex}.brand-mark img,.footer-brand img{object-fit:contain;border:1px solid var(--dn-line);background:#fff;border-radius:8px;width:42px;height:42px}.nav-links{flex:1;justify-content:center;align-items:center;gap:clamp(14px,2.2vw,30px);display:flex}.nav-links a,.footer-links a,.footer-links button{color:var(--dn-muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;text-decoration:none}.nav-links a:hover,.footer-links a:hover,.footer-links button:hover{color:var(--dn-teal-dark)}.nav-actions,.hero-actions,.final-cta>div:last-child{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.primary-btn,.outline-btn,.ghost-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-size:14px;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:inline-flex}.primary-btn{background:linear-gradient(135deg, var(--dn-blue), var(--dn-teal));color:#fff;box-shadow:0 14px 28px #0c447c2e}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px #0c447c3d}.outline-btn,.ghost-btn{color:var(--dn-blue-deep);border-color:var(--dn-line);background:#fff}.ghost-btn{background:0 0}.outline-btn:hover,.ghost-btn:hover{background:#f1fbfb;border-color:#11a7ad6b}.large{min-height:48px;padding:12px 20px;font-size:15px}.hero-section,.section,.final-cta,.landing-footer{width:min(1120px,100% - 36px);margin:0 auto}.hero-section{grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);align-items:center;gap:clamp(28px,5vw,70px);padding:54px 0 42px;display:grid}.hero-copy{min-width:0}.eyebrow,.section-head>span,.feature-panel>span{min-height:28px;color:var(--dn-teal-dark);text-transform:uppercase;letter-spacing:0;background:#11a7ad17;border:1px solid #11a7ad3d;border-radius:8px;align-items:center;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.hero-copy h1{color:var(--dn-ink);letter-spacing:0;max-width:760px;margin:18px 0;font-size:clamp(36px,5vw,56px);font-weight:800;line-height:1.03}.hero-copy p{max-width:610px;color:var(--dn-muted);margin:0 0 28px;font-size:clamp(16px,1.6vw,19px);line-height:1.65}.trust-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(1120px,100% - 36px);margin:0 auto;display:grid;transform:translateY(-18px)}.trust-strip div,.metric,.feature-panel,.access-card,blockquote,.care-card,.demo-form{background:var(--dn-card);border:1px solid var(--dn-line);border-radius:8px}.trust-strip div{min-height:78px;padding:14px}.trust-strip strong{color:var(--dn-blue);font-size:22px;line-height:1;display:block}.trust-strip span{color:var(--dn-muted);margin-top:7px;font-size:12px;line-height:1.35;display:block}.hero-visual{min-width:0}.mock-window{background:#fff;border:1px solid #0c447c29;border-radius:8px;width:100%;min-height:500px;overflow:hidden;box-shadow:0 28px 70px #0c447c29}.mock-topbar{background:linear-gradient(135deg, var(--dn-blue-deep), var(--dn-teal-dark));color:#ffffffc7;align-items:center;gap:7px;height:52px;padding:0 18px;display:flex}.mock-topbar span{background:#ffffff9e;border-radius:50%;width:9px;height:9px}.mock-topbar strong{margin-left:8px;font-size:13px}.mock-body{grid-template-columns:138px minmax(0,1fr);min-height:448px;display:grid}.mock-sidebar{border-right:1px solid var(--dn-line);background:#f8fbfd;flex-direction:column;gap:8px;padding:18px 12px;display:flex}.mock-sidebar img{object-fit:contain;width:42px;height:42px;margin-bottom:12px}.mock-sidebar span{color:#627386;border-radius:8px;align-items:center;min-height:32px;padding:0 10px;font-size:12px;font-weight:700;display:flex}.mock-sidebar .active-pill{color:var(--dn-teal-dark);background:#e8f7f7}.mock-content{flex-direction:column;gap:14px;padding:22px;display:flex}.brand-image-card{background:linear-gradient(135deg,#f7fcff,#eefafa);border:1px solid #11a7ad38;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.brand-image-card img{object-fit:contain;border:1px solid var(--dn-line);background:#fff;border-radius:8px;flex-shrink:0;width:58px;height:58px}.brand-image-card strong,.brand-image-card span{display:block}.brand-image-card strong{color:var(--dn-blue-deep);font-size:14px}.brand-image-card span{color:var(--dn-muted);margin-top:4px;font-size:12px;line-height:1.35}.mock-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.mock-header small{color:var(--dn-muted);font-weight:700}.mock-header h2{color:var(--dn-ink);letter-spacing:0;margin:4px 0 0;font-size:28px}.mock-header>span{color:#80500d;background:#fff7e8;border-radius:8px;flex-shrink:0;padding:7px 10px;font-size:12px;font-weight:800}.mock-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.metric{min-height:84px;padding:14px}.metric strong{color:var(--dn-ink);font-size:26px;line-height:1;display:block}.metric span{color:var(--dn-muted);margin-top:9px;font-size:12px;line-height:1.3;display:block}.metric.teal strong{color:var(--dn-teal-dark)}.metric.blue strong{color:var(--dn-blue)}.metric.amber strong{color:var(--dn-amber)}.mock-rx{background:linear-gradient(135deg,#eef6ff,#eefafa);border:1px solid #11a7ad3d;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.mock-rx strong,.mock-rx span{display:block}.mock-rx strong{color:var(--dn-blue-deep);font-size:14px}.mock-rx span{color:var(--dn-muted);margin-top:5px;font-size:13px;line-height:1.45}.mock-rx button,.care-row button{color:var(--dn-teal-dark);background:#fff;border:1px solid #11a7ad4d;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:800}.mock-list{gap:9px;display:grid}.mock-list div{border:1px solid var(--dn-line);color:#465768;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:0 12px;font-size:13px;font-weight:700;display:flex}.mock-list i,.feature-panel li i{color:var(--dn-green)}.section{padding:72px 0}.section-head{text-align:center;max-width:720px;margin:0 auto 30px}.section-head.left{text-align:left;margin-left:0;margin-right:0}.section-head h2{color:var(--dn-ink);letter-spacing:0;margin:14px 0 10px;font-size:clamp(28px,4vw,44px);line-height:1.1}.section-head p{color:var(--dn-muted);margin:0;font-size:16px;line-height:1.65}.access-grid,.feature-grid,.testimonial-grid{gap:16px;display:grid}.access-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:780px;margin:0 auto}.access-card{flex-direction:column;min-height:430px;padding:22px;display:flex}.access-icon{width:48px;height:48px;color:var(--dn-teal-dark);background:#e8f7f7;border-radius:8px;place-items:center;font-size:21px;display:grid}.access-card.doctor .access-icon{color:var(--dn-blue);background:#e9f2ff}.access-card.admin .access-icon{color:var(--dn-amber);background:#fff4df}.access-card h3,.feature-panel h3,.step-row h3{color:var(--dn-ink);letter-spacing:0;margin:18px 0 8px;font-size:21px;line-height:1.18}.access-card p,.feature-panel p,.step-row p{color:var(--dn-muted);margin:0;font-size:14px;line-height:1.6}.access-card ul,.feature-panel ul{gap:10px;margin:20px 0 22px;padding:0;list-style:none;display:grid}.access-card li,.feature-panel li{color:#415365;align-items:center;gap:10px;font-size:13px;font-weight:700;line-height:1.35;display:flex}.access-card li i{width:18px;color:var(--dn-teal-dark);flex-shrink:0}.access-card.doctor li i{color:var(--dn-blue)}.access-card.admin li i{color:var(--dn-amber)}.access-button{border:1px solid var(--dn-line);background:var(--dn-blue-deep);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;margin-top:auto;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.access-card.patient .access-button{background:var(--dn-teal-dark)}.access-card.admin .access-button{background:#7b4e0f}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-panel{min-height:350px;padding:24px}.feature-panel>span{border-color:var(--dn-line);color:var(--dn-blue);background:#f3f7fb}.split-section{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:clamp(24px,5vw,64px);display:grid}.steps{gap:12px;display:grid}.step-row{border-top:1px solid var(--dn-line);grid-template-columns:52px minmax(0,1fr);gap:16px;padding:18px 0;display:grid}.step-row>span{background:var(--dn-blue-deep);color:#fff;border-radius:8px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.step-row h3{margin-top:0}.care-card{padding:18px;position:sticky;top:96px}.care-card-header{border-bottom:1px solid var(--dn-line);padding:6px 4px 14px}.care-card-header span,.care-card-header strong{display:block}.care-card-header span{color:var(--dn-teal-dark);text-transform:uppercase;font-size:12px;font-weight:800}.care-card-header strong{color:var(--dn-ink);margin-top:4px;font-size:20px}.care-row{border-bottom:1px solid var(--dn-line);justify-content:space-between;align-items:center;gap:12px;min-height:74px;display:flex}.care-row:last-child{border-bottom:0}.care-row strong,.care-row span{display:block}.care-row strong{color:var(--dn-ink);font-size:14px}.care-row span{color:var(--dn-muted);margin-top:3px;font-size:13px}.testimonial-section{padding-top:48px}.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}blockquote{flex-direction:column;justify-content:space-between;min-height:220px;margin:0;padding:24px;display:flex}blockquote p{color:#344455;margin:0;font-size:18px;line-height:1.55}blockquote footer{margin-top:24px}blockquote strong,blockquote span{display:block}blockquote strong{color:var(--dn-ink);font-size:15px}blockquote span{color:var(--dn-muted);margin-top:4px;font-size:13px}.demo-section{grid-template-columns:minmax(0,.9fr) minmax(380px,1fr);align-items:start;gap:clamp(24px,5vw,64px);display:grid}.demo-note{color:#506173;border:1px solid var(--dn-line);background:#fff;border-radius:8px;align-items:flex-start;gap:10px;margin-top:22px;padding:14px;font-size:14px;line-height:1.55;display:flex}.demo-note i{color:var(--dn-teal-dark);margin-top:2px}.demo-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px;display:grid}.demo-form label{color:#465768;gap:7px;font-size:12px;font-weight:800;display:grid}.demo-form label.full{grid-column:1/-1}.demo-form input,.demo-form select,.demo-form textarea{border:1px solid var(--dn-line);width:100%;color:var(--dn-ink);background:#f8fbfd;border-radius:8px;outline:none;padding:12px;font-size:14px}.demo-form input,.demo-form select{min-height:46px}.demo-form textarea{resize:vertical;min-height:112px}.demo-form input:focus,.demo-form select:focus,.demo-form textarea:focus{border-color:#11a7adb8;box-shadow:0 0 0 3px #11a7ad1f}.form-submit,.form-success{grid-column:1/-1}.form-submit{width:100%}.form-success{color:#116046;background:#e8f7f0;border-radius:8px;align-items:center;min-height:42px;margin:0;padding:10px 12px;font-size:14px;font-weight:800;display:flex}.final-cta{background:linear-gradient(135deg, var(--dn-blue-deep), #0a6f78);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin-top:32px;margin-bottom:56px;padding:30px;display:flex}.final-cta span{color:#ffffffc2;text-transform:uppercase;font-size:13px;font-weight:800;display:block}.final-cta h2{letter-spacing:0;max-width:720px;margin:8px 0 0;font-size:clamp(26px,3.4vw,40px);line-height:1.1}.final-cta .outline-btn{color:#fff;background:#ffffff14;border-color:#ffffff3d}.landing-footer{border-top:1px solid var(--dn-line);justify-content:space-between;align-items:center;gap:24px;min-height:112px;padding:24px 0 34px;display:flex}.footer-brand{align-items:center;gap:12px;display:flex}.footer-brand strong,.footer-brand span{display:block}.footer-brand strong{color:var(--dn-ink);font-size:17px}.footer-brand span{color:var(--dn-muted);margin-top:3px;font-size:13px}.footer-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}@media (width<=980px){.landing-nav{flex-wrap:wrap;align-items:flex-start}.nav-links{flex-basis:100%;order:3;justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.hero-section,.split-section,.demo-section{grid-template-columns:1fr}.hero-section{min-height:0;padding-top:48px}.mock-window{min-height:420px}.care-card{position:static}.access-grid,.feature-grid{grid-template-columns:1fr}.access-card,.feature-panel{min-height:0}}@media (width<=720px){.landing-nav{min-height:64px;padding:10px 16px}.brand-mark span{font-size:16px}.brand-mark img,.footer-brand img{width:36px;height:36px}.nav-actions{width:100%}.nav-actions .ghost-btn,.nav-actions .primary-btn{flex:150px}.hero-section,.section,.final-cta,.landing-footer{width:min(1120px,100% - 28px)}.hero-section{padding:30px 0 34px}.hero-copy h1{font-size:clamp(31px,9.6vw,37px);line-height:1.08}.hero-actions{align-items:stretch}.hero-actions button{flex:148px}.trust-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.mock-body{grid-template-columns:1fr}.mock-sidebar{display:none}.mock-content{padding:16px}.mock-header,.mock-rx,.brand-image-card{flex-direction:column;align-items:stretch}.mock-header>span,.mock-rx button{width:fit-content}.mock-grid{grid-template-columns:1fr}.section{padding:48px 0}.access-grid,.feature-grid,.testimonial-grid{grid-template-columns:1fr}.access-card,.feature-panel,blockquote,.demo-form{padding:18px}.step-row{grid-template-columns:44px minmax(0,1fr);gap:12px}.demo-form{grid-template-columns:1fr}.demo-form label.full,.form-submit,.form-success{grid-column:1}.final-cta{flex-direction:column;align-items:stretch;margin-top:12px;margin-bottom:36px;padding:22px}.final-cta>div:last-child{align-items:stretch}.final-cta button{flex:150px}.landing-footer{flex-direction:column;align-items:flex-start}.footer-links{justify-content:flex-start}}@media (width<=420px){.trust-strip{grid-template-columns:1fr}.nav-links{gap:14px}.nav-links a{white-space:nowrap}}.portal-shell,.portal-login,.portal-public{--portal-bg:#f4f8fb;--portal-surface:#fff;--portal-surface-2:#eef5fb;--portal-border:#d7e4ef;--portal-text:#102033;--portal-muted:#6b7f93;--portal-blue:#2563eb;--portal-green:#16a34a;--portal-amber:#f59e0b;--portal-red:#dc2626;color:var(--portal-text);font-family:DM Sans,sans-serif}.portal-shell{background:var(--portal-bg);min-height:100vh;display:flex}.portal-sidebar{border-right:1px solid var(--portal-border);background:#fff;flex-direction:column;gap:18px;width:260px;min-height:100vh;padding:18px;display:flex}.portal-brand,.portal-patient-chip,.portal-profile-head,.portal-emergency-head,.portal-qr-row{align-items:center;gap:14px;display:flex}.portal-brand-mark,.portal-avatar{background:var(--portal-blue);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-family:Sora,sans-serif;font-weight:700;display:grid}.portal-logo{width:138px;display:block}.portal-login-logo{width:150px;margin:0 auto 14px;display:block}.portal-brand-mark.small{border-radius:10px;flex:none;width:34px;height:34px;font-size:11px}.portal-avatar{color:var(--portal-blue);background:#dbeafe;border-radius:50%}.portal-avatar.large{width:72px;height:72px;font-size:24px}.portal-brand strong,.portal-patient-chip strong{font-family:Sora,sans-serif;font-size:15px;display:block}.portal-brand span,.portal-patient-chip span,.portal-topbar strong,.portal-mini-row span,.portal-appointment span,.portal-row-button span,.portal-security,.portal-tip{color:var(--portal-muted);font-size:12px;display:block}.portal-patient-chip{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:12px;padding:12px}.portal-nav{flex-direction:column;gap:5px;display:flex}.portal-nav button{height:42px;color:var(--portal-muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:0 12px;display:flex}.portal-nav button.active,.portal-nav button:hover{color:var(--portal-text);background:var(--portal-surface);border-color:var(--portal-border)}.portal-nav em{color:#fff;background:var(--portal-red);border-radius:999px;margin-left:auto;padding:2px 7px;font-size:10px;font-style:normal}.portal-clinic{color:var(--portal-muted);margin-top:auto;font-size:12px}.portal-main{flex-direction:column;flex:1;min-width:0;display:flex}.portal-topbar{border-bottom:1px solid var(--portal-border);background:#ffffffeb;justify-content:space-between;align-items:center;height:64px;padding:0 26px;display:flex}.portal-topbar span{font-family:Sora,sans-serif;font-weight:600}.portal-content{padding:26px}.portal-stack{flex-direction:column;gap:18px;max-width:1180px;display:flex}.portal-hero,.portal-panel,.portal-upload,.portal-profile-head,.portal-emergency-card,.portal-login-card{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:14px}.portal-hero{justify-content:space-between;align-items:center;padding:24px;display:flex}.portal-hero h2,.portal-page-head h2,.portal-profile-head h2,.portal-emergency-head h2{margin:0 0 5px;font-family:Sora,sans-serif;font-size:24px}.portal-hero p,.portal-profile-head p,.portal-emergency-head p,.portal-note p,.portal-emergency-contact p,.portal-qr-row p{color:var(--portal-muted);margin:0}.portal-hero button,.portal-sos,.portal-primary,.portal-secondary,.portal-danger{border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-weight:600;display:inline-flex}.portal-primary,.portal-hero button{background:var(--portal-blue);color:#fff}.portal-primary:disabled{opacity:.5;cursor:not-allowed}.portal-primary.small,.portal-secondary,.portal-danger{padding:8px 11px;font-size:13px}.portal-secondary{background:var(--portal-surface-2);color:var(--portal-text);border:1px solid var(--portal-border)}.portal-danger{color:#ff8a92;background:#e639461f}.portal-sos{color:#ff9ca3;background:#e6394629}.portal-stats,.portal-actions,.portal-grid.two,.portal-form-grid,.portal-emergency-grid{gap:14px;display:grid}.portal-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-grid.two,.portal-emergency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-stat,.portal-actions button{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:12px;padding:16px}.portal-stat strong{font-family:Sora,sans-serif;font-size:26px;display:block}.portal-stat span{color:var(--portal-muted)}.portal-stat.blue strong{color:var(--portal-blue)}.portal-stat.green strong{color:var(--portal-green)}.portal-stat.amber strong{color:var(--portal-amber)}.portal-panel{padding:18px}.portal-panel h3{margin:0 0 14px;font-family:Sora,sans-serif;font-size:16px}.portal-panel-head,.portal-page-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.portal-panel-head h3,.portal-page-head h2{margin:0}.portal-panel-head button{color:var(--portal-blue);background:0 0;border:0;font-weight:600}.portal-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-actions button{color:var(--portal-text);align-items:center;gap:10px;display:flex}.portal-clinic-list{gap:10px;display:grid}.portal-clinic-row{border:1px solid var(--portal-border);background:var(--portal-surface-2);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.portal-clinic-row strong,.portal-clinic-row span{display:block}.portal-clinic-row span{color:var(--portal-muted);margin-top:2px;font-size:12px}.portal-med,.portal-mini-row,.portal-appointment,.portal-row-button,.portal-upload{align-items:center;gap:12px;display:flex}.portal-med{padding:10px 0}.portal-med+.portal-med{border-top:1px solid var(--portal-border)}.portal-med>span{background:var(--portal-green);border-radius:50%;flex:none;width:9px;height:9px}.portal-med p{color:var(--portal-muted);margin:3px 0 0;font-size:12px}.portal-empty{color:var(--portal-muted);text-align:center;padding:22px}.portal-tabs{flex-wrap:wrap;gap:8px;display:flex}.portal-tabs button{border:1px solid var(--portal-border);background:var(--portal-surface);color:var(--portal-muted);text-transform:capitalize;border-radius:999px;padding:8px 12px}.portal-tabs button.active{color:#fff;background:var(--portal-blue)}.portal-tabs span{opacity:.8;margin-left:7px}.portal-list{flex-direction:column;gap:12px;display:flex}.portal-appointment,.portal-row-button{background:var(--portal-surface);width:100%;color:var(--portal-text);text-align:left;border:0;justify-content:space-between}.portal-appointment{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:12px;padding:14px}.portal-appointment em,.portal-row-button em{color:var(--portal-blue);text-transform:capitalize;font-style:normal}.portal-expanded{border-top:1px solid var(--portal-border);margin-top:12px;padding-top:12px}.portal-note{background:var(--portal-surface-2);border:1px solid var(--portal-border);border-radius:10px;margin:12px 0;padding:12px}.portal-search,.portal-field input,.portal-form-grid input,.portal-form-grid select,.portal-profile-fields input{background:var(--portal-surface-2);border:1px solid var(--portal-border);width:100%;color:var(--portal-text);border-radius:10px;outline:none;padding:11px 12px}.portal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.portal-form-grid label,.portal-field,.portal-profile-fields label{color:var(--portal-muted);flex-direction:column;gap:7px;font-size:12px;display:flex}.portal-upload{padding:14px}.portal-upload i{color:var(--portal-blue);font-size:22px}.portal-upload input{color:var(--portal-muted);flex:1}.portal-table{border-collapse:collapse;border-radius:10px;width:100%;overflow:hidden}.portal-table th,.portal-table td{border-bottom:1px solid var(--portal-border);text-align:left;padding:11px}.portal-table th{color:var(--portal-muted);font-size:12px;font-weight:500}.portal-emergency-card{border-color:#e6394659;padding:22px}.portal-emergency-head{border-bottom:1px solid var(--portal-border);justify-content:space-between;padding-bottom:18px}.portal-emergency-head span,.portal-emergency-section span,.portal-emergency-contact span,.portal-qr-row span{color:var(--portal-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.portal-emergency-head>strong{background:var(--portal-red);color:#fff;border-radius:18px;place-items:center;width:72px;height:72px;font-family:Sora,sans-serif;font-size:26px;display:grid}.portal-emergency-grid{margin:18px 0}.portal-emergency-section,.portal-emergency-contact{background:var(--portal-surface-2);border:1px solid var(--portal-border);border-radius:12px;padding:14px}.portal-emergency-section div{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.portal-emergency-section em{color:var(--portal-text);background:#e6edf5;border-radius:999px;padding:5px 9px;font-size:12px;font-style:normal}.portal-emergency-section em.red{color:#b91c1c;background:#fee2e2}.portal-emergency-section em.amber{color:#92400e;background:#fef3c7}.portal-emergency-section em.blue{color:#1d4ed8;background:#dbeafe}.portal-qr-row{border-top:1px solid var(--portal-border);align-items:flex-start;padding-top:18px}.portal-qr{background:#fff;border-radius:10px;flex:none;grid-template-columns:repeat(12,1fr);gap:3px;width:132px;height:132px;padding:10px;display:grid}.portal-qr span{background:0 0;border-radius:1px}.portal-qr span.on{background:#171b27}.portal-profile-head{padding:18px}.portal-profile-head button{margin-left:auto}.portal-profile-fields{gap:12px;display:grid}.portal-profile-fields span{color:var(--portal-text);font-size:14px}.portal-login,.portal-public{background:radial-gradient(circle at 10% 10%, #2563eb29, transparent 30%), var(--portal-bg);place-items:center;min-height:100vh;padding:22px;display:grid}.portal-login-card{width:min(420px,100%);padding:34px}.portal-login-brand{text-align:center;margin-bottom:24px}.portal-login-brand .portal-brand-mark{margin:0 auto 14px}.portal-login-brand h1{margin:0;font-family:Sora,sans-serif}.portal-login-brand p{color:var(--portal-muted);margin:6px 0 0}.portal-phone{background:var(--portal-surface-2);border:1px solid var(--portal-border);border-radius:10px;display:flex;overflow:hidden}.portal-phone span{color:var(--portal-muted);border-right:1px solid var(--portal-border);padding:11px 12px}.portal-phone input{border:0;border-radius:0}.portal-login-card .portal-primary{width:100%;margin-top:16px}.portal-error{color:#ff9ca3;background:#e6394624;border:1px solid #e6394647;border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}.portal-otp-note{color:var(--portal-muted);justify-content:space-between;margin-bottom:14px;font-size:13px;display:flex}.portal-otp-note button{color:var(--portal-blue);background:0 0;border:0}.portal-security{text-align:center;margin-top:16px}.portal-loading{color:#6b7f93;background:#f4f8fb;place-items:center;min-height:100vh;font-family:DM Sans,sans-serif;display:grid}.portal-public .portal-emergency-card{width:min(760px,100%)}@media (width<=860px){.portal-shell{display:block}.portal-sidebar{border-right:0;border-bottom:1px solid var(--portal-border);width:100%;min-height:auto}.portal-nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.portal-content,.portal-topbar{padding-left:16px;padding-right:16px}.portal-stats,.portal-grid.two,.portal-actions,.portal-form-grid,.portal-emergency-grid{grid-template-columns:1fr}.portal-hero,.portal-page-head,.portal-qr-row{flex-direction:column;align-items:stretch}}
