/* ============================================================
   MUNITIONSDEPOT DESIGN SYSTEM
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#040804;--bg-panel:#0a100a;--bg-card:#0d150d;--bg-input:#050805;
  --border:#1a3d1a;--border-bright:#2a5d2a;--border-focus:#4ade80;
  --text:#d4e8d4;--text-dim:#5a7a5a;--text-bright:#fff;
  --green:#4ade80;--green-dim:#164d16;--green-glow:rgba(74,222,128,.4);
  --gold:#fbbf24;--cyan:#22d3ee;--orange:#f97316;--pink:#f472b6;--red:#ef4444;--purple:#a855f7;
  --font-mono:'JetBrains Mono',Consolas,monospace;--font-ui:'Chakra Petch',sans-serif;
  --radius:6px;--trans:.15s ease;--shadow:0 4px 24px rgba(0,0,0,.4);
}
@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@600;700&family=JetBrains+Mono:wght@400;500;700&display=swap');
html,body{height:100%}
body{font-family:var(--font-ui);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;overflow-x:hidden}
.mono{font-family:var(--font-mono)}
a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}

/* Layout */
.screen{display:none;min-height:100vh;flex-direction:column}
.screen.active{display:flex}
.container{max-width:1400px;margin:0 auto;padding:0 1.5rem}
.page-main{flex:1;padding:1.5rem 0}

/* Header Shop */
.shop-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:rgba(10,16,10,.95);backdrop-filter:blur(5px);position:sticky;top:0;z-index:50;flex-wrap:wrap;gap:.5rem}
.shop-logo{font-size:1.1rem;letter-spacing:.1em;color:var(--green);text-transform:uppercase;display:flex;align-items:center;gap:.75rem}
.shop-logo .dot{width:8px;height:8px;background:var(--green);border-radius:50%;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.shop-nav{display:flex;gap:.5rem;flex-wrap:wrap}
.shop-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-ui);text-transform:uppercase;font-size:.7rem;border-radius:var(--radius);cursor:pointer;transition:var(--trans);white-space:nowrap}
.shop-btn:hover{border-color:var(--green);color:var(--green);background:var(--green-dim)}
.shop-btn.primary{background:var(--green);border-color:var(--green);color:#000}

/* Header Portal */
.portal-header{padding:.75rem 1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:rgba(10,16,10,.95);position:sticky;top:0;z-index:100;flex-wrap:wrap;gap:.5rem}
.portal-brand{display:flex;align-items:center;gap:.75rem;font-size:.8rem;letter-spacing:.1em;color:var(--green);text-transform:uppercase}
.portal-brand .dot{width:6px;height:6px;background:var(--green);border-radius:50%}
.portal-tabs{display:flex;gap:.2rem;flex-wrap:wrap}
.portal-tab{padding:.4rem .8rem;background:transparent;border:1px solid transparent;color:var(--text-dim);font-family:var(--font-ui);text-transform:uppercase;font-size:.65rem;cursor:pointer;transition:var(--trans);border-radius:var(--radius);white-space:nowrap}
.portal-tab:hover{color:var(--text);border-color:var(--border)}
.portal-tab.active{color:var(--green);border-color:var(--green);background:var(--green-dim)}
.portal-user{display:flex;align-items:center;gap:1rem;font-family:var(--font-mono);font-size:.7rem;color:var(--text-dim)}

/* Buttons */
.btn{padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--radius);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;cursor:pointer;transition:var(--trans);display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-weight:700}
.btn-primary{background:var(--green);color:#000;border-color:var(--green)}.btn-primary:hover{background:#3fd970;box-shadow:0 0 15px var(--green-glow)}
.btn-secondary{background:transparent;color:var(--text);border-color:var(--border)}.btn-secondary:hover{border-color:var(--text-dim);background:var(--bg-card)}
.btn-danger{background:transparent;color:var(--red);border-color:var(--red)}.btn-danger:hover{background:rgba(239,68,68,.1)}
.btn-gold{background:var(--gold);color:#000;border-color:var(--gold)}.btn-gold:hover{background:#f59e0b;box-shadow:0 0 15px rgba(251,191,36,.4)}
.btn-purple{background:var(--purple);color:#fff;border-color:var(--purple)}.btn-purple:hover{background:#9333ea}
.btn-sm{padding:.3rem .6rem;font-size:.55rem}
.btn:disabled{opacity:.4;cursor:not-allowed}

/* Badges */
.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.55rem;font-weight:700;text-transform:uppercase}
.badge-green{background:var(--green-dim);color:var(--green);border:1px solid var(--green)}
.badge-orange{background:rgba(249,115,22,.15);color:var(--orange);border:1px solid var(--orange)}
.badge-red{background:rgba(239,68,68,.15);color:var(--red);border:1px solid var(--red)}
.badge-gold{background:rgba(251,191,36,.15);color:var(--gold);border:1px solid var(--gold)}
.badge-cyan{background:rgba(34,211,238,.15);color:var(--cyan);border:1px solid var(--cyan)}
.badge-pink{background:rgba(244,114,182,.15);color:var(--pink);border:1px solid var(--pink)}
.badge-purple{background:rgba(168,85,247,.15);color:var(--purple);border:1px solid var(--purple)}
.badge-role-chef{background:rgba(251,191,36,.15);color:var(--gold);border:1px solid var(--gold)}
.badge-role-logistik{background:rgba(34,211,238,.15);color:var(--cyan);border:1px solid var(--cyan)}
.badge-role-mitarbeiter{background:rgba(74,222,128,.15);color:var(--green);border:1px solid var(--green)}

/* Panels & Tables */
.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;overflow:hidden}
.panel-header{padding:.75rem 1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green);flex-wrap:wrap;gap:.5rem}
.panel-body{padding:1rem}
.panel-footer{padding:.75rem 1rem;border-top:1px solid var(--border);background:var(--bg-card);display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.75rem}
thead th{text-align:left;padding:.5rem .8rem;border-bottom:1px solid var(--border-bright);color:var(--text-dim);font-size:.6rem;text-transform:uppercase;white-space:nowrap}
tbody td{padding:.6rem .8rem;border-bottom:1px solid var(--border);vertical-align:middle}
tbody tr:hover{background:rgba(255,255,255,.02)}

