/* Shared control colours. Static fills and borders keep the existing motion budget. */
@media screen {
 :root {
  --ink:#152638; --muted:#4f6277; --border:#c7d2df;
  --accent:#075dcc; --green:#075dcc; --bg:#e7eef7;
  --control-border:#7c8fa5; --control-bg:#f7faff;
  --accent-soft:#e4eeff; --focus-ring:#075dcc;
 }
 .field,.pen-picker-body .field,.pen-strengths legend {color:#30465e}
 input:not([type=checkbox]):not([type=radio]),select,textarea,
 .toolbar input,.pen-patient-section input,.schedule-widgets .date-picker input,
 .prescriber-trigger {
  color:var(--ink);background:var(--control-bg);border:1px solid var(--control-border);
 }
 input::placeholder,textarea::placeholder {color:#52677f;opacity:1}
 input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus,
 .prescriber-trigger[aria-expanded=true] {
  background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px #075dcc24;
 }
 input[type=checkbox],input[type=radio] {accent-color:var(--accent)}
 input[readonly],textarea[readonly] {color:#4f6277;background:#edf1f6}
 input:disabled,select:disabled,textarea:disabled {color:#617185;background:#edf1f6;border-color:#bdc8d6;cursor:not-allowed}
 button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,
 textarea:focus-visible,summary:focus-visible,.prescriber-trigger:focus-visible,
 .prescriber-option:focus-visible,.agenda-booking.booking-event:focus-visible,
 .agenda-booking.booking-event:focus-visible:hover {
  outline:3px solid var(--focus-ring);outline-offset:3px;
 }
 button.primary,.button.primary {background:var(--accent);border-color:var(--accent);color:#fff}
 button.primary:active,.button.primary:active {background:#044594}
 button.quiet,.button.quiet {color:#445d78}
 .quick-patient-results,.pen-patient-section .quick-patient-results,.prescriber-menu {border-color:var(--control-border)}
 .quick-patient-results button {color:var(--ink)}
 .quick-patient-results button.active,.quick-patient-results button[aria-selected=true] {
  background:var(--accent-soft);color:#103e7a;box-shadow:inset 3px 0 0 var(--accent);
 }
 .selected-patient,#quick-form .selected-patient:has(b),.pen-selected-patient {
  background:var(--accent-soft);border:1px solid #6689bc;
 }
 .selected-patient b,.pen-selected-patient b {color:#103e7a}
 .selected-patient small,.pen-selected-patient small,.quick-patient-results button small {color:#445d78}
 .prescriber-option.is-selected {background:var(--accent-soft);border-color:#6689bc}
 .prescriber-avatar {background:#dbe8ff;color:#104e9d}
 .prescriber-person small,.prescriber-menu-heading,.prescriber-chevron {color:#50657d}
 .prescriber-check {color:var(--accent)}
 .week-date,.schedule-widgets .week-date {background:#f3f6fb;border:1px solid var(--control-border);color:#4f6277}
 .week-date b {color:var(--ink)}
 .week-date.selected,.week-date.selected.is-today,.schedule-widgets .week-date.selected {
  background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:none;
 }
 .week-date.selected b,.week-date.selected small,.week-date.selected span {color:#fff}
 .schedule-widgets .day-navigation {background:#dfe7f2}
 .schedule-widgets .day-navigation #calendar-today {border:1px solid var(--control-border);color:#244464}
 .ios-date-trigger {color:var(--accent)}
 .ios-date-grid button {color:#243d59}
 .ios-date-grid button.chosen,.ios-date-grid button.chosen.date-today {
  background:var(--accent);color:#fff;box-shadow:none;
 }
 .ios-date-grid button.date-today:not(.chosen) {color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
 .ios-date-grid button:disabled {color:#6d7a8a;box-shadow:none}
 .pen-dose>span {border-color:var(--control-border);background:var(--control-bg);color:var(--ink)}
 .pen-dose small {color:#50657d}
 .pen-dose input:checked+span {background:var(--accent);border-color:var(--accent);color:#fff}
 .pen-dose input:checked+span small {color:#fff}
 .pen-dose input:focus-visible+span {outline:3px solid var(--focus-ring);outline-offset:3px}
 .quick-widget-action,.quick-prescription-widget small,.pen-picker-header small,
 .pen-picker-header p,.pen-prescription-preview>small,.pen-prescription-preview>div:first-child>span,
 .pen-preset-facts span,.list-pagination small {color:#4f6277}
 .patient-open {background:var(--accent-soft);border-color:#6689bc;color:#104e9d}
 .patient-initial,.metric-icon,.quick-pen-icon {background:#dbe8ff;color:#104e9d}
 .semaglutide .quick-pen-icon {background:#d9eee3;color:#216147}
 .metric small,.metric.highlight small,.metric span,.metric.highlight span {color:#4f6277}
 .chip.blue,.status.blue {background:#dbe8ff;color:#104e9d}
 .step.active {color:#104e9d;box-shadow:inset 0 0 0 1px #6689bc}
 .step.active small {color:#445d78}
 .card-head,.toolbar,.data-table td,.sync-table td,.pen-picker-header {border-bottom-color:#d3dce7}
 .agenda-time {border-color:var(--accent)}
 .agenda-booking.is-next {background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
 /* Confirmation controls share the colours; the printed prescription is unaffected. */
 .print-confirmation {color:var(--ink);border:1px solid var(--border)}
 .print-confirmation button {background:var(--accent);color:#fff}
 .print-confirmation input[type=password] {background:var(--control-bg);border:1px solid var(--control-border);color:var(--ink)}
 @media(hover:hover) and (pointer:fine) {
  button.primary:hover,.button.primary:hover {background:#064eaa;border-color:#064eaa}
  .prescriber-trigger:hover {background:#edf4ff;border-color:var(--accent)}
  .quick-patient-results button:hover,.prescriber-option:hover {background:var(--accent-soft)}
  .week-date:not(.selected):hover,.schedule-widgets .week-date:not(.selected):hover {background:#dbe8ff;border-color:var(--accent)}
  .week-date.selected:hover,.schedule-widgets .week-date.selected:hover {background:#064eaa}
 }
 @media(prefers-contrast:more) {
  :root {--ink:#0e1826;--muted:#33445a;--border:#8291a4;--control-border:#445d78;--accent:#064eaa;--focus-ring:#064eaa}
 }
}
