@font-face{font-family:Maragsa;src:url(/fonts/maragsa-display-400.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Mirza;src:url(/fonts/mirza-medium-500.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Mirza;src:url(/fonts/mirza-semibold-600.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-regular-400.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-medium-500.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-semibold-600.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-bold-700.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--black:#0a0a0a;--bg:#fafafa;--surface:#fff;--ink:#1a1a1a;--muted:#888;--line:#e8e8e8;--fill:#f2f2f2;--amber:#f4a022;--amber-dark:#c47d0a;--amber-light:#fbc35a;--teal:#4ec9c0;--danger:#b3261e;--ok:#2e7d4f;--brand:var(--amber);--brand-dark:var(--black);--radius:16px;--radius-btn:8px;--shadow:0 4px 16px #0a0a0a1a;--font-body:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-display:"Maragsa", Georgia, serif;--font-accent:"Mirza", Georgia, serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2{font-family:var(--font-display);color:var(--black);letter-spacing:-.01em;font-weight:400}h2{font-size:1.75rem;line-height:1.2}h3{font-family:var(--font-accent);font-weight:600}.app{flex-direction:column;max-width:720px;min-height:100%;margin:0 auto;display:flex}.topbar{z-index:10;background:var(--black);color:#fff;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0}.topbar .brand-row{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.topbar img.topbar-logo{width:auto;height:34px;display:block}.topbar .who{opacity:.85;font-size:.76rem;font-family:var(--font-body)}.content{flex:1;padding:16px 16px 92px}.tabbar{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);max-width:720px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:3px;padding:9px 2px 11px;font-size:.66rem;font-weight:600;text-decoration:none;display:flex}.tabbar a.active{color:var(--black)}.tabbar a.active .ico{transform:translateY(-1px)}.tabbar .ico{font-size:1.25rem;line-height:1}.tabbar a.active .ico{filter:none}.tabbar a.active{position:relative}.tabbar a.active:before{content:"";background:var(--amber);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:22%;right:22%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;padding:16px}.section-title{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:18px 4px 8px;font-size:.72rem;font-weight:700}.muted{color:var(--muted)}.small{font-size:.82rem}label{color:var(--ink);margin:12px 0 5px;font-size:.8rem;font-weight:600;display:block}input,select,textarea{width:100%;font-size:16px;font-family:var(--font-body);border:1px solid var(--line);border-radius:var(--radius-btn);color:var(--ink);background:#fff;padding:13px 12px}textarea{resize:vertical;min-height:70px}input:focus,select:focus,textarea:focus{outline:2px solid var(--amber);outline-offset:2px;border-color:var(--amber)}.btn{width:100%;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;border:2px solid var(--amber);border-radius:var(--radius-btn);background:var(--amber);color:var(--black);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:14px 16px;font-size:.9rem;font-weight:600;transition:background .12s,transform 50ms;display:inline-flex}.btn:hover{background:var(--amber-dark);border-color:var(--amber-dark)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:var(--fill);color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:var(--line);border-color:var(--line)}.btn.ghost{color:var(--black);border:2px solid var(--black);background:0 0}.btn.ghost:hover{background:var(--black);color:#fff}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:hover{background:#8f1d17;border-color:#8f1d17}.btn.sm{width:auto;padding:9px 13px;font-size:.76rem}.row{gap:10px;display:flex}.row>*{flex:1}.error{color:var(--danger);border-radius:var(--radius-btn);background:#fceae8;border:1px solid #f0c9c5;margin:10px 0;padding:10px 12px;font-size:.9rem}.notice{color:var(--ok);border-radius:var(--radius-btn);background:#e7f3ec;border:1px solid #bfe0cd;margin:10px 0;padding:10px 12px;font-size:.9rem}.pill{text-transform:uppercase;letter-spacing:.06em;background:var(--fill);color:var(--ink);border-radius:999px;padding:3px 8px;font-size:.66rem;font-weight:700;display:inline-block}.pill.staff{color:#1f7a73;background:#def3f1}.pill.senior{color:#8a5a14;background:#fdeccb}.pill.admin{background:var(--amber);color:var(--black)}.chip{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:999px;padding:5px 10px;font-size:.74rem;font-weight:600}.chip.on{background:var(--amber);color:var(--black);border-color:var(--amber)}.chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.count-item h3{color:var(--black);margin:0 0 2px;font-size:1.05rem}.count-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;display:grid}.stepper{text-align:center}.stepper .cap{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;font-size:.66rem;font-weight:700}.stepper .controls{border:1px solid var(--line);border-radius:var(--radius-btn);align-items:center;display:flex;overflow:hidden}.stepper button{background:var(--fill);width:34px;height:42px;color:var(--black);cursor:pointer;border:none;font-size:1.2rem;font-weight:700}.stepper button:active{background:var(--amber-light)}.stepper input{text-align:center;border:none;border-radius:0;width:100%;padding:10px 0;font-weight:700}.stepper input:focus{outline:none}.totals{color:var(--amber-dark);margin-top:10px;font-size:.85rem;font-weight:700}.pinpad{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;display:grid}.pinpad button{font-size:1.4rem;font-weight:700;font-family:var(--font-body);border:1px solid var(--line);border-radius:var(--radius-btn);cursor:pointer;color:var(--black);background:#fff;padding:18px 0}.pinpad button:active{background:var(--amber-light);border-color:var(--amber-light)}.pin-dots{justify-content:center;gap:14px;margin:18px 0;display:flex}.pin-dots span{border:2px solid var(--amber);border-radius:50%;width:16px;height:16px}.pin-dots span.filled{background:var(--amber)}.center-screen{flex-direction:column;justify-content:center;max-width:420px;min-height:100vh;margin:0 auto;padding:24px;display:flex}.brand-mark{text-align:center;margin-bottom:14px}.brand-mark img.logo{width:auto;height:88px;margin:0 auto 6px;display:block}.brand-mark .tagline{font-family:var(--font-accent);color:var(--muted);letter-spacing:.02em;margin:6px 0 0;font-size:1rem;font-weight:500}.link-btn{color:var(--amber-dark);cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-body);background:0 0;border:none;padding:8px}.spinner{text-align:center;color:var(--muted);padding:40px}.list-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 0;display:flex}.list-row:last-child{border-bottom:none}.list-row .meta{min-width:0}.list-row .meta h4{color:var(--black);margin:0 0 2px;font-size:.98rem}.list-row .meta p{color:var(--muted);margin:0;font-size:.8rem}@media (width>=640px){.content{padding:24px}}
