/* Shared financial-workspace theme. Page-specific grids and functional states stay local. */
:root {
  color-scheme:light;
  --bg:#f4f6f6; --soft:#f4f6f6; --surface:#fff; --panel:#fff; --surface-2:#f0f4f2; --panel-2:#f0f4f2;
  --line:#dbe3e1; --line-soft:#e4ebe7; --text:#253332; --ink:#253332; --muted:#61716e;
  --accent:#08786c; --accent-strong:#08786c; --blue:#08786c; --cyan:#08786c; --navy:#253332;
  --warning:#805818; --amber:#a06b15; --danger:#b53838; --red:#b53838; --success:#176744; --green:#176744; --info:#427e9a;
}
html { background:var(--bg); }
body.dovale-app { min-height:100vh; margin:0; background:var(--bg); color:var(--text); font:14px Inter,"Segoe UI",Arial,sans-serif; letter-spacing:0; overflow-x:visible; }
.dovale-app * { box-sizing:border-box; letter-spacing:0; }
.dovale-app [hidden] { display:none !important; }
.dovale-app :is(button,input,select,textarea) { font-family:inherit; }
.dovale-app :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--accent); outline-offset:3px; box-shadow:none; }
.dovale-app a { color:var(--accent); }
.dovale-app p { line-height:1.5; }
.dovale-app :is(h1,h2,h3,h4,strong) { color:var(--text); overflow-wrap:anywhere; }
.dovale-app h1 { font-size:28px; line-height:1.2; margin:0 0 8px; }
.dovale-app h2 { font-size:19px; line-height:1.3; margin:0 0 8px; }
.dovale-app h3 { font-size:15px; line-height:1.4; }
.dovale-app :is(.muted,.source-note) { color:var(--muted); }
.dovale-app .eyebrow { color:var(--accent); font-size:10px; font-weight:750; letter-spacing:1px; }
.dovale-app .dovale-topbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; min-height:60px; padding:12px 32px; background:white; color:var(--text); border:0; border-bottom:1px solid var(--line); box-shadow:none; }
.dovale-topbar .dovale-wordmark { flex:0 0 auto; display:inline-block; width:auto; margin:0; padding:0; border:0; border-radius:0; background:none; color:#152c27; font-size:20px; font-weight:850; white-space:nowrap; text-decoration:none; }
.dovale-wordmark span { color:var(--accent); font-weight:500; }
.dovale-topbar nav { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; min-width:0; }
.dovale-topbar nav a { padding:7px 0; font-size:13px; font-weight:500; color:#4a5a56; text-decoration:none; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; }
.dovale-topbar nav a:hover { color:var(--accent); border-color:#b6d8cd; }
.dovale-topbar nav a[aria-current=page] { color:var(--accent); border-color:var(--accent); font-weight:700; }
.dovale-topbar .dovale-tools { position:relative; font-size:13px; color:#4a5a56; }
.dovale-tools summary { cursor:pointer; padding:7px 0; }
.dovale-tools > div { position:absolute; right:0; top:100%; z-index:20; display:grid; gap:4px; width:220px; padding:10px 14px; background:white; border:1px solid var(--line); border-radius:6px; box-shadow:0 8px 24px #17332915; }
.dovale-tools[open] summary { color:var(--accent); }
.dovale-app main { width:100%; max-width:1500px; min-width:0; margin:0 auto; padding:28px 32px 64px; gap:24px; }
.dovale-app main > * { min-width:0; }
.dovale-page-head { grid-column:1 / -1; margin:0 0 4px; }
.dovale-page-head .eyebrow { margin:0 0 7px; }
.dovale-page-head .muted { margin:0; }
.dovale-app .page-title { width:100%; max-width:1500px; padding:28px 32px 0; margin:0 auto; }
.dovale-app main > .page-title { padding:0; margin:0 0 4px; }
.dovale-app :is(main > section,.panel,.competence-toolbar,.sidebar) { background:transparent; border:0; border-radius:0; padding:22px 0 0; box-shadow:none; }
.dovale-app :is(main > section,.panel) { border-top:1px solid var(--line); }
.dovale-app :is(main > .metrics,main > .page-title,main > .split) { border:0; padding:0; }
.dovale-app .metrics { gap:16px; }
.dovale-app .metric { padding:18px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:none; }
.dovale-app .metric :is(strong,b) { color:var(--text); font-size:24px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.dovale-app .metric :is(small,span) { color:var(--muted); line-height:1.4; }
.dovale-app .metric :is(.label,.eyebrow) { font-size:12px; font-weight:500; color:#52645e; text-transform:none; }
.dovale-app .metric.danger :is(strong,b) { color:var(--danger); }
.dovale-app .metric:is(.success,.accent) :is(strong,b) { color:var(--accent); }
.dovale-app .metric.warn :is(strong,b) { color:var(--warning); }
.dovale-app :is(.preview-card,.insight-block,.closure-status,.expected-order,.upload-box,.terms) { color:var(--text); background:#fff; border:1px solid var(--line); border-radius:6px; box-shadow:none; }
.dovale-app .preview-card { border-left:3px solid var(--accent); }
.dovale-app .preview-card strong { color:var(--text); }
.dovale-app .upload-box { background:#f0f4f2; border-style:dashed; }
.dovale-app .insight-block ul,.dovale-app .terms-title { color:var(--text); }
.dovale-app :is(.section-head,.button-row,.draft-actions,.actions,.row-actions,.form-actions) { flex-wrap:wrap; gap:10px; }
.dovale-app :is(.section-head,.toolbar) > * { min-width:0; }
.dovale-app .table-shell { width:100%; min-width:0; max-width:100%; overflow:auto; background:#fff; border:1px solid var(--line); border-radius:6px; }
.dovale-app table { background:#fff; color:var(--text); border-collapse:collapse; font-size:13px; }
.dovale-app th { color:#55645e; background:#f0f4f2; font-size:11px; text-transform:none; }
.dovale-app :is(th,td) { padding:12px; border-color:var(--line-soft); }
.dovale-app tbody tr:hover { background:#f6f9f7; }
.dovale-app td { overflow-wrap:anywhere; }
.dovale-app label { color:#3c5149; font-size:12px; font-weight:650; }
.dovale-app :is(input,select,textarea) { min-width:0; max-width:100%; min-height:39px; padding:9px 10px; border:1px solid #b9c9c4; border-radius:5px; background:white; color:var(--text); box-shadow:none; font-size:14px; }
.dovale-app :is(input,textarea)::placeholder { color:#71827b; opacity:1; }
.dovale-app textarea { font-family:inherit; resize:vertical; }
.dovale-app :is(input,select,textarea):disabled { background:#edf1ef; color:#53645c; }
.dovale-app input:is([type=checkbox],[type=radio]) { width:18px; height:18px; min-height:18px; padding:0; margin:0; flex:0 0 18px; accent-color:var(--accent); }
.dovale-app label.choice-line { background:transparent; border:0; padding:6px 0; }
.dovale-app .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.dovale-app .formgrid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.dovale-app button { background:var(--accent); color:white; border:1px solid var(--accent); border-radius:6px; min-height:38px; padding:9px 13px; font-weight:600; box-shadow:none; }
.dovale-app button:hover { background:#06695f; filter:none; }
.dovale-app button:is(.secondary,.icon-button,.icon) { color:#273c37; background:#fff; border-color:#b9cac5; }
.dovale-app button:is(.secondary,.icon-button,.icon):hover { background:#edf5f2; }
.dovale-app button:is(.warn,.danger,.danger-outline) { background:#fff0ef; color:#a33831; border-color:#e8bbb6; }
.dovale-app button:is(.warn,.danger,.danger-outline):hover { background:#fce0dd; }
.dovale-app button:disabled { opacity:.55; cursor:not-allowed; }
.dovale-app button:is(.icon,.icon-button) { width:38px; min-width:38px; padding:0; }
.dovale-app button.compact { padding:6px 10px; min-height:32px; font-size:12px; }
.dovale-app .download-button { border:1px solid #b9cac5; border-radius:6px; background:#fff; color:var(--accent); }
.dovale-app :is(.status,.status-pill,.count,.count-badge,.mode-badge,.readonly) { background:#edf1ef; color:#53605b; border:1px solid #d5e0da; border-radius:4px; font-size:11px; white-space:normal; }
.dovale-app :is(.status.pending,.status-pill.pending,.count-badge,.mode) { background:#fff1d4; color:#805818; border-color:#ecdbb2; }
.dovale-app .status.overdue { background:#fce9e8; color:#a33831; border-color:#edc9c6; }
.dovale-app :is(.status.paid,.status.cash) { background:#e3f2ec; color:#176744; border-color:#c3ddcf; }
.dovale-app .status.representative { background:#e7f0f5; color:#32647d; }
.dovale-app :is(.notice,.feedback,.note) { background:#edf4f0; border:1px solid #cddfd4; border-radius:5px; color:#456052; line-height:1.5; padding:12px 14px; overflow-wrap:anywhere; }
.dovale-app :is(.feedback.error,.error) { color:#a62d2d; background:#fff0ef; border-color:#edbcb7; }
.dovale-app :is(pre,#result) { background:#edf2ef; color:#334b3e; border:1px solid var(--line); border-radius:6px; padding:14px; max-width:100%; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }
.dovale-app :is(.pending-panel,.pending-panel summary) { background:white; border-color:var(--line); }
.dovale-app .pending-summary { color:var(--text); }
.dovale-app .romaneios-details summary { color:var(--accent); }
.dovale-app :is(.age-track,.progress-track) { background:#e1e8e4; border:0; border-radius:3px; }
.dovale-app dialog { background:#fff; color:var(--text); border:1px solid #c6d3cd; border-radius:8px; padding:24px; max-height:90dvh; box-shadow:0 20px 70px #172d2930; }
.dovale-app dialog::backdrop { background:#15282280; }
.dovale-app :is(.empty,.feedback) { overflow-wrap:anywhere; }
.page-dashboard #romaneio-json,.page-dashboard #csv { font-family:Consolas,monospace; }
.page-assistant .sidebar { border-right:1px solid var(--line); padding:0 24px 0 0; }
.page-assistant .chat-shell { background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:none; padding:0; }
.page-assistant :is(.chat-top,.composer) { background:#fff; border-color:var(--line); }
.page-assistant :is(.welcome,.message.system,.agent) { background:#f0f4f2; border-color:var(--line); color:var(--text); border-radius:6px; }
.page-assistant :is(.welcome p,.composer small) { color:var(--muted); }
.page-assistant .message.user { background:var(--accent); color:white; border-radius:6px; }
.page-assistant .quick button { color:#273c37; background:white; border-color:#b9cac5; border-radius:6px; }
.page-assistant .director-avatar { background:var(--accent); border-radius:6px; box-shadow:none; }
.page-assistant #chat-input { background:white; color:var(--text); border-color:#b9c9c4; border-radius:5px; }
.page-assistant #send { border-radius:6px; }
.page-assistant .agent-label { color:var(--accent); }
.page-assistant .agent-dot { box-shadow:none; }
.page-store .form-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.page-store .page-title label { margin-top:0; }
.page-store .metric span { font-size:12px; font-weight:500; text-transform:none; }
.page-store .expected-order { color:var(--text); }
.page-store .expected-order:hover { background:#edf5f2; }
.page-finance .tabs button { background:none; color:var(--muted); border:0; border-radius:0; border-bottom:3px solid transparent; padding:12px 0; }
.page-finance .tabs button[aria-selected=true] { color:var(--accent); border-bottom-color:var(--accent); }
.page-finance button:not(.primary):not(.icon) { background:white; color:#273c37; border:1px solid #b9cac5; }
.page-finance .tabs button:not(.primary) { border:0; border-bottom:3px solid transparent; background:none; }
.page-finance .tabs button[aria-selected=true]:not(.primary) { border-bottom-color:var(--accent); }
.page-finance-classic .finance-nav { gap:16px; padding:0 0 10px; border-bottom:1px solid var(--line); }
.page-finance-classic .finance-nav a { background:transparent; border:0; border-radius:0; color:var(--accent); padding:10px 0; }
.page-login { min-height:100dvh; display:grid; place-items:center; }
.page-login .login-shell { display:grid; grid-template-columns:1fr; width:min(460px,calc(100% - 32px)); min-height:0; margin:32px auto; padding:28px; background:white; border:1px solid var(--line); border-radius:8px; box-shadow:none; }
.page-login .brand-panel { min-height:0; padding:0 0 22px; display:flex; justify-content:center; background:white; box-shadow:none; border-bottom:1px solid var(--line); }
.page-login .brand { width:170px; padding:6px; border:0; background:transparent; margin:0 auto; }
.page-login .brand-copy,.page-login .brand-line { display:none; }
.page-login form { width:100%; padding:24px 0 0; margin:0; }
.page-login form h1 { font-size:24px; }
.page-login form input { min-height:44px; }
.page-login form button { width:100%; min-height:44px; }
.page-privacy main { max-width:900px; }
@media(max-width:1100px) {
  .dovale-app .metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .dovale-app .formgrid,.page-store .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:880px) {
  .page-assistant .sidebar { border:0; padding:20px 0 0; }
  .dovale-app .split { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:760px) {
  .dovale-app .dovale-topbar { padding:12px 16px !important; gap:10px !important; }
  .dovale-topbar nav { width:100%; gap:6px 16px; }
  .dovale-topbar nav a { font-size:12px; padding:6px 0; }
  .dovale-topbar .dovale-tools { font-size:12px; }
  .dovale-topbar .dovale-tools[open] { flex-basis:100%; }
  .dovale-tools > div { position:static; width:100%; box-shadow:none; }
  .dovale-app main { padding:22px 16px 48px !important; gap:20px !important; }
  .dovale-app .page-title { padding:22px 16px 0; }
  .dovale-app main > .page-title { padding:0 !important; }
  .dovale-app :is(main > section,.panel) { padding:20px 0 0 !important; border-radius:0 !important; }
  .dovale-app main > :is(.metrics,.split) { padding:0 !important; }
  .dovale-app .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .dovale-app .metric { padding:14px; }
  .dovale-app .metric :is(strong,b) { font-size:22px; }
  .dovale-app .form-grid,.dovale-app .formgrid,.dovale-app .access-form { grid-template-columns:1fr; }
  .dovale-app .form-grid .full { grid-column:1 / -1; }
  .dovale-app table.mobile-cards tr { background:#fff; border-color:var(--line); border-radius:6px; }
  .dovale-app table.mobile-cards td { border-color:var(--line-soft); }
  .dovale-app .page-title h1 { font-size:26px; }
  .dovale-app :is(.section-head,.draft-actions,.button-row) { flex-wrap:wrap; }
  .page-assistant .chat-shell { border:1px solid var(--line); border-radius:8px !important; padding:0 !important; }
  .page-assistant .chat-top { flex-wrap:wrap; }
  .page-assistant .chat-top > div:not(.director-avatar) { flex:1; min-width:180px; }
  .page-assistant .conversation { padding:16px; }
  .page-finance .banks { grid-template-columns:1fr; }
  .page-login .login-shell { padding:24px !important; width:min(460px,calc(100% - 32px)); min-height:0; }
  .page-login .brand-panel { padding:0 0 20px !important; }
}
@media print {
  .dovale-app .dovale-topbar { display:none; }
  body.dovale-app { background:white; }
}

.dovale-app .routine-links { display:flex; flex-wrap:wrap; gap:10px; }
.dovale-app .routine-links a { padding:10px 14px; border:1px solid #b9cac5; border-radius:6px; color:var(--accent); background:white; text-decoration:none; font-weight:600; }
.dovale-app .task-details { border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:0; border-radius:0; min-width:0; }
.dovale-app .task-details + .task-details { border-top:0; }
.dovale-app .task-details > summary { cursor:pointer; font-size:15px; font-weight:650; color:var(--text); padding:16px 0; }
.dovale-app .task-details > summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.dovale-app .task-details[open] { padding-bottom:18px; }
.dovale-app .task-details > section { border:0; padding:0; margin:0; background:transparent; box-shadow:none; }
.dovale-app .filter-row { display:flex; flex-wrap:wrap; gap:12px; margin:14px 0; align-items:end; }
.dovale-app .filter-row label { display:grid; gap:6px; flex:1; min-width:min(220px,100%); }
.dovale-app .filter-row :is(input,select) { width:100%; margin:0; }
.dovale-app .list-pagination { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin:12px 0; }
.dovale-app .list-pagination span { margin-right:auto; }
.dovale-app :is(section[id],details[id]) { scroll-margin-top:20px; }
.page-finance-classic main { gap:16px; }
.page-finance-classic .finance-tool .section-head { margin-bottom:12px; }
.page-assistant .sidebar .task-details { margin-top:20px; }
.page-dashboard #romaneio-arquivos { max-height:320px; overflow:auto; }

/* Theme controls remain compact on every page, including the login screen. */
.dovale-app button.theme-toggle { display:inline-grid; place-items:center; flex:0 0 32px; width:32px; min-width:32px; min-height:32px; height:32px; padding:0; margin:0; background:transparent; color:var(--muted); border:1px solid transparent; border-radius:6px; cursor:pointer; }
.dovale-app button.theme-toggle:hover { background:var(--surface-2); color:var(--text); border-color:var(--line); }
.theme-sun { display:none; }
html[data-theme=dark] .theme-moon { display:none; }
html[data-theme=dark] .theme-sun { display:block; }
.page-login .dovale-topbar { position:absolute; top:12px; right:12px; min-height:0; padding:0; border:0; background:transparent; }
.page-login .dovale-topbar .dovale-wordmark,.page-login .dovale-topbar nav a { display:none; }

html[data-theme=dark] {
  color-scheme:dark;
  --bg:#171b1a; --soft:#171b1a; --surface:#222826; --panel:#222826;
  --surface-2:#2c3431; --panel-2:#2c3431; --line:#414b46; --line-soft:#353f3a;
  --text:#edf2ef; --ink:#edf2ef; --muted:#b3c0b8; --navy:#edf2ef;
  --accent:#65d6be; --accent-strong:#65d6be; --blue:#65d6be; --cyan:#65d6be;
  --warning:#f2ce83; --amber:#f2ce83; --danger:#ff9292; --red:#ff9292;
  --success:#8cdbad; --green:#8cdbad; --info:#95cce4;
}
html[data-theme=dark], html[data-theme=dark] body.dovale-app { min-height:100%; background:var(--bg); }
html[data-theme=dark] .dovale-app :is(.dovale-topbar,.metric,.preview-card,.insight-block,.closure-status,.expected-order,.terms,.table-shell,.table-wrap,table,.route,.empty,.pending-panel,.pending-panel summary,dialog,.chat-shell,.chat-top,.composer,.login-shell,.brand-panel) { background:var(--surface); color:var(--text); border-color:var(--line); }
html[data-theme=dark] .dovale-app :is(.dovale-wordmark,.dovale-topbar nav a,.dovale-tools,label,.metric .label,.metric .eyebrow,.disclosure>summary,.week h3,.terms-title) { color:var(--text); }
html[data-theme=dark] .dovale-app :is(th,.upload-box,.welcome,.message.system,.agent,pre,#result,.dovale-tools>div) { background:var(--surface-2); color:var(--text); border-color:var(--line); }
html[data-theme=dark] .dovale-app :is(input,select,textarea,#chat-input) { background:var(--surface); color:var(--text); border-color:var(--line); }
html[data-theme=dark] .dovale-app :is(input,textarea)::placeholder { color:var(--muted); }
html[data-theme=dark] .dovale-app :is(input,select,textarea):disabled { background:var(--surface-2); color:var(--muted); }
html[data-theme=dark] .dovale-app button { background:#16715f; color:#fff; border-color:#35947f; }
html[data-theme=dark] .dovale-app button:hover { background:#205e51; }
html[data-theme=dark] .dovale-app :is(button.secondary,button.icon,button.icon-button,.quick button,.download-button,.routine-links a),html[data-theme=dark] .page-finance button:not(.primary):not(.theme-toggle) { background:var(--surface); color:var(--text); border-color:var(--line); }
html[data-theme=dark] .dovale-app :is(tbody tr:hover,.expected-order:hover,button.secondary:hover,button.icon:hover,button.icon-button:hover),html[data-theme=dark] .pay-workspace #dda-inbox tbody tr:hover { background:var(--surface-2); }
html[data-theme=dark] .dovale-app :is(.status,.status-pill,.count,.count-badge,.mode-badge,.readonly,.badge,.pay-sections button span) { background:var(--surface-2); color:var(--muted); border-color:var(--line); }
html[data-theme=dark] .dovale-app :is(.status.pending,.status-pill.pending,.count-badge,.mode,.badge.warn) { background:#423722; color:#f2ce83; border-color:#6b5630; }
html[data-theme=dark] .dovale-app :is(.status.overdue,.badge.bad,.feedback.error,.error,#message.error,button.danger,button.warn,button.danger-outline) { background:#442828; color:#ffb0a9; border-color:#754040; }
html[data-theme=dark] .dovale-app :is(.status.paid,.status.cash,.badge.good,.notice,.feedback,.note,#message) { background:#263d32; color:#a5e2be; border-color:#446c55; }
html[data-theme=dark] .dovale-app .status.representative { background:#293e47; color:#b0d6e9; }
html[data-theme=dark] .dovale-app :is(.age-track,.progress-track,.bar-track) { background:var(--line); }
html[data-theme=dark] .dovale-app .route-received strong { color:var(--success); }
html[data-theme=dark] .dovale-app :is(.route-pending strong,.day-review) { color:var(--warning); }
html[data-theme=dark] .dovale-app .calendar-day.outside { background:var(--bg); color:var(--muted); }
html[data-theme=dark] .page-finance .pay-workspace :is(.calendar-day[aria-pressed=true],.segmented button[aria-pressed=true]) { background:#263e35; color:var(--accent); border-color:var(--accent); }
html[data-theme=dark] .page-finance :is(.tabs button:not(.primary),.pay-workspace .pay-sections button:not(.primary)) { background:transparent; color:var(--muted); border:0; border-bottom:3px solid transparent; }
html[data-theme=dark] .page-finance :is(.tabs button[aria-selected=true],.pay-workspace .pay-sections button[aria-pressed=true]) { color:var(--accent); border-bottom-color:var(--accent); }
html[data-theme=dark] .dovale-app table.mobile-cards tr { background:var(--surface); }
html[data-theme=dark] .dovale-app button.theme-toggle { background:transparent; color:var(--muted); border-color:transparent; }
html[data-theme=dark] .dovale-app button.theme-toggle:hover { background:var(--surface-2); color:var(--text); }
html[data-theme=dark] .page-login .login-shell {
  width:min(440px,calc(100% - 32px)); padding:32px;
  background:#202725; border:1px solid #39443f; border-radius:12px;
  box-shadow:0 22px 60px #0005;
}
html[data-theme=dark] .page-login .brand-panel { padding:0 0 24px; background:transparent; border:0; }
html[data-theme=dark] .page-login .brand { width:190px; padding:0; }
html[data-theme=dark] .page-login form { padding-top:26px; }
html[data-theme=dark] .page-login form h1 { color:#f1f5f2; letter-spacing:0; }
html[data-theme=dark] .page-login form p { color:#b5c1ba; }
html[data-theme=dark] .page-login form label { color:#dce5df; }
html[data-theme=dark] .page-login form input { background:#171c1a; color:#f1f5f2; border-color:#4a5750; }
html[data-theme=dark] .page-login form input:focus { border-color:#65c8ad; box-shadow:0 0 0 3px #65c8ad30; }
html[data-theme=dark] .page-login form button { background:#087c6a; border-color:#178f7c; }
html[data-theme=dark] .page-login form button:hover { background:#096b5c; }
html[data-theme=dark] .page-login .dovale-topbar { background:transparent; }
@media print {
  html[data-theme=dark] { color-scheme:light; --bg:white; --surface:white; --surface-2:#f0f4f2; --text:#253332; --muted:#61716e; --line:#dbe3e1; --line-soft:#e4ebe7; --accent:#08786c; }
  .dovale-app .theme-toggle { display:none; }
}