/* Forms */
.form-group{margin-bottom:1rem}
label{display:block;font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;color:var(--text-dim);margin-bottom:.35rem}
input,select,textarea{width:100%;background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:.6rem .8rem;border-radius:var(--radius);font-family:var(--font-mono);font-size:.8rem}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px var(--green-dim)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* Stats */
.stat-bar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.stat-item{flex:1;min-width:140px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column}
.stat-item .stat-label{font-family:var(--font-mono);font-size:.55rem;color:var(--text-dim);text-transform:uppercase}
.stat-item .stat-value{font-size:1.6rem;font-weight:700;font-family:var(--font-mono);color:var(--text-bright)}
.stat-item.green .stat-value{color:var(--green)}.stat-item.gold .stat-value{color:var(--gold)}.stat-item.cyan .stat-value{color:var(--cyan)}.stat-item.red .stat-value{color:var(--red)}.stat-item.purple .stat-value{color:var(--purple)}

/* Shop Specific */
.shop-main{flex:1;padding:1.5rem;overflow-y:auto}
.shop-container{max-width:1100px;margin:0 auto;padding-bottom:6rem}
.shop-hero{text-align:center;margin-bottom:2rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,var(--bg-card),var(--bg-panel))}
.shop-hero h1{letter-spacing:.1em;margin-bottom:.5rem;background:linear-gradient(90deg,var(--green),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:clamp(1.5rem,4vw,2.5rem)}
.shop-hero p{color:var(--text-dim);font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.shop-cats{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem}
.shop-cat-btn{padding:.4rem .9rem;background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;border-radius:999px;cursor:pointer;transition:var(--trans);white-space:nowrap}
.shop-cat-btn:hover,.shop-cat-btn.active{border-color:var(--cc,var(--green));color:var(--cc,var(--green));background:rgba(var(--ccrgb,74,222,128),.1)}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.shop-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:var(--trans);display:flex;flex-direction:column}
.shop-card:hover{border-color:var(--border-bright);box-shadow:var(--shadow);transform:translateY(-2px)}
.shop-card-head{padding:.75rem 1rem;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;min-height:60px}
.shop-card-title{font-weight:700;font-size:.9rem;line-height:1.3}
.shop-card-model{font-family:var(--font-mono);font-size:.6rem;color:var(--text-dim);text-transform:uppercase;margin-top:.2rem}
.shop-card-badge{font-size:.55rem;padding:.1rem .4rem;border-radius:999px;text-transform:uppercase;font-weight:700;white-space:nowrap}
.shop-card-body{padding:1rem;flex:1;display:flex;flex-direction:column;justify-content:space-between}
.shop-card-price{font-size:1.4rem;font-weight:700;color:var(--gold);font-family:var(--font-mono)}
.shop-card-stock{font-family:var(--font-mono);font-size:.65rem;color:var(--text-dim);margin-top:.5rem}
.shop-card-stock.low{color:var(--orange)}.shop-card-stock.out{color:var(--red)}
.shop-card-qty{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.qty-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:1rem;border-radius:var(--radius);cursor:pointer}
.qty-btn:hover:not(:disabled){border-color:var(--green);color:var(--green)}
.qty-btn:disabled{opacity:.3;cursor:not-allowed}
.qty-input{width:55px;text-align:center;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-size:.9rem;padding:.4rem;border-radius:var(--radius)}
.qty-sub{margin-left:auto;font-family:var(--font-mono);font-size:.7rem;color:var(--gold);font-weight:700}

/* Cart Bar */
.cart-bar{position:fixed;bottom:0;left:0;right:0;padding:1rem 1.5rem;background:rgba(10,16,10,.98);border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:1rem;z-index:200;transform:translateY(100%);transition:transform .3s ease;box-shadow:0 -4px 20px rgba(0,0,0,.4)}
.cart-bar.visible{transform:translateY(0)}
.cart-info{display:flex;flex-direction:column;gap:.1rem}
.cart-info .cart-label{font-family:var(--font-mono);font-size:.6rem;color:var(--text-dim);text-transform:uppercase}
.cart-info .cart-total{font-size:1.3rem;font-weight:700;color:var(--gold);font-family:var(--font-mono)}
.cart-actions{display:flex;gap:.5rem}

/* Zeit */
.zeit-karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}
.zeit-karte{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}
.zeit-karte .label{font-family:var(--font-mono);font-size:.6rem;color:var(--text-dim);text-transform:uppercase}
.zeit-karte .value{font-size:1.3rem;font-weight:700;color:var(--green);font-family:var(--font-mono)}
.zeit-karte .sub{font-size:.65rem;color:var(--text-dim)}

