/* Keep the authenticated production shell while applying the approved preview palette. */
:root { --canvas: var(--ground); }
html, body { min-height: 100%; }
body { background: var(--ground); }
.rail-brand-row .rail-brand { border: 0; background: transparent; color: var(--glass-ink); text-align: left; cursor: default; }
.side-rail .rail-bottom { font-size: 12px; }
.side-rail .material-label { margin-bottom: 13px; }
.side-rail .material-label small { line-height: 1.35; }
.side-rail .theme-link { border: 0; cursor: pointer; }
.side-rail .rail-nav button[hidden] { display: none !important; }
.topbar-actions .sync-mark { max-width: 155px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar-actions .admin-profile { min-width: 0; }
.topbar-actions .admin-identity { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.topbar-actions .admin-name { max-width: 105px; color: inherit; }
.page-header .current-date { font-variant-numeric: tabular-nums; }
.page-header .topbar-rule { display: none; }
.page-header .heading-status { white-space: nowrap; }
.page-header .heading-status span { gap: 7px; }
.page-header .icon-button { flex: 0 0 auto; }
.page-content { position: relative; }
.connection-notice { position: relative; z-index: 1; }
.detail-dialog { color: var(--ink); }
.detail-dialog .dialog-content { color: var(--ink); }
.login-layer {
  position: fixed; inset: 0; z-index: 60; overflow-y: auto;
  display: grid; grid-template-rows: minmax(28px,1fr) auto minmax(20px,1fr) auto;
  justify-items: center; padding: 24px 20px 20px;
  background: var(--ground) var(--app-backdrop) center / cover no-repeat;
}
.login-card {
  grid-row: 2; width: min(420px,100%); max-width: none; padding: 35px 36px 27px;
  border: 1px solid var(--glass-inner); border-radius: 17px;
  background: var(--glass-fill); color: var(--glass-ink);
  -webkit-backdrop-filter: blur(28px) saturate(1.3);
  backdrop-filter: blur(28px) saturate(1.3);
  box-shadow: 0 22px 65px -26px var(--glass-shadow);
}
.login-card .login-wordmark { display: block; width: min(100%,260px); height: auto; aspect-ratio: 3 / 1; object-fit: contain; margin: 0 0 21px; }
.login-card .eyebrow, .login-description, .login-access { color: var(--glass-muted); }
.login-card .login-field > span { color: var(--glass-ink); }
.login-card .login-field input { background: var(--reading-fill); color: var(--ink); border-color: var(--glass-inner); }
.login-card .login-field input::placeholder { color: var(--muted); }
.login-card .login-button { background: #236a51; color: white; border-color: #236a51; }
.login-card .login-button:hover { background: #1b5843; }
.login-card .login-access { border-top-color: var(--glass-inner); }
.login-footer { grid-row: 4; color: var(--glass-ink); }
.login-footer a { color: inherit; }
:root[data-theme="graphite"] .login-card .login-button { background: #a9d5bf; color: #15291d; border-color: #a9d5bf; }
:root[data-theme="graphite"] .login-card .login-button:hover { background: #c1e5d0; }
:root[data-theme="graphite"] .login-card .login-error { color: #f6d4cd; background: #6a383555; border-color: #a75a54; }
:root[data-theme="graphite"] .connection-notice.stale { background: #4b4434; color: #f2ddb0; border-color: #857349; }
:root[data-theme="graphite"] .connection-notice.error { background: #523631; color: #f4cac4; border-color: #8e534c; }
.detail-dialog:has(.treatment-sheet) { border: 1px solid var(--glass-inner); background: var(--reading-solid); }
.detail-dialog:has(.treatment-sheet) .dialog-content { margin: 0; padding-bottom: 0; border: 0; box-shadow: none; background: var(--reading-solid); }
.detail-dialog:has(.treatment-sheet) .dialog-heading { background: var(--reading-solid); }
.treatment-sheet { --sheet-ink: var(--ink); --sheet-muted: var(--muted); --sheet-rule: var(--rule); --sheet-ground: var(--raised); }
.treatment-reading { background: var(--active); }
.treatment-reading input:checked + span, .treatment-person-initial { background: var(--paper); color: var(--ink); }
@media (min-width: 651px) {
  .side-rail > .rail-scroll > .rail-brand-row { z-index: 1; }
  .side-rail > .rail-toggle { z-index: 5; }
}
@media (max-width: 980px) {
  .topbar-actions .current-date { display: none; }
  .topbar-actions .sync-mark { max-width: 90px; }
}
@media (max-width: 650px) {
  .page-header .header-utilities { align-self: flex-start; }
  .page-header .topbar-actions .sync-mark, .page-header .topbar-actions .admin-identity { display: none; }
  .page-header .admin-avatar { width: 30px; height: 30px; }
  .page-header .admin-profile { min-width: 44px; min-height: 44px; justify-content: center; }
  .login-card { padding: 29px 25px 24px; }
  .login-layer { padding-inline: 16px; }
}
@media (prefers-reduced-transparency: reduce) {
  .login-card { background: var(--raised); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
