/* Midnight blue: shared colors for the overview and editing dialogs. */
:root {
  color-scheme: dark;
  --page: #0a1426;
  --surface: #14233b;
  --surface-deep: #0e1c32;
  --text: #edf3ff;
  --muted: #a9bad3;
  --border: #2c405d;
  --green: #8cbbff;
  color: var(--text);
  background: var(--page);
}
body { background: radial-gradient(ellipse at 10% 0%, #172e50 0, transparent 48%), var(--page); }
header { background: #0d1b30; }
.brand { color: var(--text); }
.logo { background: #285b9e; color: #fff; }
.avatar { background: #263c5a; color: #cfe2ff; }
.eyebrow { color: #9cbce5; }
.primary { background: #356fbd; color: #fff; box-shadow: 0 4px 16px #0002; }
.primary:hover { background: #417dce; }
.next { background: linear-gradient(125deg, #214c86, #152d53); border: 1px solid #3c6092; }
.next:after { border-color: #a7caff08; }
.next-top, .hero-date, .hero-bottom { color: #c0d5f1; }
.hero-bottom { border-color: #ffffff24; }
.hero-bottom strong { color: #d8eaff; }
.pill { background: #253e61; color: #c6ddff; }
.pale { background: #b4d5ff1c; color: #deecff; }
.summary, .workspace, .rotation-note, .data-note { background: var(--surface); }
.summary, .workspace { box-shadow: 0 12px 40px #00000016; }
.month-nav>button:not(.text-btn) { background: #1b2f4c; color: var(--text); }
.month-nav>button:hover { border-color: #6c9bda; }
.views { background: var(--surface-deep); }
.views .active { background: #2b4970; color: #e1edff; box-shadow: 0 1px 5px #0003; }
.day { background: #192c48; border-color: #2b405e; color: #e4eeff; }
.day:hover { background: #203757; border-color: #6d9cda; }
.day.today .num { background: #8cbbff; color: #0c2340; font-weight: 700; }
.day.selected { background: #23436b; border-color: #8cbbff; box-shadow: 0 0 0 2px #8cbbff22; }
.day.free { background: #101e34; color: #acbdd5; }
.day.holiday { background: #302c27; color: #e8cf99; border-color: #4c4436; }
.day.leave { background: #2d2848; color: #deccff; border-color: #4e426c; }
.day.unknown { background: #111e32; color: #9dadc4; }
.day.outside { opacity: .6; }
.day .custom-mark { color: #d8baf9; }
.duty { background: #8cbbff; }
.off { background: #7e93b1; }
.vacation { background: #e3c48a; }
.custom, .leave-dot { background: #c0a0ec; }
aside { background: var(--surface-deep); }
.detail-total, .calc { background: #203c5f; color: #e2efff; }
.small-btn { background: #203653; border-color: #3e5778; color: #d9e9ff; }
.small-btn:hover { background: #2b476c; border-color: #789fd2; }
.notice { background: #172d49; }
.notice-icon { color: #a3c9ff; }
.info-grid p, footer { color: var(--muted); }
dialog { background: var(--surface); color: var(--text); border: 1px solid #3c5271; box-shadow: 0 25px 100px #0007; }
dialog::backdrop { background: #030b18b8; }
.close { color: #b9cbe3; }
input, select { background: #0e1c32; color: var(--text); border-color: #405674; }
input:disabled { background: #1c2d45; color: #aebed5; }
input:focus, select:focus { outline: 2px solid #8cbbff; outline-offset: 2px; }
button:focus-visible, a:focus-visible { outline-color: #a5caff; }
#form-error { color: #ffb8ae; }
#toast { background: #234b7b; color: #f0f6ff; border: 1px solid #6b96cd; box-shadow: 0 8px 30px #0005; }
.list-row { background: var(--surface); color: var(--text); }
.list-row:hover { background: #1d3351; }
.list-row.selected { background: #23436b; }
#sum-breakdown { color: #b9d4f6; }
