:root{
  --bg-dark:#0a0a0a;--bg-card:#141414;--bg-card-hover:#1a1a1a;
  --accent:#ff6b00;--accent-light:#ff8c00;--accent-glow:rgba(255,107,0,0.3);
  --text-primary:#ffffff;--text-secondary:#a0a0a0;--text-muted:#666666;--border:#2a2a2a;
  --green:#22c55e;--red:#ef4444;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Barlow',sans-serif;background:var(--bg-dark);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:hidden;}
body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:0;}
body::after{content:'';position:fixed;top:30%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(255,107,0,0.08) 0%,transparent 70%);pointer-events:none;z-index:0;}

.container{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding:2rem 2rem 5rem;max-width:800px;width:100%;}

.logo-image{width:480px;max-width:90vw;height:auto;margin-bottom:1.5rem;filter:drop-shadow(0 0 40px rgba(255,107,0,0.3));animation:logoFadeIn 1s ease-out,float 6s ease-in-out 1s infinite;}
@keyframes logoFadeIn{from{opacity:0;transform:scale(0.9);}to{opacity:1;transform:scale(1);}}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

.logo-text{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,10vw,5rem);letter-spacing:0.1em;line-height:1;text-align:center;background:linear-gradient(180deg,#ffffff 0%,#888888 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textFadeIn 1s ease-out 0.2s both;}
.logo-accent{color:var(--accent);-webkit-text-fill-color:var(--accent);}
@keyframes textFadeIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

.tagline{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;color:var(--text-secondary);letter-spacing:0.4em;text-transform:uppercase;margin-top:0.75rem;text-align:center;animation:textFadeIn 1s ease-out 0.4s both;}

/* Shop status badge */
.shop-status{display:flex;align-items:center;gap:8px;margin-top:1rem;padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;animation:textFadeIn 1s ease-out 0.45s both;}
.status-dot{width:8px;height:8px;border-radius:50%;}
.status-dot.open{background:var(--green);animation:pulse 2s ease-in-out infinite;}
.status-dot.closed{background:var(--red);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.shop-status.open-state{border-color:rgba(34,197,94,0.3);color:var(--green);}
.shop-status.closed-state{color:var(--text-muted);}
.mechanics-on{font-size:11px;color:var(--text-muted);margin-top:4px;text-align:center;letter-spacing:.05em;}

.divider{width:120px;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);margin:2.5rem 0;animation:textFadeIn 1s ease-out 0.5s both;}

.button-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:400px;animation:textFadeIn 1s ease-out 0.6s both;}

.nav-button{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.25rem 2rem;background:var(--bg-card);border:2px solid var(--border);border-radius:8px;color:var(--text-primary);text-decoration:none;font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:0.1em;transition:all 0.3s ease;position:relative;overflow:hidden;cursor:pointer;width:100%;}
.nav-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,107,0,0.1),transparent);transition:left 0.5s ease;}
.nav-button:hover::before{left:100%;}
.nav-button:hover{border-color:var(--accent);background:var(--bg-card-hover);transform:translateY(-3px);box-shadow:0 10px 30px rgba(255,107,0,0.2);}
.nav-button .icon{font-size:1.75rem;transition:transform 0.3s ease;}
.nav-button:hover .icon{transform:scale(1.1);}
.nav-button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-light));border-color:var(--accent);color:var(--bg-dark);}
.nav-button.primary:hover{background:linear-gradient(135deg,var(--accent-light),var(--accent));box-shadow:0 10px 40px rgba(255,107,0,0.4);}
.nav-button.manager{border-style:dashed;border-color:#333;color:var(--text-muted);font-size:1.25rem;}
.nav-button.manager:hover{border-style:solid;border-color:var(--accent);color:var(--text-primary);}
.nav-button.manager .lock-icon{font-size:1rem;opacity:0.5;margin-left:auto;transition:opacity .3s;}
.nav-button.manager:hover .lock-icon{opacity:1;}

.footer{position:fixed;bottom:0;left:0;right:0;padding:1.5rem;text-align:center;background:linear-gradient(transparent,var(--bg-dark));}
.footer-text{font-size:.85rem;color:var(--text-muted);letter-spacing:.1em;}

/* ── PIN MODAL ── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(6px);z-index:1000;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal{background:#111;border:1px solid #2a2a2a;border-radius:16px;padding:2.5rem 2rem;width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:1.5rem;box-shadow:0 24px 64px rgba(0,0,0,.8);animation:modalIn .25s ease;position:relative;}
@keyframes modalIn{from{opacity:0;transform:scale(.93) translateY(12px);}to{opacity:1;transform:scale(1) translateY(0);}}
.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;line-height:1;padding:4px 8px;border-radius:4px;transition:color .2s;}
.modal-close:hover{color:var(--text-primary);}
.modal-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent-light));display:flex;align-items:center;justify-content:center;font-size:1.75rem;box-shadow:0 0 24px var(--accent-glow);}
.modal-title{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.08em;text-align:center;}
.modal-sub{font-family:'Barlow Condensed',sans-serif;font-size:.85rem;color:var(--text-muted);letter-spacing:.2em;text-transform:uppercase;margin-top:-1rem;text-align:center;}
.pin-entry{width:100%;background:#101010;border:1px solid #2a2a2a;border-radius:10px;color:var(--text-primary);font-family:'Barlow',sans-serif;font-size:1rem;padding:.95rem 1rem;transition:border-color .15s ease, box-shadow .15s ease;}
.pin-entry:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,107,0,.12);}
.pin-entry.error{border-color:var(--red);animation:shake .4s ease;}
@keyframes shake{0%,100%{transform:translateX(0);}20%{transform:translateX(-6px);}40%{transform:translateX(6px);}60%{transform:translateX(-4px);}80%{transform:translateX(4px);}}
.num-btn{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;color:var(--text-primary);font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:.05em;padding:.9rem;cursor:pointer;transition:all .15s ease;text-align:center;}
.num-btn:hover{background:#242424;border-color:var(--accent);color:var(--accent);}
.num-btn:active{transform:scale(.94);}
#pinSubmit{width:100%;font-size:1rem;letter-spacing:.08em;}
.pin-error-msg{font-family:'Barlow Condensed',sans-serif;font-size:.8rem;color:var(--red);letter-spacing:.1em;text-transform:uppercase;min-height:1.2em;text-align:center;}

@media(max-width:480px){.container{padding:1.5rem;}.logo-image{width:200px;}.nav-button{padding:1rem 1.5rem;font-size:1.25rem;}.nav-button .icon{font-size:1.5rem;}}
