/* Shared NPMC interface foundation. Source: nationalparkmedical.com, 2026-10-14.
   Use these tokens and components for all new screens. Fonts are self-hosted (OFL). */
@font-face{font-family:'DM Sans';src:url('dm-sans-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Manrope;src:url('manrope-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--npmc-primary:#042745;--npmc-primary-hover:#313131;--npmc-charcoal:#313131;--npmc-ink:#1d2a37;--npmc-muted:#596975;--npmc-line:#d7e0e7;--npmc-page:#f4f6f8;--npmc-surface:#fff;--npmc-soft:#edf3f8;--npmc-focus:#216c9f;--npmc-font-body:'DM Sans',Arial,sans-serif;--npmc-font-heading:'DM Sans',Arial,sans-serif;--npmc-font-accent:Manrope,Arial,sans-serif;--npmc-radius:4px;--npmc-card-radius:8px;--npmc-control-height:42px;--npmc-space-1:4px;--npmc-space-2:8px;--npmc-space-3:12px;--npmc-space-4:16px;--npmc-space-6:24px;--npmc-space-8:32px;--green:var(--npmc-primary);--dark:var(--npmc-primary);--ink:var(--npmc-ink);--muted:var(--npmc-muted);--line:var(--npmc-line);--paper:var(--npmc-page);--mint:var(--npmc-soft)}
body{font-family:var(--npmc-font-body);background:var(--npmc-page);color:var(--npmc-ink);font-size:14px;line-height:1.5}
button,input,select,textarea{font-family:var(--npmc-font-body)}h1,h2,h3,h4,h5,h6,.intro h1,.heading h1,.hospital-brand h1{font-family:var(--npmc-font-heading);}.heading p,.intro p,.footer-note{color:var(--npmc-muted)}.eyebrow{color:#526d82;letter-spacing:1.3px;font-weight:700}.text-btn,a{color:var(--npmc-primary)}
.primary,.secondary,.danger{min-height:var(--npmc-control-height);border-radius:var(--npmc-radius);padding:10px 16px;font-weight:600;line-height:1.25}.primary{background:var(--npmc-primary);border:1px solid var(--npmc-primary);color:#fff}.primary:hover{background:var(--npmc-primary-hover);border-color:var(--npmc-primary-hover)}.secondary{background:#fff;border:1px solid #b8c7d2;color:var(--npmc-primary)}.secondary:hover{background:var(--npmc-soft);border-color:var(--npmc-primary)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--npmc-focus);outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.filters input:not([type=checkbox]):not([type=radio]),.filters select,.search-input,.date-select{min-height:var(--npmc-control-height);border:1px solid #b8c7d2;border-radius:var(--npmc-radius);background:#fff;font-size:14px}.field label{color:var(--npmc-ink);font-size:13px;font-weight:600}.field input[readonly]{background:#edf1f5;color:#445865}input[type=checkbox]{accent-color:var(--npmc-primary)}
.table-card,.calendar-card,.stat,.coverage-card,.cycle-card,.role-card,.request-card{border-radius:var(--npmc-card-radius);border-color:var(--npmc-line);box-shadow:none}th{color:#506474;font-weight:700;letter-spacing:.5px}.stat:first-child,.account-info,.notice,.link-box{background:var(--npmc-soft);border-color:#cfdae3}.chip{background:#e7eff6;color:#234a68}.chip.inactive{background:#edf0f3;color:#5b6570}.calendar-event{background:#e7eff6;border-left-color:var(--npmc-primary);color:var(--npmc-ink)}.calendar-event:hover{background:#d7e6f1}.calendar-day{background:white}.calendar-day.selected-day{background:#f0f5f9}.selected-day>.text-btn{font-weight:700}.coverage-person p{color:var(--npmc-muted)}
.brand,.npmc-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px;line-height:1.2;text-decoration:none}.npmc-logo{display:block;width:180px;max-width:100%;height:auto;object-fit:contain;flex-shrink:0}.npmc-product,.brand-name{font:600 18px/1.2 var(--npmc-font-heading);color:#fff;letter-spacing:0}.brand small{color:#d5e2ec}.sidebar{background:var(--npmc-primary);color:#fff;overflow-y:auto}.sidebar .site-label,.sidebar .workspace,.sidebar .profile,.sidebar .sample-note{border-color:#456176;color:#dbe6ef}.sidebar .site-label strong,.sidebar .profile strong{color:#fff}.sidebar nav button{color:#d5e2ec}.sidebar nav button.active,.sidebar nav button:hover{background:#24465f;color:#fff}.sidebar .profile small,.sidebar .profile button{color:#d5e2ec}.sidebar .brand-subtitle{display:block;color:#fff}.sidebar .brand .npmc-logo{width:180px}.sidebar .brand-name small{display:none}.sidebar .workspace{display:none}.topbar{background:white;color:var(--npmc-muted)}.secure-label{border-color:#c8d7e3;color:#3d5c73}.profile .avatar{background:#365a76;color:#fff}
.login-story{background:var(--npmc-primary);color:white}.login-story .npmc-logo{width:240px}.login-story .npmc-product{font-size:22px}.login-story .eyebrow{color:#bdcfdd}.login-story p,.login-story footer{color:#d5e2ec}.login-story h1{font-family:var(--npmc-font-heading)}.login-card h2{font-family:var(--npmc-font-heading)}.login-card>p{color:var(--npmc-muted)}.hospital-header{background:var(--npmc-primary);color:#fff}.hospital-brand{display:flex;align-items:center;gap:28px}.hospital-brand .npmc-logo{width:180px}.hospital-brand h1{color:white}.hospital-brand p{color:#d5e2ec}.hospital-badge{background:#24465f;color:white;border-color:#668397}.hospital-main,.hospital-body{background:var(--npmc-page)}.phone-link{color:var(--npmc-primary)}
@media(max-width:720px){.sidebar .brand{display:flex;flex-direction:row;align-items:center;gap:18px}.sidebar .brand .npmc-logo{width:140px}.sidebar .npmc-product,.sidebar .brand-name{font-size:16px}.sidebar nav{overflow-x:auto;white-space:nowrap}.sidebar nav button{flex-shrink:0}.sidebar nav button{font-size:11px}.sidebar{overflow-y:visible}.login-story .npmc-logo{width:190px}.login-story .npmc-product{font-size:19px}.hospital-brand{gap:16px}.hospital-brand .npmc-logo{width:125px}.hospital-brand h1{font-size:22px}.hospital-header{flex-wrap:wrap}.primary,.secondary,.danger{min-height:42px}.heading h1{font-size:30px}.coverage-person{padding:20px}.topbar{padding-inline:20px}}
@media print{body,.hospital-body{background:white;color:#1d2a37}.hospital-header{background:var(--npmc-primary)!important;color:white!important;print-color-adjust:exact}.hospital-brand h1,.hospital-brand p{color:white!important}.sidebar,.topbar,.filters,.calendar-controls{display:none!important}.shell{margin-left:0}main{padding:16px}.coverage-person,.coverage-card{break-inside:avoid}}
/* Calendar controls share the same action sizing as workspace controls. */
.view-toggle button,.today-btn,.icon-btn{min-height:42px;border-radius:var(--npmc-radius);font-family:var(--npmc-font-body)}.view-toggle button.active{background:var(--npmc-primary);color:#fff}.view-toggle button:not(.active):hover,.today-btn:hover,.icon-btn:hover{background:var(--npmc-soft);color:var(--npmc-primary)}

/* Compact choice controls; the label supplies the full click target. */
.field input[type=checkbox],.field input[type=radio]{width:18px;min-width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0;padding:0}
.field .checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.field .checks label{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;margin:0;padding:10px 12px;font-weight:400;line-height:1.4;cursor:pointer;overflow-wrap:anywhere}
.field .checks label:has(input:checked){background:var(--npmc-soft);border-color:var(--npmc-primary)}
.field .checks label:focus-within{outline:2px solid var(--npmc-focus);outline-offset:2px}
@media(max-width:420px){.field .checks{grid-template-columns:minmax(0,1fr)}}
