:root{--navy:#153b55;--navy2:#0d2b3e;--blue:#246b91;--teal:#16806d;--bg:#f4f7f9;--card:#fff;--text:#203746;--muted:#758995;--line:#dfe7eb;--danger:#a54053;--warn:#9b6e1b;--green:#19745c;--shadow:0 12px 34px rgba(28,54,70,.07)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--navy2),#12384f);color:#dce8ee;padding:22px 15px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 7px 20px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:linear-gradient(135deg,#3f8eb5,#38a58e);color:white;font:900 17px Georgia}.brand strong{display:block;color:#fff;font-size:15px}.brand small{display:block;color:#94adbb;font-size:9.5px;margin-top:2px}.tenant-chip{margin:3px 4px 16px;padding:10px 11px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.04)}.tenant-chip span{display:block;color:#7fa0b2;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tenant-chip strong{display:block;margin-top:3px;font-size:11px;color:#edf5f8}.sidebar nav{display:grid;gap:4px}.sidebar nav a{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:9px;color:#b6c9d3;font-size:11.5px;font-weight:720}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.08);color:#fff}.sidebar nav a span{width:20px;text-align:center;font-weight:900}.side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.user-mini{display:flex;gap:9px;align-items:center}.user-mini>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#2d6886;color:#fff;font-weight:900}.user-mini strong{display:block;font-size:10.5px}.user-mini small{display:block;color:#83a1b1;font-size:9px}.logout{display:block;margin-top:10px;color:#8fa8b5;font-size:10px}.main{min-width:0}.topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px;padding:0 28px;position:sticky;top:0;z-index:10}.topbar h1{font-size:20px;margin:2px 0 0;color:#183d57}.eyebrow{font-size:8.5px;font-weight:900;letter-spacing:.12em;color:#78909d}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.lang{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.lang a{padding:6px 8px;font-size:9px;font-weight:900;color:#83949e}.lang a.on{background:#edf4f7;color:var(--navy)}.menu-btn{display:none}.content{padding:24px 28px 48px;max-width:1480px;margin:auto}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.primary,.secondary,.danger,button{border:0;border-radius:9px;min-height:40px;padding:0 14px;font-size:10.5px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.primary{background:linear-gradient(135deg,var(--navy),#226286);color:#fff}.secondary{background:#fff;border:1px solid #d6e1e6;color:#31536a}.danger{background:#a64053;color:#fff}.compact{min-height:34px}.wide{width:100%}.hero,.detail-hero,.rx-hero{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.hero h2,.detail-hero h2,.rx-hero h2{margin:4px 0 4px;font-size:21px;color:#173d57}.hero p,.detail-hero p,.rx-hero p{margin:0;color:var(--muted);font-size:11px}.hero-stat{text-align:right}.hero-stat strong{display:block;font-size:24px;color:var(--navy)}.hero-stat small{color:var(--muted);font-size:9px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px 17px;box-shadow:var(--shadow)}.metrics span{display:block;color:#7b909c;font-size:9.5px;font-weight:800}.metrics strong{display:block;font-size:27px;color:#183e58;margin:6px 0 2px}.metrics small{color:#9aa8b0;font-size:9px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.8fr);gap:16px}.section-head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid #edf1f3}.section-head h2{font-size:15px;margin:3px 0 0}.section-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.section-head>a{font-size:10px;font-weight:800;color:var(--blue)}.table{width:100%}.tr{display:grid;grid-template-columns:1.05fr 1.4fr 1.15fr .7fr;gap:12px;align-items:center;padding:11px 16px;border-top:1px solid #edf1f3;font-size:10.5px}.tr:first-child{border-top:0}.tr:hover:not(.th){background:#f9fbfc}.tr strong{color:#20475f}.tr small{display:block;color:#84959f}.tr.th{background:#f8fafb;color:#7e909a;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.tr.patient{grid-template-columns:1.1fr 1.2fr .7fr 1.4fr}.tr.rx{grid-template-columns:1fr 1.3fr 1.15fr .85fr .65fr}.tr.pharmacy{grid-template-columns:.55fr 1.2fr 1fr .8fr .7fr}.status{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-width:60px;padding:4px 7px;border-radius:999px;font-size:8.5px;font-weight:900;background:#edf1f3;color:#617785}.status.issued,.status.accepted,.status.ready{background:#e9f5ef;color:#19745c}.status.draft,.status.received,.status.review{background:#fff5df;color:#906617}.status.revoked,.status.rejected,.status.expired{background:#fae9ed;color:#a64053}.status.dispensed,.status.completed{background:#e9f4fa;color:#1f678c}.status.large{font-size:9.5px;padding:6px 10px}.quick-card{padding:18px}.quick-card h2{margin:5px 0 13px}.quick{display:block;padding:12px;border:1px solid var(--line);border-radius:10px;margin-top:8px}.quick strong{display:block;font-size:11px}.quick small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.quick.primary{color:#fff;border:0}.searchbar,.filters,.medicine-search{display:flex;gap:9px;padding:10px;margin-bottom:16px}.searchbar input,.filters input,.filters select,.medicine-search input{flex:1;border:1px solid #dce5e9;border-radius:8px;min-height:40px;padding:0 11px;background:#fff}.medicine-search{align-items:center;padding:12px}.medicine-search>span{font-size:18px;color:#7a919e}.form-card{padding:20px;margin-bottom:16px}.form-card header{margin-bottom:16px}.form-card h2{font-size:18px;margin:4px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label,.upload-form label,.form-card form>label{display:grid;gap:5px;color:#5f7685;font-size:9.5px;font-weight:850}.form-grid .span2{grid-column:1/-1}.control{width:100%;border:1px solid #d8e2e7;border-radius:8px;min-height:40px;padding:8px 10px;background:#fff;color:#29485c;outline:none}.control:focus{border-color:#72a6bf;box-shadow:0 0 0 3px rgba(50,120,155,.08)}textarea.control{min-height:72px;resize:vertical}.form-card footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #edf1f3}.error{color:var(--danger)}.medicine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.medicine-card{display:block;background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px;box-shadow:var(--shadow);transition:.15s}.medicine-card:hover{transform:translateY(-2px);border-color:#c7dae4}.med-top{display:flex;justify-content:space-between;align-items:center}.pill{display:inline-flex;width:max-content;padding:4px 7px;border-radius:999px;background:#edf4f7;color:#35677f;font-size:7.8px;font-weight:900;letter-spacing:.05em}.medicine-card h3{font-size:15px;margin:12px 0 2px}.medicine-card .generic{margin:0;color:#5c7d8f;font-size:10px;font-weight:700}.med-dose{margin:12px 0;padding:9px;background:#f7fafb;border-radius:8px}.med-dose strong{display:block;color:#173f59}.med-dose span{font-size:9px;color:#778b97}.medicine-card>p{color:#738895;font-size:10px;line-height:1.45;min-height:42px}.medicine-card footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edf1f3;padding-top:10px;font-size:8.5px;color:#8b9aa3}.medicine-card footer b{color:#36738f}.med-info-grid{display:grid;grid-template-columns:1.35fr 1.2fr .8fr;gap:14px}.med-info-grid .card{padding:18px}.med-info-grid h3{margin:0 0 14px}.med-info-grid h4{font-size:9px;text-transform:uppercase;color:#738b99;letter-spacing:.05em;margin:15px 0 5px}.med-info-grid p{font-size:10.5px;line-height:1.55;color:#526c7b}.med-info-grid dl,.side-stack dl,.detail-grid dl{margin:0}.med-info-grid dl div,.side-stack dl div,.detail-grid dl div{padding:8px 0;border-top:1px solid #edf1f3}.med-info-grid dt,.side-stack dt,.detail-grid dt{font-size:8px;color:#8b9ba4;text-transform:uppercase;font-weight:900}.med-info-grid dd,.side-stack dd,.detail-grid dd{margin:3px 0 0;font-size:10.5px}.clinical-warning{margin-top:14px;padding:11px 13px;border:1px solid #ead8a8;border-radius:9px;background:#fff9e9;color:#826526;font-size:9.5px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-grid>.card{padding:18px}.list-card{display:grid;grid-template-columns:1fr auto;gap:3px;padding:10px 0;border-top:1px solid #edf1f3}.list-card span,.list-card small{font-size:9px;color:var(--muted)}.danger-text{color:var(--danger)!important}.rx-lines{margin-bottom:16px}.rx-item{padding:15px 17px;border-top:1px solid #e9eff2}.rx-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rx-item-head strong{font-size:11px}.delete-check{font-size:8.5px;color:#8b6a71}.item-grid{grid-template-columns:1.1fr 1.2fr .65fr .7fr .65fr .7fr .8fr .7fr}.item-grid .span2{grid-column:span 2}.interaction-live{margin:13px 17px;padding:10px 11px;border-radius:9px;background:#f4f7f9;border:1px solid #e0e8ec;display:grid;gap:4px}.interaction-live strong{font-size:10px}.interaction-live span{font-size:9px;color:#6e8491}.interaction-live.safe{background:#eef9f4;border-color:#cfe9dc}.interaction-live.warn{background:#fff8e9;border-color:#ecdcb2}.interaction-live.danger{background:#fff0f2;border-color:#ebcdd3}.sticky-form-footer{position:sticky;bottom:12px;z-index:8;display:flex;justify-content:flex-end;gap:8px;background:rgba(255,255,255,.93);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 10px 30px rgba(22,54,72,.12)}.rx-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rx-actions form{margin:0}.rx-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.75fr);gap:15px}.prescription-sheet{padding:22px}.prescription-sheet>header{display:flex;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:2px solid #e8eef1}.prescription-sheet>header h3{margin:4px 0;font-size:17px}.prescription-sheet>header p,.prescription-sheet>header small{font-size:9.5px;color:var(--muted)}.allergy{margin:14px 0;padding:9px 10px;background:#fff0f2;border:1px solid #edcbd2;border-radius:8px;color:#963b4d;font-size:9.5px;font-weight:800}.diagnosis{font-size:10px;color:#506d7d}.rx-items article{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:13px 0;border-top:1px solid #edf1f3}.rx-num{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#eaf3f7;color:#275d78;font-weight:900;font-size:10px}.rx-items h4{margin:0;font-size:12px;color:#173f59}.rx-items p{margin:3px 0;color:#768a96;font-size:9.5px}.rx-items strong{display:block;font-size:10px}.rx-items small{display:block;color:#758b97;font-size:9px;margin-top:3px}.side-stack{display:grid;gap:14px;align-content:start}.side-stack>.card{padding:16px}.side-stack h3{margin:0 0 11px}.danger-zone textarea{width:100%;min-height:70px;border:1px solid #e3ccd1;border-radius:8px;padding:8px;margin:7px 0}.danger-zone p{font-size:9px;color:#7d6970}.danger-zone button{width:100%}.interaction-panel{margin-bottom:15px;padding:17px}.interaction-panel>header{display:flex;gap:10px}.interaction-panel h2{margin:0;font-size:14px}.interaction-panel header p{margin:3px 0;color:var(--muted);font-size:9.5px}.interaction{margin-top:10px;padding:10px;border-radius:9px;background:#fafbfc;border:1px solid #e4eaed}.interaction>div{display:flex;align-items:center;gap:8px}.interaction>div span{font-size:8px;font-weight:900;padding:3px 6px;border-radius:999px;background:#edf1f3}.interaction p{font-size:10px;margin:7px 0}.interaction small{font-size:9px;color:#637985}.interaction.contraindicated,.interaction.major{background:#fff1f3;border-color:#edccd3}.interaction.contraindicated>div span,.interaction.major>div span{background:#a64053;color:#fff}.pharmacy-order-grid{display:grid;grid-template-columns:1.3fr .75fr;gap:15px}.pharmacy-order-grid>.card{padding:20px}.compact-items{margin-top:15px}.messages{padding:10px 28px 0}.msg{max-width:1424px;margin:auto;padding:10px 12px;border-radius:8px;background:#eaf4f9;color:#285f7a;font-size:10px}.msg.error{background:#fff0f2;color:#9b3e50}.msg.success{background:#edf8f3;color:#19745c}.empty{padding:18px;color:#81929c;font-size:10px}.empty-state{text-align:center;padding:42px}.empty-state>span{font-size:28px}.auth-body{background:#eef3f6}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.auth-visual{padding:38px 6vw;background:radial-gradient(circle at 75% 20%,rgba(45,137,161,.28),transparent 30%),linear-gradient(145deg,#0d2b3e,#164d68);color:#fff;display:flex;flex-direction:column}.auth-logo{display:flex;align-items:center;gap:10px}.auth-logo>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#3a9a85;font:900 17px Georgia}.auth-copy{margin:auto 0;max-width:610px}.auth-copy .eyebrow{color:#77bec4}.auth-copy h1{font-size:48px;line-height:1.04;margin:13px 0 16px;letter-spacing:-.035em}.auth-copy>p{font-size:15px;line-height:1.6;color:#b6ccd7;max-width:520px}.auth-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.auth-points span{padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.04);font-size:10px}.auth-form{display:grid;place-items:center;padding:35px}.auth-form>div{width:min(380px,100%)}.auth-form h2{font-size:27px;margin:7px 0}.auth-form p{color:var(--muted);font-size:11px;margin-bottom:20px}.auth-form form label{display:grid;gap:6px;margin-bottom:11px;color:#647c89;font-size:9.5px;font-weight:850}.auth-form .control{min-height:44px}.upload-link{display:block;margin-top:15px;color:#397493;font-size:9.5px}.public-upload{min-height:100vh;background:linear-gradient(180deg,#f8fbfc,#eef4f6)}.public-upload>header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid #dae5ea;background:#fff}.brand.public{padding:0}.public-upload main{max-width:1180px;margin:auto;padding:55px 26px;display:grid;grid-template-columns:1.1fr .8fr;gap:50px;align-items:start}.upload-intro h1{font-size:40px;letter-spacing:-.035em;line-height:1.08;color:#173d57;margin:12px 0}.upload-intro>p{font-size:13px;line-height:1.65;color:#6d8491;max-width:600px}.flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:28px 0}.flow span{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:800}.flow b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dfeef4;color:#2b6682}.flow i{color:#9eb0ba}.upload-form{padding:22px}.upload-form h2{margin-top:0}.upload-form form{display:grid;gap:10px}.verify-body{background:#eef3f5;display:grid;place-items:center;padding:30px;min-height:100vh}.verify-card{width:min(620px,100%);background:#fff;border:1px solid #dbe5e9;border-radius:18px;padding:26px;box-shadow:0 24px 70px rgba(23,54,72,.12)}.verify-brand{display:flex;align-items:center;gap:9px;color:#173d57}.verify-brand>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#1d687f;color:#fff;font:900 14px Georgia}.verify-status{margin:22px 0;display:flex;align-items:center;gap:12px;padding:13px;border-radius:10px;background:#eef8f3;color:#19745c}.verify-status>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;font-weight:900}.verify-status strong,.verify-status small{display:block}.verify-status small{font-size:9px;margin-top:2px}.verify-status.revoked,.verify-status.expired{background:#fff0f2;color:#a64053}.verify-card h1{font-size:20px}.verify-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.verify-card dl div{padding:9px;background:#f8fafb;border-radius:8px}.verify-card dt{font-size:8px;color:#84959f;text-transform:uppercase;font-weight:900}.verify-card dd{margin:3px 0;font-size:10px}.verify-card section{margin-top:18px}.verify-card section h2{font-size:13px}.verify-card section article{padding:9px 0;border-top:1px solid #edf1f3}.verify-card section strong,.verify-card section span{display:block;font-size:10px}.verify-card section span{color:#6f8591;margin-top:3px}.verify-card footer{margin-top:20px;padding-top:12px;border-top:1px solid #edf1f3;color:#84949d;font-size:8px}
@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-260px;width:248px;transition:.2s}.nav-open .sidebar{left:0}.menu-btn{display:inline-flex;background:#eef3f6;padding:0 10px}.metrics{grid-template-columns:1fr 1fr}.medicine-grid{grid-template-columns:1fr 1fr}.med-info-grid,.dashboard-grid,.rx-layout,.pharmacy-order-grid{grid-template-columns:1fr}.item-grid{grid-template-columns:1fr 1fr}.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.public-upload main{grid-template-columns:1fr}}
@media(max-width:680px){.content{padding:16px 12px 38px}.topbar{height:auto;min-height:74px;padding:13px 12px}.topbar h1{font-size:17px}.top-actions .primary{display:none}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metrics article{padding:13px}.hero,.detail-hero,.rx-hero{align-items:flex-start;flex-direction:column}.hero .primary{width:100%}.form-grid,.item-grid{grid-template-columns:1fr}.form-grid .span2,.item-grid .span2{grid-column:auto}.medicine-grid{grid-template-columns:1fr}.tr,.tr.patient,.tr.rx,.tr.pharmacy{grid-template-columns:1fr 1fr;gap:5px}.tr.th{display:none}.tr span:last-child{justify-self:start}.prescription-sheet>header{flex-direction:column}.auth-points{grid-template-columns:1fr}.public-upload main{padding:30px 15px}.upload-intro h1{font-size:31px}.verify-body{padding:12px}.verify-card{padding:18px}.verify-card dl{grid-template-columns:1fr}}

.issue-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.override-check{max-width:260px;font-size:8.5px;color:#984255;font-weight:800;display:flex;align-items:center;gap:5px}.override-check input{accent-color:#a64053}

.send-rx-form{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.send-rx-form label{display:flex;align-items:center;gap:4px;font-size:8.5px;font-weight:800;color:#647c89}.send-rx-form input{accent-color:#1d6a89}

/* =========================================================
   Prescription UX benchmark pass — Ordonnance Express
   ========================================================= */
.rx-stepper{display:flex;align-items:center;gap:12px;padding:13px 18px;margin-bottom:15px;box-shadow:none}
.rx-stepper>i{height:1px;flex:1;background:#dce6eb}
.rx-step{display:flex;align-items:center;gap:9px;min-width:150px}
.rx-step>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#edf3f6;color:#6b8290;font-size:10px;font-weight:900}
.rx-step strong,.rx-step small{display:block}.rx-step strong{font-size:10px;color:#5d7482}.rx-step small{font-size:8px;color:#95a3ab;margin-top:2px}
.rx-step.active>span{background:#1d647f;color:#fff;box-shadow:0 0 0 4px rgba(29,100,127,.1)}
.rx-step.active strong{color:#173d57}.rx-step.complete>span{background:#e6f5ef;color:#19745c}
.rx-express-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:15px;align-items:start}
.rx-express-main{min-width:0}.rx-safety-column{position:sticky;top:106px;display:grid;gap:12px}
.compact-head{padding:0 0 13px;border-bottom:1px solid #edf1f3;margin-bottom:15px}.compact-head h2{font-size:15px}
.rx-patient-card{padding:18px}.rx-context-grid{grid-template-columns:1fr 1fr}
.rx-express-lines{overflow:visible}.interaction-sticky{position:sticky;top:96px;z-index:7;box-shadow:0 7px 18px rgba(24,57,74,.07)}
.patient-safety-panel,.workflow-note{padding:16px}.patient-safety-panel h3,.workflow-note h3{font-size:13px;margin:6px 0}
.patient-safety-panel>p,.workflow-note>p{font-size:9.5px;color:#728895;line-height:1.5;margin:5px 0 0}
.patient-safety-panel.has-allergy{border-color:#e4c3ca;box-shadow:0 12px 34px rgba(165,64,83,.08)}
.safety-allergy{margin-top:12px;padding:10px;border-radius:9px;background:#f4f7f8;display:grid;gap:4px}
.safety-allergy b{font-size:8.5px;text-transform:uppercase;letter-spacing:.04em}.safety-allergy span{font-size:10px;line-height:1.4}
.safety-allergy.alert{background:#fff0f2;color:#963c4e}.safety-allergy.clear{background:#edf8f3;color:#236d5a}
.smart-rx-item{position:relative;padding:17px 18px 19px}.rx-item-head>div{display:flex;align-items:center;gap:8px}
.rx-med-number{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#e9f2f6;color:#285f79;font-size:9px;font-weight:900}
.smart-med-search{position:relative;margin-bottom:10px}.smart-med-search label{display:grid;gap:5px;color:#5f7685;font-size:9.5px;font-weight:850}
.medicine-search-shell{position:relative}.medicine-search-shell .control{padding-left:34px;padding-right:35px;min-height:46px;font-size:12px;font-weight:700}
.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:18px;color:#6f8997;z-index:2}
.search-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#2d6f8d;font-weight:900}
.medicine-results{position:absolute;top:100%;left:0;right:0;z-index:30;background:#fff;border:1px solid #cedde4;border-radius:10px;margin-top:5px;box-shadow:0 18px 45px rgba(22,54,72,.16);max-height:330px;overflow:auto}
.medicine-result{width:100%;min-height:0;padding:11px 12px;border:0;border-radius:0;background:#fff;color:#23485f;display:grid;grid-template-columns:1fr auto;gap:3px 10px;text-align:left;border-top:1px solid #edf1f3}
.medicine-result:first-child{border-top:0}.medicine-result:hover{background:#f4f9fb}.medicine-result strong{font-size:10.5px}.medicine-result span{grid-column:1;font-size:8.5px;color:#758b98}.medicine-result small{grid-column:2;grid-row:1/3;align-self:center;font-size:7.5px;font-weight:900;color:#4b7d91;background:#edf5f8;padding:4px 6px;border-radius:999px}
.medicine-result-empty{padding:14px;color:#738895;font-size:9px;line-height:1.45}

.medicine-inline-info{margin:10px 0 12px;border:1px solid #d8e5ea;border-radius:10px;background:#f8fbfc;padding:11px 12px}
.med-inline-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.med-inline-head>div{display:flex;align-items:center;gap:8px;min-width:0}
.med-inline-head strong{font-size:11px;color:#173e58;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill.not-validated{background:#fff4dc;color:#8d651d}
.med-info-toggle{min-height:30px;padding:0 9px;background:#fff;border:1px solid #d6e2e7;color:#35677f;font-size:8px}
.med-inline-summary{display:grid;gap:4px;margin-top:9px}.med-inline-summary span{font-size:9px;color:#617986;line-height:1.45}
.med-inline-summary .med-dose-ref{font-weight:800;color:#315c72}
.med-inline-details{margin-top:10px;padding-top:10px;border-top:1px solid #e2eaee;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.med-inline-details>div{display:grid;gap:3px}.med-inline-details b{font-size:8px;text-transform:uppercase;color:#7b8f9a;letter-spacing:.04em}.med-inline-details span{font-size:9px;line-height:1.45;color:#4e6877}
.med-inline-details .med-source{grid-column:1/-1;color:#91a0a7;font-size:7.5px}
.manual-med-fallback{display:grid;gap:5px;margin-bottom:12px;padding:8px 10px;border-left:3px solid #d7e4e9;background:#fafcfd;border-radius:0 8px 8px 0}
.manual-med-fallback>span{font-size:8px;color:#80929c}.manual-med-fallback .control{min-height:36px;font-size:10px}
.rx-med-meta{grid-template-columns:repeat(3,1fr);margin-bottom:12px}.rx-dose-grid{grid-template-columns:1fr 1.1fr 1.1fr .75fr}
.quick-chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.quick-chips button{min-height:24px;padding:0 7px;border-radius:999px;background:#eef4f7;color:#4d6e7f;font-size:7.5px;border:1px solid #dbe6eb}
.quick-chips button:hover,.quick-chips button.on{background:#1e647f;color:#fff;border-color:#1e647f}
.formset-errors{padding:10px 16px;background:#fff0f2;color:#9a3d4f;font-size:9px}.rx-express-footer{gap:7px}
.inline-action-form{margin:0}
.review-hero{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.review-hero h2{margin:4px 0;font-size:20px;color:#173e58}.review-hero p{margin:0;color:#748996;font-size:10px}
.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:15px;align-items:start}.review-main{display:grid;gap:14px}.review-side{display:grid;gap:14px;position:sticky;top:104px}
.review-side>.card{padding:16px}.review-side h3{font-size:13px;margin:6px 0 12px}.review-side dl{margin:0}.review-side dl div{padding:8px 0;border-top:1px solid #edf1f3}.review-side dt{font-size:8px;color:#8798a1;text-transform:uppercase;font-weight:900}.review-side dd{margin:3px 0 0;font-size:9.5px}
.review-patient,.review-medicines,.review-interactions{overflow:hidden}.review-patient .section-head,.review-medicines .section-head,.review-interactions .section-head{padding:16px 18px 12px;margin:0}
.review-patient-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:15px 18px 10px}.review-patient-grid>div{padding:9px 10px;border-radius:8px;background:#f8fafb;display:grid;gap:3px}
.review-patient-grid span{font-size:7.5px;text-transform:uppercase;color:#8798a1;font-weight:900}.review-patient-grid strong{font-size:9.5px}
.review-allergy{margin:0 18px 14px;padding:10px 11px;border-radius:9px;background:#edf8f3;color:#226e5a;display:grid;gap:4px}.review-allergy.alert{background:#fff0f2;color:#993d4f}.review-allergy b{font-size:8.5px;text-transform:uppercase}.review-allergy span{font-size:9.5px}
.review-diagnosis{margin:0 18px 16px;font-size:9.5px;color:#536f7e}
.review-med-list>article{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:15px 18px;border-top:1px solid #edf1f3}.review-med-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-med-title h3{font-size:11.5px;margin:0;color:#173f59}
.review-med-body>p{margin:3px 0 9px;font-size:9px;color:#748a96}.review-regimen{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.review-regimen>div{padding:8px;background:#f8fafb;border-radius:7px;display:grid;gap:3px}.review-regimen span{font-size:7px;text-transform:uppercase;color:#8999a1;font-weight:900}.review-regimen strong{font-size:9.5px}
.review-instructions{display:block;margin-top:8px;color:#607885;font-size:8.5px}.review-interactions .interaction{margin:10px 16px}.interaction-source{display:block;margin-top:4px;color:#8a9aa2!important;font-size:7.5px!important}
.review-safe{margin:14px 16px;padding:11px;border-radius:9px;background:#edf8f3;color:#216f59;display:grid;gap:3px}.review-safe strong{font-size:10px}.review-safe span{font-size:8.5px}
.review-confirm-card p{font-size:9px;color:#738895;line-height:1.45}.review-confirm-card form{display:grid;gap:8px}.review-confirm-card form label{display:flex;align-items:flex-start;gap:7px;padding:8px;border:1px solid #e2e9ed;border-radius:8px;font-size:8.5px;line-height:1.4;color:#56707f;background:#fbfcfd}.review-confirm-card form input[type=checkbox]{margin-top:1px;accent-color:#1b6a86}
.review-confirm-card .critical-confirm{border-color:#e4c5cb;background:#fff1f3;color:#973d4f}.review-back{margin-top:8px}

@media(max-width:1180px){
  .rx-express-layout{grid-template-columns:1fr}.rx-safety-column{position:static;grid-template-columns:1fr 1fr}
  .review-layout{grid-template-columns:1fr}.review-side{position:static;grid-template-columns:1fr 1fr}
  .rx-dose-grid{grid-template-columns:1fr 1fr}.review-patient-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .rx-stepper{gap:6px;padding:10px}.rx-step{min-width:0;flex:1}.rx-step small{display:none}.rx-stepper>i{display:none}
  .rx-step>span{width:25px;height:25px}.rx-step strong{font-size:8.5px}
  .rx-safety-column,.review-side{grid-template-columns:1fr}.rx-context-grid,.rx-med-meta,.rx-dose-grid{grid-template-columns:1fr}
  .review-patient-grid,.review-regimen{grid-template-columns:1fr 1fr}
  .med-inline-details{grid-template-columns:1fr}.medicine-result{grid-template-columns:1fr auto}
  .rx-express-footer{position:static;display:grid;grid-template-columns:1fr}.rx-express-footer .secondary,.rx-express-footer .primary{width:100%}
}

.quantity-field{align-content:start}
.quantity-calculator{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;margin-top:5px;padding:7px 8px;border-radius:8px;background:#f5f8fa;border:1px solid #e1e9ed}
.quantity-formula{font-size:7.8px;line-height:1.35;color:#738895;font-weight:650}
.quantity-formula.calculated{color:#19745c}
.quantity-formula.manual{color:#376a82}
.quantity-formula.unavailable{color:#946b22}
.quantity-recalculate{flex:0 0 auto;min-height:23px;padding:0 7px;border-radius:7px;border:1px solid #d4e0e6;background:#fff;color:#37687f;font-size:7px;font-weight:850}
.quantity-recalculate:hover{background:#eaf3f7}

/* =========================================================
   Prescription composer polish — aligned clinical grid
   ========================================================= */
.smart-rx-item{
  padding:20px 22px 22px;
}
.smart-rx-item .rx-item-head{
  min-height:34px;
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid #edf2f4;
}
.smart-rx-item .delete-check{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  color:#9b5a66;
  font-size:8.5px;
  font-weight:800;
  cursor:pointer;
}
.smart-rx-item .delete-check input{
  width:15px;
  height:15px;
  accent-color:#a64053;
}
.smart-rx-item .smart-med-search{
  margin-bottom:10px;
}
.smart-rx-item .medicine-search-shell .control{
  height:52px;
  min-height:52px;
  border-radius:11px;
  font-size:11px;
  padding-left:38px;
}
.smart-rx-item details.manual-med-fallback{
  display:block;
  margin:9px 0 18px;
  padding:0;
  border:1px dashed #d7e4ea;
  border-left:1px dashed #d7e4ea;
  border-radius:9px;
  background:#fbfcfd;
}
.smart-rx-item details.manual-med-fallback summary{
  list-style:none;
  cursor:pointer;
  padding:9px 11px;
  color:#718893;
  font-size:8.5px;
  font-weight:700;
}
.smart-rx-item details.manual-med-fallback summary::-webkit-details-marker{display:none}
.smart-rx-item details.manual-med-fallback summary:before{
  content:"+";
  display:inline-grid;
  place-items:center;
  width:17px;
  height:17px;
  margin-right:7px;
  border-radius:50%;
  background:#eaf2f6;
  color:#35677f;
  font-weight:900;
}
.smart-rx-item details.manual-med-fallback[open] summary:before{content:"−"}
.smart-rx-item details.manual-med-fallback summary strong{
  color:#386b82;
}
.smart-rx-item .manual-med-content{
  display:grid;
  gap:7px;
  padding:0 11px 11px;
}
.smart-rx-item .manual-med-content>span{
  font-size:8px;
  color:#8999a2;
}
.smart-rx-item .manual-med-content .control{
  min-height:42px;
  height:42px;
}
.rx-med-meta{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:14px;
  align-items:start;
  margin:0 0 18px;
}
.rx-med-meta>label,
.rx-regimen-grid>.regimen-field{
  display:grid;
  grid-template-rows:18px 50px auto;
  gap:6px;
  align-content:start;
  min-width:0;
  color:#536e7d;
  font-size:9px;
  font-weight:850;
}
.rx-med-meta>label>span,
.rx-regimen-grid>.regimen-field>span,
.instructions-field>span{
  display:flex;
  align-items:end;
  min-height:18px;
  line-height:1.1;
  color:#4d6878;
}
.rx-med-meta .control,
.rx-regimen-grid .regimen-field>.control{
  width:100%;
  height:50px !important;
  min-height:50px !important;
  max-height:50px;
  padding:0 12px;
  border-radius:10px;
  font-size:10.5px;
  line-height:1.2;
}
.rx-med-meta select.control,
.rx-regimen-grid select.control{
  padding-right:34px;
}
.rx-regimen-grid{
  display:grid;
  grid-template-columns:1.12fr 1.12fr 1.06fr .92fr;
  grid-template-areas:
    "dose frequency duration quantity"
    "dosehelp frequencyhelp durationhelp quantityhelp";
  column-gap:14px;
  row-gap:7px;
  align-items:start;
}
.rx-regimen-grid>.regimen-field:nth-child(1){grid-area:dose}
.rx-regimen-grid>.regimen-field:nth-child(2){grid-area:frequency}
.rx-regimen-grid>.regimen-field:nth-child(3){grid-area:duration}
.rx-regimen-grid>.regimen-field:nth-child(4){grid-area:quantity}
.rx-regimen-grid>.regimen-helper:nth-child(5){grid-area:dosehelp}
.rx-regimen-grid>.regimen-helper:nth-child(6){grid-area:frequencyhelp}
.rx-regimen-grid>.regimen-helper:nth-child(7){grid-area:durationhelp}
.rx-regimen-grid>.regimen-helper:nth-child(8){grid-area:quantityhelp}
.regimen-helper{
  min-height:40px;
  display:flex;
  align-items:flex-start;
  min-width:0;
}
.regimen-helper .quick-chips{
  width:100%;
  min-height:40px;
  margin:0;
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}
.regimen-helper .quick-chips button{
  min-width:34px;
  height:29px;
  min-height:29px;
  padding:0 8px;
  border-radius:999px;
  font-size:7.5px;
}
.quantity-helper .quantity-calculator{
  width:100%;
  min-height:40px;
  margin:0;
  padding:6px 7px 6px 9px;
  align-items:center;
  border-radius:9px;
  background:#f6f9fa;
}
.quantity-helper .quantity-formula{
  font-size:7.2px;
  line-height:1.25;
}
.quantity-helper .quantity-recalculate{
  height:27px;
  min-height:27px;
  white-space:nowrap;
}
.instructions-field{
  display:grid;
  gap:6px;
  margin-top:13px;
  color:#536e7d;
  font-size:9px;
  font-weight:850;
}
.instructions-field .control{
  width:100%;
  min-height:82px;
  height:82px;
  max-height:none;
  border-radius:10px;
  padding:10px 12px;
  resize:vertical;
}
.smart-rx-item .error{
  margin-top:0;
  font-size:7.5px;
}
@media(max-width:980px){
  .rx-regimen-grid{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "dose frequency"
      "dosehelp frequencyhelp"
      "duration quantity"
      "durationhelp quantityhelp";
    row-gap:8px;
  }
}
@media(max-width:700px){
  .smart-rx-item{padding:16px 14px 18px}
  .rx-med-meta{grid-template-columns:1fr}
  .rx-regimen-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "dose"
      "dosehelp"
      "frequency"
      "frequencyhelp"
      "duration"
      "durationhelp"
      "quantity"
      "quantityhelp";
  }
  .regimen-helper{min-height:auto;margin-bottom:4px}
  .quantity-helper .quantity-calculator{min-height:42px}
}

/* =========================================================
   Onboarding & credential verification
   ========================================================= */
.onboarding-public{min-height:100vh;background:linear-gradient(180deg,#f8fbfc 0,#eef4f6 100%);color:var(--text)}
.onboarding-public-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.onboarding-public-header .brand{padding:0}
.onboarding-landing{max-width:1180px;margin:auto;padding:54px 24px 70px}
.onboarding-intro{max-width:760px;margin-bottom:28px}
.onboarding-intro h1,.professional-onboarding-copy h1,.patient-onboarding-copy h1{font-size:38px;line-height:1.08;letter-spacing:-.035em;color:#173d57;margin:10px 0 12px}
.onboarding-intro p,.professional-onboarding-copy>p,.patient-onboarding-copy>p{font-size:12.5px;line-height:1.65;color:#6f8592;max-width:680px}
.account-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.account-type-card{min-height:220px;padding:22px;border:1px solid #dce6ea;border-radius:15px;background:#fff;box-shadow:var(--shadow);display:grid;grid-template-columns:50px 1fr;gap:15px;align-content:start;transition:.16s}
.account-type-card:hover{transform:translateY(-2px);border-color:#bad1dc;box-shadow:0 18px 42px rgba(28,54,70,.11)}
.account-type-card.featured{border-color:#b9ddcf;background:linear-gradient(145deg,#fff,#f3fbf7)}
.account-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#eaf3f7;color:#225f7c;font-size:13px;font-weight:950}
.account-type-card.featured .account-icon{background:#e7f6ef;color:#19745c}
.account-type-card h2{font-size:17px;margin:8px 0 6px;color:#183f59}
.account-type-card p{margin:0;color:#728894;font-size:10px;line-height:1.55}
.account-type-card>strong{grid-column:2;color:#2d6e8d;font-size:9.5px;margin-top:10px}
.onboarding-process{margin-top:22px;padding:22px}
.onboarding-process h2{font-size:17px;margin:6px 0 16px}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.process-steps>div{padding:12px;border:1px solid #e1e9ed;border-radius:10px;background:#fbfcfd}
.process-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e8f2f6;color:#2a6682;font-size:9px}
.process-steps strong,.process-steps span{display:block}.process-steps strong{font-size:9.5px;margin:8px 0 3px}.process-steps span{font-size:8.5px;line-height:1.45;color:#7b8e98}
.professional-onboarding-shell,.patient-onboarding-shell{max-width:1180px;margin:auto;padding:45px 24px 70px;display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}
.professional-onboarding-copy,.patient-onboarding-copy{padding-top:28px;position:sticky;top:110px}
.verification-callout{margin-top:22px;padding:13px 14px;border:1px solid #d7e5ea;border-radius:10px;background:#f7fbfc;display:grid;gap:4px}
.verification-callout strong{font-size:9px;color:#315f76}.verification-callout span{font-size:9px;line-height:1.5;color:#718692}
.patient-note{background:#eef8f3;border-color:#d0e9dc}
.back-link{display:inline-block;margin-top:17px;color:#39738f;font-size:9px;font-weight:800}.back-link.center{display:block;text-align:center}
.onboarding-form-card{padding:24px}.form-card-title{padding-bottom:15px;margin-bottom:16px;border-bottom:1px solid #edf1f3}
.form-card-title h2{font-size:20px;margin:5px 0}.form-card-title p{font-size:9.5px;line-height:1.5;color:#758a96;margin:0}
.onboarding-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.onboarding-form-grid label{display:grid;gap:6px;align-content:start;color:#557080;font-size:9px;font-weight:850}
.onboarding-form-grid label.span2{grid-column:1/-1}.onboarding-form-grid .control{min-height:46px;border-radius:9px}
.onboarding-form-grid textarea.control{min-height:72px;height:auto}.required-mark{color:#a64053}
.onboarding-form-grid small{font-size:7.8px;line-height:1.35;color:#81929c;font-weight:500}.onboarding-form-grid small.error{color:#a64053}
.consent-note{margin:16px 0 12px;padding:10px 11px;border-radius:9px;background:#f6f9fa;color:#758995;font-size:8px;line-height:1.45}
.patient-registration-card{max-width:680px}.auth-points.light span{color:#496777;background:#fff;border-color:#dbe7eb}
.submission-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.submission-card{width:min(590px,100%);padding:32px;text-align:center}
.submission-icon{margin:0 auto 14px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e8f6ef;color:#19745c;font-size:20px;font-weight:900}
.submission-card h1{font-size:25px;color:#173e58;margin:7px 0}.submission-card>p{font-size:10.5px;color:#748995}
.submission-reference{margin:20px auto;max-width:330px;padding:12px;border-radius:10px;background:#f4f8fa;border:1px solid #dde7eb}
.submission-reference span,.submission-reference strong{display:block}.submission-reference span{font-size:7.5px;color:#82939c;text-transform:uppercase;font-weight:900}.submission-reference strong{font-size:17px;color:#1c506c;margin-top:4px;letter-spacing:.04em}
.submission-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.submission-card dl div{padding:10px;background:#fbfcfd;border:1px solid #e6ecef;border-radius:8px}
.submission-card dt{font-size:7.5px;text-transform:uppercase;color:#8a99a1;font-weight:900}.submission-card dd{margin:3px 0 0;font-size:9.5px}
.login-register-box{margin-top:18px;padding:13px;border:1px solid #dce6eb;border-radius:10px;background:#f8fbfc;display:grid;gap:5px}
.login-register-box strong{font-size:10px;color:#315d74}.login-register-box span{font-size:8.8px;color:#7a8d97;line-height:1.4}.login-register-box .secondary{margin-top:5px}

/* onboarding admin */
.onboarding-metrics{grid-template-columns:repeat(3,1fr)}
.onboarding-filters{grid-template-columns:minmax(240px,1fr) 170px 170px auto}
.onboarding-filters input{min-width:0}
.onboarding-row{grid-template-columns:.85fr 1.25fr 1fr 1.35fr .85fr .8fr}
.status.pending{background:#fff5df;color:#8d651b}.status.review{background:#eaf4f9;color:#286882}.status.needs_info{background:#fff0dd;color:#936222}.status.approved{background:#e8f6ef;color:#19745c}.status.rejected{background:#fae9ed;color:#a64053}
.onboarding-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:15px;align-items:start}
.onboarding-detail-main{display:grid;gap:14px}.onboarding-actions{display:grid;gap:12px;position:sticky;top:104px}
.applicant-card,.verification-card,.created-account-card{padding:18px}.applicant-card .section-head,.verification-card .section-head,.created-account-card .section-head{padding:0 0 13px;margin-bottom:14px}
.applicant-dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.applicant-dl>div{padding:10px 11px;border:1px solid #e5ecef;border-radius:8px;background:#fbfcfd}.applicant-dl>div.span2{grid-column:1/-1}
.applicant-dl dt{font-size:7.5px;color:#8798a1;text-transform:uppercase;font-weight:900}.applicant-dl dd{font-size:9.5px;line-height:1.45;margin:3px 0 0;color:#294c61}
.verification-checks{display:grid;grid-template-columns:1fr;gap:8px}.verification-checks label{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid #dfe8ec;border-radius:9px;background:#fbfcfd;cursor:pointer}
.verification-checks input{width:17px;height:17px;accent-color:#19745c;margin-top:1px}.verification-checks strong,.verification-checks small{display:block}.verification-checks strong{font-size:9.5px}.verification-checks small{font-size:8px;color:#82949e;margin-top:3px;line-height:1.4}
.verification-notes{display:grid;gap:5px;margin:12px 0;color:#5b7483;font-size:9px;font-weight:850}.verification-notes textarea{min-height:90px}
.verification-summary,.decision-card{padding:16px}.verification-summary h3,.decision-card h3{font-size:13px;margin:6px 0 12px}
.verification-progress{display:grid;gap:6px}.verification-progress span{padding:8px 9px;border-radius:8px;background:#f4f7f8;color:#87969e;font-size:8.5px;font-weight:800}.verification-progress span.done{background:#eaf7f0;color:#19745c}.verification-summary>small{display:block;margin-top:10px;color:#8b9aa2;font-size:7.5px}
.decision-card form{margin:0}.decision-card button[disabled]{opacity:.45;cursor:not-allowed}.decision-secondary{display:grid;gap:8px;margin-top:10px!important;padding-top:10px;border-top:1px solid #edf1f3}.decision-secondary textarea{min-height:72px}.decision-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.credentials-once{margin-bottom:15px;padding:18px;border-color:#d1dfac;background:#fbfdeF;display:grid;grid-template-columns:42px 1fr;gap:12px}
.credentials-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f0e6bd;color:#8a6b1f;font-weight:950}.credentials-once h2{font-size:15px;margin:4px 0}.credentials-once p{font-size:8.5px;color:#788992}
.credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.credential-grid>div{padding:9px 10px;background:#fff;border:1px solid #e1e5cf;border-radius:8px}.credential-grid span,.credential-grid strong{display:block}.credential-grid span{font-size:7px;color:#88927b;text-transform:uppercase;font-weight:900}.credential-grid strong{font-size:10.5px;margin-top:3px;word-break:break-all}
@media(max-width:1000px){
  .professional-onboarding-shell,.patient-onboarding-shell{grid-template-columns:1fr;gap:18px}.professional-onboarding-copy,.patient-onboarding-copy{position:static;padding-top:0}
  .process-steps{grid-template-columns:1fr 1fr}.onboarding-detail-grid{grid-template-columns:1fr}.onboarding-actions{position:static}
}
@media(max-width:720px){
  .onboarding-public-header{height:72px;padding:0 14px}.onboarding-public-header .secondary{min-height:34px;font-size:8px}
  .onboarding-landing,.professional-onboarding-shell,.patient-onboarding-shell{padding:28px 13px 45px}
  .onboarding-intro h1,.professional-onboarding-copy h1,.patient-onboarding-copy h1{font-size:29px}
  .account-type-grid,.process-steps,.onboarding-form-grid,.submission-card dl,.applicant-dl,.credential-grid{grid-template-columns:1fr}
  .onboarding-form-grid label.span2,.applicant-dl>div.span2{grid-column:auto}.account-type-card{min-height:0}
  .onboarding-metrics{grid-template-columns:1fr 1fr}.onboarding-filters{display:grid;grid-template-columns:1fr}.onboarding-row{grid-template-columns:1fr 1fr}
  .onboarding-row.th{display:none}.decision-buttons{grid-template-columns:1fr}
}

/* CNOM credential upload / review */
.onboarding-form-grid input[type=file].control{
  min-height:52px;
  height:auto;
  padding:9px 10px;
  background:#fbfcfd;
  border:1px dashed #c9dce4;
}
.onboarding-form-grid input[type=file].control::file-selector-button{
  min-height:32px;
  margin-right:10px;
  padding:0 12px;
  border:1px solid #c9dce4;
  border-radius:8px;
  background:#eef5f8;
  color:#2c667f;
  font-size:8.5px;
  font-weight:850;
  cursor:pointer;
}
.cnom-card-review{padding:18px}
.cnom-card-review .section-head{padding:0 0 13px;margin-bottom:14px}
.cnom-image-link{
  display:grid;
  place-items:center;
  min-height:260px;
  padding:12px;
  border:1px solid #dfe8ec;
  border-radius:11px;
  background:#f8fbfc;
  overflow:hidden;
}
.cnom-image-link img{
  display:block;
  max-width:100%;
  max-height:520px;
  object-fit:contain;
  border-radius:7px;
  box-shadow:0 8px 24px rgba(24,57,74,.12);
}
.cnom-card-meta{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:9px;
  margin-top:10px;
  padding:9px 10px;
  border-radius:9px;
  background:#f6f9fa;
}
.cnom-card-meta>span{font-size:7.5px;text-transform:uppercase;color:#84949d;font-weight:900}
.cnom-card-meta>strong{font-size:10px;color:#234d64}
.credential-missing{
  padding:13px;
  border-radius:9px;
  border:1px solid #e8cfd4;
  background:#fff2f4;
  color:#974154;
  display:grid;
  gap:4px;
}
.credential-missing strong{font-size:9.5px}.credential-missing span{font-size:8.5px}
@media(max-width:700px){
  .cnom-card-meta{grid-template-columns:1fr}
}

.acorep-review-panel{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid #dfe8ec;
  border-radius:10px;
  background:#f8fbfc;
}
.acorep-review-panel>div:first-child{
  display:grid;
  gap:4px;
}
.acorep-review-panel>div:first-child span{
  font-size:7.5px;
  text-transform:uppercase;
  color:#84949d;
  font-weight:900;
}
.acorep-review-panel>div:first-child strong{
  font-size:11px;
  color:#234d64;
}
@media(max-width:700px){
  .acorep-review-panel{grid-template-columns:1fr}
}

/* Hospital institutional onboarding & doctor affiliations */
.hospital-doctor-list{display:grid;gap:8px}
.hospital-doctor-list article{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px;border:1px solid #e1e9ed;border-radius:10px;background:#fbfcfd
}
.hospital-doctor-list strong,.hospital-doctor-list span{display:block}
.hospital-doctor-list strong{font-size:10px;color:#254e65}
.hospital-doctor-list span{margin-top:3px;font-size:8px;color:#80929b}
.hospital-affiliation-section{padding:18px;margin-top:14px}
.hospital-affiliation-section .section-head{padding:0 0 13px;margin-bottom:12px}
.hospital-affiliation-card{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;
  padding:14px 0;border-bottom:1px solid #edf1f3
}
.hospital-affiliation-card:last-child{border-bottom:0}
.doctor-affiliation-identity{display:flex;align-items:center;gap:12px;min-width:0}
.doctor-affiliation-identity h3{margin:0;color:#214b62;font-size:11px}
.doctor-affiliation-identity p{margin:4px 0 0;color:#647e8c;font-size:8.5px}
.doctor-affiliation-identity small{display:block;margin-top:4px;color:#8a9aa2;font-size:7.5px}
.hospital-affiliation-actions{
  display:grid;grid-template-columns:minmax(150px,1fr) auto auto;gap:7px;align-items:center
}
.hospital-affiliation-actions .control{min-height:36px;height:36px}
.hospital-affiliation-card.approved{background:#fbfefc}
.muted-section{opacity:.88}
@media(max-width:850px){
  .hospital-affiliation-card{grid-template-columns:1fr}
  .hospital-affiliation-actions{grid-template-columns:1fr 1fr}
  .hospital-affiliation-actions .control{grid-column:1/-1}
}


/* Pharmacy network, quotation and dispensing workflow */
.status.quoted{background:#eef2ff;color:#4b5ea8}
.status.accepted{background:#eef8f3;color:#19745c}
.status.preparing{background:#edf5f8;color:#286882}
.status.ready{background:#e8f6ef;color:#156d55}
.status.completed{background:#e7f4ee;color:#17634f}
.status.cancelled{background:#f1f3f4;color:#687982}

.hero-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.metric-inline{display:flex;align-items:baseline;gap:10px}
.metric-inline strong{font-size:24px;color:#173e58}
.metric-inline span{font-size:9px;color:#738793}

.pharmacy-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:14px}
.pharmacy-directory-card{padding:17px;display:grid;gap:14px}
.pharmacy-card-head{display:flex;align-items:center;gap:11px}
.pharmacy-card-head h3{font-size:12px;margin:0 0 5px;color:#214b62}
.affiliation-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#eaf4f9;color:#286882;font-size:7.5px;font-weight:850}
.affiliation-badge.independent{background:#f1f4f5;color:#667b87}
.pharmacy-directory-card dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}
.pharmacy-directory-card dl>div{padding:8px 9px;border:1px solid #e5ecef;border-radius:8px;background:#fbfcfd}
.pharmacy-directory-card dt{font-size:7px;text-transform:uppercase;color:#8a9aa2;font-weight:900}
.pharmacy-directory-card dd{margin:3px 0 0;font-size:8.8px;color:#345a6f;line-height:1.4}
.verified-note{font-size:7.8px;color:#19745c;font-weight:800}

.patient-pharmacy-workflow{margin-bottom:15px;padding:18px}
.workflow-strip{display:grid;grid-template-columns:auto minmax(18px,1fr) auto minmax(18px,1fr) auto minmax(18px,1fr) auto;align-items:center;gap:8px;margin:14px 0}
.workflow-strip.card{grid-template-columns:auto minmax(12px,1fr) auto minmax(12px,1fr) auto minmax(12px,1fr) auto minmax(12px,1fr) auto minmax(12px,1fr) auto;padding:13px 18px}
.workflow-strip>div{display:grid;justify-items:center;text-align:center;gap:3px;min-width:74px}
.workflow-strip>div>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf1f3;color:#768b96;font-size:8px;font-weight:900}
.workflow-strip>div.done>span{background:#dff2e9;color:#176d55}
.workflow-strip strong{font-size:8px;color:#32586c}
.workflow-strip small{font-size:7px;color:#82949e;max-width:105px}
.workflow-strip>i{display:block;height:2px;background:#e4eaed;border-radius:2px}
.patient-choice-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:16px;align-items:end;padding:14px;border:1px solid #dce7eb;border-radius:11px;background:#f8fbfc;margin-top:14px}
.patient-choice-panel h3{font-size:12px;margin:0 0 5px;color:#214b62}
.patient-choice-panel p{font-size:8.5px;line-height:1.5;color:#708590;margin:0}
.patient-pharmacy-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.patient-pharmacy-form select{min-width:0}
.order-summary-grid,.order-patient-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.order-summary-grid>div,.order-patient-grid>div{padding:10px;border:1px solid #e4ecef;border-radius:9px;background:#fbfcfd}
.order-summary-grid span,.order-patient-grid span{display:block;font-size:7px;color:#8798a1;text-transform:uppercase;font-weight:900}
.order-summary-grid strong,.order-patient-grid strong{display:block;margin-top:3px;font-size:9px;color:#2a5168;word-break:break-word}
.quote-accept-card{display:grid;grid-template-columns:1fr minmax(300px,.8fr);gap:18px;align-items:center;margin-top:14px;padding:16px;border:1px solid #cfe4dd;border-radius:11px;background:#f4fbf8}
.quote-accept-card h3{font-size:22px;color:#176d55;margin:5px 0}
.quote-accept-card p{font-size:9px;color:#536f7d}
.quote-accept-card small{font-size:7.8px;color:#7d919b}
.payment-choice-form{display:grid;gap:10px}
.payment-options ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.payment-options label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #dce7e3;border-radius:9px;background:#fff;font-size:9px;font-weight:800;color:#315b70}
.payment-options input{width:16px;height:16px;accent-color:#19745c}
.workflow-notice{display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:11px 12px;border-radius:9px;font-size:8.5px;line-height:1.45}
.workflow-notice strong{white-space:nowrap}.workflow-notice.info{background:#eef6f9;color:#2b657e}.workflow-notice.success{background:#edf8f3;color:#19745c}.workflow-notice.warning{background:#fff5df;color:#8d651b}

.order-workflow-hero{display:flex;justify-content:space-between;align-items:center;gap:16px}
.order-workflow-hero h2{margin:4px 0;font-size:21px;color:#173e58}.order-workflow-hero p{font-size:9px;color:#788d98;margin:0}
.order-main-stack,.order-action-stack{display:grid;gap:13px}
.pharmacy-order-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;align-items:start}
.action-card{padding:17px}.action-card h3{font-size:13px;color:#214b62;margin:5px 0 7px}.action-card p{font-size:8.5px;color:#708590;line-height:1.5}
.action-card form{display:grid;gap:9px}.action-card form>label:not(.confirm-line){display:grid;gap:5px;font-size:8px;font-weight:850;color:#587482}
.action-gap{margin-top:10px}
.confirm-line{display:flex!important;align-items:flex-start;gap:8px!important;padding:9px;border:1px solid #dfe8ec;border-radius:8px;background:#fbfcfd;font-size:8.3px!important;color:#456779!important}
.confirm-line input{width:16px;height:16px;margin-top:0;accent-color:#19745c}
.order-quote-summary{padding:17px}
.order-quote-summary dl{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0 0}
.order-quote-summary dl>div{padding:9px;border:1px solid #e5ecef;border-radius:8px;background:#fbfcfd}
.order-quote-summary dt{font-size:7px;text-transform:uppercase;color:#8798a1;font-weight:900}
.order-quote-summary dd{margin:3px 0 0;font-size:8.5px;color:#2f566c}
.complete-card{border-color:#cfe6da;background:#f8fdfb}

@media(max-width:1100px){
  .pharmacy-directory-grid{grid-template-columns:1fr 1fr}
  .pharmacy-order-grid{grid-template-columns:1fr}
  .workflow-strip.card{overflow-x:auto;justify-content:start}
}
@media(max-width:760px){
  .pharmacy-directory-grid{grid-template-columns:1fr}
  .pharmacy-directory-card dl,.order-summary-grid,.order-patient-grid,.order-quote-summary dl{grid-template-columns:1fr 1fr}
  .patient-choice-panel,.quote-accept-card{grid-template-columns:1fr}
  .patient-pharmacy-form{grid-template-columns:1fr}
  .workflow-strip{overflow-x:auto;justify-content:start;padding-bottom:4px}
  .workflow-strip>i{width:24px}
  .order-workflow-hero{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .pharmacy-directory-card dl,.order-summary-grid,.order-patient-grid,.order-quote-summary dl{grid-template-columns:1fr}
}


/* =========================================================
   Global typography system — readability & hierarchy pass
   2026-08-29
   ========================================================= */
:root{
  --type-display:36px;
  --type-h1:24px;
  --type-h2:19px;
  --type-h3:16px;
  --type-body:14px;
  --type-ui:13px;
  --type-meta:11.5px;
  --type-label:10.5px;
  --leading-tight:1.18;
  --leading-heading:1.28;
  --leading-body:1.55;
  --tracking-label:.08em;
}

html{
  font-size:16px;
  text-rendering:optimizeLegibility;
  -webkit-text-size-adjust:100%;
}
body{
  font-size:var(--type-body);
  line-height:1.5;
  font-weight:400;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
button,input,select,textarea{
  font-size:var(--type-body);
  line-height:1.35;
}
p{line-height:var(--leading-body)}
h1,h2,h3,h4{
  line-height:var(--leading-heading);
  letter-spacing:-.012em;
}
small{line-height:1.45}

/* Navigation / shell */
.brand strong{font-size:16px;font-weight:750;letter-spacing:-.01em}
.brand small{font-size:11.5px;line-height:1.35}
.tenant-chip span{font-size:10.5px;letter-spacing:var(--tracking-label)}
.tenant-chip strong{font-size:12.5px;line-height:1.35}
.sidebar nav a{font-size:13px;font-weight:650;line-height:1.3}
.user-mini strong{font-size:12.5px;line-height:1.25}
.user-mini small{font-size:11px;line-height:1.3}
.logout{font-size:12px;font-weight:600}
.topbar h1{font-size:23px;line-height:1.2;letter-spacing:-.018em}
.eyebrow{
  font-size:10.5px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.1em;
}
.lang a{font-size:11px;font-weight:750}

/* Buttons, controls, filters */
.primary,.secondary,.danger,button{
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  min-height:42px;
}
.compact{min-height:36px;font-size:12px}
.control,
.searchbar input,.filters input,.filters select,.medicine-search input{
  font-size:14px;
  line-height:1.4;
  min-height:42px;
}
textarea.control{line-height:1.5}
.form-grid label,.upload-form label,.form-card form>label,
.onboarding-form-grid label,
.auth-form form label,
.action-card form>label:not(.confirm-line){
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.form-grid small,.onboarding-form-grid small,
.auth-form small,.action-card small{
  font-size:11.5px;
  line-height:1.45;
}
.onboarding-form-grid input[type=file].control::file-selector-button{
  font-size:12px;
  font-weight:700;
}

/* Core cards and hierarchy */
.hero h2,.detail-hero h2,.rx-hero h2,
.order-workflow-hero h2{
  font-size:23px;
  line-height:1.22;
  letter-spacing:-.018em;
}
.hero p,.detail-hero p,.rx-hero p,
.order-workflow-hero p{
  font-size:13.5px;
  line-height:1.55;
}
.hero-stat strong{font-size:28px;line-height:1.05}
.hero-stat small{font-size:11.5px}
.metrics span{font-size:11.5px;font-weight:700;line-height:1.35}
.metrics strong{font-size:30px;line-height:1.05;letter-spacing:-.025em}
.metrics small{font-size:11px;line-height:1.35}
.section-head h2{font-size:17px;line-height:1.25}
.section-head p{font-size:12.5px;line-height:1.5}
.section-head>a{font-size:12.5px;font-weight:700}
.quick-card h2,.form-card h2{font-size:19px}
.quick strong{font-size:13.5px}
.quick small{font-size:11.5px;line-height:1.45}
.empty{font-size:12.5px;line-height:1.55}

/* Tables and list rows */
.tr{
  font-size:12.5px;
  line-height:1.4;
}
.tr strong{font-weight:700}
.tr small{font-size:11.5px;line-height:1.4}
.tr.th{
  font-size:10.5px;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.07em;
}
.list-card{font-size:13px;line-height:1.4}
.list-card span,.list-card small{font-size:11.5px;line-height:1.4}
.status{
  font-size:10.5px;
  font-weight:800;
  line-height:1.2;
}
.status.large{font-size:11.5px}

/* Medicine catalogue and clinical content */
.medicine-search>span{font-size:20px}
.pill,.affiliation-badge{
  font-size:10px;
  font-weight:800;
  line-height:1.2;
}
.medicine-card h3{font-size:16.5px;line-height:1.25}
.medicine-card .generic{font-size:12.5px;line-height:1.4}
.med-dose strong{font-size:13.5px}
.med-dose span{font-size:11.5px}
.medicine-card>p{font-size:12.5px;line-height:1.55}
.medicine-card footer{font-size:10.5px;line-height:1.4}
.med-info-grid h3{font-size:16px}
.med-info-grid h4{font-size:10.5px;font-weight:800;letter-spacing:.07em}
.med-info-grid p{font-size:13px;line-height:1.6}
.med-info-grid dt,.side-stack dt,.detail-grid dt,
.order-quote-summary dt,.pharmacy-directory-card dt,
.applicant-dl dt{
  font-size:10.5px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.06em;
}
.med-info-grid dd,.side-stack dd,.detail-grid dd,
.order-quote-summary dd,.pharmacy-directory-card dd,
.applicant-dl dd{
  font-size:12.5px;
  line-height:1.5;
}
.clinical-warning{font-size:12px;line-height:1.55}

/* Prescription creation, review and verification */
.rx-item-head strong{font-size:13px}
.delete-check,.override-check,.send-rx-form label{font-size:11.5px}
.interaction-live strong{font-size:12.5px}
.interaction-live span{font-size:11.5px;line-height:1.45}
.prescription-sheet>header h3{font-size:19px}
.prescription-sheet>header p,.prescription-sheet>header small{font-size:12px;line-height:1.45}
.allergy{font-size:12.5px;line-height:1.45}
.diagnosis{font-size:12.5px;line-height:1.55}
.rx-num{font-size:11.5px}
.rx-items h4{font-size:14px;line-height:1.3}
.rx-items p{font-size:12px;line-height:1.45}
.rx-items strong{font-size:12.5px;line-height:1.45}
.rx-items small{font-size:11.5px;line-height:1.45}
.side-stack h3{font-size:15px;line-height:1.3}
.danger-zone p{font-size:12px;line-height:1.5}
.interaction-panel h2{font-size:16px}
.interaction-panel header p{font-size:12px;line-height:1.5}
.interaction>div span{font-size:10.5px}
.interaction>div strong{font-size:12.5px}
.interaction p{font-size:12.5px;line-height:1.5}
.interaction small{font-size:11.5px;line-height:1.45}
.rx-step strong{font-size:12.5px}
.rx-step small{font-size:11px}
.rx-step>span{font-size:11.5px}
.review-patient-grid span,.review-regimen span{font-size:10.5px}
.review-patient-grid strong,.review-regimen strong{font-size:12.5px}
.review-allergy,.review-diagnosis{font-size:12px;line-height:1.5}
.review-med-title h3{font-size:15px;line-height:1.3}
.review-med-body>p,.review-instructions{font-size:11.5px;line-height:1.45}
.review-safe strong{font-size:12.5px}
.review-safe span{font-size:11.5px}
.review-confirm-card p,.review-confirm-card label{font-size:12px;line-height:1.5}
.verify-status small{font-size:11.5px}
.verify-card h1{font-size:23px}
.verify-card dt{font-size:10.5px}
.verify-card dd{font-size:12.5px}
.verify-card section h2{font-size:15px}
.verify-card section strong,.verify-card section span{font-size:12px}
.verify-card footer{font-size:10.5px;line-height:1.45}

/* Pharmacy workflow */
.pharmacy-card-head h3{font-size:15px}
.verified-note{font-size:11.5px}
.metric-inline strong{font-size:28px}
.metric-inline span{font-size:12px;line-height:1.45}
.workflow-strip>div>span{font-size:10.5px}
.workflow-strip strong{font-size:11.5px;line-height:1.25}
.workflow-strip small{font-size:10.5px;line-height:1.3}
.patient-choice-panel h3{font-size:15px}
.patient-choice-panel p{font-size:12.5px;line-height:1.55}
.order-summary-grid span,.order-patient-grid span{font-size:10.5px}
.order-summary-grid strong,.order-patient-grid strong{font-size:12.5px;line-height:1.4}
.quote-accept-card h3{font-size:24px;line-height:1.15}
.quote-accept-card p{font-size:12.5px;line-height:1.5}
.quote-accept-card small{font-size:11.5px}
.payment-options label{font-size:12.5px;font-weight:650;line-height:1.4}
.workflow-notice{font-size:12px;line-height:1.5}
.action-card h3{font-size:16px}
.action-card p{font-size:12.5px;line-height:1.55}
.confirm-line{font-size:12px!important;line-height:1.45}
.order-quote-summary dd{font-size:12px}

/* Hospital / affiliation */
.hospital-doctor-list strong{font-size:13px}
.hospital-doctor-list span{font-size:11.5px;line-height:1.4}
.doctor-affiliation-identity h3{font-size:14px}
.doctor-affiliation-identity p{font-size:12px;line-height:1.45}
.doctor-affiliation-identity small{font-size:11px;line-height:1.4}
.cnom-card-meta>span,.acorep-review-panel>div:first-child span{font-size:10.5px}
.cnom-card-meta>strong,.acorep-review-panel>div:first-child strong{font-size:12.5px}
.credential-missing strong{font-size:12.5px}
.credential-missing span{font-size:11.5px;line-height:1.45}

/* Onboarding and public pages */
.onboarding-intro h1,.professional-onboarding-copy h1,.patient-onboarding-copy h1{
  font-size:38px;
  line-height:1.08;
  letter-spacing:-.035em;
}
.onboarding-intro>p,.professional-onboarding-copy>p,.patient-onboarding-copy>p{
  font-size:14px;
  line-height:1.65;
}
.account-type-card h2{font-size:19px}
.account-type-card p{font-size:12.5px;line-height:1.55}
.account-type-card li{font-size:11.5px;line-height:1.5}
.account-type-card>strong{font-size:11.5px}
.process-steps b{font-size:11px}
.process-steps strong{font-size:12px}
.process-steps span{font-size:11px;line-height:1.5}
.verification-callout strong{font-size:12px}
.verification-callout span{font-size:11.5px;line-height:1.55}
.back-link{font-size:12px}
.form-card-title h2{font-size:21px}
.form-card-title p{font-size:12.5px;line-height:1.55}
.consent-note{font-size:11.5px;line-height:1.5}
.submission-card h1{font-size:28px}
.submission-card>p{font-size:13px;line-height:1.55}
.submission-reference span{font-size:10.5px}
.submission-reference strong{font-size:19px}
.submission-card dt{font-size:10.5px}
.submission-card dd{font-size:12.5px}
.login-register-box strong{font-size:12.5px}
.login-register-box span{font-size:11.5px;line-height:1.5}

/* Onboarding administration */
.applicant-dl dd{font-size:12.5px}
.verification-checks strong{font-size:12.5px}
.verification-checks small{font-size:11.5px;line-height:1.5}
.verification-notes{font-size:12px}
.verification-summary h3,.decision-card h3{font-size:16px}
.verification-progress span{font-size:11.5px}
.verification-summary>small{font-size:10.5px;line-height:1.45}
.credentials-once h2{font-size:17px}
.credentials-once p{font-size:11.5px;line-height:1.5}
.credential-grid span{font-size:10.5px}
.credential-grid strong{font-size:12.5px}

/* Authentication / public upload */
.auth-copy h1{font-size:46px;line-height:1.05}
.auth-copy>p{font-size:15px;line-height:1.65}
.auth-points span{font-size:12px;line-height:1.45}
.auth-form h2{font-size:28px}
.auth-form p{font-size:13px;line-height:1.55}
.upload-link{font-size:12px}
.upload-intro h1{font-size:40px}
.upload-intro>p{font-size:14px;line-height:1.65}
.flow span{font-size:11.5px}
.msg{font-size:12.5px;line-height:1.45}

/* Mobile and tablet type behavior */
@media(max-width:1050px){
  body{font-size:14px}
  .sidebar nav a{font-size:13.5px}
  .section-head h2{font-size:17px}
}
@media(max-width:760px){
  body{font-size:14px;line-height:1.55}
  .topbar h1{font-size:20px}
  .eyebrow{font-size:10px}
  .hero h2,.detail-hero h2,.rx-hero h2,.order-workflow-hero h2{font-size:21px}
  .hero p,.detail-hero p,.rx-hero p,.order-workflow-hero p{font-size:13px}
  .metrics span{font-size:11px}
  .metrics strong{font-size:27px}
  .metrics small{font-size:10.5px}
  .section-head h2{font-size:16px}
  .tr{font-size:13px;line-height:1.45}
  .tr small{font-size:11.5px}
  .primary,.secondary,.danger,button{font-size:13.5px;min-height:44px}
  .control,input.control,select.control,textarea.control,
  .searchbar input,.filters input,.filters select,.medicine-search input{
    font-size:16px;
  }
  .form-grid label,.upload-form label,.form-card form>label,
  .onboarding-form-grid label,.auth-form form label,
  .action-card form>label:not(.confirm-line){
    font-size:12.5px;
  }
  .onboarding-intro h1,.professional-onboarding-copy h1,.patient-onboarding-copy h1{font-size:31px}
  .onboarding-intro>p,.professional-onboarding-copy>p,.patient-onboarding-copy>p{font-size:13.5px}
  .auth-copy h1{font-size:36px}
  .upload-intro h1{font-size:32px}
  .workflow-strip strong{font-size:11px}
  .workflow-strip small{font-size:10px}
}
@media(max-width:480px){
  .metrics strong{font-size:25px}
  .topbar h1{font-size:19px}
  .section-head h2{font-size:15.5px}
}


/* =========================================================
   Hospital dashboard ergonomics pass — 2026-08-29
   ========================================================= */
.hospital-dashboard-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.hospital-kpi{
  min-height:122px;
  padding:17px 18px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  position:relative;
  overflow:hidden;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
a.hospital-kpi:hover{
  transform:translateY(-2px);
  border-color:#c7dbe4;
  box-shadow:0 16px 36px rgba(25,57,75,.09);
}
.hospital-kpi.attention{
  border-color:#ead9ac;
  background:linear-gradient(180deg,#fffdf8,#fff);
}
.hospital-kpi-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:#edf4f7;color:#2c6681;
  font-size:12px;font-weight:850;
}
.hospital-kpi-icon.doctor{background:#edf4f8;color:#245f7d}
.hospital-kpi-icon.pharmacy{background:#edf7f4;color:#19745c}
.hospital-kpi-icon.active{background:#eaf7f0;color:#19745c}
.hospital-kpi.attention .hospital-kpi-icon{background:#fff2cf;color:#8a661f}
.hospital-kpi span{
  display:block;
  color:#6f8591;
  font-size:11.5px;
  font-weight:750;
  line-height:1.3;
}
.hospital-kpi strong{
  display:block;
  margin-top:5px;
  color:#163d57;
  font-size:30px;
  line-height:1;
  letter-spacing:-.03em;
}
.hospital-kpi small{
  display:block;
  margin-top:5px;
  color:#8999a1;
  font-size:10.5px;
  line-height:1.35;
}
.hospital-kpi>b{
  align-self:end;
  color:#2a6c8a;
  font-size:10.5px;
  font-weight:750;
  white-space:nowrap;
}

.hospital-command-center{
  padding:22px;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);
  gap:24px;
  align-items:center;
  margin-bottom:16px;
}
.hospital-command-copy h2{
  margin:5px 0 7px;
  max-width:760px;
  color:#153b55;
  font-size:22px;
  line-height:1.2;
  letter-spacing:-.02em;
}
.hospital-command-copy>p{
  margin:0;
  max-width:820px;
  color:#6f8591;
  font-size:12.8px;
  line-height:1.55;
}
.hospital-rule-flow{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin-top:15px;
}
.hospital-rule-flow>span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border:1px solid #dce8ed;
  border-radius:999px;
  background:#f8fbfc;
  color:#557384;
  font-size:10.8px;
  font-weight:650;
}
.hospital-rule-flow>span b{
  display:grid;
  place-items:center;
  width:20px;height:20px;
  border-radius:50%;
  background:#e7f1f5;
  color:#2d6781;
  font-size:9px;
}
.hospital-rule-flow>i{
  color:#9dafb7;
  font-style:normal;
  font-size:11px;
}
.hospital-command-actions{
  display:grid;
  gap:9px;
}
.hospital-action-tile{
  min-height:72px;
  padding:12px 13px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  border:1px solid #dbe6eb;
  border-radius:12px;
  background:#fbfcfd;
  transition:.16s ease;
}
.hospital-action-tile:hover{
  background:#fff;
  border-color:#bfd5df;
  transform:translateX(2px);
}
.hospital-action-icon{
  display:grid;
  place-items:center;
  width:40px;height:40px;
  border-radius:11px;
  background:#eaf3f7;
  color:#235d79;
  font-size:11px;
  font-weight:850;
}
.hospital-action-tile.pharmacy .hospital-action-icon{
  background:#eaf7f2;
  color:#19745c;
}
.hospital-action-tile strong{
  display:block;
  color:#214b62;
  font-size:13px;
  line-height:1.25;
}
.hospital-action-tile small{
  display:block;
  margin-top:3px;
  color:#82939c;
  font-size:10.5px;
  line-height:1.35;
}
.hospital-action-tile>b{
  color:#4c8199;
  font-size:15px;
}

.hospital-work-queues{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
.hospital-queue{
  min-width:0;
  overflow:hidden;
}
.hospital-queue-head{
  min-height:78px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid #edf1f3;
}
.hospital-queue-head h2{
  margin:3px 0 0;
  color:#173f58;
  font-size:16px;
}
.hospital-queue-actions{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.hospital-queue-actions>a{
  color:#2b6e8b;
  font-size:11px;
  font-weight:750;
}
.hospital-count-badge{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 8px;
  border-radius:999px;
  background:#eef3f5;
  color:#6b7f89;
  font-size:10px;
  font-weight:750;
  white-space:nowrap;
}
.hospital-count-badge.attention{
  background:#fff2cf;
  color:#88631d;
}
.hospital-request-list{
  display:grid;
  padding:0 17px;
}
.hospital-request-list article{
  min-height:74px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid #edf1f3;
}
.hospital-request-list article:last-child{border-bottom:0}
.hospital-request-avatar{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:11px;
  background:#eaf3f7;
  color:#275f7a;
  font-size:10px;
  font-weight:850;
}
.hospital-request-avatar.pharmacy{
  background:#eaf7f2;
  color:#19745c;
}
.hospital-request-copy{
  min-width:0;
}
.hospital-request-copy strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#244d64;
  font-size:12.5px;
}
.hospital-request-copy span{
  display:block;
  margin-top:3px;
  color:#81939d;
  font-size:10.5px;
  line-height:1.35;
}
.hospital-empty-state{
  min-height:130px;
  padding:22px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:left;
}
.hospital-empty-icon{
  flex:0 0 auto;
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#eaf7f0;
  color:#19745c;
  font-size:15px;
  font-weight:850;
}
.hospital-empty-state strong{
  display:block;
  color:#375c70;
  font-size:12px;
}
.hospital-empty-state small{
  display:block;
  margin-top:3px;
  color:#8a9aa2;
  font-size:10.5px;
  line-height:1.4;
}
.hospital-footer-note{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:10px 12px;
  border:1px solid #dce7eb;
  border-radius:10px;
  background:#f7fafb;
  color:#6d818d;
}
.hospital-footer-note>span{
  flex:0 0 auto;
  display:grid;place-items:center;
  width:22px;height:22px;
  border-radius:50%;
  background:#e7f1f5;
  color:#2d6781;
  font-size:11px;
  font-weight:800;
}
.hospital-footer-note p{
  margin:1px 0 0;
  font-size:10.8px;
  line-height:1.45;
}
.hospital-footer-note strong{color:#456a7d}

@media(max-width:1220px){
  .hospital-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hospital-command-center{grid-template-columns:1fr}
  .hospital-command-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .hospital-work-queues{grid-template-columns:1fr}
  .hospital-command-actions{grid-template-columns:1fr}
  .hospital-rule-flow>i{display:none}
}
@media(max-width:620px){
  .hospital-dashboard-summary{grid-template-columns:1fr 1fr;gap:9px}
  .hospital-kpi{
    min-height:112px;
    padding:14px;
    grid-template-columns:36px minmax(0,1fr);
  }
  .hospital-kpi-icon{width:36px;height:36px}
  .hospital-kpi>b{display:none}
  .hospital-kpi strong{font-size:27px}
  .hospital-command-center{padding:17px;gap:18px}
  .hospital-command-copy h2{font-size:20px}
  .hospital-queue-head{align-items:flex-start;flex-direction:column}
  .hospital-queue-actions{width:100%;justify-content:space-between}
}
@media(max-width:430px){
  .hospital-dashboard-summary{grid-template-columns:1fr}
  .hospital-kpi{min-height:100px}
  .hospital-request-list article{grid-template-columns:36px minmax(0,1fr)}
  .hospital-request-list article>a{grid-column:2;width:max-content}
}

a.hospital-kpi:focus-visible,
.hospital-action-tile:focus-visible,
.hospital-queue-actions>a:focus-visible,
.hospital-request-list a:focus-visible{
  outline:3px solid rgba(36,107,145,.22);
  outline-offset:3px;
}


/* =========================================================
   Full smartphone & tablet responsive optimization — 2026-08-29
   ========================================================= */
.sidebar-close,.nav-backdrop,.mobile-primary-action{display:none}

/* Universal overflow and touch safeguards */
img,svg,video,canvas{max-width:100%;height:auto}
.card,.main,.content,.section-head>div,.topbar>div{min-width:0}
h1,h2,h3,h4,p,dd,td,span,strong,small{overflow-wrap:break-word}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,.primary,.secondary,.danger,.sidebar nav a,.lang a{
  touch-action:manipulation;
}

/* Tablet: 769–1050 px */
@media(max-width:1050px){
  body.nav-open{overflow:hidden}

  .app-shell{grid-template-columns:1fr}
  .sidebar{
    position:fixed;
    inset:0 auto 0 0;
    left:0;
    width:min(320px,86vw);
    height:100dvh;
    transform:translateX(-105%);
    transition:transform .22s ease;
    z-index:40;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:20px 15px max(18px,env(safe-area-inset-bottom));
    box-shadow:18px 0 50px rgba(8,31,44,.22);
  }
  .nav-open .sidebar{left:0;transform:translateX(0)}
  .sidebar-close{
    display:grid;
    place-items:center;
    position:absolute;
    top:12px;
    right:12px;
    width:42px;
    height:42px;
    min-height:42px;
    padding:0;
    border-radius:10px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:24px;
    line-height:1;
    z-index:2;
  }
  .sidebar .brand{padding-right:48px}
  .sidebar nav a{
    min-height:46px;
    padding:11px 12px;
    border-radius:10px;
  }
  .sidebar nav a span{width:24px}
  .tenant-chip{padding:11px 12px}
  .side-bottom{padding-bottom:4px}

  .nav-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:35;
    border:0;
    border-radius:0;
    width:100%;
    height:100%;
    min-height:0;
    padding:0;
    background:rgba(10,31,43,.42);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
    backdrop-filter:blur(2px);
  }
  .nav-open .nav-backdrop{opacity:1;pointer-events:auto}

  .menu-btn{
    display:grid;
    place-items:center;
    flex:0 0 44px;
    width:44px;
    height:44px;
    min-height:44px;
    padding:0;
    border-radius:10px;
    background:#eef3f6;
    color:#214f68;
    font-size:19px;
  }

  .topbar{
    height:78px;
    padding:0 18px;
    gap:12px;
  }
  .topbar>div:nth-child(2){min-width:0}
  .topbar h1{
    max-width:58vw;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .top-actions{gap:8px}
  .content{
    max-width:none;
    padding:20px 18px 44px;
  }
  .messages{padding:10px 18px 0}

  .dashboard-grid,
  .detail-grid,
  .med-info-grid,
  .rx-layout,
  .pharmacy-order-grid,
  .review-layout,
  .onboarding-detail-grid{
    grid-template-columns:1fr;
  }
  .review-side,.onboarding-actions{position:static}

  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .medicine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pharmacy-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  .item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rx-med-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rx-regimen-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "dose frequency"
      "dosehelp frequencyhelp"
      "duration quantity"
      "durationhelp quantityhelp";
  }
  .review-patient-grid,.review-regimen{grid-template-columns:repeat(2,minmax(0,1fr))}
  .order-summary-grid,.order-patient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .order-quote-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}

  .professional-onboarding-shell,.patient-onboarding-shell{
    grid-template-columns:1fr;
    max-width:820px;
    gap:20px;
    padding:32px 22px 56px;
  }
  .professional-onboarding-copy,.patient-onboarding-copy{
    position:static;
    padding-top:0;
  }
  .onboarding-landing{padding-left:22px;padding-right:22px}
  .public-upload main{grid-template-columns:1fr;gap:26px;padding:38px 22px}
  .auth-shell{grid-template-columns:1fr}
  .auth-visual{display:none}
  .auth-form{min-height:100dvh;padding:30px 22px}

  .hospital-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hospital-command-center{grid-template-columns:1fr}
  .hospital-command-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hospital-work-queues{grid-template-columns:1fr}

  .sticky-form-footer{
    bottom:max(10px,env(safe-area-inset-bottom));
  }
}

/* Compact tablet / large phones */
@media(max-width:820px){
  .hero,.detail-hero,.rx-hero,.review-hero{
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
  }
  .hero-actions,.rx-actions{width:100%}
  .hero-actions>a{flex:1 1 180px}
  .review-side{grid-template-columns:1fr}
  .rx-safety-column{grid-template-columns:1fr}
  .hospital-command-actions{grid-template-columns:1fr}
  .hospital-rule-flow>i{display:none}
  .hospital-rule-flow>span{flex:1 1 180px}
}

/* Phones: <=760 px */
@media(max-width:760px){
  body{min-width:320px}
  .topbar{
    position:sticky;
    min-height:70px;
    height:auto;
    padding:10px 12px;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:9px;
  }
  .topbar h1{
    max-width:none;
    font-size:19px;
  }
  .topbar .eyebrow{
    display:block;
    max-width:100%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .top-actions{margin-left:0}
  .top-actions .primary{display:none}
  .lang a{
    min-width:36px;
    min-height:38px;
    display:grid;
    place-items:center;
    padding:0 7px;
  }

  .content{
    padding:14px 12px calc(86px + env(safe-area-inset-bottom));
  }
  .messages{padding:8px 12px 0}
  .msg{padding:11px 12px;border-radius:10px}

  .mobile-primary-action{
    display:flex;
    position:fixed;
    right:14px;
    bottom:max(14px,env(safe-area-inset-bottom));
    z-index:30;
    min-height:52px;
    padding:0 17px 0 13px;
    align-items:center;
    gap:7px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--navy),#226286);
    color:#fff;
    box-shadow:0 12px 30px rgba(16,55,77,.3);
    font-size:13px;
    font-weight:750;
  }
  .mobile-primary-action>span{
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    font-size:18px;
  }
  .mobile-primary-action>b{font-weight:750}

  .card{border-radius:12px}
  .hero,.detail-hero,.rx-hero,.review-hero,
  .hospital-command-center{
    padding:16px;
    margin-bottom:12px;
  }
  .section-head{
    padding:14px 15px;
    gap:10px;
  }
  .section-head>a{white-space:nowrap}

  .metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-bottom:12px;
  }
  .metrics article{padding:13px 14px;min-width:0}
  .dashboard-grid{gap:11px}
  .medicine-grid,.pharmacy-directory-grid{grid-template-columns:1fr}

  .searchbar,.filters,.medicine-search{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:10px;
  }
  .filters button,.searchbar button,.medicine-search button{width:100%}

  .form-card{padding:15px}
  .form-grid,.onboarding-form-grid,.applicant-dl,.credential-grid{
    grid-template-columns:1fr;
  }
  .form-grid .span2,.onboarding-form-grid label.span2,.applicant-dl>div.span2{
    grid-column:auto;
  }
  .form-card footer{
    display:grid;
    grid-template-columns:1fr;
  }
  .form-card footer>*{width:100%}

  /* Preserve meaning of data tables via horizontal touch scrolling */
  .table{
    display:block;
    width:100%;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .tr,.tr.th{
    display:grid;
    min-width:620px;
    grid-template-columns:1.05fr 1.4fr 1.15fr .7fr;
  }
  .tr.patient{
    min-width:700px;
    grid-template-columns:1.1fr 1.2fr .7fr 1.4fr;
  }
  .tr.rx{
    min-width:780px;
    grid-template-columns:1fr 1.3fr 1.15fr .85fr .65fr;
  }
  .tr.pharmacy{
    min-width:730px;
    grid-template-columns:.55fr 1.2fr 1fr .8fr .7fr;
  }
  .tr.th{display:grid}
  .tr span:last-child{justify-self:initial}

  .prescription-sheet{padding:16px}
  .prescription-sheet>header{flex-direction:column;gap:11px}
  .rx-items article{grid-template-columns:28px minmax(0,1fr)}
  .rx-actions{display:grid;grid-template-columns:1fr 1fr}
  .rx-actions>*{min-width:0}
  .rx-actions .send-rx-form{grid-column:1/-1}
  .send-rx-form{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .send-rx-form button{grid-column:1/-1;width:100%}

  .rx-stepper{
    overflow-x:auto;
    justify-content:flex-start;
    scroll-snap-type:x proximity;
    padding:10px 12px;
  }
  .rx-step{flex:0 0 auto;min-width:112px;scroll-snap-align:start}
  .rx-stepper>i{display:none}
  .rx-step small{display:none}

  .rx-context-grid,
  .rx-med-meta,
  .rx-regimen-grid{
    grid-template-columns:1fr;
  }
  .rx-regimen-grid{
    grid-template-areas:
      "dose" "dosehelp"
      "frequency" "frequencyhelp"
      "duration" "durationhelp"
      "quantity" "quantityhelp";
  }
  .smart-rx-item{padding:16px 14px 18px}
  .smart-rx-item .medicine-search-shell .control{
    height:48px;
    min-height:48px;
    font-size:16px;
  }
  .rx-med-meta .control,
  .rx-regimen-grid .regimen-field>.control{
    height:48px!important;
    min-height:48px!important;
    max-height:none;
    font-size:16px;
  }
  .rx-med-meta>label,
  .rx-regimen-grid>.regimen-field{
    grid-template-rows:auto 48px auto;
    font-size:12px;
  }
  .quick-chips{gap:7px}
  .quick-chips button{
    min-height:36px;
    padding:0 11px;
    font-size:11.5px;
  }
  .quantity-calculator{align-items:center}
  .quantity-formula{font-size:11.5px}
  .quantity-recalculate{min-height:36px;font-size:11px}

  .review-patient-grid,.review-regimen{grid-template-columns:1fr 1fr}
  .review-med-title{align-items:flex-start;flex-direction:column}
  .review-med-list>article{padding:14px}
  .review-side>.card{padding:15px}

  .patient-choice-panel,.quote-accept-card{
    grid-template-columns:1fr;
    padding:13px;
  }
  .patient-pharmacy-form{grid-template-columns:1fr}
  .patient-pharmacy-form button{width:100%}
  .order-summary-grid,.order-patient-grid,.order-quote-summary dl{
    grid-template-columns:1fr 1fr;
  }
  .workflow-strip{
    width:100%;
    overflow-x:auto;
    justify-content:flex-start;
    scroll-snap-type:x proximity;
    padding:4px 0 8px;
  }
  .workflow-strip>div{
    flex:0 0 auto;
    min-width:94px;
    scroll-snap-align:start;
  }
  .workflow-strip>i{flex:0 0 26px;width:26px}

  .pharmacy-order-grid{gap:11px}
  .action-card{padding:15px}
  .confirm-line{min-height:44px}
  .payment-options label{min-height:48px}

  .hospital-dashboard-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .hospital-kpi{
    min-height:110px;
    padding:13px;
    grid-template-columns:36px minmax(0,1fr);
    gap:9px;
  }
  .hospital-kpi-icon{width:36px;height:36px}
  .hospital-kpi>b{display:none}
  .hospital-command-copy h2{font-size:20px}
  .hospital-command-actions{grid-template-columns:1fr}
  .hospital-queue-head{
    min-height:0;
    padding:14px;
    align-items:flex-start;
    flex-direction:column;
  }
  .hospital-queue-actions{
    width:100%;
    justify-content:space-between;
  }
  .hospital-request-list{padding:0 14px}

  .hospital-affiliation-card{
    grid-template-columns:1fr;
    gap:12px;
  }
  .hospital-affiliation-actions{
    grid-template-columns:1fr;
  }
  .hospital-affiliation-actions .control{grid-column:auto;height:auto;min-height:44px}
  .hospital-affiliation-actions button{width:100%}

  .professional-onboarding-shell,.patient-onboarding-shell{
    padding:24px 12px 42px;
  }
  .onboarding-form-card{padding:16px}
  .process-steps{grid-template-columns:1fr 1fr}
  .submission-card{padding:22px 16px}
  .submission-card dl{grid-template-columns:1fr}
  .cnom-image-link{min-height:190px}
  .cnom-card-meta,.acorep-review-panel{grid-template-columns:1fr}

  .public-upload>header{
    height:auto;
    min-height:68px;
    padding:10px 14px;
    gap:12px;
  }
  .public-upload main{padding:28px 12px}
  .upload-form{padding:16px}
  .flow{gap:6px;margin:20px 0}
  .flow i{display:none}
  .flow span{flex:1 1 130px}

  .auth-form{padding:22px 14px}
  .auth-form>div{width:100%;max-width:430px}
  .verify-body{padding:10px}
  .verify-card{padding:16px;border-radius:14px}
  .verify-card dl{grid-template-columns:1fr}

  .sticky-form-footer,.rx-express-footer{
    position:static;
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    margin-top:12px;
  }
  .sticky-form-footer>*,
  .rx-express-footer>*{width:100%}

  .onboarding-filters{grid-template-columns:1fr}
  .onboarding-row{
    min-width:720px;
  }
}

/* Small phones */
@media(max-width:480px){
  .topbar{
    grid-template-columns:42px minmax(0,1fr) auto;
    padding:9px 10px;
  }
  .menu-btn{width:42px;height:42px;min-height:42px}
  .topbar h1{font-size:18px}
  .topbar .eyebrow{font-size:9.5px}
  .lang a{min-width:33px;padding:0 5px;font-size:10px}

  .content{
    padding:11px 9px calc(82px + env(safe-area-inset-bottom));
  }
  .messages{padding:7px 9px 0}
  .card{border-radius:11px}
  .hero,.detail-hero,.rx-hero,.review-hero,.hospital-command-center{padding:14px}

  .metrics{grid-template-columns:1fr 1fr}
  .metrics article{padding:12px}
  .metrics strong{font-size:24px}

  .hospital-dashboard-summary{grid-template-columns:1fr 1fr}
  .hospital-kpi{min-height:104px}
  .hospital-kpi strong{font-size:25px}
  .hospital-kpi small{font-size:10px}

  .review-patient-grid,.review-regimen,
  .order-summary-grid,.order-patient-grid,.order-quote-summary dl{
    grid-template-columns:1fr;
  }

  .rx-actions{grid-template-columns:1fr}
  .rx-actions .send-rx-form{grid-column:auto}
  .send-rx-form{grid-template-columns:1fr}
  .send-rx-form button{grid-column:auto}

  .process-steps{grid-template-columns:1fr}
  .pharmacy-directory-card dl{grid-template-columns:1fr}

  .mobile-primary-action{
    right:10px;
    min-height:50px;
    padding-right:14px;
  }
}

/* Very narrow legacy phones */
@media(max-width:360px){
  .hospital-dashboard-summary,.metrics{grid-template-columns:1fr}
  .topbar h1{font-size:17px}
  .mobile-primary-action b{display:none}
  .mobile-primary-action{width:52px;padding:0;justify-content:center}
  .mobile-primary-action>span{background:transparent}
}

/* Landscape phones: maximize vertical workspace */
@media(max-height:520px) and (max-width:900px) and (orientation:landscape){
  .topbar{position:relative}
  .sidebar{padding-top:12px}
  .sidebar .brand{padding-bottom:10px}
  .tenant-chip{margin-bottom:8px}
  .sidebar nav a{min-height:42px;padding-top:8px;padding-bottom:8px}
  .mobile-primary-action{bottom:8px}
}

/* Respect accessibility preferences */
@media(prefers-reduced-motion:reduce){
  .sidebar,.nav-backdrop,.hospital-kpi,.hospital-action-tile,.medicine-card{
    transition:none!important;
  }
}


/* =========================================================
   Login page polish — hierarchy, ergonomics & responsive fit
   ========================================================= */
.auth-login-shell{
  min-height:100dvh;
  grid-template-columns:minmax(0,1.08fr) minmax(520px,.92fr);
}
.auth-login-shell .auth-visual{
  min-height:100dvh;
  padding:38px clamp(54px,6vw,96px);
  background:
    radial-gradient(circle at 78% 22%,rgba(60,153,177,.20),transparent 30%),
    radial-gradient(circle at 18% 78%,rgba(50,151,127,.10),transparent 28%),
    linear-gradient(145deg,#0d2b3e 0%,#123f58 58%,#174d67 100%);
}
.auth-login-shell .auth-logo{
  gap:11px;
  min-height:48px;
}
.auth-login-shell .auth-logo>span{
  width:44px;
  height:44px;
  border-radius:13px;
  box-shadow:0 8px 24px rgba(10,38,50,.18);
}
.auth-login-shell .auth-logo strong{
  font-size:15px;
  letter-spacing:-.01em;
}
.auth-login-shell .auth-copy{
  max-width:650px;
}
.auth-login-shell .auth-copy h1{
  max-width:610px;
  font-size:clamp(44px,3.5vw,58px);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:15px 0 18px;
}
.auth-login-shell .auth-copy>p{
  max-width:570px;
  font-size:16px;
  line-height:1.65;
  color:#c1d2db;
}
.auth-login-shell .auth-points{
  max-width:650px;
  gap:10px;
  margin-top:30px;
}
.auth-login-shell .auth-points span{
  min-height:44px;
  padding:11px 13px;
  display:flex;
  align-items:center;
  gap:8px;
  border-color:rgba(255,255,255,.11);
  background:rgba(255,255,255,.045);
  color:#edf5f8;
  font-size:11.5px;
  line-height:1.4;
}
.auth-login-shell .auth-points b{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(70,181,151,.15);
  color:#83d7c1;
  font-size:10px;
}
.auth-visual-footer{
  display:grid;
  gap:2px;
  margin-top:auto;
  padding-top:24px;
  color:#8fafbd;
}
.auth-visual-footer span{
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
}
.auth-visual-footer small{
  font-size:10px;
  color:#7698a8;
}

.auth-login-panel{
  min-height:100dvh;
  padding:42px clamp(28px,4vw,70px);
  background:
    radial-gradient(circle at 100% 0,rgba(36,107,145,.05),transparent 30%),
    #f2f6f8;
}
.auth-login-wrap{
  width:min(460px,100%);
  display:grid;
  gap:14px;
}
.auth-login-card{
  width:100%;
  padding:30px;
  border:1px solid #dce6eb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 20px 55px rgba(25,54,70,.09);
}
.auth-login-header{
  margin-bottom:22px;
}
.auth-login-header h2{
  margin:6px 0 6px;
  color:#173d57;
  font-size:30px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.auth-login-header p{
  margin:0;
  color:#738995;
  font-size:13px;
  line-height:1.55;
}
.auth-login-form{
  display:grid;
  gap:14px;
}
.auth-login-form label{
  display:grid;
  gap:7px;
  margin:0!important;
}
.auth-login-form label>span{
  color:#496777;
  font-size:12px;
  line-height:1.3;
  font-weight:750;
}
.auth-login-form .control{
  height:50px;
  min-height:50px;
  padding:0 14px;
  border:1px solid #d4e0e6;
  border-radius:11px;
  background:#fbfcfd;
  color:#203f52;
  font-size:14px;
  box-shadow:none;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.auth-login-form .control::placeholder{
  color:#a2b0b8;
}
.auth-login-form .control:hover{
  border-color:#bed0d9;
  background:#fff;
}
.auth-login-form .control:focus{
  border-color:#5b99b7;
  background:#fff;
  box-shadow:0 0 0 4px rgba(54,126,161,.10);
}
.auth-submit{
  height:50px;
  min-height:50px;
  margin-top:2px;
  border-radius:11px;
  font-size:13px;
  box-shadow:0 9px 20px rgba(25,74,101,.16);
}
.auth-form-error{
  padding:10px 11px;
  border:1px solid #eccfd5;
  border-radius:9px;
  background:#fff2f4;
  color:#963d4f;
  font-size:11.5px;
  line-height:1.45;
}
.auth-divider{
  display:flex;
  align-items:center;
  gap:10px;
  margin:22px 0 14px;
  color:#8b9aa2;
}
.auth-divider::before,.auth-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:#e4ebee;
}
.auth-divider span{
  flex:0 0 auto;
  font-size:10.5px;
  font-weight:700;
}
.login-register-polished{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  gap:11px;
}
.login-register-polished>div{
  display:grid;
  gap:3px;
}
.login-register-polished strong{
  font-size:12.5px;
  color:#315b71;
}
.login-register-polished span{
  font-size:11.5px;
  line-height:1.45;
  color:#7b8f99;
}
.login-register-polished .secondary{
  min-height:46px;
  margin:0;
  border-radius:10px;
  border-color:#cfdee5;
  background:#fff;
  font-size:12.5px;
}
.login-register-polished .secondary:hover{
  border-color:#afc8d4;
  background:#f8fbfc;
}

.auth-upload-link{
  min-height:58px;
  margin:0;
  padding:10px 12px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid #dce6eb;
  border-radius:12px;
  background:rgba(255,255,255,.72);
  color:#4b7489;
  transition:.15s ease;
}
.auth-upload-link:hover{
  background:#fff;
  border-color:#bed2dc;
  transform:translateY(-1px);
}
.auth-upload-link>span:first-child{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:9px;
  background:#eaf3f7;
  color:#2f6c89;
  font-size:17px;
  font-weight:800;
}
.auth-upload-link>span:nth-child(2){
  display:grid;
  gap:1px;
}
.auth-upload-link strong{
  color:#335e74;
  font-size:11.5px;
  line-height:1.3;
}
.auth-upload-link small{
  color:#83949d;
  font-size:10.5px;
  line-height:1.3;
}
.auth-upload-link>b{
  color:#6e91a2;
  font-size:15px;
}

@media(max-width:1180px){
  .auth-login-shell{
    grid-template-columns:minmax(0,1fr) minmax(460px,.85fr);
  }
  .auth-login-shell .auth-visual{
    padding-left:44px;
    padding-right:44px;
  }
  .auth-login-shell .auth-copy h1{
    font-size:44px;
  }
}

@media(max-width:900px){
  .auth-login-shell{
    display:grid;
    grid-template-columns:1fr;
    background:#f2f6f8;
  }
  .auth-login-shell .auth-visual{
    display:none;
  }
  .auth-login-panel{
    min-height:100dvh;
    padding:34px 20px;
  }
  .auth-login-wrap{
    width:min(480px,100%);
  }
}

@media(max-width:600px){
  .auth-login-panel{
    padding:
      max(22px,env(safe-area-inset-top))
      13px
      max(22px,env(safe-area-inset-bottom));
    align-items:center;
  }
  .auth-login-card{
    padding:23px 18px;
    border-radius:15px;
    box-shadow:0 14px 40px rgba(25,54,70,.08);
  }
  .auth-login-header{
    margin-bottom:19px;
  }
  .auth-login-header h2{
    font-size:27px;
  }
  .auth-login-form .control{
    height:52px;
    min-height:52px;
    font-size:16px;
  }
  .auth-submit{
    min-height:52px;
    height:52px;
    font-size:14px;
  }
  .login-register-polished .secondary{
    min-height:50px;
    font-size:13px;
  }
  .auth-upload-link{
    min-height:62px;
  }
}

@media(max-height:720px) and (min-width:901px){
  .auth-login-shell .auth-copy h1{
    font-size:42px;
  }
  .auth-login-shell .auth-copy>p{
    font-size:14px;
  }
  .auth-login-shell .auth-points{
    margin-top:20px;
  }
  .auth-login-card{
    padding:24px 28px;
  }
  .auth-login-header{
    margin-bottom:17px;
  }
  .auth-divider{
    margin-top:17px;
  }
}


/* =========================================================
   Registration account-choice polish — 2026-08-29
   ========================================================= */
.registration-choice-page{
  background:
    radial-gradient(circle at 88% 5%,rgba(36,107,145,.045),transparent 26%),
    linear-gradient(180deg,#f8fbfc 0%,#eff5f7 100%);
}
.registration-choice-page .onboarding-public-header{
  height:76px;
  padding:0 clamp(20px,4vw,64px);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  box-shadow:0 1px 0 rgba(31,69,90,.04);
}
.registration-choice-page .onboarding-public-header .secondary{
  min-height:40px;
  padding:0 14px;
  border-radius:10px;
  font-size:12px;
}
.registration-choice-shell{
  max-width:1240px;
  padding-top:52px;
}
.registration-choice-intro{
  max-width:820px;
  margin-bottom:32px;
}
.registration-choice-intro h1{
  margin:10px 0 14px;
  font-size:clamp(36px,4vw,50px);
  line-height:1.06;
  letter-spacing:-.04em;
}
.registration-choice-intro p{
  max-width:780px;
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:#6f8491;
}

.registration-choice-grid{
  gap:16px;
}
.registration-choice-grid .account-type-card{
  min-height:242px;
  padding:25px 26px;
  grid-template-columns:58px minmax(0,1fr);
  grid-template-rows:1fr auto;
  column-gap:18px;
  row-gap:15px;
  align-items:start;
  align-content:stretch;
  border-radius:18px;
  border-color:#d9e5ea;
  box-shadow:0 12px 32px rgba(28,54,70,.065);
  position:relative;
  overflow:hidden;
}
.registration-choice-grid .account-type-card::after{
  content:"";
  position:absolute;
  inset:auto -40px -60px auto;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(36,107,145,.045),transparent 70%);
  pointer-events:none;
}
.registration-choice-grid .account-type-card:hover{
  transform:translateY(-3px);
  border-color:#b7ced9;
  box-shadow:0 20px 46px rgba(28,54,70,.105);
}
.registration-choice-grid .account-type-card:focus-visible{
  outline:3px solid rgba(36,107,145,.20);
  outline-offset:4px;
}
.registration-choice-grid .account-type-card.featured{
  border-color:#b9ddcf;
  background:linear-gradient(145deg,#fff 0%,#f5fbf8 100%);
}
.registration-choice-grid .account-icon{
  width:58px;
  height:58px;
  border-radius:15px;
  font-size:14px;
  box-shadow:inset 0 0 0 1px rgba(36,107,145,.025);
}
.registration-choice-grid .account-type-card.featured .account-icon{
  background:#e5f5ee;
}
.registration-choice-grid .account-type-copy{
  min-width:0;
}
.registration-choice-grid .pill{
  min-height:25px;
  padding:0 10px;
  align-items:center;
  font-size:10px;
  letter-spacing:.035em;
}
.registration-choice-grid .account-type-card h2{
  margin:10px 0 7px;
  font-size:21px;
  line-height:1.2;
  letter-spacing:-.018em;
}
.registration-choice-grid .account-type-card p{
  max-width:530px;
  font-size:13px;
  line-height:1.58;
  color:#718894;
}
.registration-choice-grid .account-type-card>strong{
  grid-column:2;
  align-self:end;
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  margin:0;
  padding:7px 0;
  color:#286c8c;
  font-size:12.5px;
  line-height:1.2;
  font-weight:800;
}
.registration-choice-grid .account-type-card>strong span{
  transition:transform .15s ease;
}
.registration-choice-grid .account-type-card:hover>strong span{
  transform:translateX(3px);
}

.registration-process{
  margin-top:28px;
  padding:24px 25px;
  border-radius:17px;
}
.registration-process-head{
  max-width:760px;
  margin-bottom:18px;
}
.registration-process-head h2{
  margin:6px 0 6px;
  font-size:19px;
  color:#173e58;
}
.registration-process-head p{
  margin:0;
  color:#758a96;
  font-size:12.5px;
  line-height:1.55;
}
.registration-process .process-steps{
  gap:12px;
}
.registration-process .process-steps>div{
  min-height:132px;
  padding:14px;
  border-radius:11px;
  background:#fbfcfd;
}
.registration-process .process-steps b{
  width:28px;
  height:28px;
  font-size:10px;
}
.registration-process .process-steps strong{
  margin:9px 0 4px;
  font-size:12px;
}
.registration-process .process-steps span{
  font-size:11px;
  line-height:1.5;
}

@media(max-width:900px){
  .registration-choice-shell{
    padding-top:38px;
  }
  .registration-choice-grid{
    grid-template-columns:1fr 1fr;
  }
  .registration-choice-grid .account-type-card{
    min-height:250px;
    padding:21px;
    grid-template-columns:52px minmax(0,1fr);
  }
  .registration-choice-grid .account-icon{
    width:52px;
    height:52px;
  }
  .registration-process .process-steps{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:720px){
  .registration-choice-page .onboarding-public-header{
    height:68px;
    padding:0 12px;
  }
  .registration-choice-page .onboarding-public-header .brand small{
    display:none;
  }
  .registration-choice-page .onboarding-public-header .secondary{
    min-height:38px;
    padding:0 11px;
    font-size:11px;
  }
  .registration-choice-shell{
    padding:28px 12px 42px;
  }
  .registration-choice-intro{
    margin-bottom:22px;
  }
  .registration-choice-intro h1{
    font-size:32px;
    line-height:1.08;
  }
  .registration-choice-intro p{
    font-size:13px;
  }
  .registration-choice-grid{
    grid-template-columns:1fr;
    gap:11px;
  }
  .registration-choice-grid .account-type-card{
    min-height:0;
    padding:18px;
    grid-template-columns:48px minmax(0,1fr);
    column-gap:14px;
    row-gap:12px;
    border-radius:14px;
  }
  .registration-choice-grid .account-icon{
    width:48px;
    height:48px;
    border-radius:13px;
    font-size:13px;
  }
  .registration-choice-grid .account-type-card h2{
    font-size:19px;
    margin-top:8px;
  }
  .registration-choice-grid .account-type-card p{
    font-size:12.5px;
  }
  .registration-choice-grid .account-type-card>strong{
    font-size:12.5px;
  }
  .registration-process{
    margin-top:18px;
    padding:18px;
  }
  .registration-process .process-steps{
    grid-template-columns:1fr;
  }
  .registration-process .process-steps>div{
    min-height:0;
  }
}
@media(max-width:420px){
  .registration-choice-page .onboarding-public-header .brand strong{
    font-size:13px;
  }
  .registration-choice-page .onboarding-public-header .brand-mark{
    width:36px;
    height:36px;
  }
  .registration-choice-intro h1{
    font-size:29px;
  }
  .registration-choice-grid .account-type-card{
    grid-template-columns:44px minmax(0,1fr);
    padding:16px;
  }
  .registration-choice-grid .account-icon{
    width:44px;
    height:44px;
  }
}


/* =========================================================
   Patient dashboard ergonomics pass — 2026-08-29
   ========================================================= */
.patient-dashboard-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);
  gap:24px;
  align-items:center;
  padding:24px;
  margin-bottom:14px;
  background:
    radial-gradient(circle at 92% 12%,rgba(36,107,145,.05),transparent 28%),
    #fff;
}
.patient-dashboard-hero-copy{
  min-width:0;
}
.patient-dashboard-hero-copy h2{
  margin:5px 0 8px;
  max-width:760px;
  color:#153d57;
  font-size:23px;
  line-height:1.2;
  letter-spacing:-.022em;
}
.patient-dashboard-hero-copy p{
  max-width:840px;
  margin:0;
  color:#708692;
  font-size:13px;
  line-height:1.58;
}
.patient-dashboard-hero-actions{
  display:grid;
  gap:9px;
}
.patient-dashboard-hero-actions>a{
  min-height:52px;
  padding:0 14px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  justify-content:start;
  text-align:left;
  border-radius:11px;
}
.patient-dashboard-hero-actions>a>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:9px;
  background:rgba(255,255,255,.14);
  font-size:11px;
  font-weight:850;
}
.patient-dashboard-hero-actions .secondary>span{
  background:#eaf3f7;
  color:#2c6b88;
}
.patient-dashboard-hero-actions b{
  font-size:12.5px;
  font-weight:750;
}

.patient-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  margin-bottom:14px;
}
.patient-summary-card{
  min-height:98px;
  padding:15px 17px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.patient-summary-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:#eaf3f7;
  color:#286581;
  font-size:11px;
  font-weight:850;
}
.patient-summary-icon.order{
  background:#eaf7f1;
  color:#19745c;
}
.patient-summary-icon.upload{
  background:#f3f1fb;
  color:#665b9c;
}
.patient-summary-card>div>span{
  display:block;
  color:#6f8490;
  font-size:10.8px;
  line-height:1.3;
  font-weight:750;
}
.patient-summary-card strong{
  display:inline-block;
  margin-top:4px;
  color:#173e58;
  font-size:25px;
  line-height:1;
  letter-spacing:-.025em;
}
.patient-summary-card small{
  display:inline-block;
  margin-left:6px;
  color:#8a9aa2;
  font-size:10.5px;
  line-height:1.3;
}

.patient-get-started{
  padding:19px 20px;
  margin-bottom:14px;
  background:linear-gradient(180deg,#fff,#fbfcfd);
}
.patient-get-started-head h2{
  margin:5px 0 0;
  color:#173e58;
  font-size:17px;
  line-height:1.25;
}
.patient-get-started-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:14px;
}
.patient-get-started-steps>a,
.patient-get-started-steps>div{
  min-height:88px;
  padding:12px 13px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  gap:9px;
  align-items:start;
  border:1px solid #e1e9ed;
  border-radius:10px;
  background:#fff;
}
.patient-get-started-steps>a{
  transition:.15s ease;
}
.patient-get-started-steps>a:hover{
  border-color:#bfd3dd;
  background:#fbfdfe;
  transform:translateY(-1px);
}
.patient-get-started-steps>a>span,
.patient-get-started-steps>div>span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#eaf3f7;
  color:#2b6783;
  font-size:10px;
  font-weight:850;
}
.patient-get-started-steps strong{
  display:block;
  color:#315a70;
  font-size:12px;
  line-height:1.3;
}
.patient-get-started-steps small{
  display:block;
  margin-top:3px;
  color:#82949d;
  font-size:10.5px;
  line-height:1.4;
}
.patient-get-started-steps b{
  color:#7093a3;
  font-size:14px;
}

.patient-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
  margin-bottom:13px;
}
.patient-dashboard-panel{
  min-width:0;
  overflow:hidden;
}
.patient-panel-head{
  min-height:72px;
  padding:15px 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #edf1f3;
}
.patient-panel-head h2{
  margin:3px 0 0;
  color:#173e58;
  font-size:16px;
  line-height:1.25;
}
.patient-panel-count{
  display:grid;
  place-items:center;
  min-width:30px;
  height:30px;
  padding:0 9px;
  border-radius:999px;
  background:#eef3f5;
  color:#587483;
  font-size:11px;
  font-weight:800;
}
.patient-panel-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.patient-dashboard-list{
  display:grid;
}
.patient-dashboard-list>a,
.patient-upload-row{
  min-height:72px;
  padding:11px 15px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto 18px;
  gap:10px;
  align-items:center;
  border-top:1px solid #edf1f3;
}
.patient-dashboard-list>a:first-child,
.patient-upload-row:first-child{
  border-top:0;
}
.patient-dashboard-list>a{
  transition:background .14s ease;
}
.patient-dashboard-list>a:hover{
  background:#f9fbfc;
}
.patient-dashboard-list>a>b{
  color:#7897a6;
  font-size:14px;
}
.patient-list-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:10px;
  background:#eaf3f7;
  color:#286581;
  font-size:10px;
  font-weight:850;
}
.patient-list-icon.pharmacy{
  background:#eaf7f1;
  color:#19745c;
}
.patient-list-icon.upload{
  background:#f3f1fb;
  color:#665b9c;
}
.patient-list-copy{
  min-width:0;
}
.patient-list-copy strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#294f66;
  font-size:12.5px;
  line-height:1.3;
}
.patient-list-copy span{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#84949d;
  font-size:10.5px;
  line-height:1.35;
}

.patient-empty-state{
  min-height:166px;
  padding:24px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  text-align:left;
}
.patient-empty-icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:#eaf3f7;
  color:#2c6986;
  font-size:12px;
  font-weight:850;
}
.patient-empty-icon.pharmacy{
  background:#eaf7f1;
  color:#19745c;
}
.patient-empty-icon.upload{
  background:#f3f1fb;
  color:#665b9c;
}
.patient-empty-state>div{
  max-width:430px;
}
.patient-empty-state strong{
  display:block;
  color:#365d72;
  font-size:12.5px;
  line-height:1.3;
}
.patient-empty-state p{
  margin:4px 0 0;
  color:#84959e;
  font-size:10.8px;
  line-height:1.5;
}
.patient-empty-state .secondary{
  margin-top:9px;
}
.patient-upload-panel{
  overflow:hidden;
}
.patient-empty-state.horizontal{
  min-height:128px;
  justify-content:flex-start;
  padding:20px 18px;
}
.patient-empty-state.horizontal>div{
  flex:1 1 auto;
  max-width:none;
}
.patient-empty-state.horizontal>.primary{
  flex:0 0 auto;
}
.patient-dashboard-list.uploads .patient-upload-row{
  grid-template-columns:38px minmax(0,1fr) auto;
}

@media(max-width:1050px){
  .patient-dashboard-hero{
    grid-template-columns:1fr;
    gap:16px;
  }
  .patient-dashboard-hero-actions{
    grid-template-columns:1fr 1fr;
  }
  .patient-summary-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:820px){
  .patient-summary-grid{
    grid-template-columns:1fr 1fr 1fr;
  }
  .patient-get-started-steps{
    grid-template-columns:1fr;
  }
  .patient-dashboard-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .patient-dashboard-hero{
    padding:17px;
  }
  .patient-dashboard-hero-copy h2{
    font-size:21px;
  }
  .patient-dashboard-hero-actions{
    grid-template-columns:1fr;
  }
  .patient-summary-grid{
    grid-template-columns:1fr;
    gap:8px;
  }
  .patient-summary-card{
    min-height:78px;
    padding:12px 14px;
  }
  .patient-summary-card strong{
    font-size:23px;
  }
  .patient-panel-head{
    min-height:64px;
    padding:13px 14px;
  }
  .patient-panel-actions{
    gap:6px;
  }
  .patient-dashboard-list>a,
  .patient-upload-row{
    grid-template-columns:36px minmax(0,1fr) auto;
    padding:11px 13px;
  }
  .patient-dashboard-list>a>b{
    display:none;
  }
  .patient-list-icon{
    width:36px;
    height:36px;
  }
  .patient-empty-state{
    min-height:145px;
    padding:20px 14px;
  }
  .patient-empty-state.horizontal{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    min-height:0;
  }
  .patient-empty-state.horizontal>.primary{
    grid-column:1/-1;
    width:100%;
  }
}
@media(max-width:440px){
  .patient-panel-head{
    align-items:flex-start;
  }
  .patient-panel-actions{
    align-items:flex-end;
    flex-direction:column;
  }
  .patient-dashboard-list>a,
  .patient-upload-row{
    grid-template-columns:34px minmax(0,1fr);
    gap:8px;
  }
  .patient-dashboard-list .status,
  .patient-upload-row .status{
    grid-column:2;
    justify-self:start;
  }
  .patient-empty-state{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Administrator access link on login */
.auth-admin-link{
  min-height:58px;
  padding:10px 12px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid #dce6eb;
  border-radius:12px;
  background:rgba(246,249,250,.9);
  color:#526f7f;
  transition:.15s ease;
}
.auth-admin-link:hover{
  background:#fff;
  border-color:#bfd0d8;
  transform:translateY(-1px);
}
.auth-admin-link:focus-visible{
  outline:3px solid rgba(36,107,145,.18);
  outline-offset:3px;
}
.auth-admin-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:9px;
  background:#edf1f4;
  color:#516a78;
  font-size:11px;
}
.auth-admin-link>span:nth-child(2){
  display:grid;
  gap:2px;
}
.auth-admin-link strong{
  color:#3f5f70;
  font-size:11.5px;
  line-height:1.3;
}
.auth-admin-link small{
  color:#8a99a1;
  font-size:10.2px;
  line-height:1.3;
}
.auth-admin-link>b{
  color:#4f7182;
  font-size:10.8px;
  font-weight:750;
  white-space:nowrap;
}
@media(max-width:600px){
  .auth-admin-link{
    min-height:64px;
    grid-template-columns:34px minmax(0,1fr);
  }
  .auth-admin-link>b{
    grid-column:2;
    justify-self:start;
    white-space:normal;
  }
}


/* =========================================================
   Medication database search workspace — 2026-08-29
   ========================================================= */
.medicine-search-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:24px;
  margin-bottom:14px;
}
.medicine-search-hero h2{
  margin:5px 0 7px;
  color:#153e58;
  font-size:23px;
  line-height:1.2;
  letter-spacing:-.022em;
}
.medicine-search-hero p{
  max-width:820px;
  margin:0;
  color:#718692;
  font-size:13px;
  line-height:1.55;
}
.medicine-result-counter{
  min-width:90px;
  text-align:right;
}
.medicine-result-counter strong{
  display:block;
  color:#173e58;
  font-size:28px;
  line-height:1;
  letter-spacing:-.03em;
}
.medicine-result-counter span{
  display:block;
  margin-top:5px;
  color:#8a9aa2;
  font-size:10.5px;
  font-weight:700;
}

.medicine-search-workspace{
  padding:18px;
  margin-bottom:14px;
}
.medicine-search-form{
  display:grid;
  gap:17px;
}
.medicine-primary-search{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
}
.medicine-search-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  color:#527689;
  font-size:20px;
}
.medicine-primary-search .control{
  height:52px;
  min-height:52px;
  padding:0 14px;
  border-radius:11px;
  font-size:15px;
}
.medicine-primary-search .primary{
  min-height:52px;
  padding:0 20px;
  border-radius:11px;
}

.medicine-filter-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  padding-top:3px;
  border-top:1px solid #edf1f3;
}
.medicine-filter-heading>div{
  padding-top:14px;
}
.medicine-filter-heading strong{
  display:block;
  margin-top:3px;
  color:#345d72;
  font-size:13px;
}
.medicine-filter-heading>a{
  color:#2c6e8b;
  font-size:11px;
  font-weight:750;
}
.medicine-filter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px 11px;
}
.medicine-filter-grid label{
  display:grid;
  gap:6px;
  min-width:0;
}
.medicine-filter-grid label>span{
  color:#587483;
  font-size:10.8px;
  font-weight:750;
  line-height:1.3;
}
.medicine-filter-grid .control{
  min-height:44px;
  height:44px;
  border-radius:9px;
  font-size:12.5px;
}
.medicine-filter-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.medicine-filter-actions .secondary{
  min-height:40px;
  padding:0 13px;
}

.medicine-search-empty{
  min-height:220px;
  padding:34px;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:17px;
  align-items:center;
}
.medicine-search-empty.no-results{
  grid-template-columns:56px minmax(0,1fr) auto;
}
.medicine-empty-icon{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border-radius:16px;
  background:#eaf3f7;
  color:#2b6986;
  font-size:24px;
}
.medicine-search-empty h2{
  margin:5px 0 6px;
  color:#31596f;
  font-size:18px;
  line-height:1.3;
}
.medicine-search-empty p{
  max-width:720px;
  margin:0;
  color:#82949e;
  font-size:12px;
  line-height:1.55;
}

.medicine-results{
  overflow:hidden;
}
.medicine-results-head{
  min-height:74px;
  padding:15px 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid #edf1f3;
}
.medicine-results-head h2{
  margin:3px 0 0;
  color:#173e58;
  font-size:16px;
}
.medicine-results-head small{
  color:#8b9aa2;
  font-size:10.5px;
  line-height:1.35;
}
.medicine-results-table{
  width:100%;
}
.medicine-result-row{
  display:grid;
  grid-template-columns:1.45fr 1fr .75fr .7fr .72fr 48px;
  gap:12px;
  align-items:center;
  min-height:68px;
  padding:11px 16px;
  border-top:1px solid #edf1f3;
}
.medicine-result-row:first-child{
  border-top:0;
}
a.medicine-result-row{
  transition:background .14s ease;
}
a.medicine-result-row:hover{
  background:#f9fbfc;
}
.medicine-result-header{
  min-height:42px;
  background:#f8fafb;
  color:#7b909b;
  font-size:9.8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.medicine-result-name{
  min-width:0;
}
.medicine-result-name strong,
.medicine-result-row>div:nth-child(2)>strong{
  display:block;
  color:#294f65;
  font-size:12.5px;
  line-height:1.3;
}
.medicine-result-name span,
.medicine-result-name small,
.medicine-result-row>div:nth-child(2)>span,
.medicine-result-row>span:not(.status){
  display:block;
  margin-top:2px;
  color:#7f929c;
  font-size:10.5px;
  line-height:1.35;
}
.medicine-result-name strong,
.medicine-result-name span,
.medicine-result-name small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.medicine-result-row>b{
  justify-self:end;
  color:#2d708f;
  font-size:10.5px;
  font-weight:800;
}
.medicine-result-row .status{
  justify-self:start;
  white-space:nowrap;
}
.status.pending{
  background:#eef4f7;
  color:#426c80;
}

@media(max-width:1050px){
  .medicine-filter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .medicine-result-row{
    grid-template-columns:1.35fr 1fr .7fr .7fr 48px;
  }
  .medicine-result-row>*:nth-child(4),
  .medicine-result-header>*:nth-child(4){
    display:none;
  }
}
@media(max-width:760px){
  .medicine-search-hero{
    grid-template-columns:1fr;
    padding:17px;
  }
  .medicine-result-counter{
    text-align:left;
  }
  .medicine-search-workspace{
    padding:13px;
  }
  .medicine-primary-search{
    grid-template-columns:34px minmax(0,1fr);
  }
  .medicine-primary-search .primary{
    grid-column:1/-1;
    width:100%;
  }
  .medicine-filter-grid{
    grid-template-columns:1fr;
  }
  .medicine-filter-grid .control{
    min-height:48px;
    height:48px;
    font-size:16px;
  }
  .medicine-filter-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .medicine-filter-actions>*{
    width:100%;
  }
  .medicine-search-empty,
  .medicine-search-empty.no-results{
    min-height:0;
    grid-template-columns:48px minmax(0,1fr);
    padding:22px 16px;
  }
  .medicine-search-empty.no-results>a{
    grid-column:1/-1;
    width:100%;
  }
  .medicine-empty-icon{
    width:48px;
    height:48px;
    font-size:20px;
  }
  .medicine-results-head{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  .medicine-results-table{
    display:grid;
  }
  .medicine-result-header{
    display:none;
  }
  .medicine-result-row{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "name status"
      "dose action"
      "route action";
    gap:6px 10px;
    min-height:0;
    padding:13px 14px;
  }
  .medicine-result-row .medicine-result-name{grid-area:name}
  .medicine-result-row>div:nth-child(2){grid-area:dose}
  .medicine-result-row>span:nth-child(3){grid-area:route}
  .medicine-result-row>span:nth-child(4){display:none}
  .medicine-result-row>.status{grid-area:status}
  .medicine-result-row>b{grid-area:action;align-self:end}
}
@media(max-width:430px){
  .medicine-search-hero h2{
    font-size:20px;
  }
  .medicine-primary-search{
    grid-template-columns:1fr;
  }
  .medicine-search-icon{
    display:none;
  }
  .medicine-result-row{
    grid-template-columns:1fr;
    grid-template-areas:
      "name"
      "dose"
      "route"
      "status"
      "action";
  }
  .medicine-result-row>b{
    justify-self:start;
  }
}


/* =========================================================
   Medication discovery experience v2 — inspired search UX
   ========================================================= */
.medicine-discovery-hero{
  margin:0 0 16px;
  padding:44px 28px 26px;
  border:1px solid #dfe8ec;
  border-radius:18px;
  background:
    radial-gradient(circle at 82% 8%,rgba(40,119,155,.07),transparent 28%),
    linear-gradient(180deg,#ffffff,#f8fbfc);
  text-align:center;
  box-shadow:0 16px 38px rgba(28,54,70,.06);
}
.medicine-discovery-copy{
  max-width:760px;
  margin:0 auto;
}
.medicine-discovery-copy h2{
  margin:8px 0 8px;
  color:#173e58;
  font-size:30px;
  line-height:1.13;
  letter-spacing:-.035em;
}
.medicine-discovery-copy p{
  margin:0;
  color:#728792;
  font-size:13.5px;
  line-height:1.55;
}
.medicine-discovery-search{
  position:relative;
  width:min(840px,100%);
  min-height:62px;
  margin:25px auto 0;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:6px;
  padding:6px 7px 6px 12px;
  border:1px solid #cfdce3;
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 28px rgba(25,55,70,.09);
  text-align:left;
}
.medicine-discovery-search:focus-within{
  border-color:#72a8bf;
  box-shadow:0 0 0 4px rgba(52,126,160,.09),0 14px 30px rgba(25,55,70,.10);
}
.medicine-discovery-search-icon{
  display:grid;
  place-items:center;
  color:#47768e;
  font-size:23px;
}
.medicine-discovery-input-wrap{
  position:relative;
  min-width:0;
}
.medicine-discovery-input-wrap>input{
  width:100%;
  height:48px;
  padding:0 8px;
  border:0;
  outline:0;
  background:transparent;
  color:#203f52;
  font:inherit;
  font-size:15px;
}
.medicine-discovery-input-wrap>input::placeholder{
  color:#9aaab2;
}
.medicine-search-submit{
  min-height:48px;
  padding:0 19px;
  border-radius:11px;
  background:#174f6d;
  color:#fff;
  font-size:12.5px;
  font-weight:750;
}
.medicine-suggestions{
  position:absolute;
  top:55px;
  left:-48px;
  right:-145px;
  z-index:45;
  overflow:hidden;
  border:1px solid #d8e4e9;
  border-radius:13px;
  background:#fff;
  box-shadow:0 18px 46px rgba(20,47,62,.16);
}
.medicine-suggestions>a{
  min-height:58px;
  padding:9px 12px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border-top:1px solid #edf1f3;
}
.medicine-suggestions>a:first-child{border-top:0}
.medicine-suggestions>a:hover{background:#f7fafb}
.medicine-suggestion-icon{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:#eaf3f7;
  color:#2a6885;
  font-size:10px;
  font-weight:850;
}
.medicine-suggestion-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.medicine-suggestion-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#2b5369;
  font-size:12px;
}
.medicine-suggestion-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#84959e;
  font-size:10.5px;
}
.medicine-suggestions>a>b{
  color:#6e91a2;
  font-size:14px;
}
.medicine-discovery-meta{
  margin-top:14px;
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  color:#84949d;
  font-size:10.5px;
}
.medicine-discovery-meta strong{
  color:#355e73;
  font-weight:800;
}

.medicine-explore-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  margin-bottom:14px;
}
.medicine-explore-tile{
  min-height:76px;
  padding:12px 14px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:11px;
  align-items:center;
  border:1px solid #dfe8ec;
  border-radius:13px;
  background:#fff;
  text-align:left;
  transition:.15s ease;
}
button.medicine-explore-tile{
  width:100%;
  color:inherit;
}
.medicine-explore-tile:hover{
  transform:translateY(-2px);
  border-color:#bfd4de;
  box-shadow:0 12px 26px rgba(25,55,70,.07);
}
.medicine-explore-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:#edf5f8;
  color:#2b6b89;
  font-size:11px;
  font-weight:850;
}
.medicine-explore-tile:nth-child(2) .medicine-explore-icon{
  background:#f2f0fa;
  color:#655c97;
}
.medicine-explore-tile:nth-child(3) .medicine-explore-icon{
  background:#eaf7f1;
  color:#19745c;
}
.medicine-explore-tile strong{
  display:block;
  color:#2d566c;
  font-size:12.5px;
  line-height:1.3;
}
.medicine-explore-tile small{
  display:block;
  margin-top:3px;
  color:#8697a0;
  font-size:10.5px;
  line-height:1.35;
}

.medicine-browse{
  padding:17px 18px;
  margin-bottom:12px;
}
.medicine-browse-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.medicine-browse-head h3{
  margin:3px 0 0;
  color:#315b71;
  font-size:14px;
}
.medicine-browse-head>a{
  color:#2c6e8b;
  font-size:10.5px;
  font-weight:750;
}
.medicine-alphabet{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.medicine-alphabet a{
  display:grid;
  place-items:center;
  min-width:35px;
  height:35px;
  padding:0 8px;
  border:1px solid #e0e8ec;
  border-radius:9px;
  background:#f7f9fa;
  color:#476a7c;
  font-size:11.5px;
  font-weight:750;
}
.medicine-alphabet a:hover,
.medicine-alphabet a.active{
  border-color:#2d7899;
  background:#eaf3f7;
  color:#1f607f;
}

.medicine-advanced{
  margin-bottom:14px;
  overflow:hidden;
}
.medicine-advanced>summary{
  min-height:64px;
  padding:14px 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  list-style:none;
}
.medicine-advanced>summary::-webkit-details-marker{display:none}
.medicine-advanced>summary strong{
  display:block;
  margin-top:3px;
  color:#345d72;
  font-size:12.5px;
}
.medicine-advanced-chevron{
  color:#6f8996;
  font-size:18px;
  transition:transform .15s ease;
}
.medicine-advanced[open] .medicine-advanced-chevron{
  transform:rotate(180deg);
}
.medicine-advanced-form{
  padding:2px 17px 17px;
  border-top:1px solid #edf1f3;
}
.medicine-advanced-form .medicine-filter-grid{
  padding-top:14px;
}

.medicine-discovery-note{
  min-height:48px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid #e0e8ec;
  border-radius:11px;
  background:#f8fafb;
  color:#718792;
}
.medicine-discovery-note>span{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#e8f1f5;
  color:#2c6b88;
  font-size:10px;
  font-weight:850;
}
.medicine-discovery-note p{
  margin:0;
  font-size:10.8px;
  line-height:1.45;
}

@media(max-width:900px){
  .medicine-discovery-hero{
    padding:34px 20px 23px;
  }
  .medicine-explore-row{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .medicine-discovery-copy h2{
    font-size:24px;
  }
  .medicine-discovery-search{
    min-height:58px;
    grid-template-columns:34px minmax(0,1fr);
    padding:5px 8px;
  }
  .medicine-search-submit{
    grid-column:1/-1;
    width:100%;
    min-height:46px;
  }
  .medicine-suggestions{
    top:52px;
    left:-42px;
    right:0;
  }
  .medicine-alphabet{
    gap:5px;
  }
  .medicine-alphabet a{
    min-width:33px;
    height:33px;
  }
}
@media(max-width:480px){
  .medicine-discovery-hero{
    padding:26px 13px 18px;
    border-radius:14px;
  }
  .medicine-discovery-copy h2{
    font-size:22px;
  }
  .medicine-discovery-search{
    grid-template-columns:1fr;
    padding:7px;
  }
  .medicine-discovery-search-icon{
    display:none;
  }
  .medicine-discovery-input-wrap>input{
    height:48px;
    font-size:16px;
  }
  .medicine-suggestions{
    left:0;
    right:0;
    top:54px;
  }
  .medicine-explore-tile{
    min-height:68px;
  }
  .medicine-browse{
    padding:14px;
  }
  .medicine-advanced>summary{
    padding:13px 14px;
  }
  .medicine-advanced-form{
    padding-left:14px;
    padding-right:14px;
  }
}


/* Medication database: authorization status removed */
.medicine-explore-row{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.medicine-result-row{
  grid-template-columns:1.55fr 1fr .8fr .75fr 52px;
}
@media(max-width:1050px){
  .medicine-result-row{
    grid-template-columns:1.4fr 1fr .75fr 48px;
  }
}
@media(max-width:760px){
  .medicine-result-row{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "name action"
      "dose action"
      "route action";
  }
}
@media(max-width:430px){
  .medicine-result-row{
    grid-template-columns:1fr;
    grid-template-areas:
      "name"
      "dose"
      "route"
      "action";
  }
}


/* =========================================================
   Medication clinical guidance — 2026-08-29
   ========================================================= */
.medicine-clinical-hero{
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
}
.medicine-identity-pills{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:11px;
}
.medicine-identity-pills>span{
  padding:6px 9px;
  border:1px solid #dfe8ec;
  border-radius:999px;
  background:#f7fafb;
  color:#557281;
  font-size:10.5px;
  line-height:1.25;
}
.medicine-guide-state{
  min-width:190px;
  display:grid;
  justify-items:end;
  gap:4px;
  text-align:right;
}
.medicine-guide-state>strong{
  color:#173e58;
  font-size:27px;
  line-height:1;
  letter-spacing:-.03em;
}
.medicine-guide-state>small{
  color:#8798a1;
  font-size:10px;
}
.medicine-guide-badge{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:0 9px;
  border-radius:999px;
  font-size:9.8px;
  font-weight:800;
}
.medicine-guide-badge.ready{
  background:#e8f6ef;
  color:#176f58;
}
.medicine-guide-badge.partial{
  background:#fff6df;
  color:#8a6622;
}
.medicine-guide-badge.pending{
  background:#eef3f5;
  color:#607784;
}

.medicine-clinical-alert{
  margin:13px 0;
  padding:12px 14px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:11px;
  align-items:start;
  border:1px solid #cfe1e8;
  border-radius:12px;
  background:#f4f9fb;
}
.medicine-clinical-alert>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#e5f1f6;
  color:#2b6d8b;
  font-size:10px;
  font-weight:850;
}
.medicine-clinical-alert strong{
  display:block;
  color:#315a70;
  font-size:11.5px;
}
.medicine-clinical-alert p{
  margin:3px 0 0;
  color:#6f8591;
  font-size:10.5px;
  line-height:1.5;
}

.medicine-clinical-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:12px;
}
.medicine-clinical-card{
  min-width:0;
  overflow:hidden;
}
.medicine-clinical-card>header{
  min-height:62px;
  padding:13px 15px;
  display:flex;
  gap:10px;
  align-items:center;
  border-bottom:1px solid #edf1f3;
}
.medicine-clinical-card h3,
.medicine-section-head h3{
  margin:3px 0 0;
  color:#31596f;
  font-size:14px;
  line-height:1.25;
}
.medicine-clinical-icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:#eaf3f7;
  color:#2a6987;
  font-size:10px;
  font-weight:850;
}
.medicine-clinical-icon.warning{
  background:#fff2e2;
  color:#95651c;
}
.medicine-clinical-text{
  padding:15px;
  color:#4e6673;
  font-size:11.2px;
  line-height:1.62;
  white-space:normal;
}
.medicine-dose-card .medicine-clinical-text{
  color:#3e5f71;
  font-size:11.5px;
}
.medicine-clinical-text.compact{
  padding:0;
}
.medicine-clinical-card>h4{
  margin:14px 15px 5px;
  color:#527080;
  font-size:10.8px;
}
.medicine-clinical-card>h4+.medicine-clinical-text{
  padding:0 15px 14px;
}
.medicine-clinical-card.safety .medicine-clinical-text,
.medicine-clinical-grid.safety .medicine-clinical-text{
  max-height:330px;
  overflow:auto;
  scrollbar-gutter:stable;
}

.medicine-clinical-more{
  margin-bottom:12px;
  overflow:hidden;
}
.medicine-section-head{
  min-height:63px;
  padding:13px 15px;
  display:flex;
  align-items:center;
  border-bottom:1px solid #edf1f3;
}
.medicine-clinical-more-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.medicine-clinical-more-grid article{
  min-width:0;
  padding:15px;
  border-top:1px solid #edf1f3;
}
.medicine-clinical-more-grid article:nth-child(-n+2){
  border-top:0;
}
.medicine-clinical-more-grid article:nth-child(even){
  border-left:1px solid #edf1f3;
}
.medicine-clinical-more-grid h4{
  margin:0 0 6px;
  color:#476a7c;
  font-size:10.8px;
}
.medicine-clinical-more-grid p{
  margin:0;
  max-height:220px;
  overflow:auto;
  color:#728690;
  font-size:10.5px;
  line-height:1.55;
}

.medicine-source-strip{
  margin-bottom:12px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.medicine-source-strip>div{
  display:grid;
  gap:3px;
}
.medicine-source-strip>div:last-child{
  justify-items:end;
}
.medicine-source-strip strong{
  color:#365f74;
  font-size:11.5px;
}
.medicine-source-strip small,
.medicine-source-strip span{
  color:#82949d;
  font-size:10.2px;
}
.medicine-clinical-empty{
  min-height:150px;
  padding:24px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin-bottom:12px;
}
.medicine-clinical-empty h2{
  margin:4px 0 5px;
  color:#345c71;
  font-size:16px;
}
.medicine-clinical-empty p{
  margin:0;
  color:#81939c;
  font-size:10.8px;
  line-height:1.5;
}

.medicine-product-reference{
  overflow:hidden;
}
.medicine-product-reference dl{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
}
.medicine-product-reference dl>div{
  padding:12px 15px;
  border-top:1px solid #edf1f3;
}
.medicine-product-reference dt{
  color:#8a9aa2;
  font-size:9.5px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.medicine-product-reference dd{
  margin:4px 0 0;
  color:#405f70;
  font-size:11px;
  line-height:1.4;
}

@media(max-width:820px){
  .medicine-clinical-hero{
    grid-template-columns:1fr;
  }
  .medicine-guide-state{
    justify-items:start;
    text-align:left;
  }
  .medicine-clinical-grid{
    grid-template-columns:1fr;
  }
  .medicine-product-reference dl{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .medicine-clinical-more-grid{
    grid-template-columns:1fr;
  }
  .medicine-clinical-more-grid article,
  .medicine-clinical-more-grid article:nth-child(-n+2),
  .medicine-clinical-more-grid article:nth-child(even){
    border-left:0;
    border-top:1px solid #edf1f3;
  }
  .medicine-clinical-more-grid article:first-child{
    border-top:0;
  }
  .medicine-source-strip{
    align-items:flex-start;
    flex-direction:column;
  }
  .medicine-source-strip>div:last-child{
    justify-items:start;
  }
  .medicine-product-reference dl{
    grid-template-columns:1fr;
  }
  .medicine-clinical-alert{
    grid-template-columns:30px minmax(0,1fr);
  }
  .medicine-clinical-alert>span{
    width:30px;
    height:30px;
  }
}

/* Clinical guide availability in medicine search results */
.medicine-result-row{
  grid-template-columns:1.5fr 1fr .8fr .7fr .82fr 52px;
}
.medicine-guide-chip{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  font-size:9.8px;
  font-weight:800;
  white-space:nowrap;
  border:1px solid #dce6ea;
  background:#f5f8f9;
  color:#6e838e;
}
.medicine-guide-chip.ready{
  border-color:#cde4d8;
  background:#edf8f2;
  color:#287258;
}
@media(max-width:1050px){
  .medicine-result-row{grid-template-columns:1.35fr 1fr .75fr .8fr 48px}
  .medicine-result-row>*:nth-child(4),
  .medicine-result-header>*:nth-child(4){display:none}
}
@media(max-width:760px){
  .medicine-result-row{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "name guide"
      "dose action"
      "route action";
  }
  .medicine-result-row .medicine-result-name{grid-area:name}
  .medicine-result-row>div:nth-child(2){grid-area:dose}
  .medicine-result-row>span:nth-child(3){grid-area:route}
  .medicine-result-row>span:nth-child(4){display:none}
  .medicine-result-row>.medicine-guide-chip{grid-area:guide}
  .medicine-result-row>b{grid-area:action;align-self:end}
}
@media(max-width:430px){
  .medicine-result-row{
    grid-template-columns:1fr;
    grid-template-areas:"name" "guide" "dose" "route" "action";
  }
}

/* French normalized medicine detail — 2026-08-29 */
.medicine-detail-search-shell{
  position:sticky;
  top:100px;
  z-index:30;
  margin:0 0 16px;
  padding-top:2px;
}
.medicine-detail-search-shell .medicine-discovery-search{
  width:100%;
  max-width:none;
  margin:0;
  min-height:58px;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(25,55,70,.07);
}
.medicine-detail-search-shell .medicine-suggestions{
  left:-48px;
  right:-145px;
}
.medicine-clinical-hero-compact{
  align-items:center;
}
.medicine-clinical-hero-compact .medicine-guide-state{
  min-width:210px;
}
.medicine-clinical-hero-compact .medicine-guide-state>strong{
  display:none;
}
.medicine-clinical-text-normalized{
  font-size:13px;
  line-height:1.72;
  max-width:78ch;
}
.medicine-clinical-grid-primary .medicine-clinical-card{
  min-height:240px;
}
.medicine-clinical-card{
  overflow:hidden;
}
.medicine-clinical-card h4{
  margin-top:16px;
}
.medicine-clinical-more-grid article p{
  line-height:1.65;
}
@media(max-width:820px){
  .medicine-detail-search-shell .medicine-discovery-search{
    grid-template-columns:34px minmax(0,1fr) auto;
  }
  .medicine-detail-search-shell .medicine-suggestions{
    left:-42px;
    right:-120px;
  }
  .medicine-clinical-hero-compact .medicine-guide-state{
    min-width:0;
  }
}
@media(max-width:600px){
  .medicine-detail-search-shell{
    margin-bottom:12px;
  }
  .medicine-detail-search-shell .medicine-discovery-search{
    grid-template-columns:1fr;
    padding:7px;
  }
  .medicine-detail-search-shell .medicine-discovery-search-icon{
    display:none;
  }
  .medicine-detail-search-shell .medicine-suggestions{
    left:0;
    right:0;
    top:54px;
  }
  .medicine-clinical-text-normalized{
    max-width:none;
    font-size:13px;
  }
  .medicine-clinical-grid-primary .medicine-clinical-card{
    min-height:0;
  }
}

@media(max-width:1050px){
  .medicine-detail-search-shell{top:12px}
}


/* Normalized medicine reference layer — 2026-08-29 */
.medicine-identity-pills>span.essential,
.medicine-essential-badge,
.medicine-essential-inline{
  color:#1f6f56;
  background:#edf8f2;
  border-color:#cfe5da;
}
.medicine-essential-inline{
  display:inline-flex!important;
  width:max-content;
  margin-top:5px!important;
  padding:3px 7px;
  border:1px solid #cfe5da;
  border-radius:999px;
  font-size:9px!important;
  font-weight:800;
}
.medicine-essential-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 9px;
  border:1px solid #cfe5da;
  border-radius:999px;
  font-size:9.5px;
  font-weight:800;
  white-space:nowrap;
}
.medicine-product-reference-normalized .medicine-section-head{
  justify-content:space-between;
  gap:12px;
}
.medicine-product-reference-layout{
  display:grid;
  grid-template-columns:minmax(240px,.72fr) minmax(0,1.55fr);
  min-width:0;
}
.medicine-composition-panel{
  padding:16px;
  border-right:1px solid #edf1f3;
  background:#f9fbfc;
}
.medicine-composition-panel h4{
  margin:5px 0 12px;
  color:#2f596f;
  font-size:14px;
  line-height:1.35;
}
.medicine-composition-list{
  display:grid;
  gap:7px;
}
.medicine-composition-list article{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:8px;
  border:1px solid #e2eaee;
  border-radius:9px;
  background:#fff;
}
.medicine-composition-list article>span{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:8px;
  background:#eaf3f7;
  color:#2b6a87;
  font-size:9px;
  font-weight:850;
}
.medicine-composition-list strong{
  display:block;
  color:#345c71;
  font-size:10.8px;
}
.medicine-composition-list small{
  display:block;
  margin-top:2px;
  color:#7a8f99;
  font-size:9.7px;
}
.medicine-product-reference-normalized dl{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.medicine-source-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:4px;
}
.medicine-source-meta>span{
  display:inline-flex;
  width:max-content;
  padding:3px 6px;
  border:1px solid #e0e8ec;
  border-radius:999px;
  background:#f8fafb;
  font-size:9px!important;
  line-height:1.2;
}
.medicine-source-meta>span.reviewed{
  border-color:#cfe5da;
  background:#edf8f2;
  color:#1f6f56;
}
@media(max-width:900px){
  .medicine-product-reference-layout{
    grid-template-columns:1fr;
  }
  .medicine-composition-panel{
    border-right:0;
    border-bottom:1px solid #edf1f3;
  }
}
@media(max-width:620px){
  .medicine-product-reference-normalized dl{
    grid-template-columns:1fr;
  }
  .medicine-product-reference-normalized .medicine-section-head{
    align-items:flex-start;
    flex-direction:column;
  }
}
