:root{--ink:#17221d;--muted:#69746d;--cream:#f6f4ee;--paper:#fff;--green:#176b52;--green-dark:#0c4736;--mint:#dff1e8;--line:#dedfd8;--danger:#a73c3c;--gold:#d9a441;--shadow:0 18px 55px rgba(20,40,31,.1)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}h1,h2,p{margin-top:0}h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(2.2rem,5vw,4.25rem);line-height:.98;letter-spacing:-.04em}.eyebrow{margin-bottom:.6rem;color:var(--green);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink);font-weight:700;text-decoration:none}.brand>span,.brand-mark,.label-brand span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:10px;background:var(--green);color:white;font-family:'Fraunces';font-size:1.25rem}.brand.centered{justify-content:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;border:0;border-radius:12px;padding:.8rem 1.2rem;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.button.primary{background:var(--green);color:#fff;box-shadow:0 8px 22px rgba(23,107,82,.2)}.button.primary:hover{background:var(--green-dark)}.button.secondary{background:#e9ece8;color:var(--ink)}.button.large{padding:1rem 1.35rem}.button.full{width:100%}.button.danger-text{background:transparent;color:var(--danger)}label{display:flex;flex-direction:column;gap:.45rem;color:#4c5851;font-size:.82rem;font-weight:700}label span{font-weight:400;color:var(--muted)}input,select{width:100%;border:1px solid var(--line);border-radius:11px;background:white;padding:.88rem .95rem;color:var(--ink);font:inherit;outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,107,82,.1)}.center-page{min-height:100vh;display:grid;place-items:center;padding:2rem}.welcome-card,.login-card,.status-card{width:min(100%,480px);padding:3rem;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:var(--shadow);text-align:center}.brand-mark{margin:0 auto 2rem;width:3.25rem;height:3.25rem;font-size:2rem}.welcome-card p,.login-card>p,.status-card>p{color:var(--muted);line-height:1.6}.welcome-actions{display:flex;gap:.75rem;justify-content:center;margin-top:2rem}.guest-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem max(1.2rem,calc((100% - 900px)/2));border-bottom:1px solid var(--line);background:rgba(255,255,255,.75);backdrop-filter:blur(14px);position:sticky;top:0;z-index:5}.location-pill{display:flex;flex-direction:column;text-align:right}.location-pill small{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.order-shell{width:min(100% - 2rem,900px);margin:0 auto;padding:4rem 0 9rem}.order-intro{max-width:620px}.order-intro>p:last-child{color:var(--muted)}.drink-line{margin:1rem 0;padding:1.5rem;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:0 8px 30px rgba(22,41,33,.04)}.line-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}.line-number{font-family:'Fraunces';font-size:1.35rem}.remove-line,.add-line{border:0;background:transparent;color:var(--danger);font:inherit;font-weight:700;cursor:pointer}.add-line{width:100%;padding:1rem;border:1px dashed #aeb9b2;border-radius:14px;color:var(--green);background:rgba(255,255,255,.4)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.field-grid.compact{grid-template-columns:140px 1fr}.submit-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1rem max(1.2rem,calc((100% - 900px)/2));border-top:1px solid var(--line);background:rgba(255,255,255,.94);box-shadow:0 -8px 30px rgba(20,40,31,.08);backdrop-filter:blur(12px);z-index:4}.submit-bar>div{display:flex;flex-direction:column}.submit-bar small{color:var(--muted)}.alert{padding:1rem;border-radius:12px;margin:1rem 0;text-align:left}.alert.error{background:#fae7e4;color:#842f2f}.alert ul{margin-bottom:0}.status-page{background:radial-gradient(circle at 50% 0,#dcefe6,transparent 42%),var(--cream)}.status-icon{display:grid;place-items:center;width:70px;height:70px;margin:2rem auto 1rem;border-radius:50%;background:var(--mint);color:var(--green);font-size:2rem}.location-block{display:flex;flex-direction:column;margin:1.5rem 0;padding:1rem;border-radius:13px;background:var(--mint)}.location-block small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.order-summary{text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.order-summary>div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0}.order-summary span{color:var(--muted);font-size:.85rem;text-align:right}.rejection-box{margin-top:1rem;padding:1rem;border-radius:10px;background:#fae7e4;color:var(--danger)}.staff-bg{background:linear-gradient(135deg,#0e3e31,#176b52 55%,#d9a441 180%)}.login-card form{display:grid;gap:1rem;text-align:left;margin-top:2rem}.dashboard-body{background:#f0f2ee}.dashboard-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;background:var(--green-dark);color:white}.brand.light{color:white}.station-label{margin-left:1.5rem;padding-left:1.5rem;border-left:1px solid rgba(255,255,255,.25);color:#b8d6ca}.dashboard-meta{display:flex;align-items:center;gap:.5rem;color:#d6e6df;font-size:.85rem}.dashboard-meta form{display:inline}.dashboard-meta button{margin-left:1rem;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:transparent;padding:.5rem .8rem;color:white;cursor:pointer}.online-dot{width:8px;height:8px;border-radius:50%;background:#6ee7a7;box-shadow:0 0 0 4px rgba(110,231,167,.15)}.dashboard-shell{padding:2.5rem;max-width:1600px;margin:auto}.dashboard-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:2rem}.dashboard-title h1{font-size:3rem;margin:0}.queue-count{display:flex;align-items:baseline;gap:.5rem}.queue-count strong{font-family:'Fraunces';font-size:3rem;color:var(--green)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:1.5rem 0 .8rem}.section-title h2{margin:0;font-size:1rem}.section-title span{color:var(--muted);font-size:.8rem}.order-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.order-card{overflow:hidden;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:16px;background:white;box-shadow:0 7px 25px rgba(20,40,31,.06)}.order-card.status-accepted{border-top-color:#478cca}.order-card.status-preparing{border-top-color:#a06dc4}.order-card.status-ready{border-top-color:var(--green)}.order-top{display:flex;justify-content:space-between;padding:1.2rem 1.2rem .5rem}.room-badge{display:inline-block;margin-right:.5rem;padding:.3rem .5rem;border-radius:7px;background:var(--mint);color:var(--green);font-size:.72rem;font-weight:700}.seat-number{font-family:'Fraunces';font-size:1.45rem}.order-time{display:flex;flex-direction:column;text-align:right;font-weight:700}.order-time small{color:var(--muted);font-weight:400}.order-ref{padding:0 1.2rem .8rem;color:var(--muted);font-size:.75rem}.order-ref span{text-transform:uppercase;color:var(--green);font-weight:700}.order-card ul{list-style:none;margin:0;padding:0 1.2rem;border-top:1px solid #edf0ec}.order-card li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid #edf0ec}.order-card li span{font-size:.78rem;color:var(--muted);text-align:right}.card-actions{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem}.reject-button{border:0;background:transparent;color:var(--danger);font:inherit;font-size:.75rem;cursor:pointer}.empty-state{grid-column:1/-1;padding:4rem;border:1px dashed #b8c0ba;border-radius:16px;text-align:center;color:var(--muted)}.empty-state span{display:block;color:var(--green);font-size:2rem}.empty-state strong{display:block;color:var(--ink);font-size:1.2rem}.completed-section{margin-top:2.5rem}.completed-list{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:white}.completed-row{display:grid;grid-template-columns:100px 100px 1fr 80px;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid #edf0ec;align-items:center}.completed-row:last-child{border:0}.status-chip{padding:.3rem .5rem;border-radius:6px;background:#edf0ec;font-size:.68rem;font-weight:700;text-align:center;text-transform:uppercase}.status-chip.delivered{background:var(--mint);color:var(--green)}.status-chip.rejected,.status-chip.cancelled{background:#fae7e4;color:var(--danger)}.completed-row small{text-align:right;color:var(--muted)}.muted{padding:1rem;color:var(--muted)}.toast{position:fixed;top:85px;right:2rem;z-index:10;padding:1rem 1.5rem;border-radius:10px;background:var(--danger);color:white;box-shadow:var(--shadow)}.print-header{display:flex;justify-content:space-between;align-items:center;padding:2rem max(2rem,calc((100% - 1100px)/2))}.print-header h1{font-size:3rem;margin-bottom:.5rem}.label-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10mm;width:210mm;margin:0 auto;padding:10mm;background:white}.qr-label{break-inside:avoid;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:82mm;border:1px dashed #aaa;border-radius:4mm;text-align:center}.label-brand{display:flex;align-items:center;gap:.4rem;font-weight:700}.label-brand span{width:1.5rem;height:1.5rem;font-size:1rem}.qr-image svg{display:block;width:43mm;height:43mm}.qr-label p{margin:0;color:var(--green);font-size:.65rem;letter-spacing:.16em;font-weight:700}.qr-label h2{margin:.2rem 0 0;font-family:'Fraunces';font-size:1.7rem}.qr-label>strong{font-size:.75rem;color:var(--muted)}
@media(max-width:680px){.guest-header{padding:.9rem 1rem}.order-shell{padding-top:2.5rem}.field-grid,.field-grid.compact{grid-template-columns:1fr}.submit-bar .button{padding:.9rem 1rem}.welcome-card,.login-card,.status-card{padding:2rem 1.2rem}.welcome-actions{flex-direction:column}.dashboard-header{padding:0 1rem}.station-label,.dashboard-meta>:not(form){display:none}.dashboard-shell{padding:1.3rem}.dashboard-title h1{font-size:2.3rem}.completed-row{grid-template-columns:80px 1fr}.completed-row span:nth-child(3),.completed-row small{display:none}}
@media print{@page{size:A4;margin:0}.print-header{display:none}.labels-body{background:white}.label-grid{gap:5mm;padding:7mm;grid-template-columns:repeat(3,1fr)}.qr-label{min-height:62mm}.qr-image svg{width:35mm;height:35mm}}
.alert.success{background:var(--mint);color:var(--green-dark)}.admin-header-link{color:#d6e6df;font-weight:700;text-decoration:none}.admin-shell{width:min(100% - 2rem,1100px);margin:0 auto;padding:3rem 0}.admin-title{max-width:720px;margin-bottom:2rem}.admin-title h1{font-size:3.2rem;margin-bottom:.75rem}.admin-title>div>p:last-child{color:var(--muted);line-height:1.6}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.room-admin-card{padding:1.5rem;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:0 8px 30px rgba(22,41,33,.05)}.room-admin-card h2{margin-bottom:.35rem}.room-admin-card>div>p:last-child{color:var(--muted)}.room-admin-card form{display:grid;gap:1rem;margin-top:1.4rem}.seat-preview{margin:0;color:var(--muted);font-size:.82rem}.seat-preview span{font-weight:700;color:var(--green)}.label-actions{display:flex;gap:.75rem}.single-label-wrap{display:grid;place-items:center;padding:1rem 2rem 4rem}.qr-label.single{width:92mm;min-height:112mm;background:white;box-shadow:var(--shadow)}.qr-label.single .qr-image svg{width:65mm;height:65mm}@media(max-width:680px){.admin-grid{grid-template-columns:1fr}.admin-title h1{font-size:2.5rem}.label-actions{flex-direction:column}.print-header{align-items:flex-start;gap:1rem;flex-direction:column}}@media print{.single-label-body{background:white}.single-label-wrap{padding:0}.qr-label.single{width:100mm;min-height:125mm;border:1px dashed #aaa;box-shadow:none}.qr-label.single .qr-image svg{width:70mm;height:70mm}}
