:root{
  --radius-xl:1.25rem;
  --radius-lg:1rem;
  --glass-blur:18px;

  --nord-1:rgba(56,121,160,.22);
  --nord-2:rgba(132,191,199,.18);
  --nord-3:rgba(210,222,232,.22);

  --accent-strong:rgba(56,121,160,1);
  --accent-soft:rgba(56,121,160,.14);

  --glass-bg:rgba(255,255,255,.62);
  --glass-border:rgba(0,0,0,.08);
  --glass-highlight:rgba(255,255,255,.68);

  --shadow:0 22px 90px rgba(0,0,0,.12);
  --shadow-soft:0 14px 45px rgba(0,0,0,.10);

  --ink:#111;
  --muted:rgba(0,0,0,.62);
  --line:rgba(0,0,0,.08);

  --radius:var(--radius-xl);
}

html[data-bs-theme="dark"]{
  --glass-bg:rgba(14,16,24,.46);
  --glass-border:rgba(255,255,255,.10);
  --glass-highlight:rgba(255,255,255,.10);

  --shadow:0 28px 120px rgba(0,0,0,.55);
  --shadow-soft:0 18px 70px rgba(0,0,0,.45);

  --ink:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.68);
  --line:rgba(255,255,255,.10);

  --warm-1:rgba(255,167,123,.22);
  --warm-2:rgba(255,214,170,.16);
  --cool-1:rgba(69,190,170,.14);
}

*{box-sizing:border-box}

body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  min-height:100vh;
  background:
    radial-gradient(900px 520px at 12% 0%,var(--nord-1),transparent 60%),
    radial-gradient(900px 520px at 90% 10%,var(--nord-2),transparent 60%),
    radial-gradient(900px 520px at 50% 115%,var(--nord-3),transparent 62%),
    linear-gradient(180deg,#fbfcfe,#f3f6fa);
}

html[data-bs-theme="dark"] body{
  background:
    radial-gradient(1000px 640px at 12% 0%,var(--warm-1),transparent 60%),
    radial-gradient(900px 620px at 90% 10%,var(--cool-1),transparent 60%),
    radial-gradient(1000px 700px at 50% 115%,var(--warm-2),transparent 60%),
    linear-gradient(180deg,#0b0f18,#070a10);
}
.navbar-logo{
  height:38px;
  width:auto;
  max-width:180px;
  object-fit:contain;
  display:block;
}

@media(max-width:575.98px){
  .navbar-logo{
    height:32px;
    max-width:150px;
  }
}
/* NAV */
.site-nav,
.admin-nav{
  background:rgba(255,255,255,.70);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.06);
}

html[data-bs-theme="dark"] .site-nav,
html[data-bs-theme="dark"] .admin-nav{
  background:rgba(12,14,22,.58);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.brand-mark{
  font-weight:800;
  letter-spacing:-.04em;
  color:var(--ink)!important;
}

.brand-mark span{color:var(--muted)}

.brand-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--accent-strong);
  display:inline-block;
}

/* HERO */
.hero{padding:72px 0 40px}

.hero-card,
.form-card,
.glass-card,
.stat-card,
.table-card{
  position:relative;
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-xl);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  box-shadow:var(--shadow);
  overflow:hidden;
}

.table-modern thead th{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  border-bottom:1px solid rgba(0,0,0,.06);
}

html[data-bs-theme="dark"] .table-modern thead th{
  border-bottom:1px solid rgba(255,255,255,.08);
}

.table-modern tbody tr{
  transition: background .15s ease;
}

.table-modern tbody tr:hover{
  background: rgba(56,121,160,.06);
}

html[data-bs-theme="dark"] .table-modern tbody tr:hover{
  background: rgba(255,255,255,.04);
}

.hero-card::before,
.form-card::before,
.glass-card::before,
.stat-card::before,
.table-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(760px 220px at 12% 0%,var(--glass-highlight),transparent 55%),
    radial-gradient(520px 220px at 92% 10%,rgba(255,255,255,.20),transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.12),transparent 50%);
  opacity:.55;
}

