:root{
  --bg-dark:#0a0a0a;--bg-card:#141414;--bg-card-hover:#1a1a1a;
  --accent:#c026d3;--accent-light:#d946ef;--accent-glow:rgba(192,38,211,0.3);
  --cyan:#06b6d4;--cyan-glow:rgba(6,182,212,0.25);
  --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(192,38,211,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(6,182,212,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(192,38,211,0.08) 0%,rgba(6,182,212,0.04) 50%,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-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{background:linear-gradient(135deg,var(--accent),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
@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),var(--cyan),transparent);margin:2.5rem 0;animation:textFadeIn 1s ease-out 0.5s both;}

.button-container{display:flex;flex-direction:row;gap:1rem;width:100%;max-width:600px;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;flex:1;}
.nav-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(192,38,211,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(192,38,211,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(--cyan));border-color:var(--accent);color:#fff;}
.nav-button.primary:hover{background:linear-gradient(135deg,var(--accent-light),var(--cyan));box-shadow:0 10px 40px rgba(192,38,211,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(--cyan);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(--cyan));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-dots{display:flex;gap:.75rem;}
.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid #444;background:transparent;transition:all .15s ease;}
.pin-dot.filled{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow);}
.pin-dot.error{background:var(--red);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);}}
.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;width:100%;}
.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);}
.num-btn.del{font-size:1rem;color:var(--text-muted);}
.num-btn.del:hover{color:var(--red);border-color:var(--red);}
.num-btn.spacer{visibility:hidden;cursor:default;}
.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;}.button-container{flex-direction:column;}.nav-button{padding:1rem 1.5rem;font-size:1.25rem;}.nav-button .icon{font-size:1.5rem;}}
