:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203e38;background:#f3f6f4;font-size:17px;line-height:1.5}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #dbe5df;padding:22px max(20px,calc((100% - 680px)/2));display:flex;flex-wrap:wrap;gap:4px 20px}header strong{color:#14675d;font-size:24px}header span{font-size:13px;color:#52675e;align-self:center}main{max-width:720px;margin:32px auto;padding:0 20px}section{background:#fff;padding:30px;border:1px solid #dbe5df;border-radius:20px;box-shadow:0 5px 20px #183c2805}h1{font-size:30px;line-height:1.2;margin:12px 0 18px}h2{font-size:19px;color:#14675d;margin:0 0 10px}p{margin:12px 0 20px}.eyebrow{color:#14675d;font-size:12px;letter-spacing:1px;font-weight:700}.muted{color:#56685f;font-size:14px}label{display:block;font-weight:600;margin:19px 0}input,textarea,select{display:block;font:inherit;width:100%;padding:12px;margin-top:7px;background:#fff;color:#203e38;border:1px solid #8ba69b;border-radius:9px}textarea{resize:vertical}button{font:inherit;font-weight:600;background:#14675d;color:#fff;border:1px solid #14675d;border-radius:10px;min-height:48px;padding:11px 20px;cursor:pointer}button.secondary{background:#fff;color:#14675d;border-color:#a9bfb5}button:disabled{opacity:.6;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #dc9b26;outline-offset:3px}.top,.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.card,.notice{background:#f5f9f6;border:1px solid #dae6dd;padding:20px;border-radius:12px;margin:22px 0}.notice{font-size:14px}.notice p:last-child{margin-bottom:0}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}details{margin-top:25px;padding-top:15px;border-top:1px solid #dbe5df}summary{cursor:pointer;font-weight:600;color:#14675d;padding:10px 0}article{padding:14px 0;border-bottom:1px solid #e3eae5}article p{margin:6px 0;font-size:14px;overflow-wrap:anywhere}#message:not(:empty){padding:16px;border:1px solid #a98645;background:#fff7e6;border-radius:10px;margin-bottom:18px;white-space:pre-wrap}footer{text-align:center;color:#56685f;font-size:12px;margin:32px 20px}[hidden]{display:none!important}@media(max-width:480px){main{margin:18px auto;padding:0 12px}section{padding:22px 18px}h1{font-size:27px}.actions button{flex:1}header{padding:18px}}

