/* Consistent high-contrast surfaces throughout the employee portal. */
:root{color-scheme:dark;--paper:var(--asi-charcoal);--panel:var(--asi-surface);--ink:var(--asi-cream);--muted:var(--asi-text-muted);--line:var(--asi-border);--dark:var(--asi-charcoal);--accent:var(--asi-copper);--accent-dark:var(--asi-copper-light);background:var(--paper);color:var(--ink)}
body{background:var(--paper);color:var(--ink)}
.main{background:var(--paper);min-height:100vh}
.main[data-portal-page=dashboard]{background:linear-gradient(90deg,#181d1be8,#181d1bbd),url('assets/portal/cubicle-blueprint.png') center/cover no-repeat}
.main[data-portal-page=dashboard] .content{min-height:calc(100vh - 90px);padding-top:42px}
.main[data-portal-page=dashboard] .pagehead{background:#222b27f2;padding:22px;border:1px solid var(--line);border-radius:3px}
.main[data-portal-page=dashboard] .stat,.main[data-portal-page=dashboard] .panel{background:#222b27f2;box-shadow:0 10px 32px #0005}
.stat,.panel,.card,.shift,.empty,.tablewrap,.sheet-filters,.gantt-scroll,.contact-box,dialog,.login{background:var(--panel);color:var(--ink);border-color:var(--line)}
h1,h2,h3,h4,strong,label,legend,td{color:var(--ink)}
.pagehead p,.card p,.muted,small,.empty,.sheet-result-count,.gantt-outside{color:var(--muted)}
input,select,textarea{background:#161e19;color:var(--asi-cream);border-color:var(--asi-border)}
input::placeholder,textarea::placeholder{color:#b6c3b8;opacity:1}
button{background:var(--asi-surface-raised);color:var(--asi-cream);border-color:var(--asi-border)}
button:hover:not(:disabled){background:#415246;border-color:var(--asi-copper-light)}
button.primary,.sidebar nav button[aria-current=page],.mobile-nav button[aria-current=page]{background:var(--asi-copper);color:#15120e;border-color:#f3b58b}
button.primary:hover:not(:disabled){background:#f7b68b;color:#15120e}
button.danger,.error,.sheet-overdue{color:#ffad9e}
a,.login .links button{color:var(--asi-copper-light)}
.notice,.status{background:#2b3a30;color:var(--asi-cream);border-left-color:var(--asi-copper-light)}
.pill{background:#394a3e;color:var(--asi-cream)}.pill.good{background:#244b40;color:#bdf4dc}.pill.warn{background:#584020;color:#ffe0a6}
th,.gantt-dates,.gantt-dates>strong{background:var(--asi-surface-raised);color:var(--asi-cream)}
tbody tr:hover{background:#34463a}
.sheet-column{background:#1a241e;border-color:var(--line);color:var(--ink)}
.sheet-column>h2 span{background:#3b4c40;color:#fff}
.gantt-canvas{background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--gantt-day) - 1px),#45594a calc(var(--gantt-day) - 1px),#45594a var(--gantt-day))}
.gantt-bar{background:#8c411f;color:#fff;border-color:#f0a06b}.gantt-bar.done{background:#285742;border-color:#72c89f}.gantt-bar.review{background:#64501e;border-color:#e8ce79}
.gantt-links>path{stroke:#dfb38f}.gantt-links marker path{fill:#dfb38f}.gantt-today{border-color:var(--asi-copper)}
.dependency-picker{background:#1b261f;border-color:var(--line)}
.topbar,.sidebar,.mobile-nav{background:var(--asi-charcoal);color:var(--asi-cream);border-color:var(--line)}
.topbar .identity,.topbar .portal-title,.sidebar p{color:var(--asi-text-muted)}
.topbar button{background:var(--asi-surface-raised);border-color:var(--asi-border);color:var(--asi-cream)}
.mobile-nav button{color:var(--asi-cream)}
dialog::backdrop{background:#020810bc}
.dialog-head{background:#1c2720;border-color:var(--line)}
.offline{background:#59401f;color:#ffebc2}
.toast{background:#34463a;color:#fff;border:1px solid var(--asi-border)}
.schedule-page .shift,.schedule-day,.schedule-toolbar,.schedule-navigation{background:var(--panel);color:var(--ink)}
.schedule-page .shift .pill:not(.good){background:#584020;color:#ffe0a6}
.schedule-page .shift .draft-warning{background:#4a3520;color:#ffe0b9}
.schedule-hours-note{background:#2b3a30;color:var(--asi-cream)}
.schedule-day-head{background:#1b261f;color:var(--asi-cream)}
.schedule-day-head small{color:var(--asi-text-muted)}
.schedule-day.is-today .schedule-day-head{background:#3b5142;color:#fff}
.schedule-day-head button{background:var(--asi-surface-raised);color:var(--asi-cream)}
:focus-visible{outline:3px solid var(--asi-copper-light);outline-offset:3px}
@media(max-width:750px){.main[data-portal-page=dashboard]{background-position:62% center}.main[data-portal-page=dashboard] .content{padding-top:24px}.main[data-portal-page=dashboard] .pagehead{padding:18px}}
@media print{:root{color-scheme:light;--paper:#fff;--panel:#fff;--ink:#000;--muted:#333;--line:#aaa}body,.main,.main[data-portal-page=dashboard],.panel,.card,.stat,.tablewrap,dialog,th,td,.gantt-label,.gantt-dates,.gantt-dates>strong{background:#fff!important;color:#000!important;box-shadow:none!important}.muted,small,.card p{color:#333!important}}

/* Match public typography, spacing and input focus without changing status colors. */
body{font-family:var(--asi-font)}
:root{accent-color:var(--asi-copper)}
button,input,select,textarea{font-family:inherit}a{text-underline-offset:3px}
#emailImportLink{margin-top:18px}#emailImportLink input{width:100%;font-size:13px}#emailImportLink .tools{margin-top:14px}#emailImportLink a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:500px){#emailImportLink .tools>*{width:100%}}
