/* Sdílená navigace přihlášených rozhraní Adifit.
   Jeden zdroj pravdy pro zákaznický účet (account.html) i administraci
   (admin.html).

   Soubor má dvě vrstvy:
   1. Základní podoba řádku s dlaždicovou ikonou a popiskem. Používá ji
      administrace, kde se položky sdružují do rozbalovacích skupin
      (.nav-group-toggle) a popisek nese informaci navíc.
   2. Plochá karta uvnitř .appnav pro zákaznický účet: černé pozadí,
      vlasová linka místo výrazného rámečku, obrysové ikony bez dlaždic
      a jednořádkové položky oddělené jen prostorem. Zvýrazněná je pouze
      aktivní položka. Selektory jsou zanořené pod .appnav, aby se
      administrace nezměnila. */

.appnav{
  display:grid;
  gap:2px;
  padding:10px;
  border-radius:24px;
  background:#0a0a0b;
  border:1px solid rgba(255,255,255,.09);
}

.appnav-item{
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  min-height:52px;
  padding:12px 14px;
  border:0;
  border-radius:16px;
  background:transparent;
  color:rgba(255,255,255,.7);
  font:inherit;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  transition:background .18s ease,color .18s ease;
}
.appnav-item:hover{background:rgba(255,255,255,.05);color:#fff}
.appnav-item:focus-visible{outline:2px solid var(--brand-bright,#e73454);outline-offset:2px}
.appnav-item.on{color:#fff}

/* Základní ikona: dlaždice s vlastní plochou. Zůstává kvůli administraci. */
.appnav-icon{
  flex:0 0 34px;
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:11px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);
  transition:background .18s ease,border-color .18s ease;
}
.appnav-icon svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.appnav-count{
  margin-left:auto;
  flex:0 0 auto;
  font-size:15px;font-weight:500;
  color:rgba(255,255,255,.62);
  font-variant-numeric:tabular-nums;
}
.appnav-item.on .appnav-count{color:#fff}
.appnav-count:empty{display:none}

.appnav-text{min-width:0;display:grid;gap:2px}
.appnav-title{font-size:14.5px;font-weight:700;line-height:1.15;letter-spacing:-.01em}
.appnav-sub{font-size:11.5px;line-height:1.3;color:rgba(255,255,255,.45);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Zákaznický účet drží stejný jazyk jako administrace: dlaždicová ikona,
   dvouřádkový popisek a aktivní položka ve firemní červené. */
.appnav .appnav-icon{
  flex:0 0 36px;
  width:36px;height:36px;
  border-radius:12px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);
  color:rgba(255,255,255,.72);
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.appnav .appnav-icon svg{width:18px;height:18px;stroke-width:1.7}
.appnav-item:hover .appnav-icon{color:#fff}
.appnav-item.on .appnav-icon{
  color:#fff;
  background:rgba(231,52,84,.18);
  border-color:rgba(231,52,84,.34);
}

.appnav .appnav-text{display:grid;gap:2px;align-content:center}
.appnav .appnav-title{font-size:14.5px;font-weight:700;letter-spacing:-.01em;line-height:1.15}
.appnav .appnav-sub{font-size:11.5px;line-height:1.3;color:rgba(255,255,255,.45);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.appnav-item.on .appnav-sub{color:rgba(255,255,255,.62)}

/* Každá položka je samostatná karta s vlastním přechodem, lemem a stínem —
   přesně jako skupiny sekcí v administraci. */
.appnav{gap:8px;padding:0;background:none;border:0}
.appnav .appnav-item{
  border-radius:20px;
  background:linear-gradient(180deg,rgba(23,23,26,.92),rgba(9,9,11,.95));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 14px 32px rgba(0,0,0,.28);
  padding:13px 14px;
  min-height:60px;
}
.appnav .appnav-item:hover{background:linear-gradient(180deg,rgba(32,32,36,.95),rgba(14,14,17,.97))}

/* Aktivní položka: jemný značkový přeliv zleva a světlejší lem. Dřív ji
   obtahoval červený prstenec — v účtu to byl nejvýraznější rámeček na
   stránce, přestože jde jen o „jste tady“. Barvu nese ikona. */
.appnav .appnav-item.on{
  background:linear-gradient(90deg,rgba(176,33,52,.16),rgba(176,33,52,.03) 82%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 14px 32px rgba(0,0,0,.28);
  border-color:rgba(255,255,255,.16);
}

/* Profilová karta: fotka, jméno, členství a pod nimi sekce. Navigace uvnitř
   karty už vlastní rámeček nemá — kreslí ho karta. */
.profile-card{
  border-radius:24px;
  background:#0a0a0b;
  border:1px solid rgba(255,255,255,.09);
  padding:22px 12px 12px;
}
.profile-card .appnav{
  background:none;
  border:0;
  gap:8px;
  border-radius:0;
  padding:6px 0 0;
}
.profile-head{display:grid;justify-items:center;gap:3px;padding:4px 10px 16px}

/* Iniciály zastupují fotku — kruh drží kartě hlavu i bez obrázku. */
.profile-initials{
  width:62px;height:62px;
  margin-bottom:10px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  font-size:21px;font-weight:600;letter-spacing:-.01em;
  color:rgba(255,255,255,.82);
}

.profile-name{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.25;text-align:center}
.profile-email{
  font-size:12.5px;line-height:1.35;text-align:center;
  color:rgba(255,255,255,.55);
  max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.profile-since{font-size:12px;color:rgba(255,255,255,.42);line-height:1.3;text-align:center}
/* Odznaky pod údajem o členství: stálá sleva a zůstatek bodů. Když zákazník
   slevu nemá, zůstanou body samy a řádek se nesesype — proto je drží flex,
   ne pevná dvojice. */
.profile-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:9px}
.profile-badges:empty{display:none}
.profile-discount,.profile-points{display:inline-flex;align-items:center;justify-content:center;
  padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:750;white-space:nowrap}
/* Sleva je zelená, aby byla na první pohled poznat jako výhoda. */
.profile-discount{color:#0c1a0c;
  background:linear-gradient(135deg,#b8f04a,#6fcf20);
  box-shadow:0 6px 16px -8px rgba(111,207,32,.85)}
/* Body navazují na zelené prvky v Objednávkách (points-badge, pay-badge.ok),
   jen v obrysové podobě — v navigaci mají působit jako údaj, ne jako karta. */
.profile-points{color:#d2f599;
  background:rgba(144,224,0,.1);
  border:1px solid rgba(144,224,0,.34)}
.profile-discount[hidden],.profile-points[hidden]{display:none}

/* Tlačítko je záměrně drobné — hlavní je jméno, ne úprava profilu. */
.profile-edit{
  min-height:32px;
  margin-top:12px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.86);
  font:600 12.5px/1 inherit;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.profile-edit:hover{color:#fff}
.profile-edit:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
.profile-edit:focus-visible{outline:2px solid var(--brand-bright,#e73454);outline-offset:2px}

/* Vlasový předěl mezi údaji o účtu a sekcemi. */
.profile-head{position:relative}
.profile-head::after{
  content:"";
  position:absolute;left:10px;right:10px;bottom:0;
  height:1px;
  background:rgba(255,255,255,.08);
}

/* Na užších displejích se z karty stává vodorovná lišta, po které se listuje. */
@media(max-width:900px){
  .appnav{
    display:flex;
    gap:4px;
    min-width:0;
    padding:8px;
    border-radius:20px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .appnav::-webkit-scrollbar{display:none}
  .appnav-item{flex:0 0 auto;min-height:48px;gap:10px;padding:10px 14px;white-space:nowrap}
  .appnav-count{margin-left:0}
}

@media(prefers-reduced-motion:reduce){
  .appnav-item,.appnav-icon{transition:none}
}
