:root{color-scheme:light;--ink:#17221d;--muted:#53615a;--green:#285341;--green-dark:#1c3d30;--paper:#f4f5ef;--line:#dce2d9;--white:#fff;--orange:#a35327;--radius:20px;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink)}
main{width:min(1100px,100%);padding:42px 24px 64px;margin:0 auto;flex:1}
.top{height:72px;padding:0 max(22px,calc((100vw - 1052px)/2));display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:var(--white)}
.mark{display:grid;place-content:center;grid-auto-flow:column;align-items:baseline;width:40px;height:40px;flex:none;border-radius:10px;background:var(--green);color:white;font-weight:750;font-size:19px;letter-spacing:-.1em}
.mark span{font-size:11px;margin-left:2px;letter-spacing:0;color:#d5ecd7}
.wordmark{font-size:.85rem;font-weight:800;letter-spacing:.16em}
.wordmark span{color:var(--green)}
.language,.top-action{margin-left:auto}
.demo{text-align:center;padding:7px 16px;background:#e4eadc;color:#344b3a;font-size:.8rem;font-weight:650}
h1,h2,p{margin:0} h1{font-size:clamp(2rem,6.5vw,3.25rem);line-height:1.06;letter-spacing:-.055em} h2{font-size:1.55rem;line-height:1.15;letter-spacing:-.035em}
.lead{color:var(--muted);margin:14px 0 22px}
.eyebrow{color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.15em;margin-bottom:12px}
.indicator{display:inline-block;width:8px;height:8px;border-radius:50%;background:#72947a;margin-right:5px}
.guest main{max-width:550px;display:flex;flex-direction:column;justify-content:center}
.guest-card,.safe-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.guest-card{padding:clamp(22px,7vw,38px);box-shadow:0 15px 50px #2547310c}
.guest-card .eyebrow{margin-bottom:17px}
.help,.note{font-size:.85rem;color:var(--muted)}
.help{margin-top:18px;text-align:center}.note{margin-top:10px}
.price,.status-line,.demo-sms{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--paper);border:1px solid var(--line);padding:12px 14px;border-radius:11px;margin:0 0 14px;font-size:.93rem}
.price strong{font-size:1.5rem;white-space:nowrap;letter-spacing:-.04em}
.status-line{justify-content:flex-start}
.demo-sms{color:var(--green);font-weight:650}
a{color:var(--green);text-underline-offset:3px}.text-link{display:inline-block;margin-top:15px}
button,.button{font:inherit;font-size:.94rem;font-weight:690;border-radius:10px;border:1px solid transparent;cursor:pointer;padding:11px 15px;min-height:44px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-align:center}
.primary{background:var(--green);color:var(--white)} .primary:hover{background:var(--green-dark)}
.secondary{color:var(--green);background:white;border-color:#b7c9bc}.secondary:hover{background:#edf3ec}
.quiet{color:var(--green);background:transparent;text-decoration:underline;text-underline-offset:3px}.quiet:hover{background:var(--paper)}
.full{width:100%}
label{display:block;font-size:.88rem;font-weight:650;margin-bottom:12px}
input:not([type=checkbox]){display:block;margin-top:5px;padding:10px 12px;width:100%;min-height:44px;background:white;border:1px solid #a9b6ae;border-radius:9px;color:var(--ink);font:inherit;font-size:1rem}
input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);margin:1px 0 0;flex:none}
.check{display:flex;align-items:flex-start;gap:8px;font-weight:500;color:var(--muted)}
:focus-visible{outline:3px solid #87612d;outline-offset:3px}
.admin-heading{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:22px}.admin-heading .lead{margin-bottom:0}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.safe-card{display:flex;flex-direction:column;gap:12px}
.safe-card .eyebrow{margin-bottom:5px}
.safe-card .status-line{margin:0}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.badge{display:inline-flex;border-radius:30px;white-space:nowrap;background:#eef0ec;color:#424c45;padding:5px 9px;font-size:.75rem;font-weight:750}
.badge.ok{background:#e1eee2;color:#28583a}.badge.warn{background:#fff0e2;color:#8a4325}
.pin-form{padding-top:14px;border-top:1px solid var(--line)}
.pin-form button+button{margin-top:8px}
.card-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--line);margin-top:auto;font-size:.88rem}
.error,.notice{border-radius:10px;padding:12px;margin:0 0 16px;background:#fce9e1;color:#883522}
.notice{background:#e1eee2;color:#245a3a}
footer{text-align:center;padding:14px 20px 24px;color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.16em}footer span{padding:0 4px}
@media(max-width:650px){main{padding:30px 15px 40px}.top{height:62px;padding-inline:15px}.grid{grid-template-columns:1fr}.admin-heading{align-items:flex-start;flex-direction:column}.safe-card{padding:18px}}
.pin-help{margin:0 0 12px}

.print {
  --print-ink: #191816;
  --print-muted: #56534e;
  background: #efeeeb;
  color: var(--print-ink);
}
.print .top { background: #efeeeb; border-color: #ddd9d2; }
.print .mark { background: #a52e20; }
.print .mark span, .print .wordmark span { color: inherit; }
.print-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 22px 36px;
  margin: 12px 0 36px;
}
.print-kicker, .sheet-meta, .sheet-note, .sticker-brand {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .06em;
}
.print-kicker { font-size: .75rem; color: var(--print-muted); margin-bottom: 12px; }
.print-heading h1 { font-size: clamp(2.6rem, 7vw, 4.6rem); line-height: .98; letter-spacing: -.065em; }
.print-intro { max-width: 45ch; color: var(--print-muted); margin-top: 16px; font-size: 1.05rem; }
.print-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.print-actions button { background: var(--print-ink); color: white; border-radius: 6px; }
.print-actions button[hidden] { display: none; }
.print-actions button:disabled { opacity: .55; cursor: wait; }
.print-actions a { color: var(--print-ink); font-size: .9rem; }
.print-actions [role=status]:empty { display: none; }
.print-actions [role=status] { flex-basis: 100%; font-size: .85rem; color: #852619; }
.sticker-sheet {
  width: min(100%, 210mm);
  min-height: min(297mm, 141vw);
  margin: 0 auto;
  padding: clamp(15px, 4vw, 44px);
  background: #fff;
  border: 1px solid #e4dfd9;
  box-shadow: 0 16px 40px #19181612;
}
.sheet-meta {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 16px;
  border-bottom: 1px solid #dfd9d2;
  padding-bottom: 10px;
  color: var(--print-muted);
  font-size: clamp(.64rem, 2.2vw, .76rem);
}
.sticker-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 56mm));
  justify-content: center;
  column-gap: clamp(18px, 5vw, 14mm);
  row-gap: clamp(22px, 6vw, 14mm);
  margin: clamp(25px, 6vw, 16mm) 0;
  padding: 0;
  list-style: none;
}
.safe-sticker {
  position: relative;
  isolation: isolate;
  container-type: inline-size;
  width: 100%;
  aspect-ratio: 56 / 67;
  color: white;
  line-height: 1;
  break-inside: avoid;
  font-variant-numeric: lining-nums tabular-nums;
}
.sticker-art { position: absolute; z-index: -1; inset: -5.97015% -7.14286%; width: 114.28572%; height: 111.9403%; overflow: visible; }
.sticker-heading {
  position: absolute;
  inset: 6% 7% auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 7.5cqw;
  font-weight: 900;
  letter-spacing: -.035em;
}
.sticker-heading strong { font-size: 18cqw; letter-spacing: -.08em; }
.sticker-qr {
  position: absolute;
  top: 21%;
  left: 12.5%;
  width: 75%;
  height: auto;
  display: block;
  border-radius: 2.5%;
}
.sticker-caption {
  position: absolute;
  inset: 86.5% 7% auto;
  font-size: 5.1cqw;
  font-weight: 760;
}
.sticker-caption span { display: block; margin-top: .28em; font-size: .78em; font-weight: 550; }
.sticker-brand { position: absolute; right: 16%; bottom: 2.6%; font-size: 3.2cqw; }
.sheet-note { color: var(--print-muted); font-size: .72rem; }

@page wagner-stickers { size: A4 portrait; margin: 12mm; }
@media print {
  body.print { page: wagner-stickers; display: block; min-height: 0; background: white; }
  .print .top, .print .demo, .print footer, .print-heading { display: none; }
  .print main, .sticker-sheet { width: 100%; min-height: 0; margin: 0; padding: 0; }
  .sticker-sheet { border: 0; box-shadow: none; }
  .sticker-grid { grid-template-columns: repeat(2, 56mm); gap: 14mm; margin: 16mm 0; }
  .safe-sticker { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