/* Keep native mobile date/time controls inside their own layout cells. */
input, textarea, select { min-width: 0; max-width: 100%; min-height: 48px; }
input[type="date"], input[type="time"], input[type="datetime-local"] {
  appearance: none; -webkit-appearance: none; min-inline-size: 0;
}
input::-webkit-date-and-time-value { text-align: left; min-width: 0; }
label, .card, .top > *, .actions > * { min-width: 0; }
section, .card, p { overflow-wrap: anywhere; }
.date-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.dose-fields { border: 0; padding: 0; margin: 19px 0; min-width: 0; }
.dose-fields legend { padding: 0; font-weight: 600; }
.dose-inputs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.dose-inputs label { margin: 8px 0 0; font-size: 14px; }
/* Equal explicit heights prevent native select/time sizing differences on iOS. */
.dose-inputs input, .dose-inputs select { font-size: 17px; }
.dose-inputs input, .dose-inputs select, .time-row input, .time-row button {
  height: calc(1.5em + 26px);
  line-height: 1.5;
  padding-top: 12px;
  padding-bottom: 12px;
}
.time-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; margin: 19px 0; }
.time-row label { margin: 0; }
.time-row button { margin: 0; flex: none; }
.actions { align-items: stretch; }
.actions button { flex: 1 1 140px; }
#add-time { max-width: 100%; }
#full-record .record-heading { padding-bottom: 16px; margin-bottom: 20px; border-bottom: 2px solid #bfd4c9; }
#full-record .record-heading h2 { color: #124f47; font-size: 23px; line-height: 1.3; margin: 0; }
#full-record .record-outcome h3 { color: #14675d; font-size: 19px; margin: 0 0 10px; }
#full-record .record-outcome h4 { color: #14675d; font-size: 17px; margin: 22px 0 8px; }
#full-record .record-outcome p:last-child { margin-bottom: 0; }
@media (max-width: 600px) {
  .date-fields { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .date-fields label { margin: 12px 0; }
}
@media (max-width: 360px) {
  .time-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .time-row button { justify-self: end; }
}

/* Daily care first; account and technical details stay in disclosures. */
.compact-name{font-size:23px;margin:4px 0 22px}.today-schedule{padding-top:18px;border-top:1px solid #dbe5df}#schedule-heading{font-size:26px;margin-bottom:18px}#profile>.top .eyebrow{margin:0}#profile>.top button{font-size:14px;padding:8px 12px}#verified-schedule{margin-top:20px}#verified-schedule ol{padding-left:24px}fieldset{min-width:0;border:1px solid #dbe5df;border-radius:10px;padding:12px}legend{font-weight:600}.weekday-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.weekday-options label{margin:0;display:flex;align-items:center;gap:6px;min-height:48px;font-size:14px}.weekday-options input{width:20px;height:20px;min-height:20px;margin:0;flex:none}#review-schedule{width:100%}

.care-actions{display:grid;gap:12px;margin:0 0 24px}.care-actions>button{width:100%;min-height:52px;margin:0}#dose-list .card>button{display:block;width:100%;margin-top:12px}#medications-panel>h1{margin-top:24px}

#medication-plans .card>button{display:block;width:100%;margin-top:12px}

/* One event per card: its timing disclosure stays visibly inside the event. */
#activity{display:grid;gap:18px;margin-top:12px}
#activity>.activity-card{margin:0;padding:18px;border:1px solid #b9d0c4;border-radius:14px;background:#f5f9f6;min-width:0}
.activity-card h3{font-size:19px;line-height:1.3;color:#203e38;margin:0 0 6px}
#activity .activity-subject{font-size:17px;font-weight:650;color:#14675d;margin:0 0 6px}
#activity .activity-meta{color:#56685f;font-size:13px;margin:0 0 16px}
#activity .activity-card>p{overflow-wrap:anywhere}
#activity .activity-card>details{margin:16px 0 0;padding:0 12px;border:1px solid #d5e3db;border-radius:9px;background:#fff}
#activity .activity-card>details summary{font-size:14px;padding:12px 0}
#activity .activity-card>details p{margin:0 0 12px;font-size:14px}

.form-error{padding:14px;border:2px solid #a98645;background:#fff7e6;border-radius:10px;margin:16px 0;white-space:pre-wrap;scroll-margin:24px}.form-error:focus{outline:3px solid #a98645;outline-offset:3px}#med-changes{border-bottom:1px solid #bfd4c9;padding-bottom:12px;margin-bottom:18px}#med-changes h3{font-size:18px;margin:0 0 12px}#med-changes p{font-size:15px;margin:10px 0}

.schedule-overview{margin:14px 0;padding:12px 14px;border:1px solid #dae6dd;border-radius:10px;background:#f5f9f6}.schedule-overview strong,.schedule-overview p{font-size:14px;overflow-wrap:anywhere}.schedule-overview p{margin:4px 0 0}#dose-list>details{scroll-margin-top:16px;margin-top:14px;padding-top:8px}#dose-list>details>summary{min-height:48px;padding:10px 0}.section-summary-help{display:block;margin:3px 0 0 18px;font-size:13px;font-weight:400;color:#56685f}#schedule-heading{margin-bottom:8px}.today-schedule>p.muted{margin:0 0 14px}.today-schedule>label{margin:14px 0}

#care-team-heading{margin-top:24px}#care-team-panel .card{margin:14px 0 24px}#care-team-panel .card h3{margin:0 0 8px;color:#14675d;font-size:19px}#care-team-panel .card h4{margin:16px 0 6px;font-size:15px}#care-team-panel .card>button{margin-top:16px;width:100%}#care-team-panel>.top button{flex:0 1 auto}#care-team-panel #shared-with{margin-top:24px}

/* Invitation actions remain separate and easy to tap on narrow screens. */
#accept-invite-form>button[type=submit],#leave-invite{display:block;width:100%}
#accept-invite-form>button[type=submit]{margin-top:24px}
#leave-invite{margin-top:16px}
#accept-context{overflow-wrap:anywhere;margin-bottom:8px}
#accept-expiry{margin-top:0}

/* Four stable destinations; task forms retain their explicit save/cancel route. */
/* Navigation follows the recipient header, matching the agreed four-area layout. */
.main-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#fff;border:1px solid #dbe5df;border-radius:12px;margin:0 0 18px;overflow:hidden}
.main-navigation button{font-size:15px;line-height:1.25;padding:14px 3px;border:0;border-bottom:3px solid transparent;border-radius:0;background:#fff;color:#52675e;min-height:52px;overflow-wrap:normal}
.main-navigation button[aria-current="page"]{color:#124f47;background:#eaf3ee;border-bottom-color:#14675d;font-weight:750}
.care-context{padding:0 4px 14px}.care-context .eyebrow{margin:0 0 2px}.care-context .compact-name{margin:0;font-size:22px;font-weight:700;overflow-wrap:anywhere}
.today-schedule{border:0;padding:0}#schedule-heading{font-size:27px;margin-top:12px}#medications-panel>h1{margin-top:12px}.full-width{display:block;width:100%}
#history-dose-list>.card>button{display:block;width:100%;margin-top:12px}
#history-dose-list>details{margin-top:14px;padding-top:8px}
#history-dose-list>details>summary{min-height:48px}
#history-dose-list>details .card>button{display:block;width:100%;margin-top:12px}
#history-dose-list>h2{margin-top:24px}
#care-team-panel>.top{justify-content:flex-end}
#care-team-panel>.top #switch-care-profile{margin-right:auto}

#viewing-as{margin:4px 0 0}.care-hub-item{border-top:1px solid #dbe5df;padding-top:20px;margin-top:24px}.care-hub-item p{margin:8px 0 14px}
.calendar-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px;align-items:end;margin-bottom:16px}.calendar-controls label{margin:0}.calendar-controls button{padding:10px 6px;min-height:52px}
.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:16px 0}.calendar-week button{padding:9px 0;font-size:13px;border-radius:8px;min-height:66px}.calendar-week span,.calendar-week strong{display:block}.calendar-week strong{font-size:17px}.calendar-week button[aria-pressed="true"]{background:#14675d;color:#fff;border-color:#14675d}.calendar-week button[aria-current="date"] span{text-decoration:underline;text-underline-offset:3px}
#calendar-selected{font-size:21px;margin:24px 0 6px}#calendar-zone{margin:0 0 18px}#calendar-dose-list .card>button{display:block;width:100%;margin-top:12px}#calendar-dose-list>details{margin-top:18px}#calendar-dose-list>details>.card{margin:12px 0}#calendar-dose-list>details>summary{min-height:48px}
#recipient-panel .card>button{width:100%;margin-top:16px}#care-panel>.top{justify-content:flex-end}#care-panel #switch-care-profile{margin-right:auto}
@media(max-width:360px){.calendar-controls{gap:6px}.calendar-week{gap:2px}.calendar-week button{font-size:12px}.main-navigation button{font-size:14px}}

/* Keep the date with the Today heading, above the reminder note and action. */
.today-schedule>#today-date{margin:0 0 14px}

/* Separate medication setup from the list; no extra gap for read-only caregivers. */
#add-med:not([hidden]) + #medication-plans { margin-top: 24px; }

/* Full records separate recorded outcomes from the saved prescription. */
#full-record .record-heading + .record-section { margin-top: 0; padding-top: 0; border-top: 0; }
#full-record .record-section > summary { font-size: 19px; }

#full-record-heading { scroll-margin-top: 20px; }

#activity-more { margin-top: 24px; }
#activity-filter { margin-bottom: 20px; }

/* Authentication: one primary action and quieter, accessible help links. */
.auth-panel { max-width: 520px; margin-inline: auto; }
.auth-panel .auth-link { background: transparent; border: 0; border-radius: 4px; color: #14675d; padding: 8px 2px; min-height: 44px; font-size: 15px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.auth-panel .auth-link:hover { color: #0b4942; }
.auth-panel .auth-primary, .auth-panel form > button[type="submit"] { display: block; width: 100%; margin-top: 16px; }
#login-form .auth-password-label { margin-bottom: 0; }
.auth-forgot { display: flex; justify-content: flex-end; margin: 0 0 12px; }
.auth-create { text-align: center; margin: 20px 0 2px; font-size: 15px; }
.auth-email-help { text-align: center; }
.auth-panel > .auth-back, .auth-panel > #cancel-recovery { display: block; margin: 16px auto 0; }
.auth-panel ul { padding-left: 22px; }
.auth-panel li { margin-bottom: 12px; }
#confirmation-needed { margin: 18px 0; }
#confirmation-needed p { margin: 0 0 4px; }
/* Compact invitation and account entry screens. */
.invite-panel{max-width:560px;margin-inline:auto}
.invite-panel h1{font-size:1.65rem;margin:0 0 12px;line-height:1.2;overflow-wrap:anywhere}
.invite-panel h1:focus:not(:focus-visible),.invite-panel h2:focus:not(:focus-visible){outline:none}
.invite-panel p{margin:12px 0;overflow-wrap:anywhere}
.invite-panel .invite-help{font-size:.875rem;line-height:1.45}
.invite-details{margin:16px 0;font-size:.9rem}
.invite-details summary{cursor:pointer;color:#14675d;font-weight:600;padding:8px 0}
.invite-panel form>button[type=submit]{width:100%;margin-top:8px}
.invite-panel .auth-link{background:transparent;border:0;color:#14675d;text-decoration:underline;font-size:.9rem;padding:8px 4px;min-height:44px}
.invite-secondary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
#back-invite{margin-top:16px}
#invite-result{margin-top:20px;padding:18px}
#invite-result h2{font-size:1.25rem;margin:0 0 8px}
#invite-result textarea{font-size:.85rem;font-weight:400}
#copy-status:empty{display:none}
#invite-auth-choice:not([hidden]){display:flex;flex-direction:column;gap:12px;margin:16px 0}
#invite-auth-choice button{width:100%}
#invite-auth-choice span{font-size:.875rem;color:#5f716a}
#login.has-invitation .eyebrow{display:none}
#login.has-invitation h1{margin:0 0 12px}
#login.has-invitation #invite-login-note{font-size:.95rem;margin:0 0 16px}
#login.has-invitation label{margin-bottom:12px}
#login.has-invitation .auth-forgot{margin-bottom:0}
@media(max-width:600px){.invite-panel{padding:22px 18px}.invite-panel label{margin-bottom:16px}.auth-panel.has-invitation{padding-top:22px}}

/* Keep update status and manual reload together after all disclosures. */
#profile > .sync-footer { margin-top: 24px; padding-top: 20px; border-top: 1px solid #dbe5df; }
.sync-footer > h2 { margin: 0; font-size: 17px; color: #203e38; }
.sync-footer > #sync-status { margin: 8px 0 16px; font-size: 14px; color: #63716a; }
.sync-footer > #refresh { display: block; max-width: 100%; }

/* Calendar status is readable with the time groups closed. */
.calendar-filter-control { margin-top: 24px; }
.calendar-filter-control > label { margin: 0 0 7px; }
.calendar-filter-control > p { margin: 8px 0 0; }
.calendar-unrecorded-badge { display: inline-block; margin-left: 8px; padding: 2px 8px; border: 1px solid #e8c676; border-radius: 12px; background: #fff3cd; color: #805600; font-size: 13px; font-weight: 650; vertical-align: middle; }

.calendar-range-day { margin: 30px 0 0; font-size: 20px; }

/* Compact Calendar controls follow the approved mobile layout. */
#calendar-panel > h1 { margin: 0 0 18px; }
#calendar-range-form > label { margin: 0 0 6px; }
#calendar-panel .calendar-filter-control { margin-top: 14px; }
#calendar-custom-dates { margin-top: 14px; }
.calendar-date-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; margin-top: 18px; }
.calendar-date-row label { margin: 0; min-width: 0; }
.calendar-date-row input { min-width: 0; width: 100%; }
.calendar-date-row button { padding: 12px 14px; min-height: 48px; }
.calendar-week-navigation { display: flex; justify-content: space-between; gap: 8px; margin-top: 10px; }
.calendar-week-navigation button { border: 0; background: transparent; color: #14675d; padding: 8px 0; min-height: 44px; font-size: 14px; }
#calendar-week { margin: 2px 0 0; }
#calendar-week button { min-height: 58px; padding: 6px 0; }
#calendar-selected { margin-top: 22px; }
#calendar-zone { margin-bottom: 8px; font-size: 14px; }
#calendar-filter-help { margin: 0 0 14px; font-size: 13px; line-height: 1.45; }
#calendar-dose-list > details { margin-top: 12px; padding-top: 8px; }

/* Public welcome and signed-in onboarding share one compact layout. */
.welcome-panel h1 { font-size: 30px; line-height: 1.2; margin-top: 0; }
.welcome-choice { margin: 22px 0; }
.welcome-choice > p { font-size: 14px; margin: 8px 0 0; line-height: 1.45; }
.welcome-test { font-size: 13px; border-top: 1px solid #dbe5df; padding-top: 16px; margin-top: 20px; }
#invited-help-panel > .full-width + .full-width { margin-top: 12px; }
#join-team-list .card > button { width: 100%; }
#join-team-list .card > h2 { font-size: 21px; }
#join-team-panel > .auth-link { display: block; margin-top: 12px; }
#setup-back { margin-top: 16px; }

#accept-recovery-actions > button { margin: 12px 0; }
#access-team-list > button, #access-choices > button { display: block; width: 100%; margin: 12px 0; }
#no-access-panel > .auth-link { display: block; margin-top: 12px; }

/* Keep care profile choices distinct and easy to tap on narrow screens. */
#care-profile-choices { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
#care-profile-choices > button { display: block; width: 100%; margin: 0; text-align: left; white-space: normal; overflow-wrap: anywhere; }
#choose-care-panel > .signout { display: block; margin-top: 24px; }

.care-context-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.care-context-row .compact-name { min-width: 0; }
.care-context-row > button { flex: none; font-size: 14px; padding: 8px 14px; }
.care-team-actions { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.care-team-actions > button { width: 100%; margin: 0; }
#caregivers-heading { padding-top: 20px; border-top: 1px solid #dbe5df; }
.invitation-copy-status { margin-top: 12px; }

#back-invite { display: block; margin: 0 0 18px; }
#care-profile-choices > button.current-profile { background: #eaf4ef; border: 2px solid #14675d; }
.profile-choice-name { display: block; font-size: 19px; }
.current-profile-label { display: inline-block; font-size: 12px; margin: 5px 0 0; padding: 2px 8px; background: #d9ebe2; border-radius: 5px; color: #203e38; }
.profile-choice-summary { display: block; margin-top: 6px; font-size: 14px; font-weight: 400; color: #52675e; }
#care-profile-summary-time { margin-top: 18px; font-size: 12px; }
#med-start-help { margin-bottom: 12px; }

#join-team-back { margin: 0 0 20px; }
#join-team-heading { margin-top: 0; }
#join-team-panel .invitation-account-help { margin-top: 24px; padding-top: 20px; border-top: 1px solid #dbe5df; }
#join-team-panel .invitation-account-help p { margin-top: 0; }

/* First steps and form requirements. */
.required-label { font-size: .8em; font-weight: 400; color: #52675e; }
#join-team-panel .invitation-account-help .auth-link { color: #526f65; font-weight: 400; text-decoration: none; }
#join-team-panel .invitation-account-help .auth-link:hover { text-decoration: underline; }
#today-setup { margin: 20px 0; }
#today-setup-actions { margin-bottom: 0; }
#today-setup-actions[hidden] { display: none; }

/* Separate schedule options from the record form's primary actions. */
#dose-schedule-options { margin-bottom: 24px; }

/* Medication report: readable on phones and isolated from app screens in print. */
.export-medications { border: 1px solid #a8c3b8; border-radius: 12px; margin: 20px 0; padding: 16px; }
.export-medications legend { font-weight: 700; padding: 0 6px; }
.export-check, #export-medication-list label { display: flex; align-items: center; gap: 10px; font-weight: 400; margin: 16px 0; min-height: 44px; }
.export-check input[type="checkbox"], #export-medication-list input[type="checkbox"] { flex: 0 0 22px; width: 22px; height: 22px; min-width: 22px; min-height: 22px; padding: 0; margin: 0; }
#export-medication-list label { overflow-wrap: anywhere; }
#history-export-preview { margin-top: 16px; }
#history-export-report { box-sizing: border-box; color: #203e38; background: #fff; border: 1px solid #a8c3b8; border-radius: 16px; padding: 24px; width: min(920px, calc(100% - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto; }
#history-export-report::backdrop { background: rgb(0 0 0 / 55%); }
.export-toolbar { display: flex; flex-wrap: wrap; gap: 12px; border-bottom: 1px solid #a8c3b8; padding-bottom: 18px; }
.export-toolbar button { flex: 1 1 190px; }
.export-toolbar p { width: 100%; margin: 0; font-size: 15px; }
#history-export-content { overflow-wrap: anywhere; }
#history-export-content h1 { margin-top: 28px; font-size: 30px; }
#history-export-content h2 { font-size: 24px; }
#history-export-content h3 { font-size: 22px; }
#history-export-content h4, #history-export-content h5 { font-size: 18px; margin: 18px 0 10px; }
#history-export-content p { white-space: pre-wrap; font-size: 16px; line-height: 1.5; margin: 8px 0; }
.export-dose { border-top: 2px solid #a8c3b8; margin-top: 24px; padding-top: 12px; }
.export-audit { border-left: 3px solid #dbe5df; padding-left: 16px; margin-top: 16px; }
#history-export-content .export-id { font-size: 12px; margin-top: 16px; color: #52675e; }
@media print {
  @page { size: auto; margin: 16mm; }
  body { background: white !important; color: black; padding: 0 !important; margin: 0 !important; }
  body:has(#history-export-report[open]) > :not(#history-export-report) { display: none !important; }
  #history-export-report[open] { display: block; position: static; width: auto; max-width: none; height: auto; max-height: none; overflow: visible; border: 0; border-radius: 0; padding: 0; margin: 0; color: black; }
  #history-export-report::backdrop, .export-toolbar { display: none !important; }
  #history-export-content p { font-size: 10pt; line-height: 1.4; }
  #history-export-content h1 { font-size: 21pt; }
  #history-export-content h2 { font-size: 16pt; }
  #history-export-content h3 { font-size: 14pt; }
  #history-export-content h4, #history-export-content h5 { font-size: 11pt; }
  #history-export-content h1, #history-export-content h2, #history-export-content h3, #history-export-content h4, #history-export-content h5 { break-after: avoid; }
  #history-export-content p { orphans: 3; widows: 3; }
  .export-dose { margin-top: 16pt; padding-top: 8pt; }
  .export-audit { padding-left: 10pt; }
}

/* 0.16.20: outcome, planned dose, then attribution. Text carries every status. */
.card.dose-card { padding: 18px; margin: 14px 0 18px; background: #fff; }
.dose-card h2 { font-size: 21px; line-height: 1.3; margin: 0 0 8px; }
.dose-card .dose-fact, .dose-detail .dose-fact { font-size: 17px; line-height: 1.5; margin: 8px 0; white-space: pre-wrap; }
.dose-card .dose-meta, .dose-detail .dose-meta { font-size: 15px; color: #52675e; }
.dose-fact strong { color: #203e38; font-weight: 700; }
.dose-card .dose-status, .dose-detail .dose-status { display: inline-block; font-size: 15px; line-height: 1.4; font-weight: 700; padding: 5px 9px; margin: 0 0 10px; border-radius: 6px; color: #164f45; background: #e7f2ec; }
.dose-status-partial, .dose-status-unrecorded, .dose-status-uncertain { background: #fff2d7 !important; color: #694909 !important; }
.dose-status-not_given { background: #f5e9e8 !important; color: #713b37 !important; }
.dose-status-removed, .dose-status-upcoming { background: #edf0ef !important; color: #40534e !important; }
.dose-card-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.dose-card-actions button { flex: 1 1 130px; font-size: 16px; min-height: 48px; padding: 10px 12px; }
.card.dose-card > button { margin-top: 16px; min-height: 48px; }
#full-record.dose-detail { padding: 18px; }
#full-record.dose-detail .record-section { margin-top: 20px; padding-top: 16px; border-top: 1px solid #dbe5df; }
#full-record.dose-detail h3 { font-size: 18px; margin: 0 0 12px; }
.dose-audit-entry { border-left: 3px solid #c4d9cf; padding: 0 0 0 14px; margin: 20px 0; }
#history-dose-list > h3 { font-size: 21px; margin: 28px 0 12px; }
#history-dose-list > details { margin: 10px 0 18px; padding-top: 12px; }
#history-dose-list > details > summary { font-size: 18px; }
#history-medications { margin: 16px 0; }
#dose-zone { line-height: 1.5; }
#history-export-content .dose-fact { font-size: 16px; }
@media print {
 #history-export-content .dose-fact { font-size: 10pt; }
 #history-export-content .dose-status { color: black !important; background: transparent !important; padding: 0; font-size: 11pt; }
 .dose-audit-entry { padding-left: 10pt; margin: 12pt 0; }
}

/* 0.16.22: compact care context, aligned summaries and a shared dose table. */
:root { font-size:16px; line-height:1.45; }
header { background:#176b63; padding:12px max(16px,calc((100% - 680px)/2)); gap:2px 16px; }
header strong { color:#fff; font-size:24px; line-height:1.2; }
header span { color:#fff; font-size:12px; }
main { margin:16px auto; padding:0 16px; }
.care-context { padding:0 0 10px; }
.care-context-row { gap:12px; }
.care-recipient-identity { display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; min-width:0; }
.care-recipient-identity .eyebrow { font-size:14px; letter-spacing:0; font-weight:400; color:#52675e; }
.care-context .compact-name { font-size:18px; line-height:1.3; }
#viewing-as { font-size:13px; margin:2px 0 0; }
.main-navigation { margin-bottom:14px; border-radius:8px; }
.main-navigation button { min-height:44px; padding:10px 3px; font-size:14px; }
#profile,#history-panel,#calendar-panel,#record-panel { padding:16px; border-radius:12px; }
#profile h1,#history-panel h1,#calendar-panel h1,#record-panel h1,#schedule-heading { font-size:23px; margin:0 0 8px; }
#profile p.muted,#history-panel>p.muted { font-size:13px; line-height:1.4; margin:6px 0 10px; }
.today-schedule>#today-date { margin:0 0 4px; }
#profile .schedule-overview { margin:10px 0; padding:8px 10px; border-radius:8px; }
#profile .schedule-overview p { margin:2px 0 0; }
#record-prn { margin:10px 0; font-size:14px; min-height:44px; padding:9px 12px; }
.history-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:start; }
.history-controls>label,.history-controls form>label { margin:8px 0; font-size:14px; }
#history-custom-dates .date-fields { grid-template-columns:1fr; gap:0; }
#history-custom-dates label { font-size:14px; }
#history-medications { margin:8px 0; padding:6px 10px; font-size:14px; }
#history-medications label { margin:0; min-height:44px; }
/* This heading receives screen-change focus, without opening the phone keyboard. */
#dose-title:focus { outline: none; }
#history-range-summary { margin:8px 0; }
#dose-list>details,#history-dose-list>details,#calendar-dose-list>details { margin-top:8px; padding-top:4px; }
#dose-list>details>summary,#history-dose-list>details>summary,#calendar-dose-list>details>summary { font-size:16px; min-height:44px; padding:10px 0; }
#history-dose-list>.calendar-range-day { font-size:18px; margin:18px 0 4px; }
.card.dose-card,#full-record.card { padding:12px; margin:8px 0 12px; border-radius:10px; background:#fff; }
.dose-card h2,#full-record>h2 { font-size:19px; line-height:1.3; margin:0 0 6px; color:#203e38; }
.record-date { margin:0 0 8px; font-size:13px; color:#52675e; }
.dose-card .dose-status,.dose-detail .dose-status { font-size:13px; line-height:1.35; padding:4px 7px; margin:0 0 8px; border-radius:6px; }
.dose-comparison { width:100%; table-layout:fixed; border-collapse:collapse; margin:0 0 10px; font-size:15px; }
.dose-comparison th,.dose-comparison td { padding:7px 8px; border-bottom:1px solid #dbe5df; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.dose-comparison th:first-child { width:25%; }
.dose-comparison th:nth-child(2) { width:30%; }
.dose-comparison thead th { color:#52675e; background:#f0f3f2; font-weight:600; font-size:13px; }
.dose-comparison tbody th { font-weight:400; }
.dose-comparison .dose-actual>* { background:#eaf3ee; font-weight:650; }
.dose-card .dose-fact,.dose-detail .dose-fact { display:grid; grid-template-columns:minmax(90px,32%) minmax(0,1fr); gap:8px; font-size:15px; line-height:1.4; margin:5px 0; white-space:normal; }
.dose-fact>span { white-space:pre-wrap; min-width:0; overflow-wrap:anywhere; }
.dose-card .dose-fact>strong,.dose-detail .dose-fact>strong { font-weight:400; color:#52675e; }
.dose-card .dose-scheduled>span { font-weight:700; color:#203e38; }
.dose-attribution { margin:8px 0; }
.dose-card .dose-meta,.dose-detail .dose-meta { font-size:14px; color:#203e38; }
.dose-note-row { border-top:1px solid #e3eae5; padding-top:7px; margin-top:8px!important; }
.dose-uncertain-text { font-size:14px; margin:5px 0 8px; }
.dose-card-actions { gap:8px; margin-top:10px; }
.dose-card button,#record-panel .actions button { min-height:44px; font-size:14px; padding:9px 12px; border-radius:8px; }
#dose-list .card>button,#history-dose-list>details .card>button,#calendar-dose-list .card>button { margin-top:10px; min-height:44px; }
#full-record.dose-detail .record-section { margin:10px 0 0; padding:0; }
#full-record.dose-detail .record-section[aria-label="Latest record"] { margin:0; border:0; }
#full-record .record-section>summary { font-size:16px; padding:11px 0; min-height:44px; }
.dose-audit-entry { position:relative; margin:10px 0; padding:0 0 10px 14px; border-left:2px solid #bfd4c9; border-bottom:0; }
.dose-audit-entry::before { content:""; position:absolute; left:-5px; top:6px; width:8px; height:8px; border-radius:50%; background:#176b63; }
.dose-audit-entry h3 { font-size:16px; margin:0 0 6px; color:#203e38; }
.dose-audit-entry .dose-fact { font-size:14px; grid-template-columns:minmax(80px,32%) minmax(0,1fr); }
#record-panel .actions { gap:8px; }
#full-record-heading:focus:not(:focus-visible) { outline:none; }
footer { margin:20px 12px; font-size:12px; }
.export-end { border-top:2px solid #a8c3b8; padding-top:10px; font-weight:600; }
@media(max-width:480px){
 main { margin:12px auto; padding:0 12px; }
 #profile,#history-panel,#calendar-panel,#record-panel { padding:12px; }
 header { padding:10px 16px; }
 header span { width:100%; }
}
@media(max-width:360px){
 .dose-comparison th,.dose-comparison td { padding:6px 5px; font-size:14px; }
 .dose-card .dose-fact,.dose-detail .dose-fact { grid-template-columns:92px minmax(0,1fr); gap:6px; }
 .history-controls { grid-template-columns:1fr; gap:0; }
}
@media print {
 @page { margin:12mm; @bottom-right { content:"Page " counter(page); font-size:9pt; color:#444; } }
 html,body { height:auto!important; max-height:none!important; overflow:visible!important; }
 #history-export-report[open] { height:auto!important; max-height:none!important; overflow:visible!important; }
 #history-export-content { font-size:9.5pt; }
 #history-export-content p,#history-export-content .dose-fact { font-size:9.5pt; line-height:1.3; margin:3pt 0; }
 #history-export-content h1 { font-size:17pt; margin:0 0 8pt; }
 #history-export-content h2 { font-size:12pt; margin:12pt 0 5pt; }
 #history-export-content h3 { font-size:11pt; margin:0 0 5pt; }
 #history-export-content h4,#history-export-content h5 { font-size:10pt; margin:6pt 0 4pt; }
 #history-export-content .dose-status { font-size:9.5pt; margin:0 0 4pt; padding:0; }
 #history-export-content .dose-comparison { font-size:9.5pt; margin:4pt 0; }
 #history-export-content .dose-comparison th,#history-export-content .dose-comparison td { font-size:9.5pt; padding:4pt 5pt; }
 #history-export-content .dose-fact { grid-template-columns:110pt minmax(0,1fr); gap:6pt; }
 #history-export-content .dose-attribution { margin:4pt 0; }
 #history-export-content .dose-audit-entry { margin:6pt 0; padding:0 0 4pt 10pt; break-inside:avoid; page-break-inside:avoid; }
 #history-export-content .dose-changes { margin-top:6pt; padding-top:4pt; }
 #history-export-content .export-dose { margin-top:9pt; padding-top:7pt; break-inside:auto; page-break-inside:auto; }
 #history-export-content .export-dose-summary { break-inside:avoid; page-break-inside:avoid; }
 #history-export-content .export-id { font-size:8pt; margin-top:5pt; }
 #history-export-content tr { break-inside:avoid; }
 #history-export-content .export-end { margin-top:12pt; break-inside:avoid; }
}


/* Compact entry forms; Today counts stay visible when collapsed. */
.today-needs-count { display:inline-block; margin-left:8px; padding:2px 8px; border:1px solid #e8c676; border-radius:12px; background:#fff3cd; color:#805600; font-size:13px; font-weight:650; vertical-align:middle; }
#dose-panel { padding:16px; border-radius:12px; }
#dose-panel h1 { font-size:23px; line-height:1.2; margin:0 0 12px; }
#dose-panel .dose-entry-summary { padding:12px; margin:0 0 14px; border-radius:10px; }
#dose-med-name { font-size:19px; line-height:1.3; margin:0 0 8px; }
#dose-prescribed { margin:0; }
#dose-prescribed .dose-fact:last-child { margin-bottom:0; }
#dose-form>label { font-size:15px; line-height:1.4; margin:12px 0; }
#dose-form input,#dose-form select,#dose-form textarea { font-size:16px; line-height:1.4; margin-top:5px; padding:10px; min-height:48px; }
#dose-form textarea { min-height:76px; }
#dose-form .muted { font-size:13px; line-height:1.4; }
#dose-zone,#dose-uncertain-help { margin:4px 0 12px; }
#dose-schedule-options { margin:12px 0; padding-top:4px; }
#dose-schedule-options>summary { font-size:15px; min-height:44px; padding:10px 0; }
#dose-schedule-options p { margin:4px 0 12px; }
#dose-form .actions { gap:8px; margin-top:16px; }
#dose-form button { font-size:15px; min-height:48px; padding:10px 12px; border-radius:8px; }
#dose-panel #prn-review { margin:12px 0; padding:12px; }
#dose-panel #prn-review p { margin:6px 0; font-size:14px; }
@media(max-width:480px){ #dose-panel { padding:12px; } }

/* 0.16.28: a compact, consistent entry and care-management experience. */
header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:3px 12px; }
header .brand-subtitle { grid-column:1 / -1; width:auto; }
#header-my-profile { background:transparent; border:1px solid #ffffff80; color:#fff; font-size:13px; min-height:44px; padding:7px 11px; border-radius:8px; }
#header-my-profile:hover { background:#ffffff15; }
#loading { display:flex; align-items:center; gap:12px; padding:20px 12px; border:0; border-radius:0; background:transparent; box-shadow:none; }
#loading h1 { font-size:18px; margin:0 0 3px; line-height:1.3; }
#loading p { margin:0; font-size:13px; color:#52675e; }
.loading-indicator { flex:0 0 22px; width:22px; height:22px; border:3px solid #d3e3dc; border-top-color:#176b63; border-radius:50%; animation:care-loading 1s linear infinite; }
@keyframes care-loading { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce){ .loading-indicator { animation:none; } }
#choose-care-panel,#care-panel,#my-profile-panel { padding:16px; border-radius:12px; }
#choose-care-panel h1,#care-panel h1,#my-profile-panel h1 { font-size:23px; margin:0 0 8px; line-height:1.25; }
#choose-care-heading:focus,#care-heading:focus,#my-profile-heading:focus { outline:none; }
.chooser-intro,.care-intro { font-size:14px; margin:0 0 14px; }
#care-profile-choices { gap:10px; }
#care-profile-choices>button { position:relative; padding:12px 32px 12px 12px; border-radius:10px; background:#fff; color:#203e38; border:1px solid #b6ccc1; }
#care-profile-choices>button::after { content:'›'; position:absolute; right:12px; top:50%; transform:translateY(-50%); color:#176b63; font-size:24px; font-weight:400; }
#care-profile-choices>button .profile-choice-name { display:block; margin:0 0 5px; color:#176b63; font-size:18px; line-height:1.3; font-weight:700; }
#care-profile-choices>button .profile-choice-summary { display:block; margin:3px 0 0; font-size:13px; line-height:1.4; font-weight:400; color:#52675e; }
#care-profile-choices>button.current-profile { background:#eaf4ef; border:2px solid #176b63; padding:11px 31px 11px 11px; }
#care-profile-choices .current-profile-label { margin:0 0 3px; font-size:12px; }
#care-profile-summary-time { margin:12px 0; font-size:12px; line-height:1.4; }
#choose-care-panel>.signout { margin-top:12px; font-size:14px; min-height:44px; padding:8px 12px; }
#care-panel .care-hub-item { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; margin:0; padding:14px 0; border-top:1px solid #dbe5df; }
#care-panel .care-hub-item h2 { font-size:17px; color:#203e38; margin:0 0 4px; line-height:1.3; }
#care-panel .care-hub-item p { font-size:13px; line-height:1.4; margin:0; color:#52675e; }
#care-panel .care-hub-item button { max-width:125px; font-size:14px; min-height:44px; padding:9px 12px; border-radius:8px; }
.care-account-actions { border-top:1px solid #dbe5df; padding-top:14px; margin-top:2px; }
.care-account-actions button { font-size:14px; min-height:44px; padding:8px 12px; border-radius:8px; }
#my-profile-panel p { margin:6px 0 12px; font-size:13px; line-height:1.4; }
#my-profile-form label { font-size:15px; margin:12px 0; }
#my-profile-form input,#my-profile-form textarea { font-size:16px; min-height:48px; padding:10px; margin-top:5px; }
#my-profile-form textarea { min-height:76px; }
#my-profile-form button { font-size:15px; min-height:48px; padding:10px 12px; }
@media(max-width:480px){ #choose-care-panel,#care-panel,#my-profile-panel { padding:12px; } }
@media(max-width:360px){ #care-panel .care-hub-item { gap:8px; } #care-panel .care-hub-item button { max-width:110px; padding:8px; } }

/* Shared care-management layout, including the related editing workflows. */
.care-management { padding:16px; border-radius:12px; }
.care-management h1,#medications-panel>h1,#care-team-heading { font-size:23px; line-height:1.25; margin:0 0 12px; }
.care-management h2 { font-size:18px; line-height:1.3; margin:12px 0 8px; }
.care-management h3,#care-team-panel .card h3 { font-size:18px; line-height:1.3; margin:0 0 6px; color:#14675d; }
.care-management h4,#care-team-panel .card h4 { font-size:15px; margin:12px 0 4px; }
.care-management p { font-size:14px; line-height:1.4; margin:6px 0 12px; }
.care-management .muted { font-size:13px; }
.care-management .card,#care-team-panel .card { padding:12px; margin:12px 0; border-radius:10px; }
.care-management .card p { margin:6px 0; }
.care-management label { font-size:15px; line-height:1.4; margin:12px 0; }
.care-management input,.care-management select,.care-management textarea { font-size:16px; line-height:1.4; min-height:48px; padding:10px; margin-top:5px; }
.care-management textarea { min-height:76px; }
.care-management button { font-size:15px; min-height:48px; padding:10px 12px; border-radius:8px; }
.care-management>.back-care { font-size:14px; min-height:44px; margin:0 0 12px; padding:8px 12px; }
.care-management .actions { gap:8px; margin-top:16px; }
.care-management details { margin-top:12px; padding-top:4px; }
.care-management summary { font-size:15px; min-height:44px; padding:10px 0; }
.care-management .dose-fields { margin:12px 0; }
.care-management .dose-fields legend { font-size:15px; }
.care-management .dose-inputs label { margin:6px 0 0; }
.care-management .time-row { margin:12px 0; align-items:end; }
.care-management .time-row label { margin:0; }
.care-management .time-row input,.care-management .time-row button { height:48px; }
.care-management .weekday-options label { margin:0; font-size:14px; min-height:44px; }
.care-management .weekday-options input { width:20px; height:20px; min-height:20px; padding:0; margin:0; }
#recipient-panel .card>button,#medication-plans .card>button,#care-team-panel .card>button { margin-top:10px; }
#add-med:not([hidden]) + #medication-plans { margin-top:14px; }
#care-team-panel .care-team-actions { gap:8px; margin-bottom:16px; }
#caregivers-heading { padding-top:12px; }
#care-team-panel #shared-with { margin-top:12px; }
#activity { gap:10px; margin-top:12px; }
#activity>.activity-card { padding:12px; border-radius:10px; }
#activity .activity-subject { font-size:15px; margin:0 0 6px; }
#activity .activity-meta { font-size:13px; margin:0 0 8px; }
#activity .activity-card>details { margin:10px 0 0; padding:0 10px; }
#activity .activity-card>details summary { padding:10px 0; }
#activity .activity-card>details p { margin:0 0 8px; }
#activity-filter { margin-bottom:12px; }
#activity-more { margin-top:14px; }
#med-panel .notice { padding:12px; margin:12px 0; }
#med-panel #verified-schedule { margin-top:12px; }
#invite-panel #back-invite { margin-bottom:12px; }
@media(max-width:600px){ .history-controls { grid-template-columns:minmax(0,1fr); gap:0; } }
@media(max-width:480px){ .care-management { padding:12px; } }

/* Personal details and care-team cards. */
.phone-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:10px; align-items:end; }
.phone-fields>label { min-width:0; }
.phone-fields select,.phone-fields input { width:100%; min-width:0; font-size:16px; }
#chooser-add-person { margin-top:12px; font-size:15px; }
#care-team-panel .caregiver-card { background:#fff; border-color:#c7dbd2; }
.caregiver-heading { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
#care-team-panel .caregiver-heading h3 { color:#203e38; margin:0; }
.caregiver-you { font-size:12px; color:#52675e; }
#care-team-panel .caregiver-role { display:inline-block; background:#e8f2ed; color:#14675d; font-size:12px; font-weight:650; padding:3px 8px; border-radius:6px; margin:8px 0; }
#care-team-panel .caregiver-contact { display:grid; grid-template-columns:48px minmax(0,1fr); gap:8px; margin:5px 0; }
.caregiver-contact>span:first-child { color:#52675e; }
.caregiver-contact>span:last-child { overflow-wrap:anywhere; }
#care-team-panel .caregiver-notes { border-top:1px solid #e1e9e4; padding-top:10px; margin-top:10px; }
#care-team-panel .caregiver-card>button { min-height:44px; font-size:14px; }
#dose-export-options { margin-top:16px; padding-top:8px; }
#dose-export-options>summary { font-size:17px; min-height:44px; }
#dose-export-options p { font-size:13px; line-height:1.45; margin:6px 0 12px; }
.export-choice { margin:12px 0; padding:12px; border:1px solid #dae6dd; border-radius:10px; background:#f5f9f6; }
.export-choice h3 { margin:0 0 4px; font-size:16px; }
.export-choice button { font-size:15px; min-height:48px; padding:10px 12px; }
#history-export-preview { margin-top:0; }
.export-help { margin-top:12px; padding-top:4px; }
.export-help summary { font-size:14px; min-height:44px; }
@media screen {
 #history-export-report { padding:16px; border-radius:12px; }
 .export-toolbar { gap:8px; padding-bottom:12px; }
 .export-toolbar button { font-size:15px; padding:10px 12px; min-height:48px; flex:1 1 130px; }
 .export-toolbar p { font-size:13px; line-height:1.4; }
 #history-export-content h1 { font-size:23px; margin:16px 0 8px; }
 #history-export-content h2 { font-size:19px; }
 #history-export-content h3 { font-size:18px; }
 #history-export-content h4,#history-export-content h5 { font-size:16px; margin:12px 0 6px; }
 #history-export-content p { font-size:14px; line-height:1.4; margin:6px 0; }
 #history-export-content .dose-fact { font-size:14px; }
 #history-export-content .export-dose { margin-top:14px; padding-top:10px; }
 #history-export-content .export-audit { padding-left:10px; margin-top:12px; }
}
@media(max-width:480px){
 .phone-fields { grid-template-columns:minmax(0,1fr); gap:0; }
 .phone-fields>label:first-child { margin-bottom:0!important; }
 .phone-fields>label:last-child { margin-top:8px!important; }
 #history-export-report { padding:12px; }
}

/* 0.16.31: account actions, compact invitations, and report presentation. */
#my-profile-panel .my-account-actions { margin-top:20px; padding-top:16px; border-top:1px solid #dbe5df; display:grid; gap:8px; }
#my-account-heading { font-size:18px; line-height:1.3; margin:0 0 4px; color:#203e38; }
.my-account-actions button { font-size:15px; padding:10px 12px; min-height:48px; }
#join-team-panel,#accept-invite-panel { padding:16px; border-radius:12px; }
#join-team-panel>h1,#accept-invite-heading { font-size:23px; margin:0 0 12px; line-height:1.25; }
#join-team-back { margin:0 0 12px; min-height:44px; font-size:14px; padding:8px 12px; }
#join-team-heading:focus,#accept-invite-heading:focus { outline:none; }
#join-team-list .card { padding:12px; margin:12px 0; background:#fff; }
#join-team-list .card h2 { margin:0 0 6px; color:#203e38; }
#join-team-list .card button { width:100%; margin-top:8px; }
#join-team-refresh { margin-top:4px; }
#join-team-panel .invitation-account-help { margin-top:16px; padding-top:12px; }
#accept-invite-panel .invite-help,#accept-invite-panel .invite-details p { font-size:13px; line-height:1.4; margin:6px 0 12px; }
#accept-invite-form>button[type=submit] { margin-top:12px; }
#accept-invite-panel .invite-secondary { margin-top:12px; padding-top:8px; }
#accept-invite-panel #leave-invite { margin-top:0; }
#history-export-content .export-dose { border-bottom:0; padding-bottom:0; }
#history-export-content .dose-fact { grid-template-columns:minmax(92px,32%) minmax(0,1fr); gap:8px; }
#history-export-content .export-intro p { margin:4px 0; }
#history-export-content .export-explanation { margin-top:8px; color:#52675e; }
#history-export-content .export-count { margin:12px 0 8px; }
#history-export-content .export-day { margin:12px 0 6px; }
#history-export-content .export-end { border-top-width:1px; }
@media screen {
 #history-export-content .export-dose { margin-top:12px; padding-top:10px; border-top-width:1px; }
 #history-export-content .export-id { margin-top:8px; }
 #history-export-content .export-explanation { font-size:13px; }
}
@media(max-width:480px) {
 #join-team-panel,#accept-invite-panel { padding:12px; }
}
@media print {
 #history-export-content .export-intro p { margin:2pt 0; }
 #history-export-content .export-explanation { margin-top:5pt; color:#333; font-size:9pt; }
 #history-export-content .export-count { margin:8pt 0 5pt; }
 #history-export-content .export-day { margin:8pt 0 4pt; }
 #history-export-content .export-dose { margin-top:7pt; padding-top:6pt; border-top:1px solid #a8c3b8; }
 #history-export-content .export-dose-simple { break-inside:avoid; page-break-inside:avoid; }
 /* Use fixed-width table cells for stable printed label columns. */
 #history-export-content .dose-fact { display:table; table-layout:fixed; width:100%; margin:2pt 0; }
 #history-export-content .dose-fact>strong { display:table-cell; width:105pt; padding-right:6pt; }
 #history-export-content .dose-fact>span { display:table-cell; width:auto; }
 #history-export-content .export-id { font-size:8pt; margin-top:4pt; }
 #history-export-content .export-end { margin-top:8pt; }
}

@media print { html,body,#history-export-report[open],#history-export-content { background:#fff!important; } }
