/* Comfortable text, simple controls and two complete colour themes. */
:root {
    color-scheme: light;
    --sidebar: 280px;
    --bg: #ecebdf;
    --paper: #fffaf1;
    --surface-soft: #f2efdf;
    --sidebar-bg: #e1e8dc;
    --ink: #24382d;
    --muted: #536653;
    --line: #cdd5c5;
    --orange: #a84d20;
    --accent-bg: #f5ddc8;
    --accent-ink: #813e1e;
    --green: #326245;
    --green-bg: #dcebdd;
    --amber-bg: #f4e6bc;
    --amber-ink: #71531c;
    --purple-bg: #e9e1f1;
    --purple-ink: #655080;
    --input-bg: #fffdf7;
    --hover: #e4ebdb;
    --button-bg: #a84d20;
    --button-text: #fff;
    --focus: #a84d20;
}
:root[data-theme="dark"] {
    color-scheme: dark;
    --bg: #141f26;
    --paper: #203039;
    --surface-soft: #293c44;
    --sidebar-bg: #192b32;
    --ink: #f1f3e9;
    --muted: #bbcac1;
    --line: #43575e;
    --orange: #ffc18e;
    --accent-bg: #513c30;
    --accent-ink: #ffcca4;
    --green: #b7dfbb;
    --green-bg: #2d4940;
    --amber-bg: #4b432a;
    --amber-ink: #f3d48a;
    --purple-bg: #413b52;
    --purple-ink: #e0cbf4;
    --input-bg: #182a32;
    --hover: #30464b;
    --button-bg: #f3b27e;
    --button-text: #202b2c;
    --focus: #ffd3ae;
}
body {background:var(--bg);color:var(--ink);font-size:17px;line-height:1.65}
h1,.page-heading h1 {font-size:34px;letter-spacing:-.7px;line-height:1.25}
h2,.panel-heading h2,.stock-card h2 {font-size:21px;line-height:1.45;color:var(--ink)}
.muted,.small,.optional,.record-id,.form-note,.panel-note,.panel-heading p,.page-heading .muted {color:var(--muted)}
.small,.optional,.record-id,.panel-note,.page-footer,.eyebrow,.page-heading .eyebrow {font-size:14px}
.page-heading .muted,.panel-heading p,.settings-panel,.form-note,.help-strip {font-size:16px;line-height:1.7}
.eyebrow,.page-heading .eyebrow {letter-spacing:1px;color:var(--muted)}
.page-heading {align-items:center;margin-top:12px}
.content {padding:26px 30px 0}
.sidebar {background:var(--sidebar-bg);border-color:var(--line);padding-left:16px;padding-right:16px}
.brand,.brand>div:last-child>span,.workspace,.workspace-icon {color:var(--ink)}
.brand>div:last-child>span {font-size:10px;letter-spacing:1px}
.brand-mark {background:var(--accent-bg);color:var(--accent-ink)}
.brand-mark span {color:var(--orange)}
.workspace {background:var(--paper);font-size:14px;margin:24px 0 18px;padding:12px}
.workspace small {font-size:13px;color:var(--muted)}
.nav-label,.nav-group>summary {font-size:14px;color:var(--muted);letter-spacing:.4px}
.nav-group>summary {padding:12px 10px;min-height:48px;border-radius:7px}
.nav-group>summary:hover {background:var(--hover)}
.nav-item {font-size:16px;color:var(--ink);padding:12px 10px;min-height:48px;margin-bottom:5px;line-height:1.4}
.nav-icon {color:var(--muted)}
.nav-item:hover {background:var(--hover);color:var(--ink)}
.nav-item.active {background:var(--accent-bg);color:var(--accent-ink)}
.nav-item.active .nav-icon {color:var(--accent-ink)}
.nav-count {font-size:14px;background:var(--surface-soft);color:var(--ink)}
.user,.user small {font-size:14px;color:var(--ink)}
.user {padding:14px 0;border-color:var(--line)}
.avatar,.person-avatar {background:var(--accent-bg);color:var(--accent-ink);font-size:14px}
.topbar {position:sticky;top:0;z-index:20;background:var(--sidebar-bg);border-color:var(--line);min-height:84px;height:auto;padding:14px 30px;gap:14px}
.breadcrumb,.breadcrumb strong,.topbar-date {font-size:15px;color:var(--ink)}
.topbar-right {gap:12px;flex-shrink:0}
.connection {font-size:13px;background:var(--green-bg);color:var(--green)}
.notification {color:var(--ink);border-color:var(--line)}
.theme-toggle {display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:9px 14px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:16px;font-weight:650;white-space:nowrap}
.theme-toggle:hover {background:var(--hover)}
.theme-toggle [data-theme-icon] {font-size:23px;line-height:1}
.guest-theme {position:fixed;right:20px;top:16px;z-index:40}
.button,.small-button,.page-heading>.button {font-size:16px;padding:11px 17px;min-height:46px;border-radius:8px;line-height:1.45;background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text);white-space:normal;text-align:center;box-shadow:none}
.button:hover {background:var(--accent-bg);color:var(--accent-ink);border-color:var(--orange)}
.button.secondary {background:var(--surface-soft);border-color:var(--line);color:var(--ink)}
.button.secondary:hover {background:var(--hover);color:var(--ink)}
.icon-button {min-width:44px;min-height:44px;color:var(--ink)}
.icon-button:hover {background:var(--hover)}
input,select,textarea,td select,.inline-form input,.search-field input {font-size:17px;min-height:48px;padding:10px 12px;background:var(--input-bg);border-color:var(--line);color:var(--ink);line-height:1.5}
label,.inline-form label {font-size:16px;color:var(--ink);line-height:1.6}
input::placeholder,textarea::placeholder {color:var(--muted);opacity:1}
.form-grid {gap:20px}
.form-grid input[readonly] {background:var(--surface-soft);color:var(--muted)}
.form-note,.help-strip {background:var(--surface-soft);border-color:var(--line);color:var(--muted)}
.help-strip a,.text-link,.member-link,.stat-link {color:var(--orange);font-size:16px}
.member-link:hover,.text-link:hover,.stat-link:hover {color:var(--ink);text-decoration:underline}
.panel,.stat-card,dialog {background:var(--paper);color:var(--ink);border-color:var(--line)}
.panel-heading,.panel-footer,.dialog-heading,.form-actions {border-color:var(--line)}
.stat-card {min-height:206px;padding:21px}
.stat-card:nth-child(1) {background:var(--green-bg)}
.stat-card:nth-child(2) {background:var(--accent-bg)}
.stat-card:nth-child(3) {background:var(--purple-bg)}
.stat-card:nth-child(4) {background:var(--amber-bg)}
.stat-top {font-size:16px;color:var(--ink);align-items:flex-start}
.stat-value {font-size:40px;margin:16px 0 12px;color:var(--ink)}
.stat-value>span {font-size:22px;color:var(--muted)}
.stat-bottom {font-size:14px;color:var(--muted);gap:8px;line-height:1.5}
.stat-icon {width:38px;height:38px;font-size:23px}
.mini-bars {display:none}
.peach {background:var(--accent-bg);color:var(--accent-ink)}
.mint,.green {background:var(--green-bg);color:var(--green)}
.lavender {background:var(--purple-bg);color:var(--purple-ink)}
.yellow,.amber {background:var(--amber-bg);color:var(--amber-ink)}
.neutral {background:var(--surface-soft);color:var(--muted)}
.pill {font-size:14px;padding:4px 9px;white-space:normal;line-height:1.5}
.progress {background:var(--surface-soft);height:7px;margin-top:18px}
.progress i {background:var(--green)}
.overview-strip,.overview-strip>span:first-child {font-size:15px;color:var(--muted);gap:16px}
.overview-strip b {color:var(--muted)}
.donut>div {background:var(--paper)}
.donut span {font-size:14px;color:var(--muted)}
.donut strong {font-size:33px}
.population-chart {flex-wrap:wrap;gap:24px}
.chart-legend {min-width:180px}
.chart-legend>div {display:grid;grid-template-columns:9px minmax(0,1fr) 24px;gap:10px;font-size:16px;color:var(--ink);line-height:1.5}
.chart-legend strong {color:var(--ink)}
.panel-note {background:var(--surface-soft);border-color:var(--line);padding:14px 22px}
.quick-actions strong {font-size:17px;color:var(--ink)}
.quick-actions small {font-size:15px;color:var(--muted)}
.quick-actions>a {border-color:var(--line);padding:17px 0}
.quick-actions b,.due-label,.radar-item small {color:var(--muted)}
.radar-item {border-color:var(--line);padding:19px 0}
.radar-item strong {font-size:16px;color:var(--ink)}
.radar-item small,.due-label {font-size:14px}
.table-toolbar {flex-wrap:wrap;padding:20px;gap:16px}
.table-wrap {overflow-x:auto}
table {font-size:16px}
.table-wrap th,th {font-size:15px;color:var(--ink);font-weight:650;background:var(--surface-soft);border-color:var(--line);padding:15px 19px}
.table-wrap td,td {font-size:16px;color:var(--ink);border-color:var(--line);padding:17px 19px;line-height:1.6}
td strong,td .member-link {font-size:16px;color:var(--ink)}
tbody tr:hover {background:var(--hover)}
.table-wrap td .record-id {font-size:14px;color:var(--muted)}
.record-id {max-width:350px}
.search-field {max-width:480px;background:var(--input-bg);border:1px solid var(--line);border-radius:8px;padding-left:10px;min-width:min(100%,230px)}
.search-field input {border:0;background:transparent;padding:10px}
.search-field input:focus {box-shadow:none}
.empty {font-size:16px;color:var(--muted)}
.notice,.demo-banner,.demo-banner a,.demo-banner>span {font-size:15px;line-height:1.65}
.demo-banner {background:var(--amber-bg);color:var(--amber-ink);border-color:var(--line);flex-wrap:wrap}
.demo-banner>span,.demo-banner a {color:var(--amber-ink)}
.notice.success {background:var(--green-bg);color:var(--green);border-color:var(--line)}
.notice.info {background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.notice.error {background:var(--accent-bg);color:var(--accent-ink);border-color:var(--orange)}
.care-note,.entry-panel>summary {background:var(--surface-soft);color:var(--ink);border-color:var(--line);font-size:16px}
.entry-panel>summary {min-height:52px}
.detail-list dt,.detail-list dd {font-size:16px;color:var(--ink)}
.detail-list dt {color:var(--muted)}
.detail-list>div,.history-list article {border-color:var(--line)}
.history-list strong {font-size:17px;color:var(--ink)}
.history-list time,.history-list small {font-size:14px;color:var(--muted)}
.start-steps>a {background:var(--surface-soft);border-color:var(--line);min-height:90px}
.start-steps b {background:var(--accent-bg);color:var(--accent-ink)}
.start-steps strong {font-size:17px}
.start-steps span {font-size:15px;color:var(--muted)}
.report-card p,.setup-guide p {font-size:16px}
.stock-card>strong {font-size:34px}
.stock-card strong small {font-size:17px;color:var(--muted)}
.page-footer {border-color:var(--line);color:var(--muted);flex-wrap:wrap;gap:12px}
.login-body {background:var(--bg);padding-top:90px}
.login-card {width:500px;background:var(--paper);border-color:var(--line);padding:34px}
.login-card h1 {font-size:34px}
.login-card>.muted {font-size:17px}
.login-card form label,.login-card .small {font-size:16px}
.login-footer {font-size:15px;color:var(--muted)}
dialog {width:min(760px,calc(100vw - 28px));box-shadow:0 22px 90px #0005}
dialog::backdrop {background:#101a23b3}
.dialog-heading h2 {font-size:25px}
code {background:var(--surface-soft);color:var(--ink);font-size:15px;overflow-wrap:anywhere}
:focus-visible {outline:3px solid var(--focus);outline-offset:3px}
input:focus,select:focus,textarea:focus {border-color:var(--focus);box-shadow:0 0 0 2px var(--line)}
.daily-actions {margin:0 0 26px}
.daily-actions h2 {margin-bottom:14px}
.daily-action-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.daily-action-grid a {display:flex;align-items:center;gap:13px;min-height:80px;padding:15px 18px;background:var(--paper);border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:17px;font-weight:600;line-height:1.4}
.daily-action-grid a:hover {background:var(--hover);border-color:var(--orange)}
.daily-action-grid .quick-icon {width:42px;height:42px;flex-shrink:0}
.simple-steps {padding:0 23px 23px}
.simple-steps ol {padding-left:25px;margin:0 0 20px}
.simple-steps li {padding:7px 0;font-size:17px;color:var(--ink)}
.save-reminder {display:flex;align-items:center;gap:8px;margin:0 0 20px;padding:12px 16px;background:var(--amber-bg);color:var(--amber-ink);border:1px solid var(--line);border-radius:8px;font-size:16px}
[data-dirty="true"] .form-actions,[data-dirty="true"]>.panel-footer {background:var(--amber-bg)}
@media(max-width:1200px) {
    .stats-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
    .dashboard-grid,.lower-grid {grid-template-columns:1fr}
    .topbar-date,.notification {display:none}
    .daily-action-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
    .content {padding:22px 22px 0}
}
@media(max-width:760px) {
    .sidebar {width:min(300px,calc(100vw - 35px));height:100dvh}
    .topbar {padding:12px;min-height:78px;gap:7px}
    .topbar-right {gap:0}
    .topbar-right .connection {display:none}
    .breadcrumb {gap:6px;min-width:0}
    .breadcrumb strong {max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}
    .theme-toggle {font-size:15px;padding:8px 10px;gap:6px}
    .content {padding:18px 14px 0}
    .page-heading,.overview-strip {flex-wrap:wrap}
    h1,.page-heading h1 {font-size:29px}
    h2,.panel-heading h2 {font-size:20px}
    .stats-grid {gap:12px}
    .stat-card {padding:15px 13px;min-height:220px}
    .stat-top {font-size:15px;line-height:1.45;gap:5px}
    .stat-icon {width:30px;height:30px;flex:0 0 30px;font-size:20px}
    .stat-value {font-size:35px}
    .stat-bottom {font-size:14px;gap:5px}
    .stat-value>span {font-size:18px}
    .stat-link {font-size:15px}
    .daily-action-grid {gap:10px}
    .daily-action-grid a {font-size:16px;padding:13px 12px;gap:9px;flex-direction:column;align-items:flex-start;min-height:112px}
    .daily-action-grid .quick-icon {width:34px;height:34px}
    .population-chart {display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;padding:10px 15px 24px}
    .donut {height:110px;width:110px;min-width:110px}
    .donut>div {height:84px;width:84px}
    .donut strong {font-size:29px}
    .donut span {font-size:12px}
    .chart-legend {min-width:0}
    .chart-legend>div {font-size:14px;gap:7px;margin:13px 0}
    .chart-legend strong {font-size:15px}
    .panel-heading {flex-wrap:wrap;gap:10px}
    .panel-footer {align-items:stretch}
    .panel-footer>.button {width:100%}
    .table-toolbar {padding:16px}
    .table-wrap td,.table-wrap th {font-size:16px;white-space:normal;min-width:125px}
    .table-wrap td .member-link {font-size:16px}
    td select {min-width:145px}
    .table-toolbar .search-field {min-width:100%}
    .form-actions {flex-wrap:wrap}
    .form-actions .button {flex:1}
    .profile-actions .button {font-size:16px}
    .detail-list>div {grid-template-columns:110px minmax(0,1fr);gap:12px}
    .start-steps {grid-template-columns:1fr}
    .care-note,.panel-note {font-size:14px}
    .overview-strip>span:last-child {max-width:none;text-align:left;font-size:14px}
    .login-card {padding:26px}
    .guest-theme {right:14px;top:14px}
}
@media(max-width:360px) {
    .population-chart {grid-template-columns:1fr;justify-items:center}
    .chart-legend {width:100%}
    .breadcrumb strong {max-width:90px}
}
@media print {
    :root,:root[data-theme="dark"] {color-scheme:light;--bg:#fff;--paper:#fff;--ink:#111;--muted:#333;--line:#bbb;--surface-soft:#eee}
    body,.panel {background:white!important;color:#111!important}
    .theme-toggle,.guest-theme,.daily-actions,.save-reminder {display:none!important}
    .main-shell {margin:0}
    table,th,td {color:#111!important;background:white!important}
}
