/* =====================================================
   PAXPOST24 - DESIGN SYSTEM
   Navy (#001025) + Teal (#2dd4bf)
   Wird zu style.css hinzugefuegt (nicht ersetzt!)
===================================================== */

:root{
  --pp-bg:         #001025;
  --pp-bg-alt:     #001a3a;
  --pp-primary:    #2dd4bf;
  --pp-primary-dk: #0d9488;
  --pp-primary-lt: #5eead4;
  --pp-text:       #e4ecf7;
  --pp-muted:      rgba(255,255,255,.45);
  --pp-dim:        rgba(255,255,255,.25);
  --pp-border:     rgba(255,255,255,.08);
  --pp-surface:    rgba(255,255,255,.02);
  --pp-surface-hi: rgba(255,255,255,.04);
  --pp-ok:         #34d399;
  --pp-warn:       #fbbf24;
  --pp-err:        #fca5a5;
  --pp-info:       #93c5fd;
  --pp-radius:     14px;
  --pp-radius-sm:  10px;
  --pp-radius-lg:  22px;
  --pp-shadow:     0 10px 30px rgba(0,0,0,.25);
  --pp-font:       -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
body{background:var(--pp-bg);color:var(--pp-text);font-family:var(--pp-font);margin:0;min-height:100vh;-webkit-font-smoothing:antialiased}

/* NAV */
.pp-nav{display:flex;align-items:center;padding:10px 16px;background:rgba(0,16,37,.94);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);position:sticky;top:0;z-index:200;border-bottom:1px solid var(--pp-border);gap:8px}
.pp-logo{display:flex;align-items:center;gap:8px;color:var(--pp-text);text-decoration:none}
.pp-logo img{height:34px;border-radius:8px}
.pp-nm{font-size:15px;font-weight:900;background:linear-gradient(135deg,var(--pp-primary),var(--pp-primary-lt));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.pp-nav-right{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pp-back,.pp-sel{padding:7px 10px;background:var(--pp-surface-hi);border:1px solid var(--pp-border);border-radius:8px;color:var(--pp-text);font:600 11px sans-serif;text-decoration:none;cursor:pointer}
.pp-sel{max-width:90px}
.pp-sel option{background:var(--pp-bg-alt)}

/* Layout */
.pp-wrap{max-width:1200px;margin:0 auto;padding:14px 14px 120px}
.pp-head{margin-bottom:16px}
.pp-h1{font-size:24px;font-weight:900;margin:0 0 4px;background:linear-gradient(135deg,#fff,var(--pp-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.pp-sub{font-size:12px;color:var(--pp-muted);line-height:1.5}

/* Buttons */
.pp-btn{padding:11px 18px;border-radius:var(--pp-radius-sm);font:700 12px sans-serif;cursor:pointer;border:none;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:transform .15s}
.pp-btn:active{transform:scale(.97)}
.pp-btn-pri{background:linear-gradient(135deg,var(--pp-primary),var(--pp-primary-dk));color:var(--pp-bg);box-shadow:0 4px 14px rgba(45,212,191,.22)}
.pp-btn-sec{background:var(--pp-surface-hi);color:var(--pp-text);border:1px solid var(--pp-border)}
.pp-btn-green{background:rgba(16,185,129,.1);color:var(--pp-ok);border:1px solid rgba(16,185,129,.25)}
.pp-btn-red{background:rgba(239,68,68,.1);color:var(--pp-err);border:1px solid rgba(239,68,68,.25)}
.pp-btn-warn{background:rgba(245,158,11,.1);color:var(--pp-warn);border:1px solid rgba(245,158,11,.25)}
.pp-btn-row{display:flex;gap:8px;flex-wrap:wrap}

/* Forms */
.pp-fg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.pp-fg.full{grid-template-columns:1fr}
.pp-fg.tri{grid-template-columns:1fr 1fr 1fr}
.pp-fg label{font-size:10px;color:var(--pp-muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px;display:block;margin-bottom:5px}
.pp-fg input,.pp-fg select,.pp-fg textarea{width:100%;padding:11px 13px;background:var(--pp-surface-hi);border:1px solid var(--pp-border);border-radius:var(--pp-radius-sm);color:var(--pp-text);font:12px sans-serif}
.pp-fg input:focus,.pp-fg select:focus,.pp-fg textarea:focus{border-color:rgba(45,212,191,.4);outline:none;box-shadow:0 0 0 3px rgba(45,212,191,.08)}
.pp-fg textarea{min-height:80px;resize:vertical;font-family:sans-serif}
.pp-fg select option{background:var(--pp-bg-alt)}

/* Upload */
.pp-upl-btn{padding:11px 16px;background:rgba(45,212,191,.08);border:1px solid rgba(45,212,191,.28);border-radius:var(--pp-radius-sm);color:var(--pp-primary);font:700 11px sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.pp-upl-btn input{display:none}
.pp-thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.pp-th{width:80px;height:80px;object-fit:cover;border-radius:var(--pp-radius-sm);border:1px solid rgba(255,255,255,.1);background:var(--pp-surface-hi);display:block}

/* Signature */
.pp-sigpad-wrap{border:1px dashed rgba(45,212,191,.35);border-radius:var(--pp-radius);padding:12px;background:rgba(45,212,191,.02)}
.pp-sigpad-wrap label{font-size:10px;color:var(--pp-muted);text-transform:uppercase;font-weight:700;letter-spacing:.4px;display:block;margin-bottom:8px}
.pp-sigpad-wrap canvas{width:100%;height:170px;background:#fff;border-radius:var(--pp-radius-sm);cursor:crosshair;touch-action:none;display:block}
.pp-sig-acts{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}

/* Card */
.pp-card{background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-radius);padding:16px}
.pp-card h2{font-size:16px;font-weight:900;margin:0 0 12px;display:flex;align-items:center;gap:10px}
.pp-card h2 .pp-ico{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(45,212,191,.1);border-radius:10px;color:var(--pp-primary);font-size:15px}

/* KPI Card */
.pp-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px}
.pp-kpi{background:linear-gradient(180deg,rgba(45,212,191,.04),var(--pp-surface));border:1px solid var(--pp-border);border-radius:var(--pp-radius);padding:16px;position:relative;overflow:hidden}
.pp-kpi::before{content:"";position:absolute;top:-20px;right:-20px;width:80px;height:80px;background:radial-gradient(circle,rgba(45,212,191,.08),transparent);border-radius:50%}
.pp-kpi h3{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--pp-muted);margin:0 0 8px;font-weight:700}
.pp-kpi .v{font-size:26px;font-weight:900;color:var(--pp-primary);line-height:1}
.pp-kpi .sv{font-size:10px;color:var(--pp-muted);margin-top:6px}

/* Chips */
.pp-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font:700 10px sans-serif;background:var(--pp-surface-hi);color:var(--pp-text);border:1px solid var(--pp-border)}
.pp-chip.ok{background:rgba(16,185,129,.1);color:var(--pp-ok);border-color:rgba(16,185,129,.25)}
.pp-chip.warn{background:rgba(245,158,11,.1);color:var(--pp-warn);border-color:rgba(245,158,11,.25)}
.pp-chip.err{background:rgba(239,68,68,.1);color:var(--pp-err);border-color:rgba(239,68,68,.25)}
.pp-chip.info{background:rgba(59,130,246,.1);color:var(--pp-info);border-color:rgba(59,130,246,.25)}
.pp-chip.primary{background:rgba(45,212,191,.1);color:var(--pp-primary);border-color:rgba(45,212,191,.25)}

/* Tabs */
.pp-tabs{display:flex;gap:4px;margin-bottom:14px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.pp-tabs::-webkit-scrollbar{display:none}
.pp-tab{padding:11px 14px;text-align:center;border-radius:var(--pp-radius-sm);font:700 11px sans-serif;cursor:pointer;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-muted);white-space:nowrap;display:flex;align-items:center;gap:6px;flex-shrink:0}
.pp-tab.on{border-color:var(--pp-primary);background:rgba(45,212,191,.08);color:var(--pp-primary)}

/* Modal */
.pp-modal{display:none;position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.8);align-items:center;justify-content:center;padding:16px;overflow-y:auto;animation:pp-fadeIn .2s}
.pp-modal.on{display:flex}
@keyframes pp-fadeIn{from{opacity:0}to{opacity:1}}
.pp-mc{background:var(--pp-bg);border:1px solid rgba(255,255,255,.1);border-radius:var(--pp-radius-lg);max-width:600px;width:100%;max-height:92vh;overflow-y:auto;padding:24px;margin:auto;animation:pp-slideUp .3s cubic-bezier(.4,0,.2,1)}
@keyframes pp-slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* Skeleton */
.pp-skeleton{background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-radius);overflow:hidden;height:320px}
.pp-skeleton .sk-img{height:160px;background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.08),rgba(255,255,255,.03));background-size:200% 100%;animation:pp-shimmer 1.6s infinite}
.pp-skeleton .sk-body{padding:16px;display:flex;flex-direction:column;gap:10px}
.pp-skeleton .sk-line{height:12px;background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.08),rgba(255,255,255,.03));background-size:200% 100%;animation:pp-shimmer 1.6s infinite;border-radius:4px}
.pp-skeleton .sk-line.short{width:60%}
.pp-skeleton .sk-line.long{width:100%;height:18px}
@keyframes pp-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Toggle Switch */
.pp-toggle{position:relative;width:46px;height:26px;background:rgba(255,255,255,.1);border-radius:13px;cursor:pointer;transition:.2s;flex-shrink:0;border:none;padding:0}
.pp-toggle::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 2px 4px rgba(0,0,0,.2)}
.pp-toggle.on{background:var(--pp-primary)}
.pp-toggle.on::after{left:23px}
.pp-sw-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-radius);margin-bottom:8px;gap:12px}
.pp-sw-row .txt .l{font-size:13px;font-weight:700}
.pp-sw-row .txt .d{font-size:10px;color:var(--pp-muted);margin-top:2px}

/* Responsive */
@media(max-width:640px){
  .pp-wrap{padding:10px 10px 120px}
  .pp-kpi-grid{grid-template-columns:1fr 1fr}
  .pp-fg,.pp-fg.tri{grid-template-columns:1fr}
  .pp-nav-right .pp-back span{display:none}
  .pp-h1{font-size:20px}
  .pp-card{padding:14px}
}
/* ===== PHASE 9b: FOTO-CARDS + ANIMATIONEN ===== */

/* Fade-in beim Scrollen */
.pp-reveal{opacity:0;transform:translateY(20px);transition:all .8s cubic-bezier(.25,.46,.45,.94)}
.pp-reveal.shown{opacity:1;transform:translateY(0)}
.pp-reveal.delay-1{transition-delay:.1s}
.pp-reveal.delay-2{transition-delay:.2s}
.pp-reveal.delay-3{transition-delay:.3s}

/* Hover-Lift */
.pp-lift{transition:transform .3s cubic-bezier(.25,.46,.45,.94),box-shadow .3s}
.pp-lift:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.25)}

/* Photo-Card (mit echtem Foto als Header) */
.pp-photo-card{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:18px;
  overflow:hidden;
  cursor:pointer;
  transition:all .35s cubic-bezier(.25,.46,.45,.94);
  display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
  position:relative;
}
.pp-photo-card:hover{transform:translateY(-6px);border-color:rgba(45,212,191,.4);box-shadow:0 18px 40px rgba(0,0,0,.3)}
.pp-photo-card .ph{
  aspect-ratio:16/10;
  background-size:cover;
  background-position:center;
  position:relative;
  overflow:hidden;
}
.pp-photo-card .ph::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(0,16,37,.7) 100%);
  transition:opacity .3s;
}
.pp-photo-card:hover .ph{transform:scale(1.05);transition:transform .6s ease}
.pp-photo-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pp-photo-card:hover .ph img{transform:scale(1.08)}
.pp-photo-card .ph-badge{
  position:absolute;top:12px;right:12px;
  background:rgba(0,16,37,.8);
  backdrop-filter:blur(10px);
  color:#2dd4bf;
  padding:4px 10px;
  border-radius:20px;
  font:800 10px sans-serif;
  z-index:2;
}
.pp-photo-card .body{padding:14px 16px 16px}
.pp-photo-card h3{margin:0 0 4px;font-size:14px;font-weight:800}
.pp-photo-card p{margin:0;font-size:11px;color:rgba(255,255,255,.55);line-height:1.5}

/* Hero mit Background-Image */
.pp-hero-img{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  margin-bottom:20px;
  min-height:340px;
  display:flex;align-items:center;
}
.pp-hero-img::before{
  content:"";
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  z-index:1;
}
.pp-hero-img::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,16,37,.85) 0%,rgba(0,16,37,.55) 50%,rgba(13,148,136,.6) 100%);
  z-index:2;
}
.pp-hero-img .content{
  position:relative;z-index:3;
  padding:40px 36px;
  max-width:640px;
}
.pp-hero-img h1{
  margin:0 0 10px;
  font-size:38px;font-weight:900;
  line-height:1.1;
  background:linear-gradient(135deg,#fff,#2dd4bf);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.pp-hero-img p{
  margin:0 0 18px;
  font-size:15px;
  color:rgba(255,255,255,.85);
  line-height:1.5;
  max-width:500px;
}

/* Floating animation for icons/decorations */
@keyframes ppFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
.pp-float{animation:ppFloat 3s ease-in-out infinite}
.pp-float.slow{animation-duration:5s}
.pp-float.fast{animation-duration:2s}

/* Shimmer effect */
@keyframes ppShimmer{
  0%{background-position:-800px 0}
  100%{background-position:800px 0}
}
.pp-shimmer{
  background:linear-gradient(90deg,rgba(255,255,255,.03) 0%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.03) 100%);
  background-size:1200px 100%;
  animation:ppShimmer 2s infinite linear;
}

/* Photo Grid */
.pp-photo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:16px;
}

