body{background:#f7f8fb;font-family:'Century Gothic','Segoe UI',Tahoma,Geneva,sans-serif}
.container-narrow{max-width:980px}
.card-metric{display:flex;align-items:center;justify-content:space-between}
.card-metric .material-icons{font-size:22px;vertical-align:middle}
.metric-total{background:#0d6efd;color:#fff}
.metric-pending{background:#6c757d;color:#fff}
.metric-avg{background:#20c997;color:#fff}
.metric-completed{background:#198754;color:#fff}
.metric-inprogress{background:#0dcaf0;color:#212529}
.metric-overdue{background:#dc3545;color:#fff}
.priority-stat{background:#dc3545;color:#fff}
.priority-urgent{background:#ffc107}
.priority-routine{background:#0d6efd;color:#fff}
.table-fixed{table-layout:fixed}
.badge-new{background:#28a745}
.heatmap td{width:20px;height:20px}
.gauge{width:240px;height:240px}
.badge-stain{display:inline-flex;align-items:center;gap:6px}
.badge-stain-special{background:#6f42c1;color:#fff}
.badge-stain-ihc{background:#20c997;color:#fff}
.stain-badges{min-height:40px}
:root{--status-pending:#6c757d;--status-inprogress:#0dcaf0;--status-completed:#198754;--status-cancelled:#dc3545}
.status-badge{border-radius:12px;padding:4px 10px;font-weight:600}
.status-pending{background:var(--status-pending);color:#fff}
.status-in_progress{background:var(--status-inprogress);color:#212529}
.status-completed{background:var(--status-completed);color:#fff}
.status-cancelled{background:var(--status-cancelled);color:#fff}
.status-tabs{display:flex;flex-wrap:nowrap;white-space:nowrap;gap:6px}
.status-tabs .nav-link{border-radius:999px;font-weight:600;font-size:.85rem;padding:4px 10px;margin-right:6px}
.status-tabs .nav-link.tab-status-active{background:#0d6efd;color:#fff}
.status-tabs .nav-link.tab-status-all{background:#0d6efd;color:#fff}
.status-tabs .nav-link.tab-status-pending{background:var(--status-pending);color:#fff}
.status-tabs .nav-link.tab-status-in_progress{background:var(--status-inprogress);color:#212529}
.status-tabs .nav-link.tab-status-completed{background:var(--status-completed);color:#fff}
.status-tabs .nav-link.tab-status-cancelled{background:var(--status-cancelled);color:#fff}
.status-tabs .nav-link.tab-status-active.active{background:#0d6efd}
.status-tabs .nav-link.tab-status-all.active{background:#0d6efd}
.status-tabs .nav-link.tab-status-pending.active{background:var(--status-pending)}
.status-tabs .nav-link.tab-status-in_progress.active{background:var(--status-inprogress)}
.status-tabs .nav-link.tab-status-completed.active{background:var(--status-completed)}
.status-tabs .nav-link.tab-status-cancelled.active{background:var(--status-cancelled)}
/* Theme variables */
:root{color-scheme:light}
:root{--bg:#f7f8fb;--text:#212529;--card-bg:#ffffff;--card-border:#dee2e6;--table-bg:#ffffff;--bs-body-bg:#f7f8fb;--bs-body-color:#212529}
[data-theme="dark"]{--bg:#121212;--text:#e0e0e0;--card-bg:#1e1e1e;--card-border:#2a2a2a;--table-bg:#1e1e1e;--bs-body-bg:#121212;--bs-body-color:#e0e0e0;color-scheme:dark}
body{background:var(--bg);color:var(--text);padding-bottom:56px}
.card{background:var(--card-bg);border-color:var(--card-border);color:var(--text);animation:fadeSlide .3s ease-out;transition:transform .2s ease, box-shadow .2s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.table{background:var(--table-bg);color:var(--text)}
.table thead{border:1px solid var(--card-border);border-radius:8px;overflow:hidden}
.table thead th{background:var(--card-bg);border-bottom:none !important}
/* Recent activity list header border */
.recent-activity .table thead th{border-bottom:2px solid var(--card-border) !important}
input, select, textarea{background-color:var(--card-bg);color:var(--text);border-color:var(--card-border)}
.form-label, label{color:var(--text)}
.list-group-item{background:var(--card-bg);color:var(--text);border-color:var(--card-border)}
h1,h2,h3,h4,h5,h6,p,small,th,td{color:var(--text)}
.table thead th,.table tbody td{color:var(--text)}
/* Theme toggle */
.theme-toggle{position:fixed;top:12px;right:12px;z-index:1100}
.theme-toggle .btn{border-radius:999px;background:var(--card-bg);color:var(--text);border-color:var(--card-border)}
.theme-toggle-inline{display:inline-block;margin-left:8px}
.theme-toggle-inline .btn{border-radius:999px;background:var(--card-bg);color:var(--text);border-color:var(--card-border)}
.app-footer{position:fixed;left:0;right:0;bottom:0;background:var(--card-bg);color:var(--text);border-top:1px solid var(--card-border);padding:10px 12px;text-align:center;z-index:1050}
/* Notifications */
.notify{position:fixed;top:60px;right:12px;z-index:1040;display:flex;flex-direction:column;gap:8px}
.notify-item{min-width:260px;max-width:360px;padding:10px 14px;border-radius:12px;color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:space-between;opacity:0;transform:translateY(-8px);animation:fadeIn .25s ease forwards}
.notify-item.success{background:#28a745}
.notify-item.info{background:#0d6efd}
.notify-item.warning{background:#ffc107;color:#212529}
.notify-item.danger{background:#dc3545}
.notify-close{background:transparent;border:0;color:inherit;font-size:18px;line-height:1;cursor:pointer}
@keyframes fadeSlide{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.btn .material-icons{font-size:20px;vertical-align:middle}
/* User info chip */
.user-info{display:inline-flex;align-items:center;gap:6px;background:var(--card-bg);color:var(--text);border:1px solid var(--card-border);border-radius:999px;padding:4px 10px}
.user-info .material-icons{font-size:20px;vertical-align:middle}
/* Custom buttons */
.btn-seagreen{background:#2e8b57;color:#fff;border-color:#2e8b57}
.btn-seagreen:hover{background:#28774c;border-color:#28774c;color:#fff}
.btn-seagreen:focus{box-shadow:0 0 0 .25rem rgba(46,139,87,.25)}
/* Inline SVG icon helper */
.btn .icon{width:20px;height:20px;vertical-align:middle;margin-right:6px;display:inline-block}
/* Print */
@media print {
  @page { size: A4; margin: 12mm }
  body{background:#fff !important;color:#000 !important}
  .theme-toggle, .theme-toggle-inline, .notify, .status-tabs, form, .btn, .app-footer{display:none !important}
  .card{box-shadow:none !important;border-color:#999}
  .container{max-width:100%}
}
.card-metric.metric-pending{background:#6c757d;color:#fff}
.card-metric.metric-inprogress{background:#0dcaf0;color:#212529}
.card-metric.metric-completed{background:#198754;color:#fff}
.card-metric.metric-overdue{background:#dc3545;color:#fff}
.card-metric.metric-total{background:#0d6efd;color:#fff}
.card-metric.metric-avg{background:#20c997;color:#fff}
