body:has(.quick-entry) > aside,
body:has(.quick-entry) > main > header { display:none; }
body:has(.quick-entry) > main { margin:0; padding:0; max-width:none; }
.quick-entry {
  min-height:100vh; min-height:100svh; display:grid; place-items:center;
  padding:24px; color:var(--ink); background:var(--paper); outline:0;
}
.qe-frame {
  width:min(100%,430px); border:1px solid var(--line); border-radius:24px;
  padding:20px 22px 24px; background:var(--surface);
  box-shadow:0 18px 60px -38px #24274d70;
}
.qe-top,.qe-ticket-head,.qe-name-ticket { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.qe-top { min-height:48px; margin-bottom:16px; }
.qe-top > button { background:transparent; color:var(--muted); font-size:14px; border-radius:99px; padding-inline:14px; }
.qe-ticket,.qe-name-ticket {
  position:relative; isolation:isolate; overflow:hidden; color:#fff9f1; background:#33366d;
  border-radius:20px 20px 5px 5px; padding:21px 22px 18px;
}
.qe-ticket-head span,.qe-name-ticket span { color:#e1ddf8; white-space:nowrap; font:13px var(--sans); }
.qe-ticket h1 { font:500 16px/1.3 var(--sans); letter-spacing:-.015em; }
.qe-amount { display:flex; align-items:baseline; gap:.13em; margin:5px 0 9px; font:normal clamp(58px,16vw,79px)/1.08 var(--serif); letter-spacing:-.055em; }
.qe-digits[data-size=medium] { font-size:.68em; } .qe-digits[data-size=small] { font-size:.42em; }
.qe-symbol { font:normal .39em var(--serif); color:#ffbd97; }
.qe-account { border-top:1px solid #ffffff3d; padding-top:10px; color:#e7e3fa; font-size:13px; }
.qe-account:empty { display:none; }
.qe-keypad {
  margin-top:12px; padding:4px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  background:var(--surface); border-block:1px solid var(--line);
}
.qe-keypad button {
  min-height:clamp(46px,7svh,63px); border:0; border-radius:7px; padding:0;
  color:var(--ink); background:transparent; font:450 29px/1 var(--sans); touch-action:manipulation;
}
.qe-keypad button:active,.qe-keypad button:hover { background:var(--tint); }
.qe-keypad button[data-key=erase] { font-size:24px; } .qe-keypad button:disabled { opacity:.36; }
.qe-action {
  display:flex; justify-content:space-between; align-items:center; width:100%; min-height:54px;
  border:0; border-radius:99px; padding:12px 20px; background:var(--accent); color:var(--accent-ink);
  font-size:17px; font-weight:650;
}
.qe-action:hover { background:#ffc4a3; }
.qe-action:disabled { background:var(--tint); color:var(--muted); }
.qe-action span { font-size:20px; line-height:1; }
.qe-next,.qe-again { margin-top:17px; }
.qe-name-ticket { border-radius:14px; margin-bottom:24px; }
.qe-name-ticket .qe-summary,.qe-saved .qe-summary { font:40px/1.1 var(--serif); letter-spacing:-.05em; }
.qe-body h1 label,.qe-saved h1 { display:block; font:normal 35px/1.12 var(--serif); letter-spacing:-.045em; }
.qe-form { margin-top:16px; gap:14px; }
.qe-form input { font-size:19px; padding:15px; }
.qe-error { color:#ab2c36; font-size:14px; } .dark .qe-error { color:#ffafb4; } .qe-error:empty { display:none; }
.qe-saved { padding:22px 17px 17px; background:var(--tint); border-radius:18px; overflow-wrap:anywhere; }
.qe-check { font-size:21px; background:var(--blue); color:var(--contrast); border-radius:50%; width:40px; height:40px; display:grid; place-items:center; margin-bottom:17px; }
.qe-saved .qe-summary { margin:22px 0 4px; } .qe-receipt { color:var(--muted); }
@media(max-width:500px) {
  .quick-entry { padding:max(8px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-bottom)); align-items:start; background:var(--surface); }
  .qe-frame { border:0; border-radius:0; box-shadow:none; width:100%; padding:0; }
  .qe-top { margin:1px 0 12px; }
}
@media(max-height:650px) { .qe-ticket { padding:13px 16px; } .qe-amount { font-size:52px; } .qe-keypad button { min-height:44px; } }