/* Stats row with animated numbers */
.pp-stats-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:14px;
  padding:24px;
  background:linear-gradient(135deg,rgba(45,212,191,.06),rgba(0,16,37,.4));
  border:1px solid rgba(45,212,191,.15);
  border-radius:20px;
  margin-bottom:20px;
}
.pp-stat{text-align:center}
.pp-stat .num{font:900 32px sans-serif;background:linear-gradient(135deg,#2dd4bf,#0d9488);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.pp-stat .lbl{font:700 10px sans-serif;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}

/* Avatar Stack */
.pp-avatars{display:inline-flex}
.pp-avatars img{
  width:32px;height:32px;
  border-radius:50%;
  border:2px solid #001025;
  margin-left:-8px;
  object-fit:cover;
}
.pp-avatars img:first-child{margin-left:0}

/* Testimonial */
.pp-testimonial{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:18px;
  padding:22px;
  display:flex;gap:14px;
  transition:all .3s;
}
.pp-testimonial:hover{border-color:rgba(45,212,191,.2);transform:translateY(-3px)}
.pp-testimonial img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}
.pp-testimonial .quote{font-size:13px;color:rgba(255,255,255,.8);line-height:1.6;font-style:italic;margin:0 0 8px}
.pp-testimonial .author{font-size:11px;font-weight:800;color:#2dd4bf}
.pp-testimonial .author small{color:rgba(255,255,255,.4);font-weight:normal;display:block;margin-top:2px;font-size:10px}

/* Icon tile with image */
.pp-icon-tile{
  width:56px;height:56px;
  border-radius:14px;
  background-size:cover;background-position:center;
  flex-shrink:0;
  box-shadow:0 4px 14px rgba(0,0,0,.3);
}

/* Responsive Hero */
@media(max-width:640px){
  .pp-hero-img{min-height:280px}
  .pp-hero-img .content{padding:28px 22px}
  .pp-hero-img h1{font-size:26px}
  .pp-hero-img p{font-size:13px}
}
/* ===== PHASE 9a v2: MODERNE NAV + AI-BUBBLE ===== */
.pp-logo img{
  height:38px;
  width:auto;
  transition:transform .3s ease;
  filter:drop-shadow(0 2px 8px rgba(45,212,191,.2));
}
.pp-logo:hover img{transform:scale(1.05)}

.pp-admin-tag{
  display:inline-block;
  padding:3px 10px;
  background:linear-gradient(135deg,#dc2626,#991b1b);
  color:#fff;
  border-radius:12px;
  font:900 9px sans-serif;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-left:10px;
  box-shadow:0 2px 8px rgba(220,38,38,.3);
  vertical-align:middle;
}

.pp-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 14px 9px 12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  color:rgba(255,255,255,.75);
  font:700 12px sans-serif;
  text-decoration:none;
  transition:all .2s ease;
  backdrop-filter:blur(10px);
}
.pp-back:hover{
  background:rgba(45,212,191,.1);
  border-color:rgba(45,212,191,.3);
  color:#2dd4bf;
  transform:translateX(-2px);
}
.pp-back:before{
  content:"";
  width:0;height:0;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  border-right:6px solid currentColor;
  transition:transform .2s;
}
.pp-back:hover:before{transform:translateX(-2px)}
@media(max-width:500px){
  .pp-back span{display:none}
  .pp-back{padding:9px 12px}
}

.pp-ai-bubble-v2{
  position:fixed;
  bottom:22px;
  right:22px;
  z-index:9999;
  cursor:grab;
  user-select:none;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
.pp-ai-bubble-v2:active{cursor:grabbing}
.pp-ai-bubble-v2.dragging{transition:none;transform:scale(1.05)}

.pp-ai-bubble-v2 .bub-btn{
  width:58px;height:58px;
  border-radius:50%;
  background:linear-gradient(135deg,#2dd4bf 0%,#0d9488 100%);
  color:#001025;
  font-size:28px;
  border:none;
  cursor:inherit;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(45,212,191,.4),0 0 0 0 rgba(45,212,191,.5);
  position:relative;
  animation:bubPulse 2.5s ease-in-out infinite;
  transition:box-shadow .3s;
  font-weight:900;
}
@keyframes bubPulse{
  0%,100%{box-shadow:0 10px 30px rgba(45,212,191,.4),0 0 0 0 rgba(45,212,191,.5)}
  50%{box-shadow:0 10px 30px rgba(45,212,191,.4),0 0 0 12px rgba(45,212,191,0)}
}
.pp-ai-bubble-v2 .bub-btn:hover{
  box-shadow:0 14px 40px rgba(45,212,191,.5),0 0 0 6px rgba(45,212,191,.2);
  animation:none;
}

.pp-ai-panel{
  position:absolute;
  bottom:68px;right:0;
  width:320px;
  max-width:calc(100vw - 40px);
  background:rgba(0,16,37,.96);
  backdrop-filter:blur(20px);
  border:1px solid rgba(45,212,191,.25);
  border-radius:18px;
  padding:18px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  opacity:0;
  transform:translateY(10px) scale(.95);
  pointer-events:none;
  transition:all .3s cubic-bezier(.34,1.56,.64,1);
}
.pp-ai-bubble-v2.on .pp-ai-panel{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.pp-ai-panel h3{
  margin:0 0 4px;
  font-size:15px;
  font-weight:900;
  background:linear-gradient(135deg,#fff,#2dd4bf);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.pp-ai-panel p{
  margin:0 0 12px;
  font-size:12px;
  color:rgba(255,255,255,.65);
  line-height:1.5;
}
.pp-ai-panel .quick-btns{display:flex;flex-direction:column;gap:6px}
.pp-ai-panel .q-btn{
  padding:10px 12px;
  background:rgba(45,212,191,.06);
  border:1px solid rgba(45,212,191,.15);
  border-radius:10px;
  color:#e4ecf7;
  font:700 11px sans-serif;
  cursor:pointer;
  text-align:left;
  transition:all .2s;
  display:flex;align-items:center;gap:8px;
  text-decoration:none;
}
.pp-ai-panel .q-btn:hover{
  background:rgba(45,212,191,.12);
  border-color:rgba(45,212,191,.4);
  transform:translateX(3px);
}
.pp-ai-panel .q-btn .ic{font-size:16px}
.pp-ai-panel .close-x{
  position:absolute;top:10px;right:10px;
  width:26px;height:26px;
  background:rgba(255,255,255,.04);
  border:none;border-radius:50%;
  color:rgba(255,255,255,.5);
  cursor:pointer;font-size:12px;
}
.pp-ai-panel .close-x:hover{background:rgba(255,255,255,.08);color:#fff}
/* ===== PHASE 9c: UPLOAD WIDGET v2 ===== */
.pp-upl{
  border:2px dashed rgba(45,212,191,.2);
  border-radius:18px;
  padding:20px;
  transition:all .25s;
  background:rgba(45,212,191,.02);
  position:relative;
}
.pp-upl.dragover{
  border-color:#2dd4bf;
  background:rgba(45,212,191,.08);
  transform:scale(1.01);
}
.pp-upl-empty{
  text-align:center;
  padding:10px 10px 4px;
}
.pp-upl-icon{
  width:72px;height:72px;
  margin:0 auto 10px;
  background:linear-gradient(135deg,rgba(45,212,191,.1),rgba(45,212,191,.04));
  border:1px solid rgba(45,212,191,.2);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#2dd4bf;
  box-shadow:0 4px 20px rgba(45,212,191,.15);
}
.pp-upl-title{
  font:800 14px sans-serif;
  color:#e4ecf7;
  margin-bottom:4px;
}
.pp-upl-sub{
  font:11px sans-serif;
  color:rgba(255,255,255,.45);
  margin-bottom:14px;
}
.pp-upl-btns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  max-width:340px;
  margin:0 auto;
}
.pp-upl-cam,.pp-upl-gal{
  padding:16px 14px;
  border:none;
  border-radius:14px;
  cursor:pointer;
  font:900 13px sans-serif;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  transition:all .2s;
}
.pp-upl-cam{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;
  box-shadow:0 6px 20px rgba(45,212,191,.3);
}
.pp-upl-cam:active{transform:scale(.97)}
.pp-upl-cam:hover{box-shadow:0 8px 28px rgba(45,212,191,.45);transform:translateY(-1px)}
.pp-upl-gal{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  color:#e4ecf7;
}
.pp-upl-gal:hover{background:rgba(255,255,255,.08);border-color:rgba(45,212,191,.3)}
.pp-upl-gal:active{transform:scale(.97)}
.pp-upl-cam .ic,.pp-upl-gal .ic{font-size:28px;line-height:1}

/* Preview Grid */
.pp-upl-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:10px;
}
.pp-upl-thumb{
  aspect-ratio:1;
  border-radius:12px;
  overflow:hidden;
  position:relative;
  background:rgba(0,0,0,.3);
  border:1px solid rgba(255,255,255,.05);
  transition:all .2s;
}
.pp-upl-thumb.uploaded{border-color:rgba(16,185,129,.4)}
.pp-upl-thumb.upload-err{border-color:rgba(239,68,68,.5);animation:shake .4s}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.pp-upl-thumb img,.pp-upl-thumb video{
  width:100%;height:100%;
  object-fit:cover;
  cursor:pointer;
}
.pp-upl-play{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:36px;height:36px;
  background:rgba(0,0,0,.6);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:14px;pointer-events:none;
}
.pp-upl-file-ic{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-size:40px;opacity:.6;
}
.pp-upl-del{
  position:absolute;
  top:6px;right:6px;
  width:26px;height:26px;
  background:rgba(239,68,68,.9);
  backdrop-filter:blur(8px);
  color:#fff;
  border:none;border-radius:50%;
  font:900 14px sans-serif;
  cursor:pointer;
  z-index:2;
  box-shadow:0 2px 8px rgba(0,0,0,.3);
  transition:all .15s;
}
.pp-upl-del:hover{background:#ef4444;transform:scale(1.1)}
.pp-upl-meta{
  position:absolute;bottom:4px;left:4px;
  padding:2px 8px;
  background:rgba(0,0,0,.7);
  backdrop-filter:blur(4px);
  border-radius:8px;
  font:700 9px sans-serif;
  color:rgba(255,255,255,.8);
}
.pp-upl-progress{
  position:absolute;bottom:0;left:0;right:0;
  height:4px;background:rgba(0,0,0,.4);
  z-index:3;
}
.pp-upl-progress .bar{
  height:100%;
  background:linear-gradient(90deg,#2dd4bf,#22c55e);
  width:0%;
  transition:width .2s ease;
}
.pp-upl-add{
  margin-top:10px;
  padding:10px 20px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  color:rgba(255,255,255,.7);
  font:700 12px sans-serif;
  cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;
  transition:all .2s;
}
.pp-upl-add:hover{border-color:rgba(45,212,191,.3);color:#2dd4bf}
.pp-upl-add span{font-size:16px;font-weight:900}

/* ===== LIGHTBOX ===== */
.pp-lightbox{
  position:fixed;inset:0;z-index:99999;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .3s;
}
.pp-lightbox.on{opacity:1}
.pp-lightbox-bg{
  position:absolute;inset:0;
  background:rgba(0,0,0,.92);
  backdrop-filter:blur(10px);
  cursor:pointer;
}
.pp-lightbox img{
  position:relative;
  max-width:94vw;max-height:94vh;
  border-radius:12px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  animation:zoomIn .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes zoomIn{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
.pp-lightbox-close{
  position:absolute;
  top:20px;right:20px;
  width:44px;height:44px;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(10px);
  border:none;border-radius:50%;
  color:#fff;font-size:22px;
  cursor:pointer;
}
.pp-lightbox-close:hover{background:rgba(255,255,255,.25)}

/* ===== CHAT v2 (WhatsApp-Style) ===== */
.wc-root{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:0;
  height:calc(100vh - 130px);
  min-height:520px;
  background:rgba(255,255,255,.01);
  border:1px solid rgba(255,255,255,.06);
  border-radius:18px;
  overflow:hidden;
}
@media(max-width:800px){
  .wc-root{grid-template-columns:1fr;position:relative}
  .wc-list{position:absolute;inset:0;z-index:2}
  .wc-list.hidden{display:none}
  .wc-view{position:absolute;inset:0;z-index:3}
  .wc-view.hidden{display:none}
  .wc-back-m{display:inline-flex!important}
}
.wc-list{
  background:rgba(0,16,37,.4);
  border-right:1px solid rgba(255,255,255,.05);
  display:flex;flex-direction:column;
}
.wc-list-hdr{
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.05);
  background:rgba(0,16,37,.6);
}
.wc-list-hdr h3{margin:0 0 8px;font:900 15px sans-serif;color:#fff}
.wc-list-hdr input{
  width:100%;padding:8px 14px 8px 36px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  color:#e4ecf7;font:12px sans-serif;outline:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%238691a8' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:12px center;background-size:14px;
}
.wc-items{flex:1;overflow-y:auto;padding:4px}
.wc-item{
  display:grid;
  grid-template-columns:48px 1fr auto;
  gap:12px;
  padding:12px;
  cursor:pointer;
  border-radius:12px;
  transition:background .15s;
  align-items:center;
}
.wc-item:hover{background:rgba(255,255,255,.03)}
.wc-item.active{background:rgba(45,212,191,.08)}
.wc-avatar{
  width:48px;height:48px;
  border-radius:50%;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  display:flex;align-items:center;justify-content:center;
  color:#001025;font:900 18px sans-serif;
  position:relative;
  flex-shrink:0;
}
.wc-avatar .online{
  position:absolute;bottom:2px;right:2px;
  width:12px;height:12px;
  background:#22c55e;
  border:2px solid #001025;
  border-radius:50%;
}
.wc-info{min-width:0}
.wc-info .n{
  font:700 13px sans-serif;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  color:#fff;margin-bottom:3px;
}
.wc-info .last{
  font-size:11px;color:rgba(255,255,255,.5);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  display:flex;align-items:center;gap:4px;
}
.wc-info .last .tick{color:#34d399;font-size:10px}
.wc-meta{text-align:right;min-width:50px}
.wc-meta .t{font-size:10px;color:rgba(255,255,255,.4);margin-bottom:4px}
.wc-meta .unread{
  display:inline-block;
  background:#2dd4bf;color:#001025;
  font:900 10px sans-serif;
  min-width:20px;height:20px;
  padding:0 7px;border-radius:10px;
  text-align:center;line-height:20px;
}

/* Chat View */
.wc-view{display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(0,16,37,.3),rgba(0,16,37,.5))}
.wc-vhdr{
  padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(0,16,37,.6);
  backdrop-filter:blur(10px);
  display:flex;align-items:center;gap:12px;
}
.wc-back-m{
  display:none;
  padding:6px 10px;
  background:rgba(255,255,255,.05);
  border:none;
  color:#2dd4bf;
  border-radius:8px;
  cursor:pointer;font-size:14px;
}
.wc-vhdr .info{flex:1;min-width:0}
.wc-vhdr .n{font:800 14px sans-serif;color:#fff;margin-bottom:2px}
.wc-vhdr .s{font:10px sans-serif;color:rgba(255,255,255,.5)}
.wc-vhdr .s .ty{color:#22c55e;font-weight:700}
.wc-vhdr .acts{display:flex;gap:4px}
.wc-vhdr .acts a{
  padding:6px 10px;
  background:rgba(255,255,255,.04);
  border-radius:8px;
  color:rgba(255,255,255,.7);
  font:700 10px sans-serif;
  text-decoration:none;
  transition:all .15s;
  display:inline-flex;align-items:center;gap:4px;
}
.wc-vhdr .acts a:hover{background:rgba(45,212,191,.1);color:#2dd4bf}

.wc-body{
  flex:1;
  overflow-y:auto;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:2px;
  background:
    radial-gradient(circle at 20% 20%,rgba(45,212,191,.03),transparent 40%),
    radial-gradient(circle at 80% 80%,rgba(139,92,246,.02),transparent 40%);
}

.wc-date{
  align-self:center;
  padding:4px 14px;
  background:rgba(0,16,37,.85);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.05);
  color:rgba(255,255,255,.5);
  font:700 10px sans-serif;
  border-radius:12px;
  margin:12px 0 6px;
  letter-spacing:.5px;
}

.wc-msg{
  max-width:72%;
  padding:8px 12px 5px;
  border-radius:14px;
  font-size:13px;line-height:1.4;
  word-break:break-word;
  position:relative;
  animation:msgIn .25s ease;
}
@keyframes msgIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.wc-msg.out{
  align-self:flex-end;
  background:linear-gradient(135deg,#0d9488,#14b8a6);
  color:#fff;
  border-bottom-right-radius:4px;
  margin-left:28%;
  margin-top:2px;
}
.wc-msg.in{
  align-self:flex-start;
  background:rgba(255,255,255,.06);
  color:#e4ecf7;
  border-bottom-left-radius:4px;
  margin-right:28%;
  margin-top:2px;
}
/* Chain-style: consecutive same-direction messages without space */
.wc-msg.chain{margin-top:1px}
.wc-msg.out.chain-end{border-bottom-right-radius:14px}
.wc-msg.in.chain-end{border-bottom-left-radius:14px}
.wc-msg .t{
  font-size:9px;
  opacity:.7;
  margin-top:3px;
  display:flex;
  align-items:center;
  gap:3px;
  justify-content:flex-end;
}
.wc-msg.out .t .tick{color:#7dd3fc}
.wc-msg.out .t .tick.read{color:#60a5fa}
.wc-msg img,.wc-msg video{
  max-width:100%;
  border-radius:10px;
  margin:2px 0;
  cursor:pointer;
  display:block;
}
.wc-msg audio{width:100%;max-width:250px;margin-top:4px}

/* Typing indicator */
.wc-typing{
  align-self:flex-start;
  padding:10px 14px;
  background:rgba(255,255,255,.06);
  border-radius:14px;
  border-bottom-left-radius:4px;
  display:inline-flex;gap:3px;
  margin:6px 0;
}
.wc-typing span{
  width:6px;height:6px;
  background:rgba(255,255,255,.5);
  border-radius:50%;
  animation:typing 1.4s infinite ease-in-out;
}
.wc-typing span:nth-child(2){animation-delay:.2s}
.wc-typing span:nth-child(3){animation-delay:.4s}
@keyframes typing{0%,80%,100%{transform:scale(.6);opacity:.3}40%{transform:scale(1);opacity:1}}

/* Empty */
.wc-empty{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  height:100%;
  color:rgba(255,255,255,.35);
  text-align:center;padding:40px;
}
.wc-empty .ic{font-size:56px;opacity:.3;margin-bottom:14px}
.wc-empty h4{margin:0 0 6px;font-size:14px;color:rgba(255,255,255,.6)}
.wc-empty p{margin:0;font-size:12px;max-width:260px;line-height:1.5}

/* Input */
.wc-input{
  padding:10px 12px;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(0,16,37,.5);
  backdrop-filter:blur(10px);
  display:flex;gap:6px;align-items:flex-end;
}
.wc-input textarea{
  flex:1;
  padding:10px 14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  color:#e4ecf7;font:13px/1.4 sans-serif;
  resize:none;min-height:42px;max-height:120px;outline:none;
  transition:border-color .15s;
}
.wc-input textarea:focus{border-color:rgba(45,212,191,.4)}
.wc-input button{
  width:42px;height:42px;
  border-radius:50%;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
  transition:all .15s;
}
.wc-input .attach{
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.7);
}
.wc-input .attach:hover{background:rgba(45,212,191,.1);color:#2dd4bf}
.wc-input .rec{
  background:rgba(239,68,68,.1);
  color:#fca5a5;
}
.wc-input .rec.on{
  background:#ef4444;color:#fff;
  animation:pulseRec 1s infinite;
}
@keyframes pulseRec{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.5)}50%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}
.wc-input .send{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;font-weight:900;
  box-shadow:0 4px 12px rgba(45,212,191,.3);
}
.wc-input .send:hover{box-shadow:0 6px 18px rgba(45,212,191,.5)}
.wc-input .send:active{transform:scale(.95)}
/* ===== PHASE 9d: ORDERS MODERN ===== */
.or-hero{
  background:linear-gradient(135deg,rgba(45,212,191,.08),rgba(0,16,37,.4)),
    url('https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?w=1200&q=80&auto=format&fit=crop') center/cover;
  border-radius:22px;
  padding:28px 26px;
  margin-bottom:16px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(45,212,191,.15);
}
.or-hero::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,16,37,.85),rgba(0,16,37,.5));
  z-index:1;
}
.or-hero .content{position:relative;z-index:2}
.or-hero h1{
  margin:0 0 6px;
  font-size:28px;font-weight:900;
  background:linear-gradient(135deg,#fff,#2dd4bf);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.or-hero p{margin:0;font-size:13px;color:rgba(255,255,255,.7);line-height:1.5}

.or-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;
  margin-bottom:14px;
}
.or-stat{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  padding:14px;
  position:relative;
  overflow:hidden;
  transition:all .2s;
}
.or-stat:hover{border-color:rgba(45,212,191,.25);transform:translateY(-2px)}
.or-stat::before{
  content:"";position:absolute;top:-6px;right:-6px;
  width:50px;height:50px;
  border-radius:50%;
}
.or-stat.all::before{background:radial-gradient(circle,rgba(45,212,191,.15),transparent)}
.or-stat.active::before{background:radial-gradient(circle,rgba(251,191,36,.15),transparent)}
.or-stat.done::before{background:radial-gradient(circle,rgba(16,185,129,.15),transparent)}
.or-stat.earn::before{background:radial-gradient(circle,rgba(16,185,129,.15),transparent)}
.or-stat.spent::before{background:radial-gradient(circle,rgba(59,130,246,.15),transparent)}
.or-stat .ic{font-size:18px;margin-bottom:4px;display:block}
.or-stat .v{font-size:22px;font-weight:900;line-height:1;position:relative}
.or-stat.all .v{color:#2dd4bf}
.or-stat.active .v{color:#fbbf24}
.or-stat.done .v{color:#34d399}
.or-stat.earn .v{color:#34d399}
.or-stat.spent .v{color:#93c5fd}
.or-stat .l{font:700 9px sans-serif;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:4px;letter-spacing:.4px}

.or-filters{
  display:flex;
  gap:6px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:6px 0 12px;
  margin-bottom:8px;
  -webkit-overflow-scrolling:touch;
}
.or-filters::-webkit-scrollbar{display:none}
.or-chip{
  padding:8px 14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  color:rgba(255,255,255,.6);
  font:700 11px sans-serif;
  cursor:pointer;
  white-space:nowrap;
  flex-shrink:0;
  transition:all .15s;
  display:inline-flex;align-items:center;gap:6px;
}
.or-chip .c{
  padding:1px 7px;
  background:rgba(255,255,255,.08);
  border-radius:8px;
  font:900 9px sans-serif;
}
.or-chip:hover{border-color:rgba(45,212,191,.3);color:#2dd4bf}
.or-chip.on{
  background:rgba(45,212,191,.1);
  border-color:#2dd4bf;
  color:#2dd4bf;
}
.or-chip.on .c{background:rgba(45,212,191,.2)}

.or-search{
  display:flex;gap:6px;margin-bottom:12px;align-items:center;
}
.or-search input{
  flex:1;
  padding:10px 16px 10px 40px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  color:#e4ecf7;
  font:12px sans-serif;
  outline:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%238691a8' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:14px center;
  background-size:16px;
}
.or-search input:focus{border-color:rgba(45,212,191,.4)}
.or-search button{
  padding:10px 16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  color:rgba(255,255,255,.7);
  font:700 11px sans-serif;
  cursor:pointer;
}
.or-search button:hover{border-color:rgba(45,212,191,.3);color:#2dd4bf}

.or-list{display:flex;flex-direction:column;gap:10px}
.or-card{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:16px;
  transition:all .25s;
  position:relative;
  overflow:hidden;
}
.or-card:hover{
  transform:translateY(-2px);
  border-color:rgba(45,212,191,.2);
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
.or-card .or-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
  flex-wrap:wrap;
}
.or-card .or-roles{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:4px}
.or-role{
  padding:2px 8px;
  border-radius:8px;
  font:900 8px sans-serif;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.or-role.buyer{background:rgba(59,130,246,.12);color:#93c5fd;border:1px solid rgba(59,130,246,.25)}
.or-role.courier{background:rgba(139,92,246,.12);color:#c4b5fd;border:1px solid rgba(139,92,246,.25)}
.or-role.seller{background:rgba(245,158,11,.12);color:#fbbf24;border:1px solid rgba(245,158,11,.25)}

.or-card .or-id{font:10px monospace;color:rgba(255,255,255,.35);margin-bottom:3px}
.or-card .or-route{
  font:800 15px sans-serif;
  margin-top:4px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.or-card .or-route .arr{
  color:#2dd4bf;
  font-size:14px;
  display:inline-flex;
  align-items:center;
}
.or-card .or-route .arr::before,
.or-card .or-route .arr::after{
  content:"";
  display:inline-block;
  width:20px;height:1px;
  background:#2dd4bf;
  margin:0 4px;
  opacity:.4;
}
.or-card .or-route .arr::after{opacity:.8}

.or-status{
  padding:5px 12px;
  border-radius:12px;
  font:800 10px sans-serif;
  text-transform:uppercase;
  letter-spacing:.5px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.or-status::before{
  content:"";
  width:7px;height:7px;
  border-radius:50%;
  background:currentColor;
}
.st-pending{background:rgba(245,158,11,.1);color:#fbbf24;border:1px solid rgba(245,158,11,.2)}
.st-accepted{background:rgba(59,130,246,.1);color:#93c5fd;border:1px solid rgba(59,130,246,.2)}
.st-pickup{background:rgba(139,92,246,.1);color:#c4b5fd;border:1px solid rgba(139,92,246,.2)}
.st-transit{background:rgba(45,212,191,.1);color:#2dd4bf;border:1px solid rgba(45,212,191,.2);animation:stPulse 2s infinite}
@keyframes stPulse{0%,100%{box-shadow:0 0 0 0 rgba(45,212,191,.4)}50%{box-shadow:0 0 0 6px rgba(45,212,191,0)}}
.st-delivered{background:rgba(16,185,129,.1);color:#34d399;border:1px solid rgba(16,185,129,.2)}
.st-cancelled{background:rgba(239,68,68,.1);color:#fca5a5;border:1px solid rgba(239,68,68,.2)}

.or-card .or-body{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:flex-start;
  margin-bottom:12px;
}
.or-card .or-items{
  font-size:12px;
  color:rgba(255,255,255,.6);
  line-height:1.5;
}
.or-card .or-items .lbl{
  font:700 9px sans-serif;
  text-transform:uppercase;
  color:rgba(255,255,255,.3);
  letter-spacing:.5px;
  margin-bottom:4px;
  display:block;
}
.or-card .or-price{
  font:900 22px sans-serif;
  color:#2dd4bf;
  text-align:right;
  line-height:1;
}
.or-card .or-price .net{
  font:700 11px sans-serif;
  color:#34d399;
  display:block;
  margin-top:4px;
}
.or-card .or-meta{
  display:flex;gap:14px;
  font:11px sans-serif;
  color:rgba(255,255,255,.45);
  flex-wrap:wrap;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.04);
  margin-top:4px;
}
.or-card .or-meta b{color:#fbbf24;font-family:monospace;font-weight:800}
.or-card .or-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.04);
}
.or-card .or-actions a,.or-card .or-actions button{
  padding:7px 14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  color:rgba(255,255,255,.7);
  font:700 11px sans-serif;
  text-decoration:none;
  cursor:pointer;
  transition:all .15s;
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.or-card .or-actions a:hover,.or-card .or-actions button:hover{
  border-color:rgba(45,212,191,.3);
  color:#2dd4bf;
  transform:translateY(-1px);
}
.or-card .or-actions .primary{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;border:none;
}
.or-card .or-actions .primary:hover{color:#001025;box-shadow:0 4px 12px rgba(45,212,191,.3)}
.or-card .or-actions .warn{
  border-color:rgba(251,191,36,.3);
  color:#fbbf24;
}
.or-card .or-actions .warn:hover{color:#fbbf24;border-color:#fbbf24}

.or-empty{
  text-align:center;padding:60px 20px;
  color:rgba(255,255,255,.4);
}
.or-empty .ic{font-size:60px;margin-bottom:14px;opacity:.3}
.or-empty h3{margin:0 0 6px;font-size:16px;color:rgba(255,255,255,.6)}
.or-empty p{margin:0;font-size:12px;max-width:320px;line-height:1.6;margin-left:auto;margin-right:auto}

@media(max-width:600px){
  .or-card .or-body{grid-template-columns:1fr;gap:8px}
  .or-card .or-price{text-align:left}
  .or-card .or-route{font-size:14px}
}

/* ===== PHASE 9d: TRACKING MODERN ===== */
.tk-wrap{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  margin:-10px -8px 0;
  height:calc(100vh - 120px);
  min-height:560px;
  background:#001025;
}
@media(max-width:800px){
  .tk-wrap{
    margin:-10px -12px 0;
    border-radius:0;
    height:calc(100vh - 110px);
  }
}
#tkMap{
  width:100%;height:100%;
  border-radius:20px;
}
@media(max-width:800px){#tkMap{border-radius:0}}

.tk-eta-banner{
  position:absolute;
  top:20px;left:50%;
  transform:translateX(-50%);
  z-index:400;
  background:rgba(0,16,37,.95);
  backdrop-filter:blur(20px);
  border:1px solid rgba(45,212,191,.3);
  border-radius:18px;
  padding:14px 22px;
  display:flex;
  align-items:center;
  gap:18px;
  box-shadow:0 10px 40px rgba(0,0,0,.4);
  max-width:calc(100% - 40px);
}
.tk-eta-banner .val{
  font:900 24px sans-serif;
  color:#2dd4bf;
  line-height:1;
}
.tk-eta-banner .unit{font:700 10px sans-serif;color:rgba(255,255,255,.5);margin-top:3px}
.tk-eta-banner .sep{width:1px;height:34px;background:rgba(255,255,255,.1)}
.tk-eta-banner .dist{font:900 17px sans-serif;color:#fbbf24;line-height:1}
.tk-eta-banner .follow-btn{
  padding:6px 12px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  color:rgba(255,255,255,.7);
  font:700 10px sans-serif;
  cursor:pointer;
  display:flex;align-items:center;gap:4px;
}
.tk-eta-banner .follow-btn.on{
  background:rgba(45,212,191,.1);
  border-color:#2dd4bf;
  color:#2dd4bf;
}

.tk-sheet{
  position:absolute;
  right:14px;bottom:14px;top:90px;
  width:340px;
  z-index:400;
  display:flex;flex-direction:column;gap:10px;
  pointer-events:none;
}
.tk-sheet > *{pointer-events:auto}

@media(max-width:800px){
  .tk-sheet{
    left:0;right:0;top:auto;
    width:auto;
    max-height:52vh;
    overflow-y:auto;
    padding:0 12px 12px;
    background:linear-gradient(180deg,transparent,rgba(0,16,37,.95));
  }
  .tk-eta-banner{
    top:14px;
    padding:10px 16px;
    gap:12px;
    border-radius:14px;
  }
  .tk-eta-banner .val{font-size:18px}
  .tk-eta-banner .dist{font-size:14px}
}

.tk-order{
  background:rgba(0,16,37,.92);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:14px 16px;
  box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.tk-order .oid{
  font-family:monospace;
  font-size:9px;color:rgba(255,255,255,.35);
  margin-bottom:3px;
}
.tk-order .rt{
  font:800 13px sans-serif;
  display:flex;align-items:center;gap:8px;
  margin-bottom:6px;
  flex-wrap:wrap;
}
.tk-order .rt .from,.tk-order .rt .to{
  padding:2px 8px;
  background:rgba(255,255,255,.04);
  border-radius:8px;
  font-size:11px;
}
.tk-order .rt .arr{color:#2dd4bf}
.tk-order .status{
  padding:3px 10px;
  border-radius:10px;
  font:800 9px sans-serif;
  text-transform:uppercase;
  letter-spacing:.4px;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.tk-order .status::before{
  content:"";width:6px;height:6px;border-radius:50%;background:currentColor;
}

.tk-timeline{
  background:rgba(0,16,37,.92);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:14px 16px;
}
.tk-tl-title{
  font:700 10px sans-serif;
  color:rgba(255,255,255,.4);
  text-transform:uppercase;
  letter-spacing:.5px;
  margin-bottom:10px;
}
.tk-step{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:10px;
  position:relative;
  padding-bottom:12px;
}
.tk-step:last-child{padding-bottom:0}
.tk-step::after{
  content:"";
  position:absolute;
  left:12px;top:28px;
  width:2px;height:calc(100% - 16px);
  background:rgba(255,255,255,.08);
}
.tk-step:last-child::after{display:none}
.tk-step.done::after{background:rgba(16,185,129,.4)}
.tk-step.active::after{
  background:linear-gradient(180deg,#2dd4bf,rgba(255,255,255,.08));
}
.tk-step .dot{
  width:26px;height:26px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;
  z-index:1;
  position:relative;
  color:rgba(255,255,255,.5);
}
.tk-step.done .dot{
  background:#22c55e;
  color:#001025;
}
.tk-step.active .dot{
  background:#2dd4bf;
  color:#001025;
  box-shadow:0 0 0 3px rgba(45,212,191,.2);
  animation:tkPulse 2s infinite;
}
@keyframes tkPulse{
  0%,100%{box-shadow:0 0 0 3px rgba(45,212,191,.2)}
  50%{box-shadow:0 0 0 8px rgba(45,212,191,.05)}
}
.tk-step .txt .h{font:700 12px sans-serif;color:rgba(255,255,255,.8)}
.tk-step.done .txt .h,.tk-step.active .txt .h{color:#fff}
.tk-step .txt .s{font-size:10px;color:rgba(255,255,255,.35);margin-top:2px}
.tk-step.done .txt .s{color:#34d399}

.tk-courier{
  background:rgba(0,16,37,.92);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:12px 14px;
  display:flex;gap:12px;align-items:center;
}
.tk-courier .av{
  width:48px;height:48px;
  border-radius:50%;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  display:flex;align-items:center;justify-content:center;
  color:#001025;font:900 18px sans-serif;
  flex-shrink:0;
  position:relative;
}
.tk-courier .av .online{
  position:absolute;bottom:2px;right:2px;
  width:12px;height:12px;
  background:#22c55e;
  border:2px solid #001025;
  border-radius:50%;
}
.tk-courier .info{flex:1;min-width:0}
.tk-courier .n{font:800 13px sans-serif;color:#fff}
.tk-courier .s{font-size:10px;color:rgba(255,255,255,.5);margin-top:2px}
.tk-courier .r{
  color:#fbbf24;
  font-size:11px;
  font-weight:700;
  margin-top:2px;
}
.tk-courier .call{
  width:40px;height:40px;
  border-radius:50%;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
  border:none;
  cursor:pointer;
  font-size:16px;
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;
  box-shadow:0 4px 14px rgba(34,197,94,.3);
  transition:all .15s;
  flex-shrink:0;
}
.tk-courier .call:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(34,197,94,.5)}

.tk-actions{
  display:flex;gap:6px;
}
.tk-actions a{
  flex:1;
  padding:12px 14px;
  background:rgba(0,16,37,.92);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  color:rgba(255,255,255,.75);
  font:800 12px sans-serif;
  text-decoration:none;
  text-align:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  transition:all .15s;
}
.tk-actions a:hover{border-color:rgba(45,212,191,.3);color:#2dd4bf}
.tk-actions .primary{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;border:none;
  box-shadow:0 4px 14px rgba(45,212,191,.25);
}
.tk-actions .warn{
  background:linear-gradient(135deg,#fbbf24,#f59e0b);
  color:#001025;border:none;
}

/* Pulsing Courier Marker */
.tk-marker{
  width:38px;height:38px;
  background:#22c55e;
  border:3px solid #fff;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;color:#fff;
  box-shadow:0 0 0 0 rgba(34,197,94,.6);
  animation:mkPulse 1.8s infinite;
}
@keyframes mkPulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.6),0 0 12px rgba(34,197,94,.4)}
  70%{box-shadow:0 0 0 20px rgba(34,197,94,0),0 0 12px rgba(34,197,94,.4)}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0),0 0 12px rgba(34,197,94,.4)}
}
.tk-pin{
  padding:4px 10px;
  border-radius:12px;
  font:800 10px sans-serif;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
}
.tk-pin-from{background:#f59e0b;color:#fff}
.tk-pin-to{background:#2dd4bf;color:#001025}
/* ===== PHASE 9e: ANZEIGEN MODERN ===== */
.az-hero{
  background:linear-gradient(135deg,rgba(45,212,191,.1),rgba(0,16,37,.5)),
    url('https://images.unsplash.com/photo-1553413077-190dd305871c?w=1200&q=80&auto=format&fit=crop') center/cover;
  border-radius:22px;
  padding:28px 26px;
  margin-bottom:16px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(45,212,191,.15);
  min-height:180px;
  display:flex;align-items:center;
}
.az-hero::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,16,37,.88),rgba(0,16,37,.5),rgba(13,148,136,.3));
  z-index:1;
}
.az-hero::after{
  content:"";
  position:absolute;top:-80px;right:-80px;width:300px;height:300px;
  background:radial-gradient(circle,rgba(45,212,191,.2),transparent);
  border-radius:50%;
  z-index:1;
}
.az-hero .content{position:relative;z-index:2;max-width:600px}
.az-hero .tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 12px;
  background:rgba(45,212,191,.15);
  border:1px solid rgba(45,212,191,.3);
  border-radius:20px;
  font:800 10px sans-serif;
  color:#2dd4bf;
  text-transform:uppercase;letter-spacing:.5px;
  margin-bottom:10px;
}
.az-hero .tag .dot{
  width:6px;height:6px;border-radius:50%;
  background:#2dd4bf;
  box-shadow:0 0 8px #2dd4bf;
  animation:ppFloat 1.5s infinite;
}
.az-hero h1{
  margin:0 0 6px;
  font-size:28px;font-weight:900;
  background:linear-gradient(135deg,#fff,#2dd4bf);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.az-hero p{margin:0;font-size:13px;color:rgba(255,255,255,.75);line-height:1.5}

.az-type-bar{
  display:flex;gap:6px;
  overflow-x:auto;
  scrollbar-width:none;
  margin-bottom:12px;
  padding-bottom:2px;
  -webkit-overflow-scrolling:touch;
}
.az-type-bar::-webkit-scrollbar{display:none}
.az-tc{
  padding:10px 16px;
  border-radius:14px;
  font:800 11px sans-serif;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
  color:rgba(255,255,255,.6);
  white-space:nowrap;flex-shrink:0;
  display:inline-flex;align-items:center;gap:6px;
  transition:all .2s;
}
.az-tc:hover{border-color:rgba(45,212,191,.3);transform:translateY(-1px)}
.az-tc.on{
  background:linear-gradient(135deg,rgba(45,212,191,.1),rgba(45,212,191,.04));
  border-color:#2dd4bf;
  color:#2dd4bf;
  box-shadow:0 4px 12px rgba(45,212,191,.15);
}
.az-tc .ic{font-size:14px}
.az-tc .c{
  padding:2px 7px;
  background:rgba(255,255,255,.06);
  border-radius:8px;
  font:900 9px sans-serif;
  margin-left:2px;
}
.az-tc.on .c{background:rgba(45,212,191,.15)}

.az-ctrl{
  display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center;
}
.az-ctrl .search-box{
  flex:1;min-width:220px;position:relative;
}
.az-ctrl .search-box input{
  width:100%;
  padding:10px 16px 10px 40px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  color:#e4ecf7;font:12px sans-serif;
  outline:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%238691a8' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:14px center;background-size:16px;
}
.az-ctrl .search-box input:focus{border-color:rgba(45,212,191,.4)}

.az-view-toggle{
  display:flex;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:3px;
}
.az-view-toggle button{
  padding:7px 12px;
  background:transparent;
  border:none;
  color:rgba(255,255,255,.5);
  cursor:pointer;
  border-radius:10px;
  font:800 11px sans-serif;
  display:inline-flex;align-items:center;gap:4px;
  transition:all .15s;
}
.az-view-toggle button.on{
  background:rgba(45,212,191,.1);
  color:#2dd4bf;
}

.az-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:14px;
}
.az-list{
  display:flex;flex-direction:column;gap:8px;
}
.az-list .az-card{
  display:grid;
  grid-template-columns:80px 1fr auto;
  gap:14px;align-items:center;
}
.az-list .az-card .card-photo{
  aspect-ratio:1;border-radius:12px;
}

.az-card{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  overflow:hidden;
  cursor:pointer;
  transition:all .3s cubic-bezier(.25,.46,.45,.94);
  position:relative;
}
.az-card:hover{
  transform:translateY(-4px);
  border-color:rgba(45,212,191,.35);
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}
.az-card .card-photo{
  aspect-ratio:16/9;
  background-size:cover;background-position:center;
  position:relative;overflow:hidden;
}
.az-card .card-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(0,16,37,.75) 100%);
}
.az-card .type-badge{
  position:absolute;top:10px;left:10px;z-index:2;
  padding:3px 10px;
  background:rgba(0,16,37,.75);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  font:800 9px sans-serif;
  text-transform:uppercase;letter-spacing:.4px;
  display:inline-flex;align-items:center;gap:4px;
}
.type-shop{color:#93c5fd;border-color:rgba(59,130,246,.3)}
.type-paket{color:#c4b5fd;border-color:rgba(139,92,246,.3)}
.type-global{color:#34d399;border-color:rgba(16,185,129,.3)}
.type-reise{color:#fbbf24;border-color:rgba(245,158,11,.3)}

.az-card .urgent-badge{
  position:absolute;top:10px;right:10px;z-index:2;
  padding:3px 10px;
  background:rgba(239,68,68,.9);
  color:#fff;
  border-radius:10px;
  font:900 9px sans-serif;
  text-transform:uppercase;letter-spacing:.4px;
  display:inline-flex;align-items:center;gap:4px;
  box-shadow:0 2px 8px rgba(239,68,68,.3);
  animation:urgentPulse 1.8s infinite;
}
@keyframes urgentPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}

.az-card .card-body{padding:14px 16px 16px}
.az-card .card-route{
  font:800 13px sans-serif;margin-bottom:6px;
  display:flex;align-items:center;gap:8px;
  flex-wrap:wrap;
}
.az-card .card-route .arr{color:#2dd4bf}
.az-card .card-desc{
  font-size:11px;
  color:rgba(255,255,255,.55);
  line-height:1.5;
  margin-bottom:8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.az-card .card-meta{
  display:flex;gap:10px;flex-wrap:wrap;
  font-size:10px;
  color:rgba(255,255,255,.45);
  margin-bottom:10px;
}
.az-card .card-foot{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding-top:10px;border-top:1px solid rgba(255,255,255,.04);
}
.az-card .card-price{
  font:900 18px sans-serif;
  color:#2dd4bf;
  line-height:1;
}
.az-card .card-price .sub{
  font:700 9px sans-serif;
  color:rgba(255,255,255,.4);
  margin-top:2px;
  display:block;
}
.az-card .card-btn{
  padding:8px 16px;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;
  border:none;border-radius:10px;
  font:900 10px sans-serif;
  cursor:pointer;
  transition:all .15s;
  text-decoration:none;
  display:inline-flex;align-items:center;gap:4px;
}
.az-card .card-btn:hover{box-shadow:0 4px 14px rgba(45,212,191,.35);transform:translateY(-1px)}

#azMap{
  height:600px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}

/* ===== PHASE 9e: SHOP HERO ===== */
.shop-hero-new{
  background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(0,16,37,.5)),
    url('https://images.unsplash.com/photo-1542838132-92c53300491e?w=1200&q=80&auto=format&fit=crop') center/cover;
  border-radius:22px;
  padding:28px 26px;
  margin-bottom:16px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(59,130,246,.15);
  min-height:200px;
  display:flex;align-items:center;
}
.shop-hero-new::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,16,37,.9),rgba(0,16,37,.5),rgba(29,78,216,.3));
  z-index:1;
}
.shop-hero-new::after{
  content:"";position:absolute;top:-60px;right:-60px;width:280px;height:280px;
  background:radial-gradient(circle,rgba(59,130,246,.2),transparent);
  border-radius:50%;z-index:1;
}
.shop-hero-new .content{position:relative;z-index:2;max-width:520px}
.shop-hero-new .tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 12px;
  background:rgba(59,130,246,.15);
  border:1px solid rgba(59,130,246,.3);
  border-radius:20px;
  font:800 10px sans-serif;
  color:#93c5fd;
  text-transform:uppercase;letter-spacing:.5px;
  margin-bottom:10px;
}
.shop-hero-new h1{
  margin:0 0 6px;
  font-size:30px;font-weight:900;
  background:linear-gradient(135deg,#fff,#93c5fd);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.shop-hero-new p{margin:0 0 12px;font-size:13px;color:rgba(255,255,255,.8);line-height:1.5}
.shop-hero-new .stats{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}
.shop-hero-new .stat{font:10px sans-serif;color:rgba(255,255,255,.6)}
.shop-hero-new .stat b{color:#fff;font-weight:900;font-size:15px;display:block}

/* Shop Category Cards Upgrade */
.pp-cat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:12px;
}
.pp-cat-card{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  overflow:hidden;
  cursor:pointer;
  transition:all .3s cubic-bezier(.25,.46,.45,.94);
  text-decoration:none;color:inherit;
  display:block;
  position:relative;
}
.pp-cat-card:hover{
  transform:translateY(-5px) scale(1.02);
  border-color:rgba(45,212,191,.4);
  box-shadow:0 14px 32px rgba(0,0,0,.25);
}
.pp-cat-card .cat-photo{
  aspect-ratio:1;
  background-size:cover;background-position:center;
  position:relative;
  transition:transform .5s;
}
.pp-cat-card:hover .cat-photo{transform:scale(1.08)}
.pp-cat-card .cat-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 30%,rgba(0,16,37,.85) 100%);
}
.pp-cat-card .cat-name{
  position:absolute;bottom:12px;left:12px;right:12px;
  font:900 14px sans-serif;
  color:#fff;
  z-index:2;
  text-shadow:0 2px 4px rgba(0,0,0,.5);
}
.pp-cat-card .cat-count{
  position:absolute;top:10px;right:10px;
  padding:3px 10px;
  background:rgba(0,16,37,.7);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  font:800 10px sans-serif;
  color:#2dd4bf;
  z-index:2;
}
/* ===== PHASE 9f: ACCOUNT PAGES ===== */

/* ID-Verify Wizard */
.idv-hero{
  background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(0,16,37,.4));
  border:1px solid rgba(139,92,246,.25);
  border-radius:22px;
  padding:24px 26px;
  margin-bottom:16px;
  display:flex;gap:20px;align-items:center;flex-wrap:wrap;
}
.idv-hero .illus{
  width:100px;height:100px;flex-shrink:0;
  background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(139,92,246,.08));
  border:1px solid rgba(139,92,246,.3);
  border-radius:20px;
  display:flex;align-items:center;justify-content:center;
  font-size:52px;
}
.idv-hero .txt{flex:1;min-width:200px}
.idv-hero h1{
  margin:0 0 6px;font-size:22px;font-weight:900;
  background:linear-gradient(135deg,#fff,#c4b5fd);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.idv-hero p{margin:0;font-size:12px;color:rgba(255,255,255,.7);line-height:1.55}

.idv-status{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 12px;border-radius:20px;
  font:800 10px sans-serif;text-transform:uppercase;letter-spacing:.4px;
  margin-top:8px;
}
.idv-status.pending{background:rgba(251,191,36,.1);color:#fbbf24;border:1px solid rgba(251,191,36,.25)}
.idv-status.submitted{background:rgba(59,130,246,.1);color:#93c5fd;border:1px solid rgba(59,130,246,.25)}
.idv-status.approved{background:rgba(16,185,129,.1);color:#34d399;border:1px solid rgba(16,185,129,.25)}
.idv-status.rejected{background:rgba(239,68,68,.1);color:#fca5a5;border:1px solid rgba(239,68,68,.25)}

.idv-steps{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:10px;margin-bottom:16px;
  position:relative;
}
.idv-steps::before{
  content:"";position:absolute;
  top:18px;left:10%;right:10%;height:2px;
  background:rgba(255,255,255,.06);z-index:0;
}
.idv-step{
  position:relative;z-index:1;
  text-align:center;
}
.idv-step .n{
  width:36px;height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
  border:2px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.5);
  display:flex;align-items:center;justify-content:center;
  font:900 13px sans-serif;
  margin:0 auto 6px;
  transition:all .3s;
}
.idv-step.active .n{
  background:#8b5cf6;border-color:#a78bfa;color:#fff;
  box-shadow:0 0 0 4px rgba(139,92,246,.15);
}
.idv-step.done .n{
  background:#22c55e;border-color:#22c55e;color:#fff;
}
.idv-step .lbl{
  font:700 10px sans-serif;
  color:rgba(255,255,255,.5);
  text-transform:uppercase;letter-spacing:.3px;
}
.idv-step.active .lbl{color:#c4b5fd}
.idv-step.done .lbl{color:#34d399}

.idv-card{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:20px;
  margin-bottom:14px;
}
.idv-card h3{
  margin:0 0 12px;font:800 14px sans-serif;
  display:flex;align-items:center;gap:8px;
  color:#c4b5fd;
}
.idv-card .sub{
  font-size:11px;color:rgba(255,255,255,.5);
  margin:0 0 12px;line-height:1.5;
}

/* Deliver-Tools Hero */
.dlt-hero{
  background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(0,16,37,.4)),
    url('https://images.unsplash.com/photo-1566576912321-d58ddd7a6088?w=1200&q=80&auto=format&fit=crop') center/cover;
  border-radius:20px;
  padding:22px 24px;margin-bottom:14px;
  position:relative;overflow:hidden;
  border:1px solid rgba(34,197,94,.2);
  min-height:140px;
  display:flex;align-items:center;
}
.dlt-hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,16,37,.9),rgba(0,16,37,.5));z-index:1;
}
.dlt-hero .content{position:relative;z-index:2;max-width:600px}
.dlt-hero .tag{
  display:inline-block;padding:3px 10px;
  background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);
  border-radius:14px;
  font:800 9px sans-serif;color:#34d399;
  text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;
}
.dlt-hero h1{
  margin:0 0 4px;font-size:22px;font-weight:900;
  background:linear-gradient(135deg,#fff,#34d399);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.dlt-hero p{margin:0;font-size:12px;color:rgba(255,255,255,.7);line-height:1.5}

/* Wallet */
.wal-hero{
  background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(13,148,136,.08)),
    url('https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?w=1200&q=80&auto=format&fit=crop') center/cover;
  border-radius:22px;
  padding:28px 26px;
  margin-bottom:16px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(16,185,129,.25);
  min-height:180px;
}
.wal-hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,16,37,.92),rgba(0,16,37,.55));z-index:1;
}
.wal-hero::after{
  content:"";position:absolute;top:-60px;right:-60px;
  width:280px;height:280px;
  background:radial-gradient(circle,rgba(16,185,129,.2),transparent);
  border-radius:50%;z-index:1;
}
.wal-hero .content{position:relative;z-index:2}
.wal-hero .lbl{
  font:800 10px sans-serif;color:rgba(255,255,255,.5);
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;
}
.wal-hero .balance{
  font:900 40px sans-serif;
  background:linear-gradient(135deg,#fff,#34d399);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  line-height:1;margin-bottom:4px;
}
.wal-hero .sub{font-size:12px;color:rgba(255,255,255,.6)}

.wal-actions{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:14px;
}
.wal-action{
  padding:14px 16px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  cursor:pointer;
  text-align:center;
  text-decoration:none;color:inherit;
  transition:all .2s;
  display:flex;flex-direction:column;align-items:center;gap:4px;
}
.wal-action:hover{border-color:rgba(45,212,191,.3);transform:translateY(-2px)}
.wal-action .ic{font-size:22px;margin-bottom:2px}
.wal-action .h{font:800 12px sans-serif;color:#fff}
.wal-action .s{font-size:10px;color:rgba(255,255,255,.5);margin-top:2px}
.wal-action.deposit{border-color:rgba(34,197,94,.2)}
.wal-action.withdraw{border-color:rgba(59,130,246,.2)}
.wal-action.send{border-color:rgba(168,85,247,.2)}

.wal-tx{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.05);
  border-radius:12px;
  margin-bottom:6px;
  transition:all .15s;
}
.wal-tx:hover{border-color:rgba(255,255,255,.1)}
.wal-tx .ic{
  width:40px;height:40px;
  border-radius:12px;
  background:rgba(255,255,255,.04);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
}
.wal-tx.in .ic{background:rgba(34,197,94,.1);color:#34d399}
.wal-tx.out .ic{background:rgba(239,68,68,.1);color:#fca5a5}
.wal-tx .info{flex:1;min-width:0}
.wal-tx .h{font:700 12px sans-serif;color:#e4ecf7;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wal-tx .s{font-size:10px;color:rgba(255,255,255,.45)}
.wal-tx .amt{font:900 14px sans-serif;white-space:nowrap}
.wal-tx.in .amt{color:#34d399}
.wal-tx.out .amt{color:#fca5a5}
/* ===== PHASE 11b: QR-CODE-SYSTEM ===== */

/* Receipt-Seite (Kaeufer) */
.rcpt-wrap{
  max-width:520px;
  margin:0 auto;
  text-align:center;
}
.rcpt-hero{
  background:linear-gradient(135deg,rgba(45,212,191,.12),rgba(0,16,37,.5));
  border:1px solid rgba(45,212,191,.25);
  border-radius:24px;
  padding:28px 24px;
  margin-bottom:16px;
}
.rcpt-hero .tag{
  display:inline-block;
  padding:4px 12px;
  background:rgba(34,197,94,.15);
  border:1px solid rgba(34,197,94,.3);
  border-radius:20px;
  font:900 10px sans-serif;color:#34d399;
  text-transform:uppercase;letter-spacing:.5px;
  margin-bottom:10px;
}
.rcpt-hero h1{
  margin:0 0 6px;font-size:26px;font-weight:900;
  background:linear-gradient(135deg,#fff,#2dd4bf);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.rcpt-hero p{margin:0;font-size:12px;color:rgba(255,255,255,.7);line-height:1.5}

.qr-card{
  background:#fff;
  border-radius:24px;
  padding:22px;
  margin:0 auto 16px;
  max-width:320px;
  box-shadow:0 20px 60px rgba(45,212,191,.3),0 0 0 1px rgba(45,212,191,.2);
  position:relative;
  animation:qrGlow 3s ease-in-out infinite;
}
@keyframes qrGlow{
  0%,100%{box-shadow:0 20px 60px rgba(45,212,191,.3),0 0 0 1px rgba(45,212,191,.2)}
  50%{box-shadow:0 25px 70px rgba(45,212,191,.45),0 0 0 1px rgba(45,212,191,.4)}
}
.qr-card canvas,.qr-card img{
  display:block;width:100%;height:auto;
}
.qr-code-text{
  text-align:center;font:900 22px monospace;
  color:#001025;
  letter-spacing:4px;
  margin-top:10px;
  padding:8px;
  background:rgba(45,212,191,.08);
  border-radius:8px;
}

.rcpt-info{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:18px 20px;
  margin-bottom:10px;
  text-align:left;
}
.rcpt-info h3{
  margin:0 0 10px;
  font:800 12px sans-serif;
  color:#2dd4bf;
  text-transform:uppercase;letter-spacing:.5px;
}
.rcpt-row{
  display:flex;justify-content:space-between;
  padding:6px 0;font-size:12px;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.rcpt-row:last-child{border:none}
.rcpt-row .lbl{color:rgba(255,255,255,.5)}
.rcpt-row .val{color:#e4ecf7;font-weight:700;text-align:right}
.rcpt-row.total .lbl{color:#fff;font-weight:900}
.rcpt-row.total .val{color:#2dd4bf;font-size:18px}

.rcpt-actions{
  display:grid;grid-template-columns:1fr 1fr;
  gap:8px;margin-bottom:14px;
}
.rcpt-action{
  padding:14px 16px;
  border-radius:14px;font:900 12px sans-serif;
  cursor:pointer;border:none;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  text-decoration:none;color:inherit;
  transition:all .2s;
}
.rcpt-action .ic{font-size:20px}
.rcpt-action.primary{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;
  box-shadow:0 6px 18px rgba(45,212,191,.25);
}
.rcpt-action.primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(45,212,191,.4)}
.rcpt-action.sec{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.8);
}
.rcpt-action.sec:hover{border-color:rgba(45,212,191,.3);color:#2dd4bf}

.rcpt-instructions{
  background:linear-gradient(135deg,rgba(251,191,36,.08),rgba(251,191,36,.02));
  border:1px solid rgba(251,191,36,.2);
  border-radius:14px;
  padding:14px 18px;
  font-size:12px;
  color:rgba(255,255,255,.8);
  line-height:1.55;text-align:left;
}
.rcpt-instructions h4{
  margin:0 0 6px;font-size:11px;color:#fbbf24;
  text-transform:uppercase;letter-spacing:.5px;
}

.rcpt-status-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;border-radius:20px;
  font:900 11px sans-serif;
  text-transform:uppercase;letter-spacing:.5px;
  margin-top:10px;
}
.rcpt-status-badge::before{
  content:"";width:8px;height:8px;border-radius:50%;
  background:currentColor;
}
.rcpt-status-badge.pending{background:rgba(251,191,36,.1);color:#fbbf24;border:1px solid rgba(251,191,36,.3)}
.rcpt-status-badge.delivered{
  background:rgba(16,185,129,.1);color:#34d399;border:1px solid rgba(16,185,129,.3);
  animation:rcptPulse 2s infinite;
}
@keyframes rcptPulse{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.4)}50%{box-shadow:0 0 0 8px rgba(52,211,153,0)}}

/* QR-Scanner (Kurier) */
.qrs-wrap{position:relative;max-width:720px;margin:0 auto}
.qrs-tabs{
  display:flex;gap:4px;margin-bottom:14px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  padding:4px;
}
.qrs-tab{
  flex:1;padding:11px 14px;
  background:transparent;border:none;
  color:rgba(255,255,255,.5);
  font:800 12px sans-serif;
  border-radius:10px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:6px;
  transition:all .15s;
}
.qrs-tab.on{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;box-shadow:0 4px 12px rgba(45,212,191,.25);
}

.qrs-scanner{
  position:relative;
  aspect-ratio:4/3;
  border-radius:20px;overflow:hidden;
  background:#000;
  border:1px solid rgba(255,255,255,.08);
}
.qrs-scanner video{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
.qrs-scanner canvas{display:none}
.qrs-overlay{
  position:absolute;inset:0;
  pointer-events:none;
  display:flex;align-items:center;justify-content:center;
}
.qrs-viewfinder{
  width:70%;max-width:260px;
  aspect-ratio:1;
  border:3px solid rgba(45,212,191,.7);
  border-radius:20px;
  position:relative;
  box-shadow:0 0 0 9999px rgba(0,0,0,.5);
}
.qrs-viewfinder::before{
  content:"";position:absolute;inset:0;
  border-radius:16px;
  background:
    linear-gradient(90deg,#2dd4bf 50%,transparent 50%) top/20px 3px repeat-x,
    linear-gradient(90deg,#2dd4bf 50%,transparent 50%) bottom/20px 3px repeat-x,
    linear-gradient(0deg,#2dd4bf 50%,transparent 50%) left/3px 20px repeat-y,
    linear-gradient(0deg,#2dd4bf 50%,transparent 50%) right/3px 20px repeat-y;
  animation:scanline 2s linear infinite;
}
@keyframes scanline{
  0%{clip-path:inset(0 0 95% 0)}
  50%{clip-path:inset(95% 0 0 0)}
  100%{clip-path:inset(0 0 95% 0)}
}
.qrs-hint{
  position:absolute;
  bottom:20px;left:20px;right:20px;
  text-align:center;
  color:#fff;font:700 12px sans-serif;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(10px);
  padding:8px 16px;border-radius:20px;
  z-index:2;
}

.qrs-result{
  background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(0,16,37,.5));
  border:2px solid rgba(34,197,94,.4);
  border-radius:18px;
  padding:22px;
  margin-top:14px;
  animation:slideIn .3s ease;
}
@keyframes slideIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.qrs-result h3{margin:0 0 8px;color:#34d399;font-size:16px;font-weight:900}
.qrs-result .code-display{
  font:900 28px monospace;
  color:#2dd4bf;letter-spacing:4px;
  text-align:center;
  padding:14px;
  background:rgba(45,212,191,.05);
  border-radius:12px;
  margin:10px 0;
}

.qrs-camera-btn{
  width:100%;
  padding:18px;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;
  border:none;border-radius:16px;
  font:900 14px sans-serif;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:0 10px 28px rgba(45,212,191,.3);
  transition:all .2s;
}
.qrs-camera-btn:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(45,212,191,.45)}
.qrs-camera-btn:active{transform:scale(.98)}

.qrs-manual{
  margin-top:14px;
  padding:14px 16px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
}
.qrs-manual h4{font:800 11px sans-serif;color:rgba(255,255,255,.6);margin:0 0 8px;text-transform:uppercase}
.qrs-manual .code-inputs{
  display:flex;gap:6px;justify-content:center;
}
.qrs-manual .code-inputs input{
  width:48px;height:60px;
  background:rgba(255,255,255,.05);
  border:2px solid rgba(255,255,255,.1);
  border-radius:10px;
  text-align:center;
  font:900 24px monospace;
  color:#e4ecf7;outline:none;
  transition:border-color .15s;
}
.qrs-manual .code-inputs input:focus{border-color:#2dd4bf}
/* ===== PHASE 11c: AI-LIVECHAT BUBBLE ===== */

/* Panel wird groesser fuer Chat */
.pp-ai-bubble-v2.on .pp-ai-panel{
  width:360px;
  max-width:calc(100vw - 30px);
}

.ai-chat-wrap{
  display:flex;
  flex-direction:column;
  height:460px;
  max-height:70vh;
}

.ai-chat-hdr{
  display:flex;
  align-items:center;
  gap:10px;
  padding-bottom:10px;
  margin-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ai-chat-hdr .av{
  width:36px;height:36px;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
  box-shadow:0 0 0 2px rgba(45,212,191,.2);
  position:relative;
  flex-shrink:0;
}
.ai-chat-hdr .av::after{
  content:"";
  position:absolute;
  bottom:0;right:0;
  width:10px;height:10px;
  background:#22c55e;
  border:2px solid #001025;
  border-radius:50%;
}
.ai-chat-hdr .info{flex:1;min-width:0}
.ai-chat-hdr .n{font:900 13px sans-serif;color:#fff}
.ai-chat-hdr .s{font-size:10px;color:rgba(255,255,255,.5)}

.ai-chat-body{
  flex:1;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.1) transparent;
}
.ai-chat-body::-webkit-scrollbar{width:4px}
.ai-chat-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:2px}

.ai-msg{
  max-width:88%;
  padding:9px 13px;
  border-radius:14px;
  font-size:12px;line-height:1.5;
  word-break:break-word;
  animation:aiFadeIn .25s ease;
}
@keyframes aiFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.ai-msg.bot{
  align-self:flex-start;
  background:rgba(255,255,255,.06);
  color:#e4ecf7;
  border-bottom-left-radius:4px;
}
.ai-msg.user{
  align-self:flex-end;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;
  border-bottom-right-radius:4px;
  font-weight:600;
}
.ai-msg .md-link{
  color:#2dd4bf;text-decoration:underline;font-weight:700;
}
.ai-msg.user .md-link{color:#001025}
.ai-msg .md-bold{font-weight:900}
.ai-msg .md-code{
  background:rgba(0,0,0,.25);
  padding:1px 5px;border-radius:4px;
  font-family:monospace;font-size:11px;
}

.ai-typing{
  align-self:flex-start;
  display:inline-flex;gap:3px;
  padding:10px 14px;
  background:rgba(255,255,255,.06);
  border-radius:14px;
  border-bottom-left-radius:4px;
}
.ai-typing span{
  width:5px;height:5px;
  background:rgba(255,255,255,.5);
  border-radius:50%;
  animation:aiTyping 1.4s infinite ease-in-out;
}
.ai-typing span:nth-child(2){animation-delay:.2s}
.ai-typing span:nth-child(3){animation-delay:.4s}
@keyframes aiTyping{
  0%,80%,100%{transform:scale(.6);opacity:.3}
  40%{transform:scale(1);opacity:1}
}

.ai-suggestions{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin-top:6px;
}
.ai-sug{
  padding:6px 10px;
  background:rgba(45,212,191,.08);
  border:1px solid rgba(45,212,191,.2);
  border-radius:14px;
  font:700 10px sans-serif;
  color:#2dd4bf;
  cursor:pointer;
  transition:all .15s;
  text-decoration:none;
  display:inline-block;
}
.ai-sug:hover{
  background:rgba(45,212,191,.15);
  border-color:#2dd4bf;
  transform:translateY(-1px);
}

.ai-chat-input{
  display:flex;
  gap:6px;
  padding-top:10px;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.06);
}
.ai-chat-input textarea{
  flex:1;
  padding:9px 12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  color:#e4ecf7;
  font:12px/1.4 sans-serif;
  resize:none;
  min-height:36px;max-height:80px;
  outline:none;
}
.ai-chat-input textarea:focus{border-color:rgba(45,212,191,.4)}
.ai-chat-input .send-btn{
  width:36px;height:36px;
  border-radius:50%;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;
  border:none;
  cursor:pointer;
  font-size:15px;
  flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;
  transition:all .15s;
  box-shadow:0 3px 10px rgba(45,212,191,.3);
}
.ai-chat-input .send-btn:hover{transform:scale(1.05);box-shadow:0 5px 14px rgba(45,212,191,.45)}
.ai-chat-input .send-btn:disabled{opacity:.4;cursor:not-allowed}

.ai-chat-footer{
  margin-top:8px;
  text-align:center;
  font:700 9px sans-serif;
  color:rgba(255,255,255,.25);
}
.ai-chat-footer a{color:#2dd4bf;text-decoration:none}

.ai-escalate{
  margin-top:6px;
  padding:10px 14px;
  background:linear-gradient(135deg,rgba(251,191,36,.08),rgba(251,191,36,.03));
  border:1px solid rgba(251,191,36,.25);
  border-radius:12px;
  font-size:11px;color:rgba(255,255,255,.8);
  line-height:1.5;
}
.ai-escalate a{
  display:inline-block;margin-top:6px;
  padding:5px 12px;
  background:#fbbf24;color:#001025;
  border-radius:8px;
  font:900 10px sans-serif;
  text-decoration:none;
}

.ai-quick-row{
  display:flex;flex-direction:column;gap:4px;
  margin-top:8px;
  padding:10px;
  background:rgba(255,255,255,.02);
  border-radius:10px;
}
.ai-quick-row .ai-quick-title{
  font:800 9px sans-serif;
  color:rgba(255,255,255,.4);
  text-transform:uppercase;letter-spacing:.4px;
  margin-bottom:4px;
}
.ai-quick-row .ai-quick-btns{
  display:flex;flex-wrap:wrap;gap:4px;
}
/* ===== PHASE 11e: SHOP V2 ===== */

/* Shop V2 Hero */
.s2-hero{
  position:relative;
  background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(0,16,37,.5)),
    url('https://images.unsplash.com/photo-1542838132-92c53300491e?w=1400&q=80&auto=format&fit=crop') center/cover;
  border-radius:24px;
  padding:36px 30px;
  margin-bottom:18px;
  overflow:hidden;
  min-height:220px;
  display:flex;align-items:center;
  border:1px solid rgba(59,130,246,.2);
}
.s2-hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(0,16,37,.92) 0%,rgba(0,16,37,.5) 60%,rgba(29,78,216,.25) 100%);
}
.s2-hero::after{
  content:"";position:absolute;top:-80px;right:-80px;
  width:320px;height:320px;
  background:radial-gradient(circle,rgba(59,130,246,.22),transparent);
  border-radius:50%;z-index:1;
}
.s2-hero-content{position:relative;z-index:2;max-width:680px;width:100%}
.s2-hero .tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 12px;
  background:rgba(45,212,191,.15);
  border:1px solid rgba(45,212,191,.3);
  border-radius:20px;
  font:800 10px sans-serif;color:#2dd4bf;
  text-transform:uppercase;letter-spacing:.5px;
  margin-bottom:10px;
}
.s2-hero .tag .dot{
  width:6px;height:6px;border-radius:50%;
  background:#2dd4bf;box-shadow:0 0 8px #2dd4bf;
  animation:ppFloat 1.5s infinite;
}
.s2-hero h1{
  margin:0 0 8px;
  font-size:32px;font-weight:900;
  background:linear-gradient(135deg,#fff,#93c5fd);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.s2-hero p{margin:0 0 16px;font-size:14px;color:rgba(255,255,255,.8);line-height:1.5}
.s2-loc-bar{
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;padding:8px;
  max-width:460px;
}
.s2-loc-bar input{
  flex:1;min-width:140px;
  padding:10px 14px;
  background:transparent;border:none;
  color:#fff;font:13px sans-serif;outline:none;
}
.s2-loc-bar input::placeholder{color:rgba(255,255,255,.55)}
.s2-loc-bar button{
  padding:10px 16px;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;border:none;border-radius:10px;
  font:900 11px sans-serif;cursor:pointer;
  transition:all .15s;
  display:flex;align-items:center;gap:4px;
}
.s2-loc-bar button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(45,212,191,.35)}
.s2-loc-bar .use-gps{
  padding:10px;background:rgba(45,212,191,.15);
  border:1px solid rgba(45,212,191,.3);
  border-radius:10px;
  color:#2dd4bf;cursor:pointer;font-size:14px;
}
.s2-loc-bar .use-gps:hover{background:rgba(45,212,191,.25)}

/* Steps Indicator */
.s2-steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:8px;margin-bottom:16px;
  position:relative;
  max-width:600px;margin:0 auto 20px;
}
.s2-steps::before{
  content:"";position:absolute;
  top:16px;left:12%;right:12%;height:2px;
  background:rgba(255,255,255,.06);z-index:0;
}
.s2-step{
  position:relative;z-index:1;
  text-align:center;cursor:pointer;
}
.s2-step .n{
  width:32px;height:32px;
  border-radius:50%;
  background:rgba(255,255,255,.04);
  border:2px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.5);
  margin:0 auto 6px;
  display:flex;align-items:center;justify-content:center;
  font:900 12px sans-serif;
  transition:all .3s;
}
.s2-step.active .n{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  border-color:#2dd4bf;color:#001025;
  box-shadow:0 0 0 4px rgba(45,212,191,.15);
}
.s2-step.done .n{
  background:#22c55e;border-color:#22c55e;color:#fff;
}
.s2-step .l{
  font:700 10px sans-serif;color:rgba(255,255,255,.5);
  text-transform:uppercase;letter-spacing:.3px;
}
.s2-step.active .l{color:#2dd4bf}
.s2-step.done .l{color:#34d399}

.s2-panel{display:none;animation:s2Fade .35s ease}
.s2-panel.on{display:block}
@keyframes s2Fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Category Grid V2 */
.s2-cat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:12px;margin-bottom:18px;
}
.s2-cat{
  position:relative;
  aspect-ratio:1;
  border-radius:18px;overflow:hidden;
  cursor:pointer;
  background-size:cover;background-position:center;
  border:1px solid rgba(255,255,255,.08);
  transition:all .35s cubic-bezier(.25,.46,.45,.94);
  text-decoration:none;color:inherit;
}
.s2-cat:hover{
  transform:translateY(-6px) scale(1.03);
  border-color:rgba(45,212,191,.45);
  box-shadow:0 18px 40px rgba(0,0,0,.3);
}
.s2-cat::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(0,16,37,.9) 100%);
  transition:opacity .3s;
}
.s2-cat:hover::before{background:linear-gradient(180deg,transparent 25%,rgba(0,16,37,.88) 100%)}
.s2-cat .name{
  position:absolute;bottom:14px;left:14px;right:14px;
  font:900 14px sans-serif;color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.6);
  z-index:2;
}
.s2-cat .cnt{
  position:absolute;top:10px;right:10px;
  padding:3px 9px;
  background:rgba(0,16,37,.75);backdrop-filter:blur(8px);
  border:1px solid rgba(45,212,191,.3);
  border-radius:10px;
  font:800 9px sans-serif;color:#2dd4bf;
  z-index:2;
}

/* Stores List */
.s2-stores-wrap{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:12px;margin-bottom:18px;
}
.s2-store{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;overflow:hidden;
  cursor:pointer;
  transition:all .25s;text-decoration:none;color:inherit;
}
.s2-store:hover{transform:translateY(-3px);border-color:rgba(45,212,191,.3);box-shadow:0 10px 26px rgba(0,0,0,.2)}
.s2-store .photo{
  aspect-ratio:16/9;
  background-size:cover;background-position:center;
  position:relative;
}
.s2-store .photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(0,16,37,.7) 100%);
}
.s2-store .dist-badge{
  position:absolute;bottom:10px;right:10px;z-index:2;
  padding:3px 8px;
  background:rgba(0,16,37,.8);backdrop-filter:blur(8px);
  color:#2dd4bf;
  border-radius:10px;
  font:800 10px sans-serif;
}
.s2-store .body{padding:14px 16px}
.s2-store h4{margin:0 0 4px;font-size:14px;font-weight:800}
.s2-store .addr{font-size:11px;color:rgba(255,255,255,.55);margin-bottom:6px;line-height:1.4}
.s2-store .meta{display:flex;gap:10px;font-size:10px;color:rgba(255,255,255,.4)}
.s2-store .meta span{display:inline-flex;align-items:center;gap:3px}
.s2-store .meta .rating{color:#fbbf24}

.s2-store.custom{
  display:flex;align-items:center;justify-content:center;
  min-height:180px;
  background:linear-gradient(135deg,rgba(45,212,191,.06),rgba(45,212,191,.02));
  border:2px dashed rgba(45,212,191,.3);
  text-align:center;padding:20px;
}
.s2-store.custom:hover{border-color:#2dd4bf;background:linear-gradient(135deg,rgba(45,212,191,.12),rgba(45,212,191,.04))}
.s2-store.custom .ic{font-size:30px;margin-bottom:8px;color:#2dd4bf}
.s2-store.custom h4{font-size:13px;color:#2dd4bf;margin-bottom:3px}
.s2-store.custom .s{font-size:10px;color:rgba(255,255,255,.5)}

/* Items / Cart Shop */
.s2-content{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:16px;margin-top:14px;
}
@media(max-width:900px){
  .s2-content{grid-template-columns:1fr}
  .s2-cart-side{position:fixed;right:0;bottom:0;left:0;top:auto;max-height:70vh;border-radius:20px 20px 0 0;transform:translateY(calc(100% - 56px));transition:transform .3s;z-index:500}
  .s2-cart-side.on{transform:translateY(0)}
  .s2-cart-peek{display:block!important}
}
.s2-cart-side{
  background:rgba(0,16,37,.8);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:16px;
  position:sticky;top:80px;
  max-height:calc(100vh - 110px);
  display:flex;flex-direction:column;
}
.s2-cart-peek{display:none;padding:10px;text-align:center;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer}
.s2-cart-hdr{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;
}
.s2-cart-hdr h3{margin:0;font:900 14px sans-serif;color:#2dd4bf}
.s2-cart-count{
  background:rgba(45,212,191,.15);color:#2dd4bf;
  padding:2px 9px;border-radius:10px;font:900 10px sans-serif;
}
.s2-cart-items{
  flex:1;overflow-y:auto;
  display:flex;flex-direction:column;gap:6px;
  padding:6px 0;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;
}
.s2-cart-items::-webkit-scrollbar{width:4px}
.s2-cart-items::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08)}
.s2-cart-item{
  display:grid;grid-template-columns:40px 1fr auto;gap:8px;align-items:center;
  padding:6px;border-radius:8px;
  background:rgba(255,255,255,.02);
  font-size:11px;
}
.s2-cart-item .photo{
  width:40px;height:40px;border-radius:8px;
  background-size:cover;background-position:center;
  background-color:rgba(255,255,255,.05);
}
.s2-cart-item .info{min-width:0}
.s2-cart-item .n{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e4ecf7}
.s2-cart-item .p{font-size:10px;color:rgba(255,255,255,.55)}
.s2-cart-item .qty{display:flex;align-items:center;gap:4px}
.s2-cart-item .qty button{
  width:22px;height:22px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  border-radius:6px;color:#e4ecf7;cursor:pointer;
  font:900 12px sans-serif;
}
.s2-cart-item .qty button:hover{border-color:#2dd4bf;color:#2dd4bf}
.s2-cart-item .qty .v{font:900 12px sans-serif;min-width:16px;text-align:center}
.s2-cart-empty{
  text-align:center;padding:24px 10px;
  font-size:11px;color:rgba(255,255,255,.4);
}
.s2-cart-empty .ic{font-size:32px;margin-bottom:8px;opacity:.4}
.s2-cart-sum{
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:10px;margin-top:8px;
}
.s2-sum-row{display:flex;justify-content:space-between;padding:3px 0;font-size:12px}
.s2-sum-row .l{color:rgba(255,255,255,.55)}
.s2-sum-row .v{color:#e4ecf7;font-weight:700}
.s2-sum-row.total{font-size:14px;margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}
.s2-sum-row.total .l{color:#fff;font-weight:900}
.s2-sum-row.total .v{color:#2dd4bf;font-weight:900;font-size:18px}
.s2-checkout-btn{
  margin-top:12px;padding:14px;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);color:#001025;
  border:none;border-radius:14px;
  font:900 13px sans-serif;cursor:pointer;
  width:100%;
  box-shadow:0 6px 18px rgba(45,212,191,.3);
  transition:all .2s;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.s2-checkout-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(45,212,191,.45)}
.s2-checkout-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}

/* Products Grid */
.s2-products{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:10px;
}
.s2-product{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;overflow:hidden;
  cursor:pointer;
  transition:all .2s;
}
.s2-product:hover{border-color:rgba(45,212,191,.3);transform:translateY(-2px)}
.s2-product .photo{
  aspect-ratio:1;
  background-size:cover;background-position:center;
  background-color:rgba(255,255,255,.04);
}
.s2-product .body{padding:10px 12px}
.s2-product .n{font:700 12px sans-serif;color:#e4ecf7;margin-bottom:4px;min-height:32px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.s2-product .p{font:900 14px sans-serif;color:#2dd4bf;margin-bottom:6px}
.s2-product .add{
  width:100%;padding:7px;
  background:rgba(45,212,191,.08);
  border:1px solid rgba(45,212,191,.2);
  color:#2dd4bf;
  border-radius:8px;font:800 11px sans-serif;cursor:pointer;
  transition:all .15s;
}
.s2-product .add:hover{background:#2dd4bf;color:#001025}
.s2-product.in-cart{border-color:#2dd4bf}
.s2-product.in-cart .add{background:#2dd4bf;color:#001025}

.s2-custom-item-box{
  padding:14px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  margin-top:14px;
}
.s2-custom-item-box h4{margin:0 0 10px;font-size:12px;color:rgba(255,255,255,.55)}
.s2-custom-item-box .row{display:grid;grid-template-columns:1fr 80px 90px auto;gap:6px;align-items:center}
.s2-custom-item-box input{
  padding:8px 12px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);border-radius:10px;
  color:#e4ecf7;font:12px sans-serif;outline:none;
}
.s2-custom-item-box input:focus{border-color:#2dd4bf}
.s2-custom-item-box button{
  padding:8px 12px;
  background:#2dd4bf;color:#001025;
  border:none;border-radius:10px;
  font:900 12px sans-serif;cursor:pointer;
}

/* Success */
.s2-success{
  text-align:center;padding:40px 20px;
  animation:s2Success .6s ease;
}
@keyframes s2Success{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.s2-success .circle{
  width:90px;height:90px;
  margin:0 auto 18px;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:44px;color:#fff;
  box-shadow:0 12px 40px rgba(34,197,94,.4);
  animation:s2CircleBounce .6s cubic-bezier(.34,1.56,.64,1);
}
@keyframes s2CircleBounce{0%{transform:scale(0)}60%{transform:scale(1.1)}100%{transform:scale(1)}}
.s2-success h2{margin:0 0 8px;font-size:26px;font-weight:900;color:#fff}
.s2-success p{color:rgba(255,255,255,.65);font-size:13px;margin:0 0 20px;line-height:1.5}
.s2-success .oid{
  display:inline-block;padding:6px 14px;
  background:rgba(45,212,191,.08);border:1px solid rgba(45,212,191,.2);
  border-radius:20px;
  font:900 12px monospace;color:#2dd4bf;
  margin-bottom:20px;
}

/* Address form */
.s2-form-card{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:20px 24px;
  margin-bottom:12px;
}
.s2-form-card h3{
  margin:0 0 14px;font:800 13px sans-serif;
  color:#2dd4bf;text-transform:uppercase;letter-spacing:.5px;
  display:flex;align-items:center;gap:8px;
}

/* Payment methods */
.s2-pay-methods{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:8px;
}
.s2-pay{
  padding:16px 14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  cursor:pointer;text-align:center;
  transition:all .15s;
  position:relative;
}
.s2-pay:hover{border-color:rgba(45,212,191,.3)}
.s2-pay.on{
  background:rgba(45,212,191,.08);
  border-color:#2dd4bf;
  box-shadow:0 0 0 3px rgba(45,212,191,.1);
}
.s2-pay.on::after{
  content:"\2713";
  position:absolute;top:8px;right:8px;
  width:18px;height:18px;
  background:#2dd4bf;color:#001025;
  border-radius:50%;font:900 11px sans-serif;
  display:flex;align-items:center;justify-content:center;
}
.s2-pay .ic{font-size:26px;margin-bottom:4px}
.s2-pay .n{font:800 12px sans-serif}
.s2-pay .s{font:11px sans-serif;color:rgba(255,255,255,.45);margin-top:2px}
/* ===== PHASE 12b: MOBILE NAVIGATION ===== */

/* Burger Button - nur Mobile sichtbar */
.pp-burger{
  display:none;
  width:40px;height:40px;
  border-radius:12px;
  background:rgba(45,212,191,.1);
  border:1px solid rgba(45,212,191,.25);
  cursor:pointer;
  position:relative;
  flex-shrink:0;
  transition:all .2s;
}
.pp-burger:hover{background:rgba(45,212,191,.18)}
.pp-burger span{
  position:absolute;
  left:10px;right:10px;height:2px;
  background:#2dd4bf;border-radius:2px;
  transition:all .25s cubic-bezier(.25,.46,.45,.94);
}
.pp-burger span:nth-child(1){top:13px}
.pp-burger span:nth-child(2){top:19px}
.pp-burger span:nth-child(3){top:25px}
.pp-burger.on span:nth-child(1){top:19px;transform:rotate(45deg)}
.pp-burger.on span:nth-child(2){opacity:0}
.pp-burger.on span:nth-child(3){top:19px;transform:rotate(-45deg)}

/* Mobile Drawer */
.pp-drawer-backdrop{
  position:fixed;inset:0;z-index:9998;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;
  transition:opacity .3s;
}
.pp-drawer-backdrop.on{opacity:1;pointer-events:auto}

.pp-drawer{
  position:fixed;
  top:0;right:-320px;bottom:0;
  width:300px;max-width:85vw;
  background:#001a30;
  border-left:1px solid rgba(45,212,191,.15);
  z-index:9999;
  box-shadow:-10px 0 40px rgba(0,0,0,.4);
  transition:right .35s cubic-bezier(.25,.46,.45,.94);
  display:flex;flex-direction:column;
  overflow-y:auto;
}
.pp-drawer.on{right:0}

.pp-drawer-hdr{
  padding:20px 20px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.pp-drawer-hdr .user{
  display:flex;align-items:center;gap:12px;
}
.pp-drawer-hdr .av{
  width:48px;height:48px;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font:900 18px sans-serif;
  flex-shrink:0;
}
.pp-drawer-hdr .info{min-width:0;flex:1}
.pp-drawer-hdr .name{
  font:900 15px sans-serif;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pp-drawer-hdr .email{
  font-size:11px;color:rgba(255,255,255,.5);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pp-drawer-hdr .kpi-tiny{
  display:flex;gap:8px;margin-top:12px;
}
.pp-drawer-hdr .kpi-tiny .ki{
  flex:1;
  padding:8px 10px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  text-align:center;
}
.pp-drawer-hdr .kpi-tiny .v{font:900 13px sans-serif;color:#2dd4bf}
.pp-drawer-hdr .kpi-tiny .l{font-size:9px;color:rgba(255,255,255,.5);margin-top:2px}

.pp-drawer-sect{padding:14px 10px 6px}
.pp-drawer-sect-title{
  font:800 9px sans-serif;
  color:rgba(255,255,255,.4);
  text-transform:uppercase;letter-spacing:.6px;
  padding:0 10px;margin-bottom:4px;
}
.pp-drawer-item{
  display:flex;align-items:center;gap:14px;
  padding:11px 14px;margin-bottom:2px;
  border-radius:12px;
  color:rgba(255,255,255,.85);
  text-decoration:none;
  font:700 13px sans-serif;
  transition:all .15s;
  cursor:pointer;border:none;background:transparent;
  width:100%;text-align:left;
}
.pp-drawer-item:hover{
  background:rgba(45,212,191,.08);
  color:#2dd4bf;
}
.pp-drawer-item .ic{
  width:22px;font-size:16px;text-align:center;
}
.pp-drawer-item .badge-new{
  margin-left:auto;
  background:#ef4444;color:#fff;
  padding:2px 7px;border-radius:8px;
  font:900 9px sans-serif;
  animation:pulse 2s infinite;
}
.pp-drawer-item.danger{color:#fca5a5}
.pp-drawer-item.danger:hover{background:rgba(239,68,68,.08);color:#f87171}

.pp-drawer-settings{
  padding:10px;
  margin:10px;
  background:rgba(255,255,255,.02);
  border-radius:14px;
}
.pp-drawer-settings .srow{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 4px;gap:8px;
}
.pp-drawer-settings .srow label{
  font:700 11px sans-serif;color:rgba(255,255,255,.65);
}
.pp-drawer-settings select{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:#e4ecf7;
  padding:6px 10px;border-radius:8px;
  font:700 11px sans-serif;
  outline:none;min-width:100px;
}

/* Show burger on Mobile */
@media(max-width:800px){
  .pp-burger{display:inline-block}
  /* Hide selects in main nav on mobile (available in drawer instead) */
  .pp-nav .pp-sel{display:none!important}
}

/* Currency value converted badge */
.pp-curr-converted{
  font-size:.85em;opacity:.7;
}
/* ===== PHASE 12b-FIX: MODERN CHECKOUT (Wolt/DoorDash-Style) ===== */
.s2-chk{
  display:grid;
  grid-template-columns:1fr 380px;
  gap:20px;
  padding-bottom:80px;
}
@media(max-width:900px){
  .s2-chk{grid-template-columns:1fr;padding-bottom:100px}
}

.s2-chk-card{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:20px;
  padding:22px 24px;
  margin-bottom:14px;
  transition:border-color .2s;
}
.s2-chk-card:hover{border-color:rgba(255,255,255,.12)}
.s2-chk-card h3{
  margin:0 0 4px;
  font:900 16px sans-serif;color:#fff;
  display:flex;align-items:center;gap:10px;
}
.s2-chk-card h3 .n{
  width:26px;height:26px;
  background:rgba(45,212,191,.12);
  border:1px solid rgba(45,212,191,.3);
  border-radius:50%;
  color:#2dd4bf;
  display:inline-flex;align-items:center;justify-content:center;
  font:900 12px sans-serif;
  flex-shrink:0;
}
.s2-chk-card .sub{
  font-size:12px;color:rgba(255,255,255,.5);
  margin:0 0 14px 36px;
}

/* Address cards (Wolt-style) */
.s2-addr-grid{
  display:grid;gap:8px;
  margin-bottom:12px;
}
.s2-addr-card{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;cursor:pointer;
  transition:all .15s;
}
.s2-addr-card:hover{border-color:rgba(45,212,191,.3)}
.s2-addr-card.on{
  background:rgba(45,212,191,.06);
  border-color:#2dd4bf;
  box-shadow:0 0 0 3px rgba(45,212,191,.08);
}
.s2-addr-card .ic{
  width:40px;height:40px;
  background:rgba(45,212,191,.1);
  color:#2dd4bf;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
}
.s2-addr-card.on .ic{background:#2dd4bf;color:#001025}
.s2-addr-card .info{flex:1;min-width:0}
.s2-addr-card .t{font:800 13px sans-serif;color:#fff;margin-bottom:2px}
.s2-addr-card .s{font-size:11px;color:rgba(255,255,255,.55);line-height:1.4}
.s2-addr-card.add-new{border-style:dashed;color:#2dd4bf;justify-content:center}
.s2-addr-card.add-new .t{color:#2dd4bf}

/* Delivery time slots */
.s2-time-slots{
  display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;
  scrollbar-width:none;
}
.s2-time-slots::-webkit-scrollbar{display:none}
.s2-time-slot{
  padding:12px 16px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  cursor:pointer;flex-shrink:0;
  transition:all .15s;
  min-width:110px;
  text-align:center;
}
.s2-time-slot:hover{border-color:rgba(45,212,191,.3)}
.s2-time-slot.on{
  background:rgba(45,212,191,.08);border-color:#2dd4bf;
}
.s2-time-slot .title{
  font:900 12px sans-serif;color:#fff;margin-bottom:2px;
}
.s2-time-slot.on .title{color:#2dd4bf}
.s2-time-slot .time{font-size:10px;color:rgba(255,255,255,.55)}

/* Payment Methods (grosse Cards wie Wolt) */
.s2-pay-v2{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:8px;
}
.s2-pay-card{
  padding:14px 12px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  cursor:pointer;text-align:center;
  transition:all .15s;
  position:relative;
}
.s2-pay-card:hover{border-color:rgba(45,212,191,.3)}
.s2-pay-card.on{
  background:rgba(45,212,191,.06);
  border-color:#2dd4bf;
  box-shadow:0 0 0 3px rgba(45,212,191,.08);
}
.s2-pay-card.on::after{
  content:"\2713";position:absolute;top:6px;right:6px;
  width:18px;height:18px;
  background:#2dd4bf;color:#001025;border-radius:50%;
  font:900 11px sans-serif;
  display:flex;align-items:center;justify-content:center;
}
.s2-pay-card .ic{font-size:22px;margin-bottom:4px}
.s2-pay-card .n{font:900 11px sans-serif;color:#fff}
.s2-pay-card .sub{font-size:9px;color:rgba(255,255,255,.45);margin-top:1px}

/* Tip */
.s2-tip-row{
  display:flex;gap:6px;flex-wrap:wrap;
}
.s2-tip-btn{
  flex:1;min-width:60px;
  padding:10px 6px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  font:900 13px sans-serif;color:#e4ecf7;cursor:pointer;
  transition:all .15s;
  text-align:center;
}
.s2-tip-btn:hover{border-color:rgba(45,212,191,.3)}
.s2-tip-btn.on{
  background:rgba(45,212,191,.08);
  border-color:#2dd4bf;color:#2dd4bf;
}

/* Sticky Sidebar */
.s2-sidebar{
  position:sticky;
  top:80px;align-self:start;
}
.s2-sidebar-card{
  background:rgba(0,16,37,.8);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:22px;
  max-height:calc(100vh - 110px);
  overflow-y:auto;
}
.s2-sidebar-card h3{
  font:900 14px sans-serif;color:#2dd4bf;
  margin:0 0 14px;
  display:flex;align-items:center;gap:6px;
}
.s2-order-items{
  display:flex;flex-direction:column;gap:8px;
  padding-bottom:10px;margin-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.05);
  max-height:180px;overflow-y:auto;
}
.s2-order-item{
  display:flex;justify-content:space-between;gap:8px;
  font-size:12px;padding:4px 0;
}
.s2-order-item .n{color:rgba(255,255,255,.8)}
.s2-order-item .v{color:#fff;font-weight:700;white-space:nowrap}
.s2-order-item .x{
  background:rgba(45,212,191,.1);color:#2dd4bf;
  padding:0 6px;border-radius:6px;
  font:900 11px sans-serif;margin-right:4px;
}
.s2-totals{
  display:flex;flex-direction:column;gap:4px;margin-bottom:14px;
}
.s2-total-row{
  display:flex;justify-content:space-between;
  font-size:12px;padding:3px 0;
}
.s2-total-row .l{color:rgba(255,255,255,.5)}
.s2-total-row .v{color:#e4ecf7;font-weight:700}
.s2-total-row.grand{
  font-size:16px;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:10px;margin-top:6px;
}
.s2-total-row.grand .l{color:#fff;font-weight:900}
.s2-total-row.grand .v{color:#2dd4bf;font:900 20px sans-serif}

/* Mobile bottom-bar */
@media(max-width:900px){
  .s2-sidebar{
    position:fixed;left:0;right:0;bottom:0;top:auto;
    z-index:900;
    padding:0;
  }
  .s2-sidebar-card{
    border-radius:20px 20px 0 0;
    max-height:none;overflow:visible;
    padding:14px 18px;
    box-shadow:0 -10px 30px rgba(0,0,0,.4);
  }
  .s2-sidebar-card > h3,
  .s2-order-items{display:none}
  .s2-sidebar-card.expanded > h3,
  .s2-sidebar-card.expanded .s2-order-items{display:block;max-height:200px}
  .s2-sidebar-card .handle{
    display:block;
    width:40px;height:4px;
    background:rgba(255,255,255,.2);
    border-radius:2px;margin:-8px auto 10px;
    cursor:pointer;
  }
}
.s2-sidebar-card .handle{display:none}

.s2-place-btn{
  width:100%;
  padding:16px;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);color:#001025;
  border:none;border-radius:14px;
  font:900 14px sans-serif;cursor:pointer;
  box-shadow:0 8px 22px rgba(45,212,191,.3);
  transition:all .2s;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.s2-place-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(45,212,191,.45)}
.s2-place-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

.s2-secure{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin-top:10px;
  font:700 10px sans-serif;color:rgba(255,255,255,.4);
}
/* ===== PHASE 13a: UPLOAD WIDGET V3 ===== */

.uw3{
  position:relative;
  border:2px dashed rgba(45,212,191,.3);
  border-radius:16px;
  padding:20px;
  background:rgba(45,212,191,.03);
  text-align:center;
  transition:all .2s;
}
.uw3.drag-over{
  border-color:#2dd4bf;
  background:rgba(45,212,191,.08);
}
.uw3.has-files{
  border-style:solid;
  border-color:rgba(45,212,191,.4);
  text-align:left;
}

.uw3-actions{
  display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:10px;
}
.uw3-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 16px;
  background:rgba(45,212,191,.1);
  border:1px solid rgba(45,212,191,.3);
  border-radius:10px;
  color:#2dd4bf;cursor:pointer;
  font:700 13px sans-serif;
  transition:all .15s;
}
.uw3-btn:hover{background:rgba(45,212,191,.2);transform:translateY(-1px)}
.uw3-btn.primary{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);color:#001025;
  border-color:transparent;
}
.uw3-info{
  font-size:11px;color:rgba(255,255,255,.5);
  margin-top:4px;
}

.uw3-preview{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:8px;margin-top:12px;
}
.uw3-item{
  position:relative;
  aspect-ratio:1;
  background:rgba(0,16,37,.6);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  overflow:hidden;
}
.uw3-item img,
.uw3-item video{
  width:100%;height:100%;object-fit:cover;
  display:block;
}
.uw3-item .meta{
  position:absolute;bottom:0;left:0;right:0;
  padding:4px 8px;
  background:linear-gradient(transparent,rgba(0,0,0,.7));
  color:#fff;font-size:10px;font-weight:700;
  display:flex;justify-content:space-between;
}
.uw3-item .rm{
  position:absolute;top:4px;right:4px;
  width:24px;height:24px;
  background:rgba(239,68,68,.9);color:#fff;
  border:none;border-radius:50%;
  font:900 14px sans-serif;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.uw3-item .rm:hover{background:#ef4444;transform:scale(1.1)}
.uw3-item .progress{
  position:absolute;bottom:0;left:0;height:3px;
  background:#2dd4bf;
  transition:width .3s;
}
.uw3-item .progress.done{background:#22c55e}
.uw3-item .progress.err{background:#ef4444}

/* Camera Modal */
.uw3-cam-modal{
  position:fixed;inset:0;z-index:10000;
  background:rgba(0,0,0,.92);
  display:none;
  flex-direction:column;
  align-items:center;justify-content:center;
  padding:20px;
}
.uw3-cam-modal.on{display:flex}
.uw3-cam-video{
  max-width:100%;max-height:70vh;
  border-radius:12px;
  background:#000;
}
.uw3-cam-toolbar{
  display:flex;gap:12px;margin-top:20px;
  flex-wrap:wrap;justify-content:center;
}
.uw3-cam-btn{
  padding:14px 24px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:12px;
  color:#fff;cursor:pointer;
  font:700 14px sans-serif;
  display:flex;align-items:center;gap:8px;
  transition:all .15s;
}
.uw3-cam-btn:hover{background:rgba(255,255,255,.2)}
.uw3-cam-btn.capture{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;border-color:transparent;
  padding:18px 28px;font-size:16px;
}
.uw3-cam-btn.rec{
  background:linear-gradient(135deg,#ef4444,#b91c1c);
  color:#fff;border-color:transparent;
  padding:18px 28px;font-size:16px;
}
.uw3-cam-btn.recording{
  animation:ppPulse 1.5s infinite;
}
@keyframes ppPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.7)}
  50%{box-shadow:0 0 0 15px rgba(239,68,68,0)}
}
.uw3-cam-timer{
  position:absolute;top:30px;left:50%;transform:translateX(-50%);
  padding:6px 14px;
  background:rgba(239,68,68,.9);color:#fff;
  border-radius:20px;
  font:900 14px monospace;
  display:none;align-items:center;gap:6px;
}
.uw3-cam-timer.on{display:flex}
.uw3-cam-timer::before{
  content:"";width:8px;height:8px;border-radius:50%;
  background:#fff;animation:ppPulse 1s infinite;
}
.uw3-cam-close{
  position:absolute;top:20px;right:20px;
  width:44px;height:44px;
  background:rgba(255,255,255,.1);
  border:none;border-radius:50%;
  color:#fff;cursor:pointer;
  font:900 20px sans-serif;
}

/* Full-screen preview lightbox */
.uw3-lightbox{
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.95);
  display:none;align-items:center;justify-content:center;
  padding:20px;
}
.uw3-lightbox.on{display:flex}
.uw3-lightbox img,.uw3-lightbox video{
  max-width:100%;max-height:90vh;border-radius:10px;
}
.uw3-lightbox .close-x{
  position:absolute;top:20px;right:20px;
  width:44px;height:44px;background:rgba(255,255,255,.1);
  border:none;border-radius:50%;color:#fff;cursor:pointer;
  font:900 20px sans-serif;
}
/* ===== PHASE 13b: MODERN NOTIFICATIONS ===== */

/* Toast-Container (fixed oben rechts) */
.pp-toast-container{
  position:fixed;top:70px;right:16px;z-index:10001;
  display:flex;flex-direction:column;gap:10px;
  max-width:380px;
  pointer-events:none;
}
@media(max-width:600px){
  .pp-toast-container{
    top:auto;bottom:16px;left:16px;right:16px;
    max-width:none;
  }
}

/* Einzelner Toast */
.pp-toast{
  pointer-events:auto;
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 16px;
  background:rgba(0,16,37,.96);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  color:#e4ecf7;
  box-shadow:0 12px 40px rgba(0,0,0,.35),0 0 0 1px rgba(45,212,191,.06);
  animation:ppToastIn .35s cubic-bezier(.2,.8,.2,1);
  position:relative;overflow:hidden;
  min-width:280px;
}
@keyframes ppToastIn{
  from{transform:translateX(400px) scale(.95);opacity:0}
  to{transform:translateX(0) scale(1);opacity:1}
}
@keyframes ppToastOut{
  to{transform:translateX(400px) scale(.9);opacity:0}
}
.pp-toast.out{animation:ppToastOut .3s forwards}

.pp-toast::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
}
.pp-toast.ok::before{background:#22c55e}
.pp-toast.err::before{background:#ef4444}
.pp-toast.warn::before{background:#fbbf24}
.pp-toast.info::before{background:#2dd4bf}

.pp-toast .ic{
  flex-shrink:0;
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;
}
.pp-toast.ok .ic{background:rgba(34,197,94,.15);color:#22c55e}
.pp-toast.err .ic{background:rgba(239,68,68,.15);color:#ef4444}
.pp-toast.warn .ic{background:rgba(251,191,36,.15);color:#fbbf24}
.pp-toast.info .ic{background:rgba(45,212,191,.15);color:#2dd4bf}

.pp-toast .body{flex:1;min-width:0}
.pp-toast .title{
  font:800 13px sans-serif;color:#fff;
  margin-bottom:2px;
  white-space:normal;word-break:break-word;
}
.pp-toast .msg{
  font-size:11px;color:rgba(255,255,255,.65);
  line-height:1.4;
}
.pp-toast .actions{
  display:flex;gap:6px;margin-top:8px;
}
.pp-toast .act-btn{
  padding:4px 10px;
  background:rgba(45,212,191,.12);
  border:1px solid rgba(45,212,191,.25);
  border-radius:6px;
  color:#2dd4bf;cursor:pointer;
  font:700 10px sans-serif;
  transition:all .12s;
}
.pp-toast .act-btn:hover{background:rgba(45,212,191,.2)}
.pp-toast .act-btn.primary{
  background:#2dd4bf;color:#001025;border:none;
}
.pp-toast .close{
  position:absolute;top:10px;right:10px;
  background:transparent;border:none;color:rgba(255,255,255,.4);
  font-size:14px;cursor:pointer;padding:0;line-height:1;
  width:18px;height:18px;
}
.pp-toast .close:hover{color:#fff}
.pp-toast .progress{
  position:absolute;bottom:0;left:0;height:2px;
  background:rgba(45,212,191,.3);
  animation-timing-function:linear;
  animation-fill-mode:forwards;
}
@keyframes ppToastProgress{from{width:100%}to{width:0%}}

/* ===== Confirm / Prompt Modal ===== */
.pp-confirm-modal{
  position:fixed;inset:0;z-index:10002;
  display:none;align-items:center;justify-content:center;
  padding:20px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(6px);
  animation:ppFadeIn .2s;
}
.pp-confirm-modal.on{display:flex}
@keyframes ppFadeIn{from{opacity:0}to{opacity:1}}
.pp-confirm-card{
  background:#001a30;
  border:1px solid rgba(45,212,191,.15);
  border-radius:20px;
  padding:26px 28px;
  max-width:440px;width:100%;
  box-shadow:0 24px 60px rgba(0,0,0,.55);
  animation:ppPopIn .3s cubic-bezier(.2,.9,.2,1);
}
@keyframes ppPopIn{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
.pp-confirm-card h3{
  margin:0 0 8px;
  font:900 18px sans-serif;
  color:#fff;
  display:flex;align-items:center;gap:10px;
}
.pp-confirm-card h3 .hic{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
}
.pp-confirm-card.ok h3 .hic{background:rgba(34,197,94,.15);color:#22c55e}
.pp-confirm-card.warn h3 .hic{background:rgba(251,191,36,.15);color:#fbbf24}
.pp-confirm-card.danger h3 .hic{background:rgba(239,68,68,.15);color:#ef4444}
.pp-confirm-card.info h3 .hic{background:rgba(45,212,191,.15);color:#2dd4bf}
.pp-confirm-card p{
  margin:0 0 16px;
  color:rgba(255,255,255,.75);
  font-size:13px;line-height:1.55;
}
.pp-confirm-card input[type=text],
.pp-confirm-card input[type=email],
.pp-confirm-card input[type=tel],
.pp-confirm-card input[type=number],
.pp-confirm-card textarea{
  width:100%;
  padding:12px 14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  color:#e4ecf7;font-size:13px;
  margin-bottom:14px;
}
.pp-confirm-card input:focus,
.pp-confirm-card textarea:focus{
  outline:none;border-color:#2dd4bf;
  background:rgba(45,212,191,.05);
}
.pp-confirm-btns{
  display:flex;gap:8px;
}
.pp-confirm-btn{
  flex:1;
  padding:12px 16px;
  border:none;border-radius:10px;
  font:800 13px sans-serif;cursor:pointer;
  transition:all .15s;
}
.pp-confirm-btn.primary{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);color:#001025;
  box-shadow:0 6px 18px rgba(45,212,191,.3);
}
.pp-confirm-btn.primary:hover{transform:translateY(-1px)}
.pp-confirm-btn.secondary{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:#e4ecf7;
}
.pp-confirm-btn.secondary:hover{background:rgba(255,255,255,.1)}
.pp-confirm-btn.danger{
  background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;
  box-shadow:0 6px 18px rgba(239,68,68,.3);
}

/* ===== Banner (oben in der Seite, sticky) ===== */
.pp-banner{
  display:flex;align-items:center;gap:12px;
  padding:12px 20px;
  margin:0 0 14px 0;
  background:rgba(45,212,191,.08);
  border:1px solid rgba(45,212,191,.2);
  border-radius:12px;
  color:rgba(255,255,255,.9);
  font-size:13px;
  animation:ppSlideDown .3s;
}
@keyframes ppSlideDown{from{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}
.pp-banner.ok{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2)}
.pp-banner.warn{background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.2)}
.pp-banner.err{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.2)}
.pp-banner .bic{font-size:18px;flex-shrink:0}
.pp-banner .bbody{flex:1;min-width:0;line-height:1.4}
.pp-banner .bbody strong{color:#fff;margin-right:4px}
.pp-banner .bact{
  padding:6px 12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;color:#fff;cursor:pointer;font:700 11px sans-serif;
  text-decoration:none;
}
.pp-banner .bact:hover{background:rgba(255,255,255,.14)}
.pp-banner .bclose{
  background:transparent;border:none;color:rgba(255,255,255,.45);
  cursor:pointer;font-size:16px;line-height:1;padding:4px;
}
.pp-banner .bclose:hover{color:#fff}

/* ===== Notification Panel (fuer dashboard, Bell-Icon) ===== */
.pp-notif-panel{
  position:fixed;top:58px;right:10px;z-index:9996;
  width:360px;max-width:calc(100vw - 20px);
  max-height:70vh;
  background:rgba(0,16,37,.96);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
  overflow:hidden;
  display:none;flex-direction:column;
  animation:ppSlideDown .2s;
}
.pp-notif-panel.on{display:flex}
.pp-notif-hdr{
  padding:16px 20px;
  border-bottom:1px solid rgba(255,255,255,.06);
  display:flex;justify-content:space-between;align-items:center;
}
.pp-notif-hdr h3{margin:0;font:900 14px sans-serif;color:#fff}
.pp-notif-hdr .clear-all{
  font:700 11px sans-serif;color:#2dd4bf;
  background:none;border:none;cursor:pointer;padding:4px 8px;
  border-radius:6px;
}
.pp-notif-hdr .clear-all:hover{background:rgba(45,212,191,.1)}
.pp-notif-list{flex:1;overflow-y:auto;padding:8px 0}
.pp-notif-item{
  display:flex;gap:12px;padding:12px 20px;
  border-bottom:1px solid rgba(255,255,255,.04);
  cursor:pointer;transition:background .15s;
}
.pp-notif-item:hover{background:rgba(255,255,255,.03)}
.pp-notif-item.unread{background:rgba(45,212,191,.04)}
.pp-notif-item .pic{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:rgba(45,212,191,.12);color:#2dd4bf;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;
}
.pp-notif-item .pinfo{flex:1;min-width:0}
.pp-notif-item .ptitle{
  font:800 12px sans-serif;color:#fff;margin-bottom:2px;
}
.pp-notif-item .pmsg{
  font-size:11px;color:rgba(255,255,255,.6);line-height:1.4;
  word-break:break-word;
}
.pp-notif-item .ptime{
  font-size:9px;color:rgba(255,255,255,.4);margin-top:4px;
}
.pp-notif-item .pdot{
  width:8px;height:8px;border-radius:50%;background:#2dd4bf;
  flex-shrink:0;margin-top:16px;
  display:none;
}
.pp-notif-item.unread .pdot{display:block}
.pp-notif-empty{
  padding:40px 20px;text-align:center;
  color:rgba(255,255,255,.4);font-size:12px;
}

/* Bell-Icon mit Badge (fuer Nav) */
.pp-notif-bell{
  position:relative;
  width:40px;height:40px;border-radius:12px;
  background:rgba(45,212,191,.08);
  border:1px solid rgba(45,212,191,.2);
  color:#2dd4bf;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:16px;transition:all .15s;
}
.pp-notif-bell:hover{background:rgba(45,212,191,.14)}
.pp-notif-bell .badge{
  position:absolute;top:-4px;right:-4px;
  min-width:18px;height:18px;padding:0 4px;
  background:#ef4444;color:#fff;
  border-radius:9px;
  font:900 10px sans-serif;
  display:none;align-items:center;justify-content:center;
  border:2px solid #001025;
}
.pp-notif-bell .badge.on{display:flex}
/* ===== PHASE 13c: LANDING STEPS (So funktioniert's) ===== */
.pp-how-section{
  padding:60px 20px;
  max-width:1300px;margin:0 auto;
}
.pp-how-section .hd{
  text-align:center;
  margin-bottom:40px;
}
.pp-how-section .hd .tag{
  display:inline-block;
  padding:6px 14px;
  background:rgba(45,212,191,.1);
  border:1px solid rgba(45,212,191,.25);
  border-radius:20px;
  font:800 10px sans-serif;
  color:#2dd4bf;text-transform:uppercase;letter-spacing:.8px;
  margin-bottom:12px;
}
.pp-how-section h2{
  margin:0 0 8px;
  font:900 32px sans-serif;
  background:linear-gradient(135deg,#fff,#2dd4bf);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.pp-how-section .sub{
  color:rgba(255,255,255,.6);font-size:15px;max-width:560px;margin:0 auto;
}

.pp-how-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
@media(max-width:960px){
  .pp-how-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .pp-how-grid{grid-template-columns:1fr}
}

.pp-how-step{
  position:relative;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:20px;
  overflow:hidden;
  transition:all .3s;
  cursor:pointer;
}
.pp-how-step:hover{
  transform:translateY(-6px);
  border-color:rgba(45,212,191,.4);
  box-shadow:0 20px 50px rgba(0,0,0,.4),0 0 0 1px rgba(45,212,191,.1);
}
.pp-how-step .img{
  aspect-ratio:16/10;
  background:center/cover no-repeat;
  position:relative;
}
.pp-how-step .img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(transparent 40%,rgba(0,16,37,.95));
}
.pp-how-step .num{
  position:absolute;top:14px;left:14px;z-index:2;
  width:36px;height:36px;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font:900 16px sans-serif;
  box-shadow:0 6px 18px rgba(45,212,191,.45);
}
.pp-how-step .ic{
  position:absolute;bottom:14px;right:14px;z-index:2;
  font-size:28px;
  opacity:.85;
}
.pp-how-step .body{
  padding:20px 22px 24px;
}
.pp-how-step h3{
  margin:0 0 6px;
  font:900 17px sans-serif;color:#fff;
}
.pp-how-step p{
  margin:0;
  font-size:13px;color:rgba(255,255,255,.65);line-height:1.5;
}


/* ===== PHASE 13c: MODERN TRACKING UI ===== */
.pp-track-wrap{
  padding:0;
  max-width:none;
  margin:0;
}
@media(min-width:900px){
  .pp-track-wrap{
    max-width:1100px;
    margin:0 auto;
    padding:16px;
    display:grid;
    grid-template-columns:1fr 380px;
    gap:16px;
  }
}

/* Map: Full-width oben auf Mobile, linke Spalte auf Desktop */
.pp-track-map{
  position:relative;
  height:42vh;
  min-height:300px;
  max-height:500px;
  background:#0a1f35;
  border-radius:0;
  overflow:hidden;
}
@media(min-width:900px){
  .pp-track-map{
    border-radius:18px;
    height:calc(100vh - 120px);
    min-height:500px;
  }
}
.pp-track-map #trackMapEl{
  width:100%;height:100%;
}

/* Fly-from-top ETA-Pill */
.pp-track-eta{
  position:absolute;top:16px;left:50%;transform:translateX(-50%);
  z-index:10;
  padding:10px 20px;
  background:rgba(0,16,37,.9);
  backdrop-filter:blur(16px);
  border:1px solid rgba(45,212,191,.3);
  border-radius:100px;
  color:#fff;
  display:flex;align-items:center;gap:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
  animation:ppFloatDown .5s;
}
@keyframes ppFloatDown{from{transform:translateX(-50%) translateY(-40px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}
.pp-track-eta .eta-big{font:900 18px sans-serif;color:#2dd4bf}
.pp-track-eta .eta-lbl{font:700 10px sans-serif;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.5px}

/* Status-Bar unten in Map (Mobile) */
.pp-track-status-mini{
  position:absolute;bottom:16px;left:16px;right:16px;z-index:10;
  padding:12px 16px;
  background:rgba(0,16,37,.92);
  backdrop-filter:blur(20px);
  border-radius:14px;
  color:#fff;
  display:flex;align-items:center;gap:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
}
.pp-track-status-mini .dot{
  width:10px;height:10px;border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 0 #22c55e;
  animation:ppPing 1.5s infinite;
}
@keyframes ppPing{
  0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.8)}
  50%{box-shadow:0 0 0 10px rgba(34,197,94,0)}
}
.pp-track-status-mini .txt{flex:1;min-width:0}
.pp-track-status-mini .s-h{font:800 13px sans-serif}
.pp-track-status-mini .s-s{font-size:11px;color:rgba(255,255,255,.6)}

/* Rechte Spalte / Mobile-Sheet mit Kurier-Karte */
.pp-track-sidebar{
  background:rgba(0,16,37,.96);
  backdrop-filter:blur(20px);
}
@media(min-width:900px){
  .pp-track-sidebar{
    border-radius:18px;
    border:1px solid rgba(255,255,255,.06);
    overflow:hidden;
    max-height:calc(100vh - 120px);
    overflow-y:auto;
  }
}
@media(max-width:899px){
  .pp-track-sidebar{
    margin-top:-20px;
    border-radius:20px 20px 0 0;
    position:relative;
    z-index:5;
    padding-top:10px;
  }
  .pp-track-sidebar::before{
    content:"";display:block;
    width:40px;height:4px;margin:0 auto 12px;
    background:rgba(255,255,255,.15);
    border-radius:2px;
  }
}

/* Kurier-Karte */
.pp-courier-card{
  padding:18px 20px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.pp-courier-row{
  display:flex;align-items:center;gap:14px;
  margin-bottom:14px;
}
.pp-courier-avatar{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  display:flex;align-items:center;justify-content:center;
  font:900 22px sans-serif;color:#001025;
  flex-shrink:0;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(45,212,191,.3);
}
.pp-courier-avatar img{width:100%;height:100%;object-fit:cover}
.pp-courier-info{flex:1;min-width:0}
.pp-courier-name{
  font:900 15px sans-serif;color:#fff;
  margin-bottom:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pp-courier-meta{
  display:flex;align-items:center;gap:10px;
  font-size:11px;color:rgba(255,255,255,.55);
  flex-wrap:wrap;
}
.pp-courier-meta .rating{
  display:inline-flex;align-items:center;gap:3px;
  color:#fbbf24;font-weight:800;
}
.pp-courier-meta .vehicle{
  display:inline-flex;align-items:center;gap:4px;
}

.pp-courier-actions{
  display:flex;gap:8px;
}
.pp-courier-btn{
  flex:1;
  padding:10px 14px;
  background:rgba(45,212,191,.1);
  border:1px solid rgba(45,212,191,.25);
  border-radius:12px;
  color:#2dd4bf;cursor:pointer;
  font:700 12px sans-serif;
  display:flex;align-items:center;justify-content:center;gap:6px;
  transition:all .15s;
  text-decoration:none;
}
.pp-courier-btn:hover{background:rgba(45,212,191,.2)}
.pp-courier-btn.primary{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  color:#001025;border:none;
}

/* Status-Timeline */
.pp-track-timeline{
  padding:18px 20px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.pp-track-timeline h4{
  margin:0 0 12px;
  font:800 11px sans-serif;
  color:rgba(255,255,255,.5);
  text-transform:uppercase;letter-spacing:.6px;
}
.pp-timeline-step{
  display:flex;gap:12px;
  padding-bottom:14px;
  position:relative;
}
.pp-timeline-step:not(:last-child)::before{
  content:"";position:absolute;
  left:11px;top:26px;bottom:0;width:2px;
  background:rgba(255,255,255,.08);
}
.pp-timeline-step.done:not(:last-child)::before,
.pp-timeline-step.active:not(:last-child)::before{
  background:linear-gradient(to bottom,#2dd4bf,rgba(45,212,191,.2));
}
.pp-timeline-step .t-ic{
  width:24px;height:24px;border-radius:50%;
  flex-shrink:0;
  background:rgba(255,255,255,.06);
  border:2px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  font:900 10px sans-serif;color:rgba(255,255,255,.5);
  z-index:1;
}
.pp-timeline-step.done .t-ic{
  background:#2dd4bf;border-color:#2dd4bf;color:#001025;
}
.pp-timeline-step.active .t-ic{
  background:rgba(45,212,191,.15);
  border-color:#2dd4bf;color:#2dd4bf;
  animation:ppPulse 2s infinite;
}
.pp-timeline-step .t-body{flex:1;min-width:0;padding-top:1px}
.pp-timeline-step .t-title{
  font:800 13px sans-serif;color:#fff;margin-bottom:2px;
}
.pp-timeline-step.pending .t-title{color:rgba(255,255,255,.5)}
.pp-timeline-step .t-sub{
  font-size:10px;color:rgba(255,255,255,.45);
}
.pp-timeline-step.active .t-title{color:#2dd4bf}

/* Order-Details */
.pp-order-box{
  padding:18px 20px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.pp-order-box h4{
  margin:0 0 10px;
  font:800 11px sans-serif;
  color:rgba(255,255,255,.5);
  text-transform:uppercase;letter-spacing:.6px;
}
.pp-order-loc{
  display:flex;gap:12px;padding:10px 0;
  align-items:flex-start;
}
.pp-order-loc .lic{
  width:32px;height:32px;border-radius:8px;flex-shrink:0;
  background:rgba(45,212,191,.1);color:#2dd4bf;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;
}
.pp-order-loc.to .lic{background:rgba(251,191,36,.1);color:#fbbf24}
.pp-order-loc .li-body{flex:1;min-width:0}
.pp-order-loc .li-title{font:800 12px sans-serif;color:#fff}
.pp-order-loc .li-addr{font-size:11px;color:rgba(255,255,255,.5);margin-top:1px;word-break:break-word}

/* Evidence-Galerie */
.pp-evidence{
  padding:18px 20px;
}
.pp-evidence h4{
  margin:0 0 10px;
  font:800 11px sans-serif;
  color:rgba(255,255,255,.5);
  text-transform:uppercase;letter-spacing:.6px;
}
.pp-evidence-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}
.pp-evidence-item{
  aspect-ratio:1;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  overflow:hidden;cursor:pointer;
  position:relative;
  transition:all .15s;
}
.pp-evidence-item:hover{
  transform:scale(1.03);
  border-color:rgba(45,212,191,.3);
}
.pp-evidence-item img,
.pp-evidence-item video{
  width:100%;height:100%;object-fit:cover;
  display:block;
}
.pp-evidence-item .stage-badge{
  position:absolute;top:4px;left:4px;
  padding:2px 6px;
  background:rgba(0,0,0,.7);
  border-radius:4px;
  font:800 8px sans-serif;color:#2dd4bf;
  text-transform:uppercase;
}
.pp-evidence-empty{
  padding:20px;text-align:center;
  color:rgba(255,255,255,.4);font-size:11px;
  border:1px dashed rgba(255,255,255,.08);
  border-radius:10px;
}
/* =====================================================
   PHASE 14b: GRADIENT ILLUSTRATIONS (stable, premium)
   Ersatz fuer Unsplash-URLs die random Content liefern
   ===================================================== */

/* Basis-Klasse fuer Illustrationen */
.pp-illu{
  position:relative;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  aspect-ratio:16/10;
  border-radius:20px;
  isolation:isolate;
}
.pp-illu::before{
  content:"";
  position:absolute;inset:0;z-index:-1;
  opacity:.4;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.15) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.12) 0%, transparent 40%);
}
.pp-illu .ico{
  font-size:clamp(44px,10vw,90px);
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.35));
  z-index:1;
  transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.pp-illu:hover .ico{transform:scale(1.12) rotate(-3deg)}

/* Themes - je Use-Case andere Farbkombi */
.pp-illu.theme-shop   {background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}
.pp-illu.theme-bike   {background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}
.pp-illu.theme-gps    {background:linear-gradient(135deg,#43e97b 0%,#38f9d7 100%)}
.pp-illu.theme-paket  {background:linear-gradient(135deg,#fa709a 0%,#fee140 100%)}
.pp-illu.theme-customer{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}
.pp-illu.theme-courier {background:linear-gradient(135deg,#f12711 0%,#f5af19 100%)}
.pp-illu.theme-partner {background:linear-gradient(135deg,#0f2027 0%,#203a43 50%,#2c5364 100%)}
.pp-illu.theme-travel  {background:linear-gradient(135deg,#30cfd0 0%,#330867 100%)}
.pp-illu.theme-global  {background:linear-gradient(135deg,#2980b9 0%,#6dd5fa 50%,#ffffff 100%)}
.pp-illu.theme-wallet  {background:linear-gradient(135deg,#134e5e 0%,#71b280 100%)}
.pp-illu.theme-anzeige {background:linear-gradient(135deg,#8e2de2 0%,#4a00e0 100%)}
.pp-illu.theme-chat    {background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}
.pp-illu.theme-profil  {background:linear-gradient(135deg,#0ba360 0%,#3cba92 100%)}
.pp-illu.theme-deliver {background:linear-gradient(135deg,#ff6a00 0%,#ee0979 100%)}

/* Deko-Patterns */
.pp-illu.pattern-dots::after{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle, rgba(255,255,255,.15) 1px, transparent 1.5px);
  background-size:20px 20px;
  opacity:.5;
  z-index:0;
}
.pp-illu.pattern-grid::after{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,.1) 1px,transparent 1px);
  background-size:24px 24px;
  opacity:.4;
  z-index:0;
}

/* Dashboard-Card Variante: nimmt die bestehende qn-photo Form */
.qn-photo.pp-illu{
  aspect-ratio:4/3;
  border-radius:16px;
}

/* Step-Card Variante (Landing) */
.pp-step-illu{
  aspect-ratio:1;
  max-width:120px;
  margin:0 auto 10px;
  border-radius:24px;
}

/* Anmelden-Button Arrow Fix (von "<" zu bessere Lesbarkeit) */
.pp-back{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 16px;
  background:rgba(45,212,191,.1);
  border:1px solid rgba(45,212,191,.25);
  color:#2dd4bf;
  border-radius:100px;
  text-decoration:none;
  font:800 13px sans-serif;
  transition:all .15s;
}
.pp-back:hover{background:rgba(45,212,191,.2)}
/* Falls noch alte Left-Arrow Zeichen drin sind, elegantere Darstellung */
.pp-back span{display:inline}
/* =====================================================
   PHASE 15b: ECHTE FOTOS + Smart-Fallback
   ===================================================== */
.pp-real-img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  background:#001a30;
  transition:opacity .3s ease;
}
.pp-real-img.loading{opacity:0}
.pp-real-img.loaded{opacity:1}

/* Photo-Container mit Overlay */
.pp-photo{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  aspect-ratio:16/10;
  background:#001a30;
}
.pp-photo img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
}
.pp-photo::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(transparent 40%,rgba(0,16,37,.85));
  pointer-events:none;
}

/* Fallback-Variante: Gradient wenn img broken */
.pp-photo-fallback{
  background:linear-gradient(135deg,#2dd4bf,#0d9488);
  display:flex;align-items:center;justify-content:center;
}
.pp-photo-fallback.theme-shop  {background:linear-gradient(135deg,#f093fb,#f5576c)}
.pp-photo-fallback.theme-bike  {background:linear-gradient(135deg,#4facfe,#00f2fe)}
.pp-photo-fallback.theme-gps   {background:linear-gradient(135deg,#43e97b,#38f9d7)}
.pp-photo-fallback.theme-paket {background:linear-gradient(135deg,#fa709a,#fee140)}
.pp-photo-fallback.theme-customer{background:linear-gradient(135deg,#667eea,#764ba2)}
.pp-photo-fallback.theme-courier{background:linear-gradient(135deg,#f12711,#f5af19)}
.pp-photo-fallback.theme-partner{background:linear-gradient(135deg,#0f2027,#2c5364)}
.pp-photo-fallback .ico{
  font-size:clamp(44px,8vw,80px);
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.4));
}

/* Dashboard qn-photo mit Real-Photo */
.qn-photo.pp-photo{
  aspect-ratio:4/3;
}
.qn-photo .qn-info{
  position:absolute;
  bottom:14px;left:16px;right:16px;
  z-index:2;color:#fff;
}

/* Landing Step-Photo */
.pp-step-photo{
  aspect-ratio:16/10;
  border-radius:16px;
  margin-bottom:12px;
  position:relative;
  overflow:hidden;
}
.pp-step-photo img{
  width:100%;height:100%;object-fit:cover;
}
/* Phase 25: Hamburger-Menue verstecken */
.hamburger,.hamburger-btn,.pp-hamburger,.mobile-menu,.pp-mmenu,.pp-mobile-nav,.nav-burger,#hamburgerMenu,#mobileMenu{display:none !important}