html[data-bs-theme="dark"] .hero-card::before,
html[data-bs-theme="dark"] .form-card::before,
html[data-bs-theme="dark"] .glass-card::before,
html[data-bs-theme="dark"] .stat-card::before,
html[data-bs-theme="dark"] .table-card::before{
  opacity:.30;
}

.hero-card > *,
.form-card > *,
.glass-card > *,
.stat-card > *,
.table-card > *{
  position:relative;
  z-index:1;
}

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.75rem;
  color:var(--muted);
  font-weight:700;
}

.hero h1{
  font-size:clamp(2.5rem,6vw,5.9rem);
  letter-spacing:-.08em;
  line-height:.9;
  font-weight:900;
}

.lead-soft{
  color:var(--muted);
  font-size:1.08rem;
}

.hero-underline{
  display:block;
  height:10px;
  width:190px;
  margin-top:8px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(56,121,160,.42),rgba(132,191,199,.18),transparent);
}

.patch-frame{
  position:relative;
  max-width:420px;
  margin-left:auto;
  margin-right:auto;
}

.patch-img{
  display:block;
  width:100%;
  max-width:420px;
  margin-left:auto;
  margin-right:auto;
  aspect-ratio:1/1;
  object-fit:cover;
}

/* FORM */
.form-control,
.form-select{
  border-radius:16px;
  border:1px solid rgba(0,0,0,.10);
  padding:.85rem 1rem;
  background:rgba(255,255,255,.74);
  color:inherit;
  box-shadow:none;
}

html[data-bs-theme="dark"] .form-control,
html[data-bs-theme="dark"] .form-select{
  border:1px solid rgba(255,255,255,.14);
  background-color:rgba(255,255,255,.05);
  color:rgba(255,255,255,.90);
}

.form-control:focus,
.form-select:focus{
  border-color:rgba(56,121,160,.55);
  box-shadow:0 0 0 .25rem rgba(56,121,160,.14);
}

.form-check-input{
  border-radius:.35em;
}

.form-check-input:focus{
  box-shadow:0 0 0 .25rem rgba(56,121,160,.14);
}

/* BUTTONS */
.btn-dark{
  background:var(--accent-strong);
  border-color:var(--accent-strong);
  border-radius:999px;
  padding:.82rem 1.2rem;
  font-weight:700;
}

.btn-dark:hover{
  background:rgba(38,96,132,1);
  border-color:rgba(38,96,132,1);
}

.btn-outline-dark{
  border-radius:999px;
  font-weight:700;
  color:var(--ink);
  border-color:var(--line);
}

html[data-bs-theme="dark"] .btn-outline-dark{
  color:rgba(255,255,255,.88);
  border-color:rgba(255,255,255,.18);
}

.btn-outline-dark:hover{
  background:var(--accent-soft);
  color:var(--ink);
  border-color:rgba(56,121,160,.25);
}

/* SOCIAL */
.social-pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  border:1px solid var(--glass-border);
  border-radius:999px;
  padding:.65rem .9rem;
  text-decoration:none;
  color:var(--ink);
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .15s ease,background .15s ease;
}

.social-pill:hover{
  transform:translateY(-2px);
  background:rgba(56,121,160,.12);
  color:var(--ink);
}

html[data-bs-theme="dark"] .social-pill{
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.88);
}

/* FOOTER */
.footer{
  border-top:1px solid rgba(0,0,0,.06);
  background:rgba(255,255,255,.40);
  backdrop-filter:blur(14px);
}

html[data-bs-theme="dark"] .footer{
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(12,14,22,.45);
}

.footer a:hover{
  color: var(--accent-strong);
}

