/* Earthy Minimal — final presentation layer. No business or print rules here.
   Reference: forest #2E3A2F, sage #6B7F5B, sand #D9C9B2,
   terracotta #C96F4F, ivory #F8F6EE. Ink variants preserve text contrast. */
html:root {
  color-scheme: light;
  --canvas:#f8f6ee; --paper:#fffef9; --ink:#2e3a2f; --muted:#656d60;
  --line:#dedfd3; --soft:#eeeee3; --accent:#a34e34; --coral:#a34e34;
  --slate:#2e3a2f; --mist:#6b7f5b; --butter:#d9c9b2;
  --brand-primary:#2e3a2f; --on-primary:#fffef9;
  --sidebar:#2e3a2f; --sidebar-ink:#f8f6ee; --sidebar-muted:#bdc6b5;
  --shadow:0 8px 28px rgb(46 58 47 / 5%);
  --chart-grid:#dedfd3; --chart-income:#6b7f5b; --chart-expense:#c96f4f;
  --chart-label:#656d60; --chart-point:#fffef9;
  --surface:var(--paper); --card:var(--paper); --bg:var(--canvas); --text:var(--ink);
}
html:root:is([data-theme="dark"],[data-login-theme="dark"]) {
  color-scheme:dark;
  --canvas:#171e19; --paper:#222c24; --ink:#f1f1e6; --muted:#b3bda9;
  --line:#3d493d; --soft:#2d392e; --accent:#e0a189; --coral:#e0a189;
  --slate:#b7c5a6; --mist:#a7b699; --butter:#cdbda4;
  --brand-primary:#c4d0b6; --on-primary:#202b22;
  --sidebar:#1c251e; --sidebar-ink:#f1f1e6; --sidebar-muted:#aebca4;
  --shadow:0 8px 28px rgb(0 0 0 / 10%);
  --chart-grid:#3d493d; --chart-income:#b7c5a6; --chart-expense:#dc9579;
  --chart-label:#b3bda9; --chart-point:#222c24;
}
html:root:is([data-theme],[data-login-theme]) body { background:var(--canvas); color:var(--ink); font-family:Manrope,system-ui,sans-serif; }
html:root:is([data-theme],[data-login-theme]) :is(h1,h2,h3,h4,.crumb h1,.page-intro h2,.empty-view h2,.card-heading h2,.assistant-panel-head strong) {
  font-family:Manrope,system-ui,sans-serif; color:var(--ink); font-weight:750; letter-spacing:-.035em;
}
html:root:is([data-theme],[data-login-theme]) :is(strong,b,td) { color:inherit; }
html:root:is([data-theme],[data-login-theme]) :is(.overline,#eyebrow,th) { color:var(--muted); letter-spacing:.1em; font-weight:700; }
html:root:is([data-theme],[data-login-theme]) :is(.page-intro p:not(.overline),.card p:not(.overline),.card small,.metric p,.metric small,.list-row p,td small,.muted,.calendar-note,.export-result) { color:var(--muted); }
html:root:is([data-theme],[data-login-theme]) :is(.period-row p,.legend,.legend span) { color:var(--muted); }
html:root:is([data-theme],[data-login-theme]) .page-intro { padding:16px 0 28px; gap:24px; margin-bottom:12px; }
html:root:is([data-theme],[data-login-theme]) :is(.page-intro h2,.crumb h1) { font-size:clamp(28px,2.7vw,42px); line-height:1.18; margin:8px 0 12px; }
html:root:is([data-theme],[data-login-theme]) .page-intro p { line-height:1.7; max-width:760px; }
html:root:is([data-theme],[data-login-theme]) .sidebar { width:258px; padding:24px 16px 16px; background:var(--sidebar); color:var(--sidebar-ink); border-right:1px solid var(--line); display:flex; flex-direction:column; height:100dvh; }
html:root:is([data-theme],[data-login-theme]) .sidebar .anvyl-brand { flex:none; min-height:70px; padding:4px 20px 20px; margin:0 0 8px; }
html:root:is([data-theme],[data-login-theme]) .anvyl-logo { filter:none; }
html:root:is([data-theme],[data-login-theme]) .sidebar .nav { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; display:block; padding:0 4px; scrollbar-width:thin; scrollbar-color:#68735f transparent; }
.nav-group + .nav-group { margin-top:20px; }
html:root:is([data-theme],[data-login-theme]) .sidebar .nav-label { color:var(--sidebar-muted); font:650 10px/1.5 Manrope,system-ui,sans-serif; letter-spacing:.13em; text-transform:uppercase; padding:0 12px; margin:0 0 7px; }
html:root:is([data-theme],[data-login-theme]) .sidebar .nav-item { color:var(--sidebar-ink); min-height:39px; height:auto; padding:9px 12px; margin:2px 0; border:1px solid transparent; border-radius:9px; font-size:12px; font-weight:500; gap:12px; background:transparent; }
html:root:is([data-theme],[data-login-theme]) .sidebar .nav-item:hover { background:rgb(248 246 238 / 7%); }
html:root:is([data-theme],[data-login-theme]) .sidebar .nav-item.active { background:#d9c9b2; color:#2e3a2f; font-weight:800; box-shadow:none; border-color:transparent; }
html:root:is([data-theme],[data-login-theme]) .sidebar .nav-item.active::before { display:none; }
html:root:is([data-theme],[data-login-theme]) .sidebar .nav-item .ui-icon { width:18px; height:18px; opacity:.85; color:inherit; }
html:root:is([data-theme],[data-login-theme]) .sidebar .nav-item b { color:#f8f6ee; background:#5b6950; font-size:10px; }
html:root:is([data-theme],[data-login-theme]) .sidebar-bottom { flex:none; margin-top:14px; border-top:1px solid #52604b; padding-top:10px; }
html:root:is([data-theme],[data-login-theme]) .sidebar .user { border-color:#52604b; margin-top:8px; padding:14px 4px 0; }
html:root:is([data-theme],[data-login-theme]) .sidebar .user :is(strong,small,button) { color:var(--sidebar-ink); }
html:root:is([data-theme],[data-login-theme]) .sidebar .user>span { background:#d9c9b2; color:#2e3a2f; }
html:root:is([data-theme],[data-login-theme]) .user-menu { background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); }
html:root:is([data-theme],[data-login-theme]) .user-menu button { color:var(--ink); }
html:root:is([data-theme],[data-login-theme]) .main { margin-left:258px; width:calc(100% - 258px); max-width:none; padding:0 clamp(24px,3.2vw,64px) 96px; }
html:root:is([data-theme],[data-login-theme]) .view { max-width:1440px; margin-inline:auto; }
html:root:is([data-theme],[data-login-theme]) .topbar { min-height:104px; padding:22px 0; border-bottom:1px solid var(--line); margin:0 auto 24px; max-width:1440px; gap:20px; background:transparent; }
html:root:is([data-theme],[data-login-theme]) .topbar.has-page-intro { min-height:88px; height:auto; }
html:root:is([data-theme],[data-login-theme]) .top-actions { gap:8px; flex-wrap:wrap; justify-content:flex-end; }
/* The legacy compact toolbar explicitly hid this control with !important. */
html:root .topbar .top-actions .theme-quick-toggle { display:inline-flex!important; }
html:root:is([data-theme],[data-login-theme]) .sidebar .anvyl-logo { filter:none; }
html:root:is([data-theme],[data-login-theme]) .modal .button.primary { background:var(--brand-primary); color:var(--on-primary); border-color:var(--brand-primary); }
html:root:is([data-theme],[data-login-theme]) .modal .button.secondary { background:var(--soft); color:var(--ink); border-color:var(--line); }
html:root:is([data-theme],[data-login-theme]) .settings-integrations article { background:var(--soft); color:var(--ink); border-color:var(--line); }
html:root:is([data-theme],[data-login-theme]) .settings-section h3 { font:750 20px/1.4 Manrope,system-ui,sans-serif; }
html:root:is([data-theme],[data-login-theme]) .theme-dot { background:var(--butter); box-shadow:inset -4px -2px 0 var(--mist); }
html:root:is([data-theme],[data-login-theme]) :is(.card,.metric,.os-card,.os-metric,.modal,.os-dialog,.assistant-panel,.calendar-day,.calendar-toolbar,.work-project,.empty-view) { background:var(--paper); color:var(--ink); border:1px solid var(--line); box-shadow:var(--shadow); border-radius:18px; }
html:root:is([data-theme],[data-login-theme]) :is(.os-page,.os-dialog) { --surface:var(--paper); --text:var(--ink); }
html:root[data-theme="dark"] :is(.os-page,.os-dialog) { --muted:#b3bda9; --line:#3d493d; }
html:root:is([data-theme],[data-login-theme]) :is(.metric.warm,.warning-card,.metric.accent,.reserve-card,.tax-hero) { background:var(--soft); color:var(--ink); }
html:root:is([data-theme],[data-login-theme]) :is(.metric.accent,.reserve-card,.tax-hero) :is(p,strong,small,h2,h3,span,.text-link) { color:var(--ink); }
html:root:is([data-theme],[data-login-theme]) .metric { padding:24px; }
html:root:is([data-theme],[data-login-theme]) .metric strong { font-size:clamp(24px,2.2vw,34px); letter-spacing:-.04em; }
html:root:is([data-theme],[data-login-theme]) :is(button,.metric strong,.reserve-total strong,.tax-hero strong,.ghost,.text-link) { font-family:Manrope,system-ui,sans-serif; }
html:root:is([data-theme],[data-login-theme]) .metric strong { font-weight:750; font-variant-numeric:tabular-nums; }
html:root:is([data-theme],[data-login-theme]) #openInvoices .list-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; }
html:root:is([data-theme],[data-login-theme]) #openInvoices .list-row>div { min-width:0; overflow-wrap:anywhere; }
html:root:is([data-theme],[data-login-theme]) #openInvoices .list-row>b { white-space:nowrap; }
html:root:is([data-theme],[data-login-theme]) :is(.metrics,.dashboard-grid,.export-grid,.customers-grid,.projects-grid) { gap:20px; }
html:root:is([data-theme],[data-login-theme]) :is(.button,.filter,.select,.utility-button,.theme-quick-toggle,.period-arrow,.calendar-nav) { border-radius:10px; font-family:inherit; font-weight:650; box-shadow:none; }
html:root:is([data-theme],[data-login-theme]) .button { min-height:42px; }
html:root:is([data-theme],[data-login-theme]) :is(.button.primary,.primary) { background:var(--brand-primary); color:var(--on-primary); border:1px solid var(--brand-primary); box-shadow:none; }
html:root:is([data-theme],[data-login-theme]) :is(.button.primary,.primary):hover { background:var(--brand-primary); filter:brightness(.94); transform:translateY(-1px); }
/* Accent belongs to actions, not status badges, charts or navigation. Keep
   button-local brand aliases so modal overrides share the same palette. */
html:root[data-theme] { --action-bg:#a34e34; --action-hover:#8e422c; --action-ink:#fffef9; }
html:root[data-theme="dark"] { --action-bg:#a34e34; --action-hover:#8e422c; --action-ink:#fffef9; }
html:root[data-theme] :is(.button.primary,button.primary,a.primary) {
  --brand-primary:var(--action-bg); --on-primary:var(--action-ink);
  background:var(--action-bg); color:var(--action-ink); border-color:var(--action-bg);
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}
html:root[data-theme] :is(.button.primary,button.primary,a.primary,.modal .button.primary):hover:not(:disabled):not([aria-disabled="true"]) {
  background:var(--action-hover); border-color:var(--action-hover); filter:none;
}
html:root[data-theme] :is(.button.primary,button.primary,a.primary):is(:disabled,[aria-disabled="true"]) {
  opacity:.5; cursor:not-allowed; transform:none; filter:none;
}
/* Nested labels and icons must not pick up the card's dark text color. */
html:root:is([data-theme],[data-login-theme]) :is(.button.primary,button.primary,a.primary) :is(span,strong,small,.ui-icon) { color:inherit; }
html:root:is([data-theme],[data-login-theme]) :is(.secondary,.select,.utility-button,.theme-quick-toggle,.period-arrow,.calendar-nav,.filter,.assistant-topic) { background:var(--paper); color:var(--ink); border:1px solid var(--line); }
html:root:is([data-theme],[data-login-theme]) :is(.secondary,.utility-button,.theme-quick-toggle,.filter,.assistant-topic):hover { background:var(--soft); border-color:var(--mist); }
html:root:is([data-theme],[data-login-theme]) :is(.filter.active,.os-tabs [aria-pressed="true"],.assistant-topic.is-active) { background:var(--soft); color:var(--ink); border-color:var(--mist); box-shadow:inset 0 -2px var(--mist); }
html:root:is([data-theme],[data-login-theme]) :is(.ghost,.text-link) { color:var(--accent); }
html:root:is([data-theme],[data-login-theme]) :is(.round-add,.list-icon,.sales-orb,.sales-empty-icon,.assistant-close,.modal-close) { background:var(--soft); color:var(--ink); border:1px solid var(--line); box-shadow:none; }
html:root:is([data-theme],[data-login-theme]) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) { background:var(--paper); color:var(--ink); border-color:var(--line); }
html:root:is([data-theme],[data-login-theme]) :is(input,textarea,select)::placeholder { color:var(--muted); opacity:.85; }
html:root:is([data-theme],[data-login-theme]) :is(input,textarea,select) { accent-color:var(--brand-primary); }
html:root:is([data-theme],[data-login-theme]) :is(input,textarea,select) { font-family:Manrope,system-ui,sans-serif; }
html:root:is([data-theme],[data-login-theme]) :is(#marketingAgentTask,#salesAgentTask) { width:100%; min-height:190px; resize:vertical; border:1px solid var(--line); border-radius:12px; padding:16px; font-size:14px; line-height:1.7; box-sizing:border-box; }
.nav-scrim { display:none; }
html:root:is([data-theme],[data-login-theme]) :is(button,a,input,textarea,select,summary):focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
html:root:is([data-theme],[data-login-theme]) :is(.table-toolbar,.list-row,td,.calendar-weekdays,.calendar-toolbar) { border-color:var(--line); }
html:root:is([data-theme],[data-login-theme]) :is(th,.calendar-weekdays,.calendar-day.outside) { background:var(--soft); color:var(--muted); }
html:root:is([data-theme],[data-login-theme]) .calendar-day { border-radius:0; box-shadow:none; }
html:root:is([data-theme],[data-login-theme]) .calendar-day:hover { background:var(--soft); box-shadow:inset 0 0 0 1px var(--mist); }
html:root:is([data-theme],[data-login-theme]) :is(.calendar-event,.calendar-events small,.calendar-note) { background:var(--soft); color:var(--ink); }
html:root:is([data-theme],[data-login-theme]) :is(.tag,.count-pill,.estimate,.sales-live-badge,.marketing-approval,.sales-status,.status) { background:var(--soft); color:var(--ink); border:1px solid var(--line); box-shadow:none; }
html:root:is([data-theme],[data-login-theme]) :is(.status.paid,.status.approved) { border-left:3px solid #6b7f5b; }
html:root:is([data-theme],[data-login-theme]) :is(.status.review,.status.open,.sales-status.needs-review) { border-left:3px solid #c96f4f; }
html:root:is([data-theme],[data-login-theme]) :is(.sales-live-badge i,.utility-button.notification em) { background:var(--mist); box-shadow:none; }
html:root:is([data-theme],[data-login-theme]) :is(.sales-score,.sales-detail,.sales-contact-card,.sales-next-step,.marketing-action,.marketing-handoff,.marketing-history-item,.sales-empty-points span,.sales-history-item,.sales-lead,.sales-quote,.marketing-system-note) { background:var(--soft); color:var(--ink); border-color:var(--line); }
html:root:is([data-theme],[data-login-theme]) :is(.sales-score-total,.sales-customer-draft) { background:var(--soft); color:var(--ink); border:1px solid var(--line); }
html:root:is([data-theme],[data-login-theme]) .sales-score-total :is(strong,span,small) { color:inherit; }
html:root:is([data-theme],[data-login-theme]) .assistant-topic .ui-icon { color:inherit; }
html:root:is([data-theme],[data-login-theme]) :is(.upload-zone,.company-lookup,.customer-lookup,.work-notice) { background:var(--soft); color:var(--ink); border-color:var(--line); }
html:root:is([data-theme],[data-login-theme]) .upload-zone:hover { background:var(--paper); border-color:var(--mist); }
/* Quiet terracotta launcher: one visible speech bubble, no status pulse. */
html:root:is([data-theme],[data-login-theme]) .assistant-fab { background:#a34e34; color:#fff; border:1px solid #a34e34; padding:13px 18px; gap:9px; box-shadow:0 6px 18px rgb(70 34 23 / 18%); animation:none; transition:background-color .18s ease,box-shadow .18s ease; }
html:root:is([data-theme],[data-login-theme]) .assistant-fab:hover { background:#8e422c; border-color:#8e422c; transform:none; box-shadow:0 8px 22px rgb(70 34 23 / 22%); }
html:root:is([data-theme],[data-login-theme]) .assistant-fab::before,
html:root:is([data-theme],[data-login-theme]) .assistant-fab::after { content:none; display:none; animation:none; box-shadow:none; }
html:root:is([data-theme],[data-login-theme]) .assistant-fab .ui-icon { width:23px; height:23px; margin:0; color:#fff; stroke:#fff; stroke-width:2; fill:none; opacity:1; }
html:root:is([data-theme],[data-login-theme]) .assistant-fab:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
@media(max-width:760px){html:root:is([data-theme],[data-login-theme]) .assistant-fab{width:52px;height:52px;padding:0;justify-content:center}}
html:root:is([data-theme],[data-login-theme]) .assistant-panel-head strong { font-size:24px; }
html:root:is([data-theme],[data-login-theme]) :is(.assistant-intro,.assistant-panel>p,.assistant-form-footer small) { color:var(--muted); }
html:root:is([data-theme],[data-login-theme]) .assistant-answer:not(:empty) { background:var(--soft); color:var(--ink); }
html:root:is([data-theme],[data-login-theme]) .toast { background:var(--brand-primary); color:var(--on-primary); }
html:root:is([data-theme],[data-login-theme]) .os-tabs { padding-bottom:18px; border-bottom:1px solid var(--line); }
html:root:is([data-theme],[data-login-theme]) .os-card { padding:26px; }
html:root:is([data-theme],[data-login-theme]) .os-metric { border-top:3px solid var(--mist); }
html:root:is([data-theme],[data-login-theme]) .os-state { color:var(--ink); background:var(--soft); }
html:root:is([data-theme],[data-login-theme]) .login-page { background:var(--canvas); }
html:root:is([data-theme],[data-login-theme]) .login-page::before { background:none; }
html:root:is([data-theme],[data-login-theme]) .login-theme-toggle { background:var(--soft); color:var(--ink); border-color:var(--line); }
html:root:is([data-theme],[data-login-theme]) .login-theme-toggle:hover { background:var(--paper); }
html:root:is([data-theme],[data-login-theme]) .login-stage { background:none; }
html:root:is([data-theme],[data-login-theme]) .login-card { background:var(--paper); border:1px solid var(--line); color:var(--ink); box-shadow:var(--shadow); border-radius:24px; }
html:root:is([data-theme],[data-login-theme]) .login-card .anvyl-brand { background:#2e3a2f; border-radius:14px; }
html:root:is([data-theme],[data-login-theme]) .login-card :is(p,label,.login-trust,.login-theme-toggle) { color:var(--muted); }
html:root:is([data-theme],[data-login-theme]) .login-card h1 { color:var(--ink); font:750 clamp(28px,4vw,40px)/1.15 Manrope,system-ui,sans-serif; letter-spacing:-.04em; }
html:root:is([data-theme],[data-login-theme]) .login-card input { background:var(--soft); color:var(--ink); border-color:var(--line); }
html:root:is([data-theme],[data-login-theme]) .login-divider { background:var(--line); }
@media(min-width:901px) and (max-height:840px) {
  html:root:is([data-theme],[data-login-theme]) .sidebar { padding-top:16px; }
  html:root:is([data-theme],[data-login-theme]) .sidebar .anvyl-brand { min-height:48px; padding-bottom:12px; }
  .nav-group + .nav-group { margin-top:12px; }
  html:root:is([data-theme],[data-login-theme]) .sidebar .nav-item { min-height:35px; padding-block:7px; }
}
@media(min-width:901px) {
  html:root:is([data-theme],[data-login-theme]) .sidebar { transform:none; }
  html:root:is([data-theme],[data-login-theme]) .mobile-menu { display:none; }
}
@media(max-width:1200px) {
  html:root:is([data-theme],[data-login-theme]) .top-actions .utility-button { display:none; }
  html:root:is([data-theme],[data-login-theme]) .sales-workspace,html:root:is([data-theme],[data-login-theme]) .marketing-workspace { grid-template-columns:1fr; }
}
@media(max-width:900px) {
  .nav-scrim:not([hidden]) { display:block; position:fixed; inset:0; z-index:99; background:#10181066; border:0; }
  html:root:is([data-theme],[data-login-theme]) .sidebar { transform:translateX(-100%); width:258px; z-index:100; transition:transform .2s ease; }
  html:root:is([data-theme],[data-login-theme]) .sidebar.open { transform:translateX(0); box-shadow:20px 0 60px #0004; }
  html:root:is([data-theme],[data-login-theme]) .main { margin-left:0; width:100%; padding:0 22px 90px; }
  html:root:is([data-theme],[data-login-theme]) .mobile-menu { display:flex; flex:none; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:10px; min-width:42px; min-height:42px; align-items:center; justify-content:center; }
  html:root:is([data-theme],[data-login-theme]) .topbar.has-page-intro { justify-content:space-between; }
}
@media(max-width:600px) {
  html:root:is([data-theme],[data-login-theme]) .main { padding-inline:16px; }
  html:root:is([data-theme],[data-login-theme]) .topbar { min-height:78px; gap:12px; padding-block:16px; flex-wrap:wrap; }
  html:root:is([data-theme],[data-login-theme]) .top-actions { flex:1; }
  html:root:is([data-theme],[data-login-theme]) .top-actions>.button:not(.work-global-timer) { display:none; }
  html:root:is([data-theme],[data-login-theme]) .top-actions .theme-quick-toggle { display:inline-flex; }
  html:root .topbar .top-actions .theme-quick-toggle span { display:inline; }
  html:root .topbar .top-actions .theme-quick-toggle { width:auto; min-width:130px; padding:10px 12px; gap:8px; white-space:nowrap; }
  html:root:is([data-theme],[data-login-theme]) .page-intro { flex-direction:column; align-items:flex-start; padding-top:6px; }
  html:root:is([data-theme],[data-login-theme]) .page-intro h2 { font-size:30px; }
  html:root:is([data-theme],[data-login-theme]) :is(.metrics,.dashboard-grid,.export-grid,.customers-grid,.projects-grid) { gap:14px; }
  html:root:is([data-theme],[data-login-theme]) .metric { padding:18px; }
  html:root:is([data-theme],[data-login-theme]) .sales-pipeline-grid,html:root:is([data-theme],[data-login-theme]) .marketing-lower-grid { grid-template-columns:1fr; }
  html:root:is([data-theme],[data-login-theme]) .table-toolbar { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) {
  html:root:is([data-theme],[data-login-theme]) .sidebar,html:root:is([data-theme],[data-login-theme]) .button { transition:none; }
  html:root:is([data-theme],[data-login-theme]) .button.primary:hover { transform:none; }
}

/* Login-only paired backgrounds. Both layers stay mounted for reversible fades. */
html:root[data-login-theme] #loginForm .button.primary { --brand-primary:#a34e34; --on-primary:#fffef9; }
html:root[data-login-theme] .login-page { display:block; padding:0; overflow:auto; }
html:root[data-login-theme] .login-backdrop { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; background:var(--canvas); }
html:root[data-login-theme] .login-backdrop img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
html:root[data-login-theme] .login-backdrop-dark { opacity:0; transition:opacity 900ms cubic-bezier(.4,0,.2,1); }
html:root[data-login-theme="dark"] .login-backdrop-dark { opacity:1; }
html:root[data-login-theme] .login-stage { position:relative; z-index:1; width:100%; min-height:100svh; padding:24px; box-sizing:border-box; }
html:root[data-login-theme] :is(.login-card,.login-card input,.login-card .button,.login-theme-toggle,.login-divider) { transition:background-color 900ms ease,border-color 900ms ease,color 900ms ease,box-shadow 900ms ease; }
html:root[data-login-theme] .login-card :is(h1,p,label,.login-trust) { transition:color 900ms ease; }
@media(prefers-reduced-motion:reduce) {
  html:root[data-login-theme] :is(.login-backdrop img,.login-card,.login-card input,.login-card .button,.login-theme-toggle,.login-divider,.login-card h1,.login-card p,.login-card label,.login-trust) { transition:none; }
}
