/* Direction: Goa coast office — warm sand paper, deep lagoon teal, a calm serif display */
/* Completed by the platform from the short form: both modes, every
   palette token, each text-on-ground pair at its floor. To restyle, write the
   short form again (the decisions in one :root) and it is completed again. */

:root {
  --canvas: #f6f1e7;
  --surface: #fbf9f4;
  --surface-2: #eae6dc;
  --border: #d4d1c9;
  --border-strong: #adada6;
  --ink: #1b2a2c;
  --muted: #626764;
  --accent: #0f5c63;
  --accent-hover: #0d4e54;
  --accent-ink: #ffffff;
  --accent-text: #0b4f56;
  --accent-strong: #0f5c63;
  --accent-soft: #d6dcd5;
  --accent-border: #8eaeac;
  --success: #2f7d4f;
  --success-ink: #ffffff;
  --success-soft: #dee3d5;
  --success-strong: #286a43;
  --warning: #b7791f;
  --warning-ink: #1b2a2c;
  --warning-soft: #eee3cf;
  --warning-strong: #845617;
  --danger: #b3382c;
  --danger-ink: #ffffff;
  --danger-soft: #eedbd1;
  --danger-strong: #a53428;
  --chart-1: #0f5c63;
  --chart-2: #4466b5;
  --chart-3: #6e2e74;
  --chart-4: #a2413e;
  --chart-5: #634801;
  --chart-6: #2e7a33;

  --x-band: #0c3b40;
  --x-on-photo: #ffffff;
  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Inter", system-ui, sans-serif;
  --display-weight: 600;
  --display-tracking: -0.02em;
  --radius-card: 14px;
  --radius-btn: 10px;
  --radius-input: 10px;
  --font-mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-sans: "Inter", system-ui, sans-serif;
  --eyebrow-tracking: 0.08em;
}

html[data-theme="dark"] {
  --canvas: #020d0e;
  --surface: #1b2526;
  --surface-2: #0f191a;
  --border: #252f30;
  --border-strong: #4e5656;
  --ink: #f6f1e7;
  --muted: #949690;
  --accent: #0f5c63;
  --accent-hover: #33747a;
  --accent-ink: #ffffff;
  --accent-text: #619399;
  --accent-strong: #619399;
  --accent-soft: #051e21;
  --accent-border: #083134;
  --success: #2f7d4f;
  --success-ink: #ffffff;
  --success-soft: #0c261c;
  --success-strong: #5d9a76;
  --warning: #b7791f;
  --warning-ink: #ffffff;
  --warning-soft: #2a2512;
  --warning-strong: #bd8431;
  --danger: #b3382c;
  --danger-ink: #ffffff;
  --danger-soft: #291615;
  --danger-strong: #c97068;
  --chart-1: #347980;
  --chart-2: #6085d6;
  --chart-3: #a663ab;
  --chart-4: #c35f5a;
  --chart-5: #a1790e;
  --chart-6: #4e9950;
}

/* Attendance desk: tables, nav, status dots */
.nav-link {
  display: inline-flex; align-items: center; gap: 0.45rem; white-space: nowrap;
  padding: 0.5rem 0.85rem; border-radius: var(--radius-btn); color: var(--muted);
  font-size: 0.9rem; font-weight: 500; transition: background 0.15s, color 0.15s;
}
.nav-link:hover { background: var(--surface-2); color: var(--ink); }
.nav-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.nav-link.is-active { background: var(--accent-soft); color: var(--accent-strong); }

.tbl-wrap { overflow-x: auto; }
.tbl { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 0.9rem; }
.tbl th {
  text-align: left; padding: 0.85rem 1rem; font-size: 0.75rem; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted);
  background: var(--surface-2); white-space: nowrap;
}
.tbl th.text-right { text-align: right; }
.tbl td { padding: 0.85rem 1rem; border-top: 1px solid var(--border); vertical-align: middle; }
.tbl tbody tr { transition: background 0.15s; }
.tbl tbody tr:hover { background: color-mix(in srgb, var(--accent) 5%, transparent); }

.dot { display: inline-block; width: 0.55rem; height: 0.55rem; border-radius: 999px; margin-right: 0.45rem; background: var(--muted); }
.dot-present { background: var(--success); }
.dot-late { background: var(--warning); }
.dot-leave { background: var(--accent); }
.dot-absent { background: var(--danger); }
.dot-notin, .dot-off { background: var(--border-strong); }

.chip.is-on { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.chip { white-space: nowrap; }

.login-band {
  background-image:
    radial-gradient(120% 80% at 100% 100%, color-mix(in srgb, var(--accent) 70%, transparent), transparent 60%),
    repeating-linear-gradient(135deg, transparent 0 22px, rgba(255, 255, 255, 0.035) 22px 23px);
}

#today .card { animation: rise 0.35s ease-out both; }
@keyframes rise { from { transform: translateY(6px); } to { transform: none; } }
html.reduced-motion #today .card { animation: none; }
