/* ===== Motyw OVII ===== */
:root{
  --grafit:#1b1d20; --grafit2:#242730; --grafit3:#2d313c;
  --miedz:#c9764a; --miedz-j:#e0955f;
  --krem:#ece4d8; --krem2:#c9c0b2;
  --ok:#7fbf7f; --zle:#e07a6a;
  --linia:rgba(236,228,216,.10);
  --sidebar-w:250px; --topbar-h:56px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--grafit);color:var(--krem);font-family:'Jost',system-ui,Segoe UI,sans-serif;font-weight:300;line-height:1.5}
a{color:inherit;text-decoration:none}
h1,h2{font-family:'Playfair Display',Georgia,serif}
h1 span,.logo span{color:var(--miedz)}

/* ===== Logowanie ===== */
.ekran-logowania{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.karta-logowania{background:var(--grafit2);border:1px solid var(--linia);padding:34px 30px;width:100%;max-width:380px}
.karta-logowania h1{font-size:1.6rem;margin-bottom:2px}
.karta-logowania .podtytul{color:var(--krem2);font-size:.9rem;margin-bottom:22px}
.karta-logowania label{display:block;font-size:.85rem;color:var(--krem2);margin-bottom:14px}
.karta-logowania input{width:100%;margin-top:5px;background:var(--grafit);border:1px solid rgba(236,228,216,.18);color:var(--krem);padding:11px 12px;font-family:inherit;font-size:1rem;outline:none}
.karta-logowania input:focus{border-color:var(--miedz)}
/* „pozostań zalogowany" — checkbox nie może przejąć width:100% od pól tekstowych */
.pole-pamietaj{display:flex;align-items:center;gap:9px;margin:2px 0 18px;cursor:pointer}
.pole-pamietaj input[type=checkbox]{width:auto;margin:0;accent-color:var(--miedz);flex:0 0 auto}
.pole-pamietaj span{font-size:.85rem;color:var(--krem2)}
.pole-pamietaj small{display:block;font-size:.75rem;opacity:.8}
.karta-logowania button{width:100%;margin-top:8px;background:var(--miedz);color:#141414;border:none;padding:12px;font-family:inherit;font-size:1rem;font-weight:500;cursor:pointer}
.karta-logowania button:hover{background:var(--miedz-j)}
.alert-blad{background:rgba(224,122,106,.12);border-left:3px solid var(--zle);padding:10px 12px;font-size:.85rem;margin-bottom:18px}
.lub{display:flex;align-items:center;gap:10px;color:var(--krem2);font-size:.8rem;margin:18px 0}
.lub::before,.lub::after{content:"";flex:1;height:1px;background:var(--linia)}
.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#fff;color:#3c4043;border:1px solid #dadce0;padding:11px;font-family:inherit;font-size:.95rem;font-weight:500;cursor:pointer}
.btn-google:hover{background:#f7f8f8}
.btn-google svg{flex-shrink:0}

/* ===== Topbar ===== */
.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--grafit2);border-bottom:1px solid var(--linia);display:flex;align-items:center;gap:14px;padding:0 16px;z-index:30}
.hamburger{background:none;border:none;color:var(--krem);font-size:1.4rem;cursor:pointer;line-height:1;padding:4px 6px}
.logo{font-family:'Playfair Display',serif;font-size:1.2rem}
.topbar .user{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:.85rem}
.user-imie{color:var(--krem2)}
.badge{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:2px;background:var(--grafit3)}
.badge-admin{background:var(--miedz);color:#141414}
.wyloguj{color:var(--krem2);border:1px solid var(--linia);padding:5px 10px}
.wyloguj:hover{color:var(--krem);border-color:var(--miedz)}

/* ===== Układ sidebar + treść ===== */
.uklad{display:flex;padding-top:var(--topbar-h);min-height:100vh}
.sidebar{position:fixed;top:var(--topbar-h);bottom:0;left:0;width:var(--sidebar-w);background:var(--grafit2);border-right:1px solid var(--linia);overflow-y:auto;display:flex;flex-direction:column;transition:transform .22s ease;z-index:25}
.sidebar nav{flex:1;padding:14px 0}
.menu-sekcja{border-bottom:1px solid var(--linia)}
.menu-grupa{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:none;border:none;font-family:inherit;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--krem2);padding:14px 20px;cursor:pointer;text-align:left}
.menu-grupa:hover{color:var(--krem)}
.menu-sekcja.otwarta>.menu-grupa{color:var(--krem)}
.menu-strzalka{font-size:.8rem;opacity:.7;transition:transform .2s ease}
.menu-sekcja.otwarta>.menu-grupa .menu-strzalka{transform:rotate(180deg)}
.menu-lista{overflow:hidden;max-height:0;transition:max-height .24s ease}
.menu-sekcja.otwarta>.menu-lista{max-height:520px}
.menu-item{display:flex;align-items:center;gap:11px;padding:11px 20px 11px 24px;font-size:.95rem;border-left:2px solid transparent;cursor:pointer}
.menu-item .ikona{font-size:1.1rem}
.menu-item:hover{background:var(--grafit3)}
.menu-item.aktywny{background:var(--grafit3);border-left-color:var(--miedz);color:var(--miedz-j)}
.menu-item-zew .zew-ikona{margin-left:auto;font-size:.85rem;color:var(--krem2);opacity:.7}
.sidebar-stopka{padding:12px 20px;font-size:.72rem;color:var(--krem2);border-top:1px solid var(--linia)}

.tresc{flex:1;margin-left:var(--sidebar-w);min-width:0;display:flex;flex-direction:column}
.body-zwiniete .sidebar{transform:translateX(calc(-1 * var(--sidebar-w)))}
.body-zwiniete .tresc{margin-left:0}
.powitanie{padding:50px 30px;color:var(--krem2)}
.powitanie h2{color:var(--krem);font-size:1.7rem;margin-bottom:8px}
.ramka{flex:1;width:100%;border:none;background:var(--grafit)}
.zaslona{display:none}

/* ===== Mobile ===== */
@media(max-width:820px){
  .sidebar{transform:translateX(calc(-1 * var(--sidebar-w)))}
  .tresc{margin-left:0}
  .body-menu-otwarte .sidebar{transform:translateX(0)}
  .body-menu-otwarte .zaslona{display:block;position:fixed;inset:var(--topbar-h) 0 0 0;background:rgba(0,0,0,.5);z-index:20}
  .user-imie{display:none}
}

/* ===== Tabela uniwersalna (F8 + edycja grupowa) ===== */
.tabela-widok{padding:16px;font-size:.9rem}
.tabela-pasek{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.tabela-pasek h2{font-size:1.25rem;margin-right:8px}
.szukaj{flex:1;min-width:200px;background:var(--grafit2);border:1px solid rgba(236,228,216,.18);color:var(--krem);padding:9px 12px;font-family:inherit;font-size:.95rem;outline:none}
.szukaj:focus{border-color:var(--miedz)}
.przyc{background:var(--grafit3);color:var(--krem);border:1px solid var(--linia);padding:9px 13px;font-family:inherit;font-size:.85rem;cursor:pointer;white-space:nowrap}
.przyc:hover{border-color:var(--miedz)}
.przyc-akcent{background:var(--miedz);color:#141414;border-color:var(--miedz);font-weight:500}
.przyc-akcent:hover{background:var(--miedz-j)}
.przyc:disabled{opacity:.4;cursor:default}
.info-licznik{font-size:.8rem;color:var(--krem2)}
.tabela-scroll{overflow:auto;border:1px solid var(--linia);max-height:calc(100vh - 200px)}
table.dane{border-collapse:collapse;width:100%;font-size:.85rem}
table.dane th,table.dane td{border-bottom:1px solid var(--linia);padding:8px 10px;text-align:left;vertical-align:top;max-width:320px}
table.dane thead th{position:sticky;top:0;background:var(--grafit3);z-index:2;cursor:pointer;white-space:nowrap}
table.dane tbody tr:hover{background:var(--grafit2)}
table.dane tr.zazn{background:rgba(201,118,74,.14)}
table.dane td.komorka{white-space:pre-wrap;word-break:break-word}
.kol-zazn{width:34px;text-align:center}
mark{background:var(--miedz);color:#141414;padding:0 1px}

/* ===== Modal / edycja ===== */
.modal-tlo{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:flex-start;justify-content:center;padding:30px 16px;overflow:auto;z-index:50}
.modal{background:var(--grafit2);border:1px solid var(--linia);width:100%;max-width:560px;padding:24px}
.modal h3{font-family:'Playfair Display',serif;color:var(--miedz-j);margin-bottom:16px}
.pole{margin-bottom:14px}
.pole label{display:block;font-size:.8rem;color:var(--krem2);margin-bottom:4px}
.pole input,.pole select,.pole textarea{width:100%;background:var(--grafit);border:1px solid rgba(236,228,216,.18);color:var(--krem);padding:9px 11px;font-family:inherit;font-size:.95rem;outline:none}
.pole textarea{min-height:70px;resize:vertical}
.pole input:focus,.pole select:focus,.pole textarea:focus{border-color:var(--miedz)}
.modal-akcje{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.komunikat{padding:10px 12px;font-size:.85rem;margin-bottom:12px}
.komunikat.ok{background:rgba(127,191,127,.12);border-left:3px solid var(--ok)}
.komunikat.blad{background:rgba(224,122,106,.12);border-left:3px solid var(--zle)}

/* ===== Pełnoekranowy edytor pojedynczego wpisu ===== */
.edytor-pelny{position:fixed;inset:0;background:var(--grafit);z-index:60;overflow-y:auto}
.edytor-form{max-width:1040px;margin:0 auto;min-height:100%}
.edytor-naglowek{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--grafit2);border-bottom:1px solid var(--linia);padding:16px 24px}
.edytor-naglowek h3{font-family:'Playfair Display',serif;color:var(--miedz-j);font-size:1.3rem;line-height:1.2}
.edytor-etykieta{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--krem2)}
.edytor-akcje{display:flex;gap:10px;flex-shrink:0}
.edytor-body{padding:20px 24px 60px}
.edytor-sekcja{margin-bottom:26px}
.edytor-sekcja h4{font-family:'Playfair Display',serif;color:var(--miedz);font-size:1.05rem;margin-bottom:14px;padding-bottom:6px;border-bottom:1px solid var(--linia);letter-spacing:.03em}
.edytor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.edytor-grid .pole{margin-bottom:0}
.edytor-grid .pole-szeroki{grid-column:1 / -1}
.edytor-grid textarea{min-height:90px}
.edytor-podglad{display:block;margin-top:8px;max-height:200px;max-width:100%;border:1px solid var(--linia);border-radius:3px;background:var(--grafit2)}
.edytor-link{display:inline-block;margin-top:6px;font-size:.82rem;color:var(--miedz-j)}
.edytor-link:hover{text-decoration:underline}
@media(max-width:600px){.edytor-naglowek{padding:12px 14px}.edytor-body{padding:14px}.edytor-naglowek h3{font-size:1.1rem}}

/* ===== Ikony paszportów — podgląd jak na karcie horeca (miedź #C48A55 na kremie #F7F7F5) ===== */
.pole-ikona{display:flex;gap:10px;align-items:center}
.pole-ikona select{flex:1}
.ikona-podglad{display:inline-flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;background:#F7F7F5;border:1px solid var(--linia);border-radius:4px}
.ikona-podglad svg{width:34px;height:34px;display:block;color:#C48A55}
.medal-podglad img{max-width:40px;max-height:40px;display:block}
.ikona-podglad-linia{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:.8rem;color:var(--krem2)}
.edytor-pomoc{position:sticky;bottom:0;z-index:2;background:var(--grafit2);border-top:1px solid var(--linia);padding:11px 24px;font-size:.85rem;color:var(--krem2);line-height:1.45}
.edytor-pomoc b{color:var(--miedz-j);font-weight:500}
@media(max-width:600px){.edytor-pomoc{padding:10px 14px}}
.svg-upusc{display:flex;align-items:center;justify-content:center;gap:6px;border:1.5px dashed rgba(236,228,216,.3);border-radius:6px;padding:20px 12px;margin-bottom:8px;cursor:pointer;color:var(--krem2);font-size:.88rem;text-align:center;user-select:none}
.svg-upusc:hover,.svg-upusc.nad{border-color:var(--miedz);background:rgba(201,118,74,.08);color:var(--krem)}
table.dane .ikona-podglad{width:36px;height:36px}

/* ===== Wysuwana instrukcja wypełniania paszportu (prawy panel edytora) ===== */
.przyc-instr{background:var(--grafit3);border-color:var(--miedz);color:var(--miedz-j)}
.edytor-instrukcja{position:fixed;top:0;right:0;bottom:0;width:min(460px,94vw);background:var(--grafit2);border-left:1px solid var(--linia);box-shadow:-16px 0 44px rgba(0,0,0,.5);transform:translateX(101%);transition:transform .24s ease;z-index:70;display:flex;flex-direction:column}
.edytor-instrukcja.otwarty{transform:none}
.ei-naglowek{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:var(--grafit3);border-bottom:1px solid var(--linia);flex-shrink:0}
.ei-naglowek h4{font-family:'Playfair Display',serif;color:var(--miedz-j);font-size:1.05rem}
.ei-zamknij{background:none;border:none;color:var(--krem2);font-size:1.15rem;cursor:pointer;line-height:1;padding:4px 6px}
.ei-zamknij:hover{color:var(--miedz-j)}
.ei-tresc{overflow-y:auto;padding:16px 18px 44px;font-size:.86rem;line-height:1.5;color:var(--krem)}
.ei-tresc h5{font-family:'Playfair Display',serif;color:var(--miedz);font-size:.98rem;margin:20px 0 7px;padding-bottom:4px;border-bottom:1px solid var(--linia);letter-spacing:.02em}
.ei-tresc h5:first-child{margin-top:0}
.ei-tresc p{margin:0 0 9px;color:var(--krem2)}
.ei-tresc ul{margin:0 0 10px;padding-left:18px}
.ei-tresc li{margin-bottom:6px;color:var(--krem2)}
.ei-tresc b{color:var(--krem);font-weight:500}
.ei-tresc .ei-przyklad{color:var(--miedz-j);font-style:italic}
.ei-tresc .ei-pole{background:var(--grafit);border:1px solid var(--linia);border-radius:3px;padding:1px 5px;font-size:.82rem;color:var(--miedz-j);white-space:nowrap}
.ei-tresc table{width:100%;border-collapse:collapse;margin:2px 0 12px;font-size:.8rem}
.ei-tresc th,.ei-tresc td{border:1px solid var(--linia);padding:5px 7px;text-align:left;vertical-align:top}
.ei-tresc th{background:var(--grafit3);color:var(--krem);font-weight:500}
.ei-tresc .ei-wsk{background:rgba(201,118,74,.10);border-left:3px solid var(--miedz);padding:8px 10px;margin:0 0 11px;color:var(--krem)}
@media(max-width:600px){.edytor-instrukcja{width:100vw}}
table.dane .ikona-podglad svg{width:26px;height:26px}
