:root {
  color-scheme: light;
  --rst-font: "Archivo", system-ui, sans-serif;
  --rst-font-mono: "Archivo", system-ui, sans-serif;
  --rst-bg: #ffffff;
  --rst-surface: #ffffff;
  --rst-surface-2: #f4f7fb;
  --rst-line: #e0e6ee;
  --rst-line-strong: #7b8798;
  --rst-header-rule: #e0e6ee;
  --rst-text: #14233c;
  --rst-text-muted: #526078;
  --rst-text-faint: #5a687c;
  --rst-accent: #0755dc;
  --rst-accent-strong: #0644af;
  --rst-accent-soft: #eaf2ff;
  --rst-on-accent: #ffffff;
  --rst-radius: 0.375rem;
  --rst-radius-sm: 0.25rem;
  --rst-radius-pill: 0.375rem;
  --rst-fs-base: 1rem;
}
body { margin: 0; font-family: var(--rst-font); background: var(--rst-bg); color: var(--rst-text); }
a { color: var(--rst-accent); text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
button, [rst-btn] { min-height: 2.75rem; cursor: pointer; }
button:disabled { cursor: wait; opacity: .65; }
:focus-visible { outline: 3px solid var(--rst-accent); outline-offset: 4px; }
[hidden] { display: none !important; }
data, time { font-family: inherit; font-variant-numeric: tabular-nums; letter-spacing: 0; }
[dnr-header] { height: 5.5rem; display: flex; align-items: center; justify-content: space-between; padding: 0 3rem; border-bottom: 1px solid var(--rst-line); }
[dnr-brand] { font-size: 1.75rem; font-weight: 600; text-decoration: none; letter-spacing: -.04em; }
[dnr-page] { max-width: 70rem; margin: 0 auto; padding: 3rem; }
[dnr-shell] { min-height: calc(100dvh - 5.5rem); display: grid; grid-template-columns: 14rem minmax(0, 1fr); }
[dnr-sidebar] { padding: 2rem 1rem; background: var(--rst-surface-2); border-right: 1px solid var(--rst-line); }
[dnr-sidebar] a { display: flex; align-items: center; gap: .75rem; padding: .9rem 1rem; color: var(--rst-text-muted); text-decoration: none; border-radius: var(--rst-radius); }
[dnr-sidebar] a[aria-current="page"] { background: var(--rst-accent-soft); color: var(--rst-accent); font-weight: 600; }
[dnr-sidebar] a:hover { background: var(--rst-accent-soft); }
[dnr-sidebar] .icon { width: 1.125rem; height: 1.125rem; }
[dnr-shell] [dnr-page] { width: 100%; max-width: 80rem; box-sizing: border-box; }
[dnr-payment] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: calc(100dvh - 5.5rem); }
[dnr-order] { background: #edf3fa; padding: 4rem max(2rem, calc((100vw - 68rem) / 2)); padding-right: 4rem; }
[dnr-order] h1 { font-size: 1.5rem; margin: 0 0 2.5rem; }
[dnr-order] [dnr-total] { font-size: 2.5rem; letter-spacing: -.03em; line-height: 1.2; margin: 1.5rem 0 2.5rem; }
[dnr-order] dl { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #cdd8e5; }
[dnr-order] dd { margin: .5rem 0 1.5rem; overflow-wrap: anywhere; }
[dnr-options] { width: 100%; max-width: 34rem; box-sizing: border-box; padding: 4rem 3rem; }
[dnr-options] h2 { margin-top: 0; font-size: 1.5rem; }
[dnr-options] [rst-btn="primary"] { width: 100%; }
[dnr-options] form { margin-top: 2rem; }
[dnr-options] details { margin-top: 2rem; }
[dnr-options] summary { cursor: pointer; color: var(--rst-accent); }
[dnr-selection] { padding: 1.25rem 0; border-bottom: 1px solid var(--rst-line); }
[dnr-selection] label { display: flex; align-items: center; gap: .8rem; }
[dnr-selection] select { width: 100%; margin-top: .5rem; }
[dnr-actions] { display: flex; gap: 1rem; margin-top: 2rem; flex-wrap: wrap; }
[dnr-wizard] { max-width: 28rem; margin: 4rem auto; padding: 0 1.5rem; }
[dnr-wizard] h1 { font-size: 2rem; letter-spacing: -.03em; }
[dnr-wizard] [rst-btn="primary"] { width: 100%; }
[dnr-wizard] input { width: 100%; box-sizing: border-box; }
[dnr-step] { display: flex; gap: .5rem; margin: 0 0 2rem; }
[dnr-step] span { height: .25rem; flex: 1; background: var(--rst-line); border-radius: 1rem; }
[dnr-step] [aria-current] { background: var(--rst-accent); }
[dnr-transactions] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, .8fr); gap: 2rem; }
[dnr-transaction-list] { list-style: none; padding: 0; margin: 0; }
[dnr-transaction-list] li { border-bottom: 1px solid var(--rst-line); }
[dnr-transaction-list] button { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; text-align: left; padding: 1.25rem .75rem; background: transparent; border: 0; color: inherit; border-radius: var(--rst-radius); }
[dnr-transaction-list] button[aria-pressed="true"] { background: var(--rst-accent-soft); }
[dnr-transaction-list] small { display: block; color: var(--rst-text-muted); margin-top: .4rem; }
[dnr-transaction] { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem .75rem; text-decoration: none; color: inherit; border-radius: var(--rst-radius); }
[dnr-transaction][aria-current="page"] { background: var(--rst-accent-soft); }
[dnr-receipt] { border-left: 1px solid var(--rst-line); padding-left: 2rem; overflow-wrap: anywhere; }
[dnr-receipt] dl { display: grid; gap: .75rem 1rem; grid-template-columns: 1fr 1fr; }
[dnr-receipt] dd { margin: 0; text-align: right; }
@media (max-width: 760px) {
  [dnr-header] { height: 4.5rem; padding: 0 1.25rem; }
  [dnr-page] { padding: 2rem 1.25rem; }
  [dnr-shell] { display: block; }
  [dnr-sidebar] { display: flex; overflow-x: auto; padding: .5rem; border-right: 0; border-bottom: 1px solid var(--rst-line); }
  [dnr-sidebar] a { white-space: nowrap; padding: .75rem; }
  [dnr-sidebar] .icon { display: none; }
  [dnr-payment] { display: block; }
  [dnr-order] { padding: 2rem 1.5rem; }
  [dnr-order] h1 { margin-bottom: 1rem; }
  [dnr-order] [dnr-total] { font-size: 2rem; margin: 1rem 0; }
  [dnr-options] { padding: 2rem 1.5rem; max-width: none; }
  [dnr-transactions] { grid-template-columns: 1fr; }
  [dnr-receipt] { border-left: 0; border-top: 1px solid var(--rst-line); padding: 1.5rem 0 0; }
}
@media (prefers-reduced-motion: no-preference) {
  [dnr-wizard] section { animation: dnr-step-in .2s ease-out; }
  @keyframes dnr-step-in { from { opacity: .4; transform: translateY(.4rem); } to { opacity: 1; transform: none; } }
}
