@charset "utf-8";
/* --- Reset / safety --- */
*{ box-sizing: border-box; }
html, body{ width:100%; height:100%; overflow-x:hidden; }
img{ max-width:100%; height:auto; }

/* === Fonts === */
.archivo-black-regular { font-family: "Archivo Black", sans-serif; font-weight: 400; font-style: normal; }
.archivo-400 { font-family: "Archivo", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-variation-settings: "wdth" 100; }
.archivo-narrow-400 { font-family: "Archivo Narrow", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }

/* === Base === */
body{
  font-family: "Archivo", sans-serif;
  background:#e7e7e7 url(_g/dot2.png);
  margin:0;
}
.all_wrap{
  width:100%;
  min-width:100%;
  max-width:2440px;
  margin:0 auto;
  background:#fff;
  position:relative;
}

/* === Top bar === */
.top{
  display:grid;
  grid-template-columns: 60px 180px minmax(0,1fr) 200px; /* logo | tytuł | MENU (może się zwężać) | profil */
  background: #c41617;
  color:#fff;
  height:60px;
  align-items:center;
}
.logo{ display:flex; align-items:center; justify-content:center; height:60px; }
.logo img { width:30px; height:30px; }
.tytul {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
}
.avatar{ height:32px; width:32px; overflow:hidden; background:#fff; border-radius:100%; margin:0 16px; float:right; }
.avatar img{ width:100%; }
.top_profil{
  display:flex;
  align-items:center;        /* pionowe wyśrodkowanie względem avatara */
  justify-content:flex-end;  /* trzymamy całość przy prawej krawędzi */
  gap:0px;
  white-space:nowrap;        /* nie łam tekstu na dwie linie */
  padding-right:10px;
}

.top_profil .name{
  line-height:1;             /* brak „unoszenia” tekstu przez line-height */
}

.top_profil .avatar{
  width:32px; height:32px;
  border-radius:50%;
  overflow:hidden;
  flex:0 0 32px;             /* stała szer. – nie „zgniata” się */
}

.top_profil .avatar img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;             /* usuwa dodatkowe 2–3px od baseline obrazka */
}

