:root{color-scheme:light;--background: #fafbfc;--surface: #ffffff;--shell-surface: #deedef;--surface-muted: #edf2f6;--text: #102e51;--text-secondary: #586b80;--border: #879bad;--accent: #176e79;--accent-soft: #e8f3f4;--primary: #102e51;--primary-hover: #18446e;--on-primary: #ffffff;--focus: #197985;--error: #a42c2c;--error-border: #c46c6c;--error-surface: #fff0f0;--warning: #765614;--warning-surface: #fff7df;--shadow: #102e5108;--decoration: #19798544}:root[data-theme=dark]{color-scheme:dark;--background: #101b29;--surface: #19293a;--shell-surface: #19293a;--surface-muted: #23364a;--text: #e6edf6;--text-secondary: #b1c1d2;--border: #61778d;--accent: #7dd8df;--accent-soft: #173c45;--primary: #8dc7e9;--primary-hover: #b0ddf6;--on-primary: #102e51;--focus: #7dd8df;--error: #ffb4b4;--error-border: #d48080;--error-surface: #41282f;--warning: #f2d48a;--warning-surface: #383321;--shadow: #00000033;--decoration: #7dd8df44}html,body{margin:0;min-height:100%}body{background:var(--background);color:var(--text);font-family:Segoe UI,Arial,sans-serif}input,select,textarea,dialog{color:var(--text);background:var(--surface)}input,select{accent-color:var(--accent)}::placeholder{color:var(--text-secondary);opacity:1}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}:where(input,select,textarea):disabled{background:var(--surface-muted);color:var(--text-secondary);cursor:not-allowed}:where(input,select,textarea)[aria-invalid=true]{border-color:var(--error)}:where(button,.google):not(:disabled):hover{filter:brightness(.94)}:where(.primary,.submit):not(:disabled):hover{background:var(--primary-hover)}nav a:not(.active):hover{background:var(--surface-muted)}tbody tr:hover{background:var(--surface-muted)}dialog{border:1px solid var(--border)}dialog::backdrop{background:var(--shadow)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus)!important;outline-offset:-2px!important}.appointment-attended.appointment-attended{background:color-mix(in srgb,#33986a 16%,var(--surface));border:1px solid #33986a;border-left-width:4px}.appointment-no-show.appointment-no-show{background:color-mix(in srgb,#d16680 16%,var(--surface));border:1px solid #d16680;border-left-width:4px}