/* ADMIN */
.admin-body{
  background:
    radial-gradient(900px 520px at 12% 0%,var(--nord-1),transparent 60%),
    radial-gradient(900px 520px at 90% 10%,var(--nord-2),transparent 60%),
    linear-gradient(180deg,#fbfcfe,#f3f6fa);
}

html[data-bs-theme="dark"] .admin-body{
  background:
    radial-gradient(1000px 640px at 12% 0%,var(--warm-1),transparent 60%),
    radial-gradient(900px 620px at 90% 10%,var(--cool-1),transparent 60%),
    linear-gradient(180deg,#0b0f18,#070a10);
}

.admin-shell{
  display:grid;
  grid-template-columns:260px 1fr;
  min-height:calc(100vh - 57px);
}

.admin-sidebar{
  padding:24px;
  border-right:1px solid var(--glass-border);
  background:rgba(255,255,255,.42);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

html[data-bs-theme="dark"] .admin-sidebar{
  background:rgba(14,16,24,.36);
}

.admin-sidebar a{
  display:flex;
  gap:.65rem;
  align-items:center;
  padding:.85rem 1rem;
  border-radius:16px;
  color:var(--ink);
  text-decoration:none;
  margin-bottom:.35rem;
  border:1px solid transparent;
}

.admin-sidebar a:hover,
.admin-sidebar a.active{
  background:var(--accent-soft);
  border-color:rgba(56,121,160,.18);
}

html[data-bs-theme="dark"] .admin-sidebar a{
  color:rgba(255,255,255,.88);
}

.admin-content{
  padding:28px;
  min-width:0;
}

.stat-card{
  padding:22px;
  box-shadow:var(--shadow-soft);
}

.table-card{
  box-shadow:var(--shadow-soft);
}

/* TABLE */
.table{
  color:inherit;
  margin-bottom:0;
}

.table > :not(caption) > * > *{
  background:transparent;
  color:inherit;
  border-bottom-color:var(--line);
}

.table thead th{
  color:var(--muted);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
}

/* BADGES */
.badge-status{
  border-radius:999px;
  padding:.45rem .7rem;
  background:rgba(108,117,125,.14);
  color:inherit;
  border:1px solid rgba(108,117,125,.16);
}

.badge-neu{background:rgba(108,117,125,.14)}
.badge-bestaetigt{background:rgba(25,135,84,.14)}
.badge-in_produktion{background:rgba(255,193,7,.20)}
.badge-versendet{background:rgba(13,110,253,.14)}
.badge-storniert{background:rgba(220,53,69,.16)}

/* LITTLE UI HELPERS */
.pill,
.chip{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.4rem .75rem;
  border-radius:999px;
  font-size:.9rem;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.55);
  color:var(--muted);
}

html[data-bs-theme="dark"] .pill,
html[data-bs-theme="dark"] .chip{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
}

.pill-soft{
  background:var(--accent-soft);
  border:1px solid rgba(56,121,160,.20);
}

.icon-pill{
  width:44px;
  height:44px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(56,121,160,.10);
  border:1px solid rgba(56,121,160,.14);
}

.lift{
  transition:transform .18s ease,box-shadow .18s ease;
}

@media(hover:hover){
  .lift:hover{
    transform:translateY(-3px);
    box-shadow:0 26px 90px rgba(0,0,0,.16);
  }

  html[data-bs-theme="dark"] .lift:hover{
    box-shadow:0 30px 120px rgba(0,0,0,.65);
  }
}

/* MOBILE */
@media(max-width:900px){
  .admin-shell{
    grid-template-columns:1fr;
  }

  .admin-sidebar{
    display:flex;
    overflow:auto;
    gap:.5rem;
    border-right:0;
    border-bottom:1px solid var(--glass-border);
  }

  .admin-sidebar a{
    white-space:nowrap;
  }

  .hero{
    padding-top:44px;
  }

  .hero h1{
    letter-spacing:-.06em;
  }
}

.patch-frame{
  position:relative;
}

.patch-badge{
  position:absolute;
  left:18px;
  bottom:18px;
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  padding:.65rem .9rem;
  border-radius:999px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(0,0,0,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:.92rem;
  color:var(--ink);
}

html[data-bs-theme="dark"] .patch-badge{
  background:rgba(14,16,24,.62);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.88);
}

.process-item{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1rem;
  border-radius:18px;
  background:rgba(255,255,255,.38);
  border:1px solid rgba(0,0,0,.05);
}

html[data-bs-theme="dark"] .process-item{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

.process-item p{
  margin:.25rem 0 0;
  color:var(--muted);
}

.consent-box{
  padding:1rem;
  border-radius:18px;
  background:rgba(255,255,255,.38);
  border:1px solid rgba(0,0,0,.06);
}

html[data-bs-theme="dark"] .consent-box{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

.countdown-box{
  max-width:560px;
  padding:1rem;
  border-radius:22px;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(0,0,0,.06);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

html[data-bs-theme="dark"] .countdown-box{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

.countdown-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.75rem;
}

.countdown-grid div{
  padding:.85rem .65rem;
  border-radius:18px;
  text-align:center;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(0,0,0,.06);
}

html[data-bs-theme="dark"] .countdown-grid div{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}

.countdown-grid strong{
  display:block;
  font-size:clamp(1.35rem,3vw,2rem);
  line-height:1;
  letter-spacing:-.04em;
}

.countdown-grid span{
  display:block;
  margin-top:.35rem;
  font-size:.78rem;
  color:var(--muted);
}

@media(max-width:575.98px){
  .countdown-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

.settings-section{
  padding:1rem;
  border-radius:22px;
  background:rgba(255,255,255,.34);
  border:1px solid rgba(0,0,0,.06);
}

html[data-bs-theme="dark"] .settings-section{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

.settings-section-head{
  display:flex;
  align-items:center;
  gap:1rem;
  padding-bottom:1rem;
  margin-bottom:.25rem;
  border-bottom:1px solid rgba(0,0,0,.06);
}

html[data-bs-theme="dark"] .settings-section-head{
  border-bottom:1px solid rgba(255,255,255,.08);
}

.settings-preview-box{
  padding:1rem;
  border-radius:18px;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(0,0,0,.06);
}

html[data-bs-theme="dark"] .settings-preview-box{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

.preorder-progress-box{
  max-width:560px;
  padding:1rem;
  border-radius:22px;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(0,0,0,.06);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

html[data-bs-theme="dark"] .preorder-progress-box{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

.preorder-progress{
  height:12px;
  border-radius:999px;
  background:rgba(56,121,160,.12);
  overflow:hidden;
}

.preorder-progress .progress-bar{
  border-radius:999px;
  background:linear-gradient(90deg, rgba(56,121,160,1), rgba(132,191,199,1));
}

.detail-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:.85rem 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.detail-row:last-child{
  border-bottom:0;
}

.detail-row span{
  color:var(--muted);
  font-size:.92rem;
}

.detail-row strong{
  text-align:right;
  font-weight:700;
}

html[data-bs-theme="dark"] .detail-row{
  border-bottom:1px solid rgba(255,255,255,.08);
}

.users-accordion .accordion-item{
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(0,0,0,.06);
}

html[data-bs-theme="dark"] .users-accordion .accordion-item{
  border-bottom:1px solid rgba(255,255,255,.08);
}

.users-accordion .accordion-button{
  background:transparent;
  color:inherit;
  box-shadow:none;
  padding:1rem 1.25rem;
}

.users-accordion .accordion-button:not(.collapsed){
  background:rgba(56,121,160,.08);
}

.users-accordion .accordion-button::after{
  filter:none;
}

html[data-bs-theme="dark"] .users-accordion .accordion-button::after{
  filter:invert(1);
}

.users-accordion .accordion-body{
  padding:1.25rem;
  background:rgba(255,255,255,.28);
}

html[data-bs-theme="dark"] .users-accordion .accordion-body{
  background:rgba(255,255,255,.03);
}

.user-row-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  width:100%;
  padding-right:1rem;
}

@media(max-width:575.98px){
  .user-row-head{
    align-items:flex-start;
    flex-direction:column;
  }
}