:root{color-scheme:light;--white:#fff;--canvas:#f4f8f7;--surface:#fff;--line:#d7e5e2;--ink:#173c40;--muted:#587478;--green:#24705f;--green-soft:#e6f3ee;--blue:#3e7585;--info:#e8f2f6;--warning:#fff4d8;--danger:#fde9e8;--success:#e6f4ec;--neutral:#eef2f2;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--r1:.5rem;--r2:.875rem;--r3:1.25rem;--shadow:0 14px 40px rgba(30,68,70,.08);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--canvas);line-height:1.55}.skip-link{position:fixed;left:var(--s4);top:-5rem;padding:var(--s3) var(--s4);background:var(--ink);color:#fff;z-index:10}.skip-link:focus{top:var(--s4)}.shell{min-height:100vh;display:grid;grid-template:"header header" auto "side main" 1fr "footer footer" auto/15rem minmax(0,1fr)}.topbar{grid-area:header;display:flex;align-items:center;justify-content:space-between;min-height:4.25rem;padding:0 var(--s6);background:var(--white);border-bottom:1px solid var(--line)}.brand{font-size:1.25rem;font-weight:800;color:var(--green)}.platform{color:var(--muted)}.sidebar{grid-area:side;padding:var(--s6);border-right:1px solid var(--line);background:#f9fbfa;color:var(--muted)}main{grid-area:main;width:min(100%,70rem);padding:var(--s6) clamp(var(--s4),5vw,var(--s7))}.breadcrumb{color:var(--blue);font-size:.9rem;margin-bottom:var(--s5)}footer{grid-area:footer;padding:var(--s4) var(--s6);border-top:1px solid var(--line);background:var(--white);color:var(--muted);font-size:.875rem}.page-header{margin-bottom:var(--s6)}.eyebrow{margin:0 0 var(--s2);color:var(--blue);font-weight:750;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}h1{margin:0;font-size:clamp(2rem,6vw,3.5rem);line-height:1.08}h2{margin-top:0;font-size:1.2rem}.phase,.badge{display:inline-flex;min-height:2rem;align-items:center;padding:var(--s1) var(--s3);border-radius:999px;background:var(--neutral);font-weight:700;font-size:.875rem}.phase{margin-top:var(--s3);background:var(--green-soft);color:var(--green)}.card-grid{display:flex;gap:var(--s2);flex-wrap:wrap;margin:var(--s5) 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r3);padding:var(--s6);box-shadow:var(--shadow);margin:var(--s5) 0}.alert{padding:var(--s4) var(--s5);border:1px solid var(--line);border-radius:var(--r2);font-weight:650}.alert--success{background:var(--success);color:#195b45}.alert--warning{background:var(--warning)}.alert--danger{background:var(--danger)}.alert--info{background:var(--info)}.alert--neutral{background:var(--neutral)}.button,button,input,select,textarea{font:inherit}.button{min-height:2.75rem;padding:var(--s2) var(--s4);border:1px solid var(--green);border-radius:var(--r1);background:var(--green);color:#fff;font-weight:700;cursor:pointer}.button:hover{filter:brightness(.94)}.button:disabled,input:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #77afc1;outline-offset:2px}label{display:grid;gap:var(--s2);font-weight:650}input,select,textarea{min-height:2.75rem;padding:var(--s3);border:1px solid #9fb8b7;border-radius:var(--r1);background:#fff;color:var(--ink)}textarea{min-height:7rem}.check{display:flex;align-items:center}.check input{min-width:1.4rem;min-height:1.4rem}.field-error{color:#9b2c2c}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}caption,th{text-align:left;font-weight:750}th,td,caption{padding:var(--s3);border-bottom:1px solid var(--line)}.empty,.modal-shell{padding:var(--s6);border:1px solid var(--line);border-radius:var(--r2);background:#fff}.loading{height:5rem;border-radius:var(--r2);background:var(--neutral)}.status{display:inline-flex;gap:var(--s2);align-items:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.shell{display:block}.topbar{padding:0 var(--s4)}.sidebar{display:none}main{padding:var(--s5) var(--s4)}footer{padding:var(--s4)}.card{padding:var(--s5)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.sidebar,.skip-link{display:none}.shell{display:block}.topbar,.card,footer{box-shadow:none}body{background:#fff;color:#000}}
/* VC.3K profession-neutral clinical observations */
.observation-form{display:grid;gap:1.25rem}.observation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.observation-grid>label,.observation-bp{display:grid;gap:.45rem;min-width:0}.observation-control{display:flex;align-items:center;gap:.55rem}.observation-control input,.observation-control select{min-width:0}.observation-bp{grid-column:span 2;border:1px solid var(--border,#d9e2df);border-radius:14px;padding:1rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end}.observation-bp legend{font-weight:700;padding:0 .35rem}.observation-bp label{display:grid;gap:.4rem}.observation-bp input{width:100%}.bp-divider{font-size:1.5rem;padding-bottom:2rem}.observation-form input,.observation-form select{min-height:44px}.observation-history{display:grid;gap:.75rem}.observation-history article{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border,#d9e2df);border-radius:14px}.observation-history p{margin:.3rem 0}.observation-indicator{font-size:.85rem;color:#275f53}.clinical-observation-history small{display:block}.observation-hero{overflow:hidden}
@media(max-width:800px){.observation-grid{grid-template-columns:1fr 1fr}.observation-bp{grid-column:1/-1}.observation-history article{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.observation-grid{grid-template-columns:1fr}.observation-bp{grid-template-columns:1fr}.bp-divider{display:none}.observation-control{align-items:stretch;flex-direction:column}.observation-history article .button{width:100%;text-align:center}}
.correction-reason{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(0,2fr);gap:1rem}.correction-reason label{display:grid;gap:.45rem}.correction-reason select,.correction-reason textarea{width:100%;min-height:44px}.amendment-status{border-left:5px solid #b56a19}.amendment-status--current{border-left-color:#26705e}.amendment-detail .button{min-height:44px}.observation-state{display:inline-flex;margin-left:.5rem;padding:.2rem .55rem;border-radius:999px;background:#f4dfc1;color:#71430c;font-size:.75rem;font-weight:700}.observation-state--current{background:#d9eee7;color:#195748}@media(max-width:620px){.correction-reason{grid-template-columns:1fr}.correction-form .form-actions{display:grid;grid-template-columns:1fr}.correction-form .form-actions .button{width:100%;min-height:44px;text-align:center}.correction-original .detail-list{grid-template-columns:minmax(7rem,auto) minmax(0,1fr)}}
 .physician-hero{align-items:flex-start;background:linear-gradient(135deg,#f8fbff,#eef8f5);border:1px solid #cfe2dc;border-radius:24px;padding:clamp(1.25rem,3vw,2.25rem)}.physician-status{font-size:.9rem;padding:.55rem .85rem}.physician-status--completed{background:#dff5e8;color:#195d3b}.physician-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-block:1rem 1.25rem}.physician-context div{display:grid;gap:.25rem}.physician-context small{color:#60736d;text-transform:uppercase;letter-spacing:.06em}.physician-record,.physician-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.physician-section{position:relative;min-width:0;border-top:4px solid #3d8875}.physician-section--chief_complaint,.physician-section--assessment,.physician-section--plan,.physician-section--follow-up{grid-column:1/-1}.physician-section label{font-weight:700;font-size:1.05rem}.physician-section textarea{width:100%;min-height:9rem;resize:vertical;line-height:1.55}.physician-section textarea:focus-visible{outline:3px solid #7bc5b2;outline-offset:2px}.physician-actions{position:sticky;bottom:.75rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem;box-shadow:0 12px 32px rgba(25,75,62,.14);z-index:3}.physician-actions .button{min-height:44px}.physician-completion{margin-top:1rem;border-left:5px solid #3d8875}.physician-note-summary,.physician-note-badge{color:#315f53;overflow-wrap:anywhere}.physician-record{overflow-wrap:anywhere}@media(max-width:1024px){.physician-context{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.physician-record,.physician-grid,.physician-context{grid-template-columns:1fr}.physician-section--chief_complaint,.physician-section--assessment,.physician-section--plan,.physician-section--follow-up{grid-column:auto}.physician-actions{position:static}.physician-actions .button{width:100%}}@media(max-width:430px){.physician-hero{border-radius:16px;padding:1rem}.physician-section{padding:1rem}.physician-section textarea{min-height:8rem}}@media(prefers-reduced-motion:reduce){.physician-form *{scroll-behavior:auto;transition:none!important}}

/* VC.3M.R3 branch-scoped clinic flow */
.waiting-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem}.waiting-card{border-inline-start:.45rem solid #718096}.waiting-card.urgency-immediate{border-color:#b91c1c}.waiting-card.urgency-very_urgent{border-color:#dc2626}.waiting-card.urgency-urgent{border-color:#ea580c}.waiting-card.urgency-standard{border-color:#2563eb}.waiting-card.urgency-low_priority{border-color:#15803d}.waiting-card.urgency-untriaged{border-color:#64748b}.urgency-badge,.status-badge{display:inline-block;padding:.25rem .55rem;margin:0 .25rem .35rem 0;border-radius:999px;background:#eef2ff;font-size:.75rem;font-weight:700}.waiting-card form{margin-block:.75rem}.waiting-card .button{width:auto}@media(max-width:42rem){.waiting-board{grid-template-columns:1fr}.waiting-card .button,.patient-form .button{width:100%}}

.diagnosis-summary h3{margin-top:1.25rem}.diagnosis-row,.diagnosis-result{display:grid;gap:.6rem;padding:1rem 0;border-bottom:1px solid var(--border-color,#d9e2e8)}.diagnosis-result select,.diagnosis-result textarea{width:100%}.diagnosis-list{display:grid;gap:.75rem}.diagnosis-row strong{overflow-wrap:anywhere}@media(min-width:48rem){.diagnosis-result{grid-template-columns:minmax(14rem,2fr) minmax(10rem,1fr);align-items:start}.diagnosis-result label:last-of-type,.diagnosis-result button{grid-column:1/-1}}@media(max-width:47.99rem){.diagnosis-result .button,.physician-diagnosis-entry .button{min-height:44px;width:100%}}

/* VC.3O physician prescription foundation */
.physician-prescription-entry{border-top:4px solid #4a7b92}.prescription-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.prescription-form label{min-width:0}.prescription-form input,.prescription-form select,.prescription-form textarea,.prescription-form .button{width:100%;min-height:44px}.prescription-form label:first-child,.prescription-form label:last-of-type,.prescription-form .form-actions{grid-column:1/-1}.prescription-list{display:grid;gap:.85rem}.prescription-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:var(--r2);overflow-wrap:anywhere}.prescription-row p{margin:.3rem 0}.prescription-row .form-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end}.prescription-row .status-badge{justify-self:start;align-self:start;width:auto}.prescription-row .button{min-height:44px}@media(max-width:47.99rem){.prescription-form,.prescription-row{grid-template-columns:1fr}.prescription-form label:first-child,.prescription-form label:last-of-type,.prescription-form .form-actions{grid-column:auto}.prescription-row .form-actions,.prescription-row .button{width:100%}}


/* VC.3P allergy / adverse reaction foundation */
.allergy-list,.allergy-form,.allergy-history{margin-top:1rem}
.allergy-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,22rem);gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:var(--r2);overflow-wrap:anywhere}
.allergy-title-row,.allergy-summary-row{display:flex;gap:.75rem;align-items:flex-start;justify-content:space-between}
.allergy-row .status-badge,.allergy-summary-row .status-badge{flex:0 0 auto;width:auto}
.allergy-actions{display:grid;gap:.75rem}.allergy-actions form{margin:0}.allergy-actions input{width:100%}
.allergy-form{display:grid;gap:1rem}.allergy-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.allergy-form input,.allergy-form select,.allergy-form textarea{width:100%}
.allergy-summary-list{display:grid;gap:.65rem}.allergy-summary-row{padding:.75rem 0;border-bottom:1px solid var(--line)}.allergy-summary-row:last-child{border-bottom:0}
.allergy-summary-row p{margin:.25rem 0 0}
@media(max-width:47.99rem){.allergy-row,.allergy-form .form-grid{grid-template-columns:1fr}.allergy-actions .button,.allergy-form .button{width:100%;min-height:44px}.allergy-title-row,.allergy-summary-row{align-items:flex-start}}


/* Update 006: prescription allergy warning */
.allergy-prescription-warning{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding:1rem;border:2px solid #c2410c;border-radius:var(--r2);background:#fff7ed}
.allergy-prescription-warning h3{margin:.05rem 0 .35rem;color:#9a3412}
.allergy-prescription-warning p{margin:.25rem 0}
.allergy-prescription-warning__icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#c2410c;color:#fff;font-size:1.5rem;font-weight:800}
.allergy-acknowledge{grid-column:1/-1;padding:.8rem;border:1px solid #fdba74;border-radius:var(--r2);background:#fffaf5}
.allergy-acknowledge input{width:auto;min-height:auto;margin-right:.45rem}
.prescription-warning-record{grid-column:1/-1;display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;padding:.55rem .7rem;border-left:4px solid #c2410c;background:#fff7ed;border-radius:.35rem}
@media(max-width:47.99rem){.allergy-prescription-warning{grid-template-columns:1fr}.allergy-prescription-warning__icon{width:2.25rem;height:2.25rem}}

/* Update 013: organization module settings */
.module-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.25rem}
.module-setting-card{padding:1rem;border:1px solid var(--line);border-radius:var(--r2);background:#fff}
.module-setting-card--core{border-left:4px solid #15803d;background:#f7fff9}
.module-setting-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.module-setting-head h3{margin:.1rem 0 .35rem}.module-setting-head p{margin:0;color:var(--muted)}
.module-switch{display:flex;flex-direction:column;gap:.25rem;align-items:center;font-weight:700;white-space:nowrap}
.module-switch input{width:1.25rem;height:1.25rem}
.module-setting-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.9rem;font-size:.85rem;color:var(--muted)}
.module-planned{padding:.2rem .45rem;border-radius:999px;background:#f3f4f6;font-weight:700}
.module-settings-form>.button{min-height:44px}
@media(max-width:47.99rem){.module-setting-head{flex-direction:column}.module-switch{flex-direction:row}.module-settings-form>.button{width:100%}}

/* Update 015: Billing foundation */
.billing-table{display:grid;gap:.65rem}.billing-row{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(180px,2fr) repeat(3,minmax(100px,1fr));gap:.75rem;align-items:center;padding:.8rem;border:1px solid var(--line);border-radius:var(--r2);text-decoration:none;color:inherit}.billing-row:hover{background:#f8fbfa}.billing-totals{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}.billing-totals>div{display:grid;gap:.2rem;min-width:130px}.billing-totals strong{font-size:1.25rem}@media(max-width:60rem){.billing-row{grid-template-columns:1fr 1fr}}@media(max-width:40rem){.billing-row{grid-template-columns:1fr}.billing-totals>div{min-width:45%}}

/* Update 016: invoice print format chooser */
.invoice-print-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.8rem}.invoice-print-actions>span{font-weight:700}.invoice-print-actions .button{min-height:36px;padding:.45rem .7rem}

/* Update 018 insurance foundation */
.invoice-print-actions form{display:inline-block;margin:0}.insurance-template-note{background:#f7faf9;border-left:4px solid #2f7a65;padding:.8rem}

/* Update 023: physician workspace */
.physician-workspace-list{display:grid;gap:1rem}.physician-workspace-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.28fr) minmax(210px,.35fr);gap:1rem;align-items:center;margin:0}.physician-workspace-row h3{margin:.2rem 0}.physician-workspace-row__status{display:grid;gap:.2rem}.physician-workspace-row__status small{color:var(--muted,#637078);margin-top:.35rem}.physician-workspace-row__actions{display:flex;flex-direction:column;gap:.55rem;align-items:stretch}.physician-workspace-row__actions .button{text-align:center;margin:0}.physician-workspace-summary .status-badge{align-self:flex-start}@media(max-width:900px){.physician-workspace-row{grid-template-columns:1fr}.physician-workspace-row__actions{flex-direction:row;flex-wrap:wrap}.physician-workspace-row__actions .button{flex:1 1 220px}}

/* Update 024: physician assignment workflow */
.clinic-assignment-form,.waiting-physician-form{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.clinic-assignment-form label,.waiting-physician-form label{flex:1 1 280px;margin:0}.clinic-assignment-form select,.waiting-physician-form select{width:100%}.waiting-card-badges{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.waiting-card-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.workflow-notice{margin:1rem 0;padding:.85rem 1rem;border:1px solid #cddfd9;border-radius:10px;background:#f6faf8;color:#31584e}.clinic-assessment-form>.clinic-action-stack{margin-top:.8rem}@media(max-width:700px){.clinic-assignment-form,.waiting-physician-form{align-items:stretch;flex-direction:column}.clinic-assignment-form .button,.waiting-physician-form .button,.waiting-card-actions .button{width:100%}}

/* Update 025: ICD catalog state */
.alert--warning{background:#fff8e6;border:1px solid #e8d293;color:#6b5311;padding:.8rem 1rem;border-radius:10px}.alert--warning a{font-weight:700}.inline-form button:disabled,.inline-form input:disabled{opacity:.55;cursor:not-allowed}
