.theme-toggle {
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #59636b;
    padding: 5px 8px;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}
.theme-toggle:hover { background: #edf1f4; }
.theme-toggle:focus-visible { outline: 2px solid #208c89; outline-offset: 2px; }
.app-confirm {
    width: min(400px, calc(100vw - 28px));
    padding: 24px;
    border: 1px solid #dbe4e8;
    border-radius: 10px;
    background: #fff;
    color: #26374a;
    box-shadow: 0 25px 80px #182b3b45;
}
.app-confirm::backdrop { background: #16283b85; }
.app-confirm p { margin-bottom: 22px; }
.app-confirm-actions { display: flex; justify-content: flex-end; gap: 9px; }

body.app-dark {
    --ink: #e9eef5;
    --muted: #aebacd;
    --line: #344257;
    --bg: #111827;
    --teal: #78d4cb;
    --danger: #f1a0a7;
    color: var(--ink);
    background: var(--bg);
    color-scheme: dark;
}
body.app-dark .topbar,
body.app-dark .panel,
body.app-dark .stat,
body.app-dark .sale-payment-dialog {
    background: #1c2635;
    color: var(--ink);
    border-color: var(--line);
}
body.app-dark .topbar-left strong,
body.app-dark .profile-link,
body.app-dark .menu-toggle,
body.app-dark .icon-button,
body.app-dark .theme-toggle { color: var(--ink); }
body.app-dark .theme-toggle:hover,
body.app-dark .icon-button:hover { background: #2a394e; }
body.app-dark .avatar,
body.app-dark .quick-icon,
body.app-dark .stat-icon { background: #2a394e; color: #b5e6df; }
body.app-dark .page-heading p,
body.app-dark .eyebrow,
body.app-dark .app-footer,
body.app-dark .field,
body.app-dark .help,
body.app-dark .table-sub,
body.app-dark .table-footer,
body.app-dark .empty,
body.app-dark .stat-label,
body.app-dark .stat-foot,
body.app-dark .welcome-row p,
body.app-dark .section-kicker,
body.app-dark .quick-link small,
body.app-dark .mini-list small,
body.app-dark .sale-totals dt,
body.app-dark .prod-details dt { color: var(--muted); }
body.app-dark .stat-value,
body.app-dark .empty h3,
body.app-dark td strong,
body.app-dark .sale-totals .sale-total dt,
body.app-dark .prod-details dd { color: var(--ink); }
body.app-dark .panel-header,
body.app-dark .app-footer,
body.app-dark .quick-link,
body.app-dark .mini-list li,
body.app-dark .sale-totals .sale-total,
body.app-dark .sale-payment-fields,
body.app-dark .sale-payment-dialog-head,
body.app-dark .sale-payment-dialog-totals { border-color: var(--line); }
body.app-dark th,
body.app-dark .prod-day-header { background: #243247; color: var(--muted); border-color: var(--line); }
body.app-dark td,
body.app-dark .prod-day,
body.app-dark .prod-file,
body.app-dark .prod-history li,
body.app-dark .prod-filters { border-color: var(--line); }
body.app-dark tbody tr:hover { background: #25344a; }
body.app-dark input:not([type="checkbox"]):not([type="radio"]),
body.app-dark select,
body.app-dark textarea,
body.app-dark .btn:not(.btn-primary):not(.btn-danger),
body.app-dark .pill-tabs a:not(.active),
body.app-dark .sale-dialog-close {
    background: #253247;
    color: var(--ink);
    border-color: #485970;
}
body.app-dark input::placeholder,
body.app-dark textarea::placeholder { color: #aebacd; opacity: 1; }
body.app-dark input:disabled { background: #202b3b; color: #8492a5; }
body.app-dark .btn:not(.btn-primary):not(.btn-danger):hover,
body.app-dark .pill-tabs a:not(.active):hover { background: #304058; }
body.app-dark .btn-primary,
body.app-dark .pill-tabs a.active { background: #147e78; color: #fff; border-color: #147e78; }
body.app-dark .btn-primary:hover { background: #0e6762; border-color: #0e6762; }
body.app-dark .btn-danger,
body.app-dark .badge-danger { background: #482c37; color: #ffb3ba; border-color: #75404c; }
body.app-dark .badge,
body.app-dark .badge-muted,
body.app-dark .badge-success,
body.app-dark .badge-warning,
body.app-dark .badge-purple { background: #2b3a50; color: #e9eef5; }
body.app-dark .alert,
body.app-dark .alert-info { background: #243c50; color: #d7ebf5; border-color: #3a6077; }
body.app-dark .alert-error { background: #4a2d37; color: #ffc2c8; border-color: #75404c; }
body.app-dark .alert-success { background: #234439; color: #b4ead2; border-color: #386e58; }
body.app-dark .install-command,
body.app-dark .prod-note,
body.app-dark .sale-payment-remaining { background: #25394a; color: var(--ink); }
body.app-dark .sale-payment-remaining strong,
body.app-dark .sale-total dd,
body.app-dark .table-link { color: #8bded5; }
body.app-dark .prod-card { background: #253247; color: var(--ink); border-color: var(--line); }
body.app-dark .prod-card-top,
body.app-dark .prod-card-top time,
body.app-dark .prod-card small,
body.app-dark .prod-day-header > span,
body.app-dark .prod-day-header strong,
body.app-dark .prod-day-header small,
body.app-dark .prod-list-day h3,
body.app-dark .prod-quantity,
body.app-dark .prod-file small,
body.app-dark .prod-history small,
body.app-dark .prod-history-values { color: var(--muted); }
body.app-dark .prod-today .prod-day-header { background: #2b3a59; }
body.app-dark .prod-status { background: #35465c; color: #e9eef5; }
body.app-dark .prod-history-rule,
body.app-dark .prod-work-main small,
body.app-dark .prod-stage-list time,
body.app-dark .prod-stage-list small,
body.app-dark .prod-work-due span,
body.app-dark .prod-history-pages { color: var(--muted); }
body.app-dark .prod-work-row,
body.app-dark .prod-history-pages { border-color: var(--line); }
body.app-dark .prod-stage-list li { background: #253247; border-color: #67829e; }
body.app-dark .prod-work-result-ok { color: #9ce8bd; }
body.app-dark .prod-work-result-ok span { background: #1e573d; }
body.app-dark .prod-work-result-late { color: #ffadb4; }
body.app-dark .prod-work-result-late span { background: #66303b; }
body.app-dark .prod-work-result-pending,
body.app-dark .prod-work-result-cancelled { color: var(--muted); }
body.app-dark .prod-work-result-pending span,
body.app-dark .prod-work-result-cancelled span { background: #35465c; }
body.app-dark .sale-payment-dialog::backdrop { background: #030712bd; }
body.app-dark .customer-history-dialog { background: #1c2635; color: var(--ink); border-color: var(--line); }
body.app-dark .customer-history-dialog::backdrop { background: #030712bd; }
body.app-dark .customer-history-head,
body.app-dark .customer-history-foot { border-color: var(--line); }
body.app-dark .customer-history-close { background: #2a394e; color: var(--ink); }
body.app-dark .customer-history-message,
body.app-dark .customer-history-empty,
body.app-dark .customer-history-foot { color: var(--muted); }
body.app-dark .app-confirm {
    background: #1c2635;
    color: var(--ink);
    border-color: var(--line);
}
body.app-dark .app-confirm::backdrop { background: #030712bd; }
body.app-dark .auth-main { background: #111827; }
body.app-dark .auth-card { color: var(--ink); }
body.app-dark .auth-legal { color: var(--muted); }
body.document-body.app-dark,
body.prod-print.app-dark { background: #111827; color: var(--ink); }
body.app-dark .print-document,
body.app-dark .prod-paper { background: #1c2635; color: var(--ink); border-color: var(--line); }
body.app-dark .document-table th,
body.app-dark .prod-print-table th { background: #243247; color: var(--ink); }
body.app-dark .document-table td,
body.app-dark .prod-print-table th,
body.app-dark .prod-print-table td,
body.app-dark .document-footer,
body.app-dark .document-heading,
body.app-dark .prod-paper-header { border-color: var(--line); }
body.app-dark .document-notes { background: #253247; border-color: var(--line); }
body.app-dark .document-heading p,
body.app-dark .document-parties span,
body.app-dark .document-table small,
body.app-dark .document-footer,
body.app-dark .prod-print-note small,
body.app-dark .prod-paper-footer { color: var(--muted); }

@media print {
    body.app-dark,
    body.document-body.app-dark,
    body.prod-print.app-dark { color-scheme: light; background: white; color: black; }
    body.app-dark .panel,
    body.app-dark .stat,
    body.app-dark .print-document,
    body.app-dark .prod-paper { background: white; color: black; border-color: #ddd; }
    body.app-dark .document-table th,
    body.app-dark .prod-print-table th,
    body.app-dark th { background: #f1f4f8; color: #111; }
    body.app-dark .document-notes,
    body.app-dark .prod-note { background: white; color: black; border-color: #ddd; }
    body.app-dark .document-heading p,
    body.app-dark .document-parties span,
    body.app-dark .document-table small,
    body.app-dark .document-footer,
    body.app-dark .prod-print-note small,
    body.app-dark .prod-paper-footer,
    body.app-dark td strong { color: #111; }
}