/* === Layout === */
.tresciowy { display:grid; grid-template-columns:300px auto; background:#f8f8f8; }

/* === Lewe menu === */
.lewe_menu{ padding:15px; }
.lewe_menu .pozycja{ font-weight:500; padding:8px 15px; margin-bottom:4px; color:#444; border-radius:4px; }
.lewe_menu .wybrana{ background:#e0e0e0; }
.lewe_menu a{ display:block; text-decoration:none; color:#000; }
.lewe_menu a:hover{ background:#f0f0f0; }

/* === Prawa treść === */
.prawa_tresc { padding:10px 50px 30px 30px; }
.naglowek { display:grid; grid-template-columns: 40px auto auto; font-size:40px; font-weight:400; margin-bottom:20px; }
.naglowek .icon img { width:32px; height:32px; }

.profil-linia {
    display: grid;
    grid-template-columns: 150px auto auto;
    font-size: 40px;
    font-weight: 400;
    margin-bottom: 0px;
    align-items: center;
}

/* === Top menu: 1 rząd, nie nachodzi na inne kolumny === */
.menu_top{
  min-width:0;
  display:flex; align-items:center; justify-content:center;
  gap:0; padding:0; white-space:nowrap; flex-wrap:nowrap;
  overflow:hidden;              /* KLUCZ: nic nie wychodzi poza kolumnę */
  position:relative; z-index:2;
}
.menu_top a { margin:0 10px; white-space:nowrap; flex:0 0 auto; }
.menu_top a:link, .menu_top a:visited, .menu_top a:active { color:#cacaca; text-decoration:none; }
.menu_top a:hover { color:#e0e0e0; }
.menu_top .wybrana { color:#fff !important; font-weight:500; }


.top_profil a { }
.top_profil a:link, .top_profil a:visited, .top_profil a:active { color:#cacaca; text-decoration:none; }
.top_profil a:hover { color:#e0e0e0; }

/* „Więcej” (ellipsis) */
.menu-more{
  position:relative;
  display:inline-flex;          /* zawsze widoczny, JS ukryje jeśli niepotrzebny */
  align-items:center;
  flex:0 0 auto;
}
.menu-more__btn{
  background:transparent; border:none; color:#fff; cursor:pointer; font-size:20px; padding:0 10px;
}
/* Dropdown jako fixed (nie utnie go overflow:hidden) – pozycjonuje JS */
.menu-more__list{
  position:fixed; left:0; top:0; display:none;
  min-width:180px; background:#c41617; border:1px solid #333; border-radius:1px;
  padding:8px; z-index:1000; text-align:left;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.menu-more__list a{ display:block; padding:6px 10px; margin:0; color:#cacaca; text-decoration:none; }
.menu-more__list a:hover{ background:#7f0708; color:#fff; }

/* Okruszki itd. */
.okruszki { color:#333; margin:20px 0 30px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.okruszki a{ color:#333; text-decoration:none; }
.okruszki a:hover { text-decoration:underline; color:#000; background:#f0f0f0; }
.okruszki .wybrana{ display:inline-block; font-weight:600; color:#000; }

.prawa_float { float:right; text-align:right; }
.tabela_userzy{ display:grid; grid-template-columns: 200px 200px; }
.tabela_userzy .opis{ font-size:16px; }
.tabela_userzy .nr{ font-family:"Archivo Black", sans-serif; font-weight:400; font-size:40px; }

.pasek_menusowy {
    height: 36px;
    padding: 10px 0px 4px 0px;
    border-bottom: 2px solid #ccc;
    margin-bottom: 20px;
    font-size: 15px;
}
.pasek_menusowy .aktywna { border-bottom:2px solid #000; padding-bottom:8px; }
.pasek_menusowy a, .pasek_menusowy a:link, .pasek_menusowy a:visited, .pasek_menusowy a:hover, .pasek_menusowy a:active  {   color: #333;    text-decoration: none; margin-right: 10px; }    
    
.szukajka { line-height:17px; width:300px; font-size:12px; color:#444; }
.szukajka input{
  height:30px; border-radius:8px; border:1px solid #bbb; padding-left:35px; margin-top:8px; font-size:14px; width:300px;
  background-image:url(../_g/szukaj.png); background-repeat:no-repeat; background-size:18px 18px; background-position:10px 6px;
}
.filtruj { float:right; }
.butt_black{ background:#000; border-radius:20px; padding:7px 10px; border:2px solid #fff; color:#fff; min-width:90px; text-align:center; text-decoration:none; }
.butt_black:hover{ color:#eee; background:#333; }
.butt_open{
  display:inline-block; text-decoration:none; font-size:14px; float:right; background:#f8f8f8; border-radius:20px; padding:7px 10px;
  border:2px solid #9b9b9b; color:#000; min-width:60px; text-align:center; font-weight:600;
}
.butt_open:hover{ background:#ccc; }

/* === Overlay === */
.offcanvas-overlay{ display:none; position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:998; }

/* === Toggler menu (poza topem, jedzie z panelem) === */
.menu-toggle{
  position:fixed;
  top:60px; left:0px;
  width:42px; height:42px;
  border:none; border-radius:0px;
  background:#000; color:#fff;
  font-size:24px; line-height:42px;
  display:none; z-index:1001;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
  cursor:pointer;
  transition: left .25s ease, transform .25s ease;
}
.menu-toggle.open{ left:260px; } /* 260px panel + 10px odstępu */
.menu-toggle .icon-open{ display:inline; }
.menu-toggle .icon-close{ display:none; }
.menu-toggle.open .icon-open{ display:none; }
.menu-toggle.open .icon-close{ display:inline; }

/* === Mobile === */
    
@media (max-width: 1000px){
  .top{ grid-template-columns: 60px 180px auto  60px; } /* logo | tytuł | menu | avatar */
  .top_profil{ font-size:0; padding:0; }
  .top_profil .avatar{ float:none; margin:0 auto; position:static; }
}
    
@media (max-width: 800px){
  .top{ grid-template-columns: 60px auto  60px; } /* logo | tytuł | menu | avatar */
  .tytul{ display:none; } /* oszczędność miejsca, ale logo zostaje */

  .top_profil{ font-size:0; padding:0; }
  .top_profil .avatar{ float:none; margin:0 auto; position:static; }

  .tresciowy{ grid-template-columns: 1fr; }

  /* Off-canvas left menu */
  .lewe_menu{
    position:fixed; top:60px; left:-280px; width:260px; height:calc(100% - 60px);
    background:#fff; box-shadow: 2px 0 12px rgba(0,0,0,.2);
    transition: left .25s ease; z-index:999; overflow:auto; padding:15px;
  }
  .lewe_menu.open{ left:0; }
  .offcanvas-overlay.show{ display:block; }

  .prawa_tresc{ padding:12px 16px 24px; }
  .naglowek{ grid-template-columns: 28px auto auto; font-size:26px; }
  .naglowek .icon img{ width:24px; height:24px; }

  .szukajka, .szukajka input{ width:100%; }

  .menu-toggle{ display:block; } /* przycisk jest widoczny tylko na mobile */
}

/* Ultra wąskie */
@media (max-width: 400px){
  .prawa_tresc{ padding:10px 12px 20px; }
    .prawa_tresc {        padding: 10px 12px 20px;        width: 100%;        min-width: 120px;    }
    .tabela_userzy {    grid-template-columns: 50% 50%;}
}


.profile_image{}
.profile_image img {
    border-radius: 50%;
    padding: 10px;
width:140px;height:140px;object-fit:cover;border-radius:50%}

.profil{}
.profil .info{    line-height: 17px;    width: 300px;    font-size: 12px;    color: #444;}
.profil .opis_telfon{}
.profil .e-mail{}
.profil .rola {
    font-weight: bold;
    font-size: 18px;
    position: relative;
    top: -50px;
    right: -151px;
}
.profil .opis_profilu {
    font-size: 16px;
    margin-top: 0px;
    margin-bottom: 20px;
}



.profil-linia {
    display: grid;
    grid-template-columns: 150px auto auto;
    grid-template-areas: 
        "img name edit";
    font-size: 40px;
    font-weight: 400;
    margin-bottom: 0px;
    align-items: center;
}

.profile_image { grid-area: img; }
.profil-nazwa  { grid-area: name; }
.prawa_float   { grid-area: edit; }

/* --- MOBILE --- */
@media (max-width: 768px) {
  .profil-linia {
    grid-template-columns: 1fr;
    grid-template-areas: 
        "edit"
        "img"
        "name";
  }
 .profil .rola {
    font-weight: bold;
    font-size: 18px;
    position: relative;
    top: 0px;
    right: 0px;
}
}