/* Lager */
.lager-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem;gap:1rem;flex-wrap:wrap}
.lager-info{display:flex;flex-direction:column;min-width:150px}
.lager-name{font-weight:700;font-size:.85rem}
.lager-model{font-family:var(--font-mono);font-size:.6rem;color:var(--text-dim)}
.lager-stock{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;color:var(--gold);min-width:80px;text-align:right}
.lager-actions{display:flex;gap:.3rem}

/* Bestellungen */
.order-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);margin-bottom:1rem;overflow:hidden}
.order-header{padding:.75rem 1rem;background:var(--bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.order-id{font-family:var(--font-mono);font-size:.65rem;color:var(--gold)}
.order-meta{display:flex;gap:1rem;font-family:var(--font-mono);font-size:.6rem;color:var(--text-dim)}
.order-body{padding:1rem}
.order-customer{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.order-field{display:flex;flex-direction:column}
.order-field .field-label{font-family:var(--font-mono);font-size:.55rem;color:var(--text-dim);text-transform:uppercase;margin-bottom:.2rem}
.order-field .field-value{font-weight:500;font-size:.8rem}
.order-items-table{width:100%;font-family:var(--font-mono);font-size:.75rem;margin-bottom:.5rem}
.order-items-table td{padding:.3rem 0;border-bottom:1px solid var(--border)}
.order-total-row{display:flex;justify-content:space-between;padding-top:.5rem;font-weight:700;color:var(--gold);font-family:var(--font-mono)}
.order-actions{padding:.75rem 1rem;border-top:1px solid var(--border);display:flex;gap:.4rem;justify-content:flex-end;background:var(--bg);flex-wrap:wrap}

/* Kasse */
.txn-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem .8rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.4rem;gap:1rem;flex-wrap:wrap}
.txn-info{display:flex;flex-direction:column;min-width:180px}
.txn-desc{font-weight:600;font-size:.8rem}
.txn-meta{font-family:var(--font-mono);font-size:.6rem;color:var(--text-dim)}
.txn-amount{font-family:var(--font-mono);font-weight:700;font-size:1rem;min-width:110px;text-align:right}
.txn-amount.pos{color:var(--green)}
.txn-amount.neg{color:var(--red)}

/* User */
.user-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem;gap:1rem;flex-wrap:wrap}
.user-info{display:flex;flex-direction:column;min-width:180px}
.user-name{font-weight:700;font-size:.85rem}
.user-meta{font-family:var(--font-mono);font-size:.6rem;color:var(--text-dim);display:flex;gap:1rem;flex-wrap:wrap}
.user-perms{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.3rem}
.perm-tag{font-family:var(--font-mono);font-size:.55rem;padding:.1rem .4rem;border-radius:999px;background:var(--bg);border:1px solid var(--cc,var(--border));color:var(--cc,var(--text-dim))}
.user-actions{display:flex;gap:.3rem}

/* Login */
.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem;background:radial-gradient(ellipse at center,var(--bg-panel),var(--bg))}
.login-box{width:100%;max-width:400px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem;box-shadow:var(--shadow)}
.login-header{text-align:center;margin-bottom:2rem}
.login-header h1{font-size:1.2rem;letter-spacing:.1em;color:var(--green);text-transform:uppercase;margin-bottom:.5rem}
.login-header p{color:var(--text-dim);font-family:var(--font-mono);font-size:.7rem}
.login-form .btn{width:100%;margin-top:.5rem}
.login-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);font-size:.65rem}

/* Modal */
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:var(--trans)}
.modal-overlay.active{opacity:1;visibility:visible}
.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;transform:translateY(20px);transition:var(--trans)}
.modal-overlay.active .modal{transform:translateY(0)}
.modal-header{padding:1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.modal-header h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green)}
.modal-close{background:none;border:none;color:var(--text-dim);font-size:1.5rem;cursor:pointer}
.modal-body{padding:1rem}
.modal-footer{padding:1rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.5rem}

/* Responsive */
@media (max-width:768px){
  .shop-header,.portal-header{flex-direction:column;align-items:flex-start}
  .form-row{grid-template-columns:1fr}
  .shop-grid{grid-template-columns:1fr}
  .stat-bar{flex-direction:column}.stat-item{width:100%}
  .user-row,.lager-item,.txn-row{flex-direction:column;align-items:flex-start}
  .user-actions,.lager_actions,.cart-actions{width:100%;justify-content:flex-end}
}