/* start_jeden.css */
:root{
  --bg:#0b0f14;
  --panel:#111826;
  --panel2:#0f1724;
  --text:#e6edf3;
  --muted:#9fb0c0;
  --border:#1f2a3a;
  --accent:#2f7dff;
  --danger:#ff4d4d;
  --ok:#2ad48f;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  background:var(--bg);
  color:var(--text);
}


/* === Ciemne paski przewijania === */
html,
body,
.tabelaWrap,
.modal__body,
.CodeMirror-scroll{
  scrollbar-width:thin;
  scrollbar-color:#5f6b7a #0b111c;
}

*::-webkit-scrollbar{
  width:14px;
  height:14px;
}

*::-webkit-scrollbar-track{
  background:#0b111c;
}

*::-webkit-scrollbar-thumb{
  min-height:44px;
  border:3px solid #0b111c;
  border-radius:999px;
  background:#5f6b7a;
}

*::-webkit-scrollbar-thumb:hover{
  background:#738092;
}

*::-webkit-scrollbar-corner{
  background:#0b111c;
}

*::-webkit-scrollbar-button{
  width:14px;
  height:14px;
  background:#0b111c;
}

.topbar{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px;
  border-bottom:1px solid var(--border);
  background:linear-gradient(180deg, var(--panel), var(--panel2));
}

.logo{
  font-weight:800;
  letter-spacing:.5px;
}

.tokenInfo{
  font-size:12px;
  color:var(--muted);
  margin-left:10px;
  white-space:nowrap;
}

/* === Bottom Status Bar === */
.statusBar{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:20;
  display:flex;
  align-items:center;
  gap:8px;
  padding:5px 12px;
  overflow-x:auto;
  border-top:1px solid var(--border);
  background:rgba(11,17,24,.95);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  min-height:32px;
}
.statusBar__badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:3px 10px;
  border-radius:999px;
  font-size:11.5px;
  font-weight:500;
  white-space:nowrap;
  border:1px solid transparent;
}
.statusBar__badge:empty{
  display:none;
}
.statusBar__badge--token{
  color:var(--ok);
  border-color:rgba(42,212,143,.35);
  background:rgba(42,212,143,.08);
}
.statusBar__badge--dysk{
  color:var(--muted);
  border-color:rgba(159,176,192,.2);
  background:rgba(159,176,192,.06);
}
.statusBar__badge--zaznaczone{
  color:#8ec5ff;
  border-color:rgba(86,160,255,.32);
  background:rgba(86,160,255,.08);
  min-width:40px;
  justify-content:center;
}
.statusBar__badge--upload{
  color:#ff9f43;
  border-color:rgba(255,159,67,.35);
  background:rgba(255,159,67,.08);
}
.statusBar__badge--folder{
  color:var(--muted);
  border-color:rgba(42,212,143,.24);
  background:rgba(42,212,143,.055);
  font-size:12.5px;
  max-width:min(46vw, 560px);
  overflow:hidden;
  text-overflow:ellipsis;
}
.statusBar .status__sciezkaPrefix{
  color:var(--muted);
}
.statusBar .status__folderAktywny{
  color:var(--ok);
  font-size:16.5px;
  font-weight:900;
}

.topbar__left{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.topbar__right{
  display:flex;
  align-items:center;
  gap:10px;
  flex:1;
  min-width:0;
  justify-content:flex-end;
}

.topbar__left,
.nazwaZip,
.szukaj,
.nazwaPlikuBtn{
  transition:flex-basis .18s ease, max-width .18s ease, min-width .18s ease, width .18s ease, opacity .12s ease, padding .18s ease, border-width .18s ease, box-shadow .12s ease, background .12s ease;
}

.topbar--nazwa-aktywna .topbar__left,
.topbar--szukaj-aktywna .topbar__left{
  flex:0 0 0;
  width:0;
  min-width:0;
  opacity:0;
  overflow:hidden;
  pointer-events:none;
}

.topbar--nazwa-aktywna .nazwaZip,
.topbar--szukaj-aktywna .szukaj{
  flex:1 1 auto;
  min-width:0;
  max-width:none;
  width:auto;
}

.topbar--nazwa-aktywna .szukaj,
.topbar--szukaj-aktywna .nazwaZip,
.topbar--nazwa-aktywna #szukajPlikBtn,
.topbar--szukaj-aktywna #nazwaZipPlikBtn{
  flex:0 1 0;
  width:0;
  min-width:0;
  max-width:0;
  opacity:0;
  padding-left:0;
  padding-right:0;
  border-left-width:0;
  border-right-width:0;
  pointer-events:none;
}

.szukaj{
  flex:1;
  min-width:120px;
  max-width:480px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#0c1320;
  color:var(--text);
  outline:none;
}
.szukaj:focus{
  border-color:var(--accent);
}

.nazwaPlikuInput{
  display:none;
}

.nazwaPlikuBtn{
  flex:0 0 36px;
  width:36px;
  min-width:36px;
  height:38px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(42,212,143,.45);
  border-radius:10px;
  background:rgba(42,212,143,.08);
  color:var(--ok);
  font-size:17px;
  line-height:1;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
  touch-action:manipulation;
  position:relative;
}

.nazwaPlikuBtn::after{
  content:"N";
  position:absolute;
  right:3px;
  bottom:2px;
  min-width:12px;
  height:12px;
  padding:0 2px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#07131a;
  color:#8dffc9;
  font-size:8px;
  font-weight:900;
  line-height:1;
}

.nazwaPlikuBtn:hover,
.nazwaPlikuBtn:focus-visible{
  border-color:var(--ok);
  background:rgba(42,212,143,.16);
  box-shadow:0 0 0 2px rgba(42,212,143,.12);
  outline:none;
}


body.body--dragPlik .nazwaZip,
body.body--dragPlik .szukaj{
  border:2px dashed rgba(42,212,143,.78);
  box-shadow:0 0 0 2px rgba(42,212,143,.12), 0 0 16px rgba(42,212,143,.12);
}

body.body--dragPlik .nazwaPlikuBtn{
  border-color:var(--ok);
  background:rgba(42,212,143,.18);
  box-shadow:0 0 0 2px rgba(42,212,143,.10);
}

.szukaj.poleTekstowe--dropNazwaAktywne,
.nazwaZip.poleTekstowe--dropNazwaAktywne{
  border:3px solid var(--ok) !important;
  background:rgba(42,212,143,.14);
  box-shadow:0 0 0 3px rgba(42,212,143,.16), 0 0 22px rgba(42,212,143,.26) !important;
}

#odswiezBtn{
  font-size:18px;
  line-height:1;
  padding:7px 10px;
}

.nazwaZip{
  flex:1;
  min-width:120px;
  max-width:480px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#0c1320;
  color:var(--text);
  outline:none;
}
.nazwaZip:focus{
  border-color:var(--accent);
}
.nazwaZip::placeholder{
  color:var(--muted);
  opacity:.7;
}

/* Własne, kontrolowane podpowiedzi pól topbara.
   Nie używamy natywnego datalist, bo przeglądarka rozciągała go na pół ekranu
   i nie pozwalała pewnie zamknąć listy kliknięciem. */
.polePodpowiedzi{
  position:fixed;
  z-index:5000;
  width:320px;
  max-width:calc(100vw - 24px);
  max-height:210px;
  overflow-x:hidden;
  overflow-y:auto;
  padding:5px;
  border:1px solid rgba(42,212,143,.62);
  border-radius:10px;
  background:#111722;
  box-shadow:0 14px 34px rgba(0,0,0,.48);
}

.polePodpowiedzi__opcja{
  width:100%;
  min-height:34px;
  padding:7px 9px;
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:14px;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}

.polePodpowiedzi__opcja:hover,
.polePodpowiedzi__opcja:focus-visible{
  background:rgba(42,212,143,.14);
  color:#caffea;
  outline:none;
}

.polePodpowiedzi__ikona{
  flex:0 0 auto;
  width:20px;
  text-align:center;
}

.polePodpowiedzi__tekst{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

@media (max-width:700px){
  .polePodpowiedzi{
    max-height:180px;
  }
}

.szukaj::-webkit-search-cancel-button,
.nazwaZip::-webkit-search-cancel-button{
  -webkit-appearance:none;
  appearance:none;
  width:15px;
  height:15px;
  margin-left:8px;
  cursor:pointer;
  opacity:.95;
  background:
    linear-gradient(45deg, transparent 42%, var(--danger) 42%, var(--danger) 58%, transparent 58%),
    linear-gradient(-45deg, transparent 42%, var(--danger) 42%, var(--danger) 58%, transparent 58%);
}

.szukaj::-webkit-search-cancel-button:hover,
.nazwaZip::-webkit-search-cancel-button:hover{
  opacity:1;
  filter:brightness(1.18);
}

#odswiezBtn{
  flex:0 0 auto;
}

.layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 82px;
  gap:10px;
  align-items:stretch;
  padding:12px;
  padding-bottom:42px;
}


.content{
  position:relative;
  border:1px solid var(--border);
  border-radius:14px;
  background:linear-gradient(180deg, #0f1724, #0c1220);
  overflow:hidden;
  min-height:calc(100vh - 98px);
}

.toolbar--compact{
  height:0;
  padding:0;
  border:0;
  overflow:hidden;
}

.sideActions{
  position:sticky;
  top:74px;
  height:calc(100vh - 116px);
  min-height:520px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  padding:8px 7px;
  border:1px solid var(--border);
  border-radius:14px;
  background:linear-gradient(180deg, #0f1724, #0a111d);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
  overflow:auto;
}
.sideBtn{
  appearance:none;
  border:1px solid var(--border);
  background:#101a2a;
  color:var(--text);
  border-radius:12px;
  min-height:47px;
  padding:6px 4px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  font-weight:750;
  line-height:1.05;
  user-select:none;
}
.sideBtn:hover{
  border-color:#2f7dff;
  background:#122137;
}
.sideBtn:active{
  transform:translateY(1px);
}
.sideBtn:disabled{
  opacity:.58;
  cursor:wait;
  transform:none;
}
.sideBtn__icon{
  min-height:17px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  line-height:1;
}
.sideBtn__text{
  font-size:10px;
  color:var(--muted);
  white-space:nowrap;
}

#zipBtn .sideBtn__icon{
  font-size:19px;
  font-weight:900;
}
#zipBtn.sideBtn--zipPartial{
  border-color:rgba(255,176,77,.66);
  background:linear-gradient(180deg, rgba(92,60,17,.72), rgba(55,36,12,.86));
  box-shadow:0 0 0 1px rgba(255,176,77,.12), 0 0 14px rgba(255,176,77,.10);
}
#zipBtn.sideBtn--zipPartial .sideBtn__icon,
#zipBtn.sideBtn--zipPartial .sideBtn__text{
  color:#ffd28a;
  font-weight:900;
}
#zipBtn.sideBtn--zipReady{
  border-color:rgba(42,212,143,.78);
  background:linear-gradient(180deg, rgba(23,88,63,.92), rgba(10,57,42,.96));
  box-shadow:0 0 0 1px rgba(42,212,143,.16), 0 0 16px rgba(42,212,143,.12);
}
#zipBtn.sideBtn--zipReady .sideBtn__icon,
#zipBtn.sideBtn--zipReady .sideBtn__text{
  color:#31ff9c;
  font-weight:900;
  text-shadow:0 0 10px rgba(49,255,156,.25);
}
#zipBtn.sideBtn--zipReady:hover{
  border-color:#31ff9c;
  background:linear-gradient(180deg, rgba(29,112,78,.98), rgba(12,70,50,.98));
  box-shadow:0 0 0 1px rgba(49,255,156,.24), 0 0 22px rgba(49,255,156,.18);
}

.sideBtn--primary{
  border-color:#245ac8;
  background:linear-gradient(180deg, #1e4f9e, #15396f);
}
.sideBtn--danger{
  border-color:rgba(255,77,77,.22);
  background:#101a2a;
}
.sideBtn--danger .sideBtn__icon,
.sideBtn--danger .sideBtn__text{
  color:#ffb4b4;
}
.sideBtn--mark{
  border-color:var(--border);
  background:#101a2a;
}
.sideBtn--mark .sideBtn__icon{
  color:var(--text);
}
.sideBtn--skip{
  border-color:rgba(255,72,72,.34);
  background:#101a2a;
}
.sideBtn--skip .sideBtn__icon,
.sideBtn--skip .sideBtn__text{
  color:#ffb7b7;
}
.sideBtn--readyBlue{
  border-color:rgba(64,137,255,.72);
  background:linear-gradient(180deg, rgba(28,69,135,.86), rgba(17,45,91,.94));
  box-shadow:0 0 0 1px rgba(64,137,255,.12), 0 0 14px rgba(64,137,255,.10);
}
.sideBtn--readyBlue .sideBtn__icon,
.sideBtn--readyBlue .sideBtn__text{
  color:#bcd4ff;
}
.sideBtn--readyPaste{
  border-color:rgba(177,119,255,.72);
  background:linear-gradient(180deg, rgba(78,45,130,.82), rgba(42,27,76,.94));
  box-shadow:0 0 0 1px rgba(177,119,255,.13), 0 0 14px rgba(177,119,255,.10);
}
.sideBtn--readyPaste .sideBtn__icon,
.sideBtn--readyPaste .sideBtn__text{
  color:#dec8ff;
}
.sideBtn--readyOne{
  border-color:rgba(255,204,89,.72);
  background:linear-gradient(180deg, rgba(91,67,20,.82), rgba(56,41,14,.94));
  box-shadow:0 0 0 1px rgba(255,204,89,.12), 0 0 14px rgba(255,204,89,.10);
}
.sideBtn--readyOne .sideBtn__icon,
.sideBtn--readyOne .sideBtn__text{
  color:#ffe09a;
}
.sideBtn--readyDanger{
  border-color:rgba(255,77,77,.72);
  background:linear-gradient(180deg, rgba(97,28,34,.86), rgba(57,17,22,.96));
  box-shadow:0 0 0 1px rgba(255,77,77,.14), 0 0 15px rgba(255,77,77,.12);
}
.sideBtn--readyDanger .sideBtn__icon,
.sideBtn--readyDanger .sideBtn__text{
  color:#ffc8c8;
}
.sideBtn--readyMark{
  border-color:rgba(42,212,143,.66);
  background:rgba(42,212,143,.12);
  box-shadow:0 0 0 1px rgba(42,212,143,.11), 0 0 13px rgba(42,212,143,.10);
}
.sideBtn--readyMark .sideBtn__icon,
.sideBtn--readyMark .sideBtn__text{
  color:#8dffc9;
}
.sideBtn--readyClear{
  border-color:rgba(255,255,255,.28);
  background:linear-gradient(180deg, rgba(54,66,88,.78), rgba(31,40,57,.92));
}
.sideBtn--readyClear .sideBtn__icon,
.sideBtn--readyClear .sideBtn__text{
  color:#eef3ff;
}
.sideBtn--readySkip{
  border-color:rgba(255,72,72,.82);
  background:linear-gradient(180deg, rgba(105,30,35,.90), rgba(61,17,21,.97));
  box-shadow:0 0 0 1px rgba(255,72,72,.16), 0 0 16px rgba(255,72,72,.14);
}
.sideBtn--readySkip .sideBtn__icon,
.sideBtn--readySkip .sideBtn__text{
  color:#ffd0d0;
  font-weight:900;
}
.sideActions__sep{
  height:1px;
  margin:2px 4px;
  background:var(--border);
  flex:0 0 auto;
}
.sideActions__sep--grow{
  flex:1 1 auto;
  min-height:8px;
  background:transparent;
}

.content--dropActive{
  box-shadow:inset 0 0 0 2px rgba(47,125,255,.45);
}

.content--dropActive::after{
  content:attr(data-drop-title);
  position:absolute;
  inset:16px;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 18px 58px;
  border:2px dashed rgba(47,125,255,.75);
  border-radius:16px;
  background:rgba(7,14,26,.74);
  color:#dbe8ff;
  font-size:18px;
  font-weight:800;
  text-align:center;
  pointer-events:none;
  backdrop-filter:blur(2px);
  white-space:pre-line;
}

.content--dropActive::before{
  content:attr(data-drop-folder);
  position:absolute;
  inset:16px;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:58px 18px 18px;
  color:var(--ok);
  font-size:18px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.4px;
  pointer-events:none;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.breadcrumbs{
  padding:12px;
  border-bottom:1px solid var(--border);
  color:var(--muted);
  font-size:13px;
  word-break:break-word;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
.breadcrumbsBackBtn{
  appearance:none;
  width:34px;
  height:28px;
  border:1px solid rgba(255,178,76,.95);
  border-radius:10px;
  background:rgba(255,159,67,.14);
  color:#ffb24c;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  font-weight:900;
  line-height:1;
  margin-right:2px;
  box-shadow:0 0 0 1px rgba(255,178,76,.16), 0 0 14px rgba(255,159,67,.12);
}
.breadcrumbsBackBtn:hover:not(:disabled){
  border-color:#ffd18a;
  background:rgba(255,159,67,.22);
  color:#ffd18a;
}
.breadcrumbsBackBtn:active:not(:disabled){
  transform:translateY(1px);
}
.breadcrumbsBackBtn:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.breadcrumbs .crumb{
  position:relative;
  z-index:1;
  display:inline-block;
  padding:2px 4px;
  border-radius:6px;
  color:var(--text);
  line-height:1.2;
  transform:scale(1);
  transform-origin:center;
  transition:transform .14s ease, color .14s ease, background-color .14s ease, box-shadow .14s ease;
  will-change:transform;
}
.breadcrumbs .crumb--ostatni{
  color:var(--ok);
  font-size:15px;
  font-weight:900;
}
@media (hover:hover) and (pointer:fine){
  .breadcrumbs .crumb:hover{
    z-index:30;
    color:#ffe600 !important;
    background:#0a1322;
    box-shadow:0 0 0 1px rgba(255,230,0,.78), 0 0 16px rgba(255,230,0,.34);
    transform:scale(2);
  }
}
.breadcrumbs .crumb:focus-visible{
  z-index:30;
  color:#ffe600 !important;
  background:#0a1322;
  outline:1px solid #ffe600;
  outline-offset:2px;
  box-shadow:0 0 16px rgba(255,230,0,.34);
  transform:scale(2);
}
.toolbar{
  padding:10px 12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  border-bottom:1px solid var(--border);
  align-items:center;
}
.toolbar.toolbar--compact{
  height:0;
  padding:0;
  border:0;
  overflow:hidden;
}

.sep{
  width:1px;
  height:28px;
  background:var(--border);
  margin:0 4px;
}

.btn{
  appearance:none;
  border:1px solid var(--border);
  background:#101a2a;
  color:var(--text);
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  font-weight:600;
}
.btn:hover{ border-color:#2b3a52; }
.btn:active{ transform:translateY(1px); }

.btn--small{
  padding:8px 10px;
  border-radius:10px;
  font-size:13px;
}

.btn--danger{
  border-color:#3a1f1f;
  background:#1a0f12;
  color:#ffd0d0;
}
.btn--danger:hover{ border-color:#ff6b6b; }


.btn--primary{
  border-color:#245ac8;
  background:linear-gradient(180deg, #2f7dff, #245ec6);
  color:#ffffff;
}
.btn--primary:hover{ border-color:#5c96ff; }

.uploadInput{ display:none !important; }

.status{
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid var(--border);
}

.status__text{
  font-size:13px;
  color:var(--muted);
  flex:1;
  min-width:0;
  overflow-wrap:anywhere;
}
.status__sciezkaPrefix{
  color:var(--muted);
}
.status__folderAktywny{
  color:var(--ok);
  font-size:14px;
  font-weight:850;
}

.btn--cofnij{
  padding:4px 9px;
  border-radius:8px;
  font-size:14px;
  line-height:1;
  flex-shrink:0;
  opacity:.7;
}
.btn--cofnij:hover{ opacity:1; }

/* === Toolbar akcje toggle === */
#akcjeGrupa{
  display:contents;
}
#akcjeGrupa.hidden > *{
  display:none !important;
}
.toggleSwitch{
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  margin:0 4px;
  flex-shrink:0;
}
.toggleSwitch input{
  display:none;
}
.toggleSwitch__track{
  width:36px;
  height:20px;
  border-radius:10px;
  background:var(--border);
  border:1px solid #2a3a4f;
  position:relative;
  transition:background .2s;
}
.toggleSwitch input:checked ~ .toggleSwitch__track{
  background:var(--accent);
  border-color:var(--accent);
}
.toggleSwitch__thumb{
  position:absolute;
  top:2px;
  left:2px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  transition:left .2s;
}
.toggleSwitch input:checked ~ .toggleSwitch__track .toggleSwitch__thumb{
  left:18px;
}

/* === Global Overlay === */
.gOverlay{
  position:fixed;
  inset:0;
  z-index:200;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.gOverlay__card{
  background:linear-gradient(180deg,#111826,#0c1220);
  border:1px solid var(--border);
  border-radius:22px;
  padding:36px 44px 32px;
  min-width:280px;
  max-width:420px;
  width:90vw;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  text-align:center;
  box-shadow:0 24px 64px rgba(0,0,0,.6);
}
@keyframes gSpinnerRot{
  to{ transform:rotate(360deg); }
}
.gOverlay__spinner{
  width:54px;
  height:54px;
  border:4px solid rgba(47,125,255,.18);
  border-top-color:var(--accent);
  border-radius:50%;
  animation:gSpinnerRot .75s linear infinite;
  flex-shrink:0;
}
.gOverlay__tekst{
  color:var(--text);
  font-size:14px;
  font-weight:600;
  line-height:1.5;
  word-break:break-word;
  max-width:340px;
  white-space:pre-line;
}
.gOverlay__progresBox{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
}
.gOverlay__progresBar{
  flex:1;
  height:8px;
  background:rgba(47,125,255,.12);
  border:1px solid var(--border);
  border-radius:999px;
  overflow:hidden;
}
.gOverlay__progresFill{
  height:100%;
  width:0%;
  background:var(--accent);
  border-radius:999px;
  transition:width .12s;
}
.gOverlay__procent{
  font-size:12px;
  color:var(--muted);
  min-width:34px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}

.status__progressBox{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:220px;
}

.status__progressBar{
  width:170px;
  height:10px;
  background:#0a1020;
  border:1px solid var(--border);
  border-radius:999px;
  overflow:hidden;
}

.status__progressFill{
  height:100%;
  width:0%;
  background:var(--accent);
}

.status__progressLabel{
  font-size:12px;
  color:var(--muted);
  width:40px;
  text-align:right;
}

.hidden{ display:none !important; }

.tabelaWrap{
  padding:0;
  overflow:auto;
  height:calc(100vh - 170px);
  height:calc(100dvh - 170px);
  min-height:80px;
  max-height:calc(100vh - 170px);
  max-height:calc(100dvh - 170px);
  transition:opacity .15s;
}
.content--dropActive .tabelaWrap{
  opacity:.15;
}

.tabelaResizeHandle{
  height:7px;
  cursor:ns-resize;
  background:transparent;
  border-bottom:2px solid var(--border);
  transition:border-color .15s;
  margin:0 2px;
}
.tabelaResizeHandle:hover,
.tabelaResizeHandle--active{
  border-bottom-color:var(--accent);
  background:rgba(47,125,255,.07);
}

.tabela{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}

.tabela thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#0d1422;
  border-bottom:1px solid var(--border);
  padding:10px 8px;
  text-align:left;
  color:var(--muted);
  font-weight:700;
}

.tabela td{
  border-bottom:1px solid rgba(31,42,58,.7);
  padding:10px 8px;
}

.col-check{
  width:44px;
  text-align:center;
}

/* === Checkboxy w tabeli === */
#zaznaczWszystko{
  appearance:none;
  -webkit-appearance:none;
  width:18px;
  height:18px;
  border-radius:5px;
  border:2px solid var(--accent);
  background:transparent;
  cursor:pointer;
  vertical-align:middle;
  transition:background .15s, border-color .15s;
  flex-shrink:0;
}
#zaznaczWszystko:checked{
  background:var(--accent);
  border-color:var(--accent);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpolyline points='1.5,6 4.5,9.5 10.5,2.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:10px;
}
#zaznaczWszystko:hover{
  border-color:#5a9dff;
}

.wiersz input[type=checkbox][data-rel]{
  appearance:none;
  -webkit-appearance:none;
  width:15px;
  height:15px;
  border-radius:4px;
  border:2px solid #c8a800;
  background:transparent;
  cursor:pointer;
  vertical-align:middle;
  transition:background .15s, border-color .15s;
  flex-shrink:0;
}
.wiersz input[type=checkbox][data-rel]:checked{
  background:var(--ok);
  border-color:var(--ok);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpolyline points='1.5,6 4.5,9.5 10.5,2.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:9px;
}
.wiersz input[type=checkbox][data-rel]:hover{
  border-color:var(--ok);
}

.wiersz{
  cursor:pointer;
}
.wiersz:hover{
  background:rgba(47,125,255,.08);
}
.wiersz--zazn{
  background:rgba(47,125,255,.14);
}
.wiersz--oznaczony{
  background:var(--oznaczenie-tlo, rgba(57,255,20,.24));
  box-shadow:
    inset 5px 0 0 var(--oznaczenie-kolor, #39ff14),
    inset 0 1px 0 var(--oznaczenie-obrys, rgba(57,255,20,.82)),
    inset 0 -1px 0 var(--oznaczenie-obrys, rgba(57,255,20,.82));
}
.wiersz--oznaczony:hover{
  background:var(--oznaczenie-hover, rgba(57,255,20,.36));
}
.wiersz--oznaczony.wiersz--zazn{
  background:linear-gradient(90deg, var(--oznaczenie-hover, rgba(57,255,20,.36)), rgba(47,125,255,.20));
}
.wiersz--oznaczony input[type=checkbox][data-rel]{
  border-color:var(--oznaczenie-kolor, #39ff14);
  box-shadow:0 0 0 1px var(--oznaczenie-obrys, rgba(57,255,20,.82));
}
.wiersz--pomin-zip td{
  background-image:repeating-linear-gradient(
    135deg,
    transparent 0,
    transparent 13px,
    rgba(255,64,64,.62) 13px,
    rgba(255,64,64,.62) 15px,
    transparent 15px,
    transparent 29px
  );
}
.wiersz--pomin-zip td:not(.col-check){
  text-decoration-line:line-through;
  text-decoration-color:#ff4545;
  text-decoration-thickness:2px;
}
.wiersz--pomin-zip td:first-child{
  box-shadow:inset 5px 0 0 #ff4545;
}
.wiersz--pomin-zip input[type=checkbox][data-rel]{
  border-color:#ff4545;
  box-shadow:0 0 0 1px rgba(255,69,69,.60);
}
.wiersz--pomin-zip:hover td{
  background-image:repeating-linear-gradient(
    135deg,
    transparent 0,
    transparent 13px,
    rgba(255,86,86,.78) 13px,
    rgba(255,86,86,.78) 15px,
    transparent 15px,
    transparent 29px
  );
}
.wiersz--dropTarget{
  background:rgba(42,212,143,.14) !important;
  box-shadow:inset 0 0 0 2px rgba(42,212,143,.55);
}

.tag{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-size:12px;
  border:1px solid var(--border);
  background:#0b1322;
  color:var(--muted);
}
.tag--folder{
  border-color:#24406e;
  color:#bcd4ff;
}
.tag--plik{
  border-color:#2a3a3a;
}


.modal{
  position:fixed;
  inset:0;
  z-index:50;
}
.modal__bg{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.6);
}
.modal__card{
  position:relative;
  margin:6vh auto;
  width:min(900px, 92vw);
  max-height:88vh;
  background:linear-gradient(180deg, #0f1724, #0c1220);
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.modal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border-bottom:1px solid var(--border);
}
.modal__headerLeft{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.modal__title{ font-weight:800; flex:1; text-align:center; }

.btn--modalX{
  width:32px;
  height:32px;
  padding:0;
  border-radius:50%;
  font-size:16px;
  line-height:1;
  flex-shrink:0;
  color:var(--danger);
  display:flex;
  align-items:center;
  justify-content:center;
  border-color:transparent;
  background:transparent;
}
.btn--modalX:hover{
  border-color:var(--danger);
  color:#fff;
  background:rgba(255,77,77,.15);
}

/* === Toast zapisu === */
@keyframes toastIn{
  from{ opacity:0; transform:translate(-50%,-50%) scale(.88); }
  to{   opacity:1; transform:translate(-50%,-50%) scale(1); }
}
@keyframes toastOut{
  from{ opacity:1; transform:translate(-50%,-50%) scale(1); }
  to{   opacity:0; transform:translate(-50%,-50%) scale(.88); }
}
.zapiszToast{
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:300;
  background:linear-gradient(180deg,#111826,#0c1220);
  border:1px solid var(--border);
  border-radius:18px;
  padding:22px 36px;
  min-width:220px;
  max-width:360px;
  text-align:center;
  box-shadow:0 16px 48px rgba(0,0,0,.7);
  animation:toastIn .2s ease;
}
.zapiszToast--out{
  animation:toastOut .2s ease forwards;
}
.zapiszToast__tekst{
  font-size:15px;
  font-weight:700;
  line-height:1.5;
}
.modal__body{
  padding:12px;
  overflow:auto;
}
.modal__body img{
  max-width:100%;
  height:auto;
  border-radius:12px;
  border:1px solid var(--border);
}
.pre{
  white-space:pre-wrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;
  font-size:13px;
  background:#0a1020;
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px;
  color:var(--text);
}


.modal__card--small{
  width:min(460px, 92vw);
}

.uploadDialog__opis{
  color:var(--muted);
  margin-bottom:14px;
  line-height:1.45;
}

.uploadDialog__akcje{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.uploadDialog__tryb{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0 0 16px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#0a1020;
}

.uploadDialog__trybTytul{
  color:var(--text);
  font-size:13px;
  font-weight:800;
}

.uploadDialog__trybOpcja{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:9px 10px;
  border:1px solid rgba(159,176,192,.22);
  border-radius:10px;
  background:#07101d;
  cursor:pointer;
}

.uploadDialog__trybOpcja:has(input:checked){
  border-color:var(--accent);
  background:rgba(47,125,255,.12);
}

.uploadDialog__trybOpcja input,
.uploadDialog__zapamietaj input{
  margin-top:2px;
  width:16px;
  height:16px;
  flex:0 0 auto;
  accent-color:var(--accent);
}

.uploadDialog__trybOpcja span{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.uploadDialog__trybOpcja strong{
  color:var(--text);
  font-size:13px;
}

.uploadDialog__trybOpcja small,
.uploadDialog__trybInfo{
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}

.uploadDialog__zapamietaj{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--text);
  font-size:12px;
  cursor:pointer;
}

@media (max-width: 620px){
  .topbar{
    padding:8px;
  }
  .topbar__left{
    gap:6px;
  }
  .topbar__right{
    gap:6px;
  }
  .nazwaZip,
  .szukaj{
    min-width:82px;
    padding:9px 9px;
  }
  .nazwaPlikuBtn{
    flex-basis:34px;
    width:34px;
    min-width:34px;
    height:36px;
  }
}

@media (max-width: 420px){
  .topbar__left{
    display:none;
  }
  .topbar__right{
    width:100%;
  }
  .nazwaZip,
  .szukaj{
    min-width:68px;
  }
}

@media (max-width: 900px){
  .layout{
    grid-template-columns:minmax(0, 1fr) 72px;
    gap:8px;
  }
  .sideActions{
    top:68px;
    height:calc(100vh - 110px);
    min-height:430px;
  }
  .sideBtn{
    min-height:43px;
  }
  .sideBtn__text{
    font-size:9px;
  }
  .tabelaWrap{ height:calc(100dvh - 170px); max-height:calc(100dvh - 170px); }
}


.konfliktDialog__sciezka{
  margin-bottom:14px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#0a1020;
  color:var(--text);
  font-size:13px;
  line-height:1.45;
  word-break:break-word;
}

.konfliktDialog__akcje{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}


.konfliktDialog__checkbox{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 14px 0;
  color:var(--text);
  font-size:14px;
  line-height:1.4;
  user-select:none;
}

.konfliktDialog__checkbox input{
  margin-top:2px;
  width:16px;
  height:16px;
  accent-color:#2b6fff;
}

.konfliktDialog__checkbox.hidden{
  display:none;
}


.modal__szukajBar{
  display:flex;
  align-items:center;
  gap:6px;
  flex:1;
  margin:0 10px;
}
.modal__szukajInput{
  width:200px;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#0c1320;
  color:var(--text);
  outline:none;
  font-size:13px;
}
.modal__szukajKonter{
  font-size:12px;
  color:var(--muted);
  min-width:48px;
  text-align:center;
  white-space:nowrap;
}
mark.szukaj-wynik{
  background:rgba(255,220,50,.32);
  color:inherit;
  border-radius:2px;
  padding:0 1px;
}
mark.szukaj-aktywny{
  background:rgba(255,170,0,.82);
  color:#000;
  border-radius:2px;
  padding:0 1px;
}

.modal__szukajBar{
  display:flex;
  align-items:center;
  gap:6px;
  flex:1;
  margin:0 10px;
}
.modal__szukajInput{
  width:200px;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#0c1320;
  color:var(--text);
  outline:none;
  font-size:13px;
}
.modal__szukajKonter{
  font-size:12px;
  color:var(--muted);
  min-width:48px;
  text-align:center;
  white-space:nowrap;
}
mark.szukaj-wynik{
  background:rgba(255,220,50,.32);
  color:inherit;
  border-radius:2px;
  padding:0 1px;
}
mark.szukaj-aktywny{
  background:rgba(255,170,0,.82);
  color:#000;
  border-radius:2px;
  padding:0 1px;
}

.btn--zapisz-aktywny{
  border-color:#245ac8;
  background:linear-gradient(180deg,#2f7dff,#245ec6);
  color:#fff;
}

/* CodeMirror dark theme */
.cm-s-start-jeden.CodeMirror{
  background:#0a1020;
  color:#e6edf3;
  border:none;
  font-size:13px;
  line-height:1.6;
  height:calc(75vh - 110px);
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;
}
.cm-s-start-jeden .CodeMirror-gutters{
  background:#080e1a;
  border-right:1px solid #1f2a3a;
  color:#9fb0c0;
}
.cm-s-start-jeden .CodeMirror-linenumber{ color:#9fb0c0; }
.cm-s-start-jeden .CodeMirror-cursor{ border-left:1px solid #e6edf3; }
.cm-s-start-jeden .CodeMirror-selected{ background:rgba(47,125,255,.25); }
.cm-s-start-jeden.CodeMirror-focused .CodeMirror-selected{ background:rgba(47,125,255,.32); }
.cm-s-start-jeden .CodeMirror-activeline-background{ background:rgba(47,125,255,.06); }
.cm-s-start-jeden .CodeMirror-scrollbar-filler,
.cm-s-start-jeden .CodeMirror-gutter-filler{ background:#080e1a; }
.cm-s-start-jeden .cm-keyword{ color:#c792ea; }
.cm-s-start-jeden .cm-operator{ color:#89ddff; }
.cm-s-start-jeden .cm-variable{ color:#e6edf3; }
.cm-s-start-jeden .cm-variable-2{ color:#82aaff; }
.cm-s-start-jeden .cm-variable-3,.cm-s-start-jeden .cm-type{ color:#80cbc4; }
.cm-s-start-jeden .cm-def{ color:#82aaff; }
.cm-s-start-jeden .cm-property{ color:#80cbc4; }
.cm-s-start-jeden .cm-number{ color:#f78c6c; }
.cm-s-start-jeden .cm-string{ color:#c3e88d; }
.cm-s-start-jeden .cm-string-2{ color:#f07178; }
.cm-s-start-jeden .cm-comment{ color:#546e7a; font-style:italic; }
.cm-s-start-jeden .cm-atom{ color:#f78c6c; }
.cm-s-start-jeden .cm-meta{ color:#9fb0c0; }
.cm-s-start-jeden .cm-tag{ color:#f07178; }
.cm-s-start-jeden .cm-attribute{ color:#ffcb6b; }
.cm-s-start-jeden .cm-qualifier{ color:#decb6b; }
.cm-s-start-jeden .cm-builtin{ color:#decb6b; }
.cm-s-start-jeden .cm-bracket{ color:#89ddff; }
.cm-s-start-jeden .cm-error{ color:#f00; }
.cm-s-start-jeden .CodeMirror-matchingbracket{ color:#fff !important; background:rgba(42,212,143,.3); }

.typAkcje{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.btn--openHtml{
  padding:5px 8px;
  border-radius:9px;
  font-size:12px;
  line-height:1;
}

.toolbar .btn{
  padding:6px 12px;
}

/* --- Kolumny tabeli: sort + drag --- */
.tabela thead th[data-kol]{
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
}
.tabela thead th[data-kol]:hover{
  background:#111d30;
  color:var(--text);
}
.th--dragOver{
  box-shadow:inset 3px 0 0 var(--accent);
  background:rgba(47,125,255,.18) !important;
}
.thLabel{ pointer-events:none; }


/* === Ustawienia modal === */
.ustawienia__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:10px;
}
.ustawienia__row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#0a1020;
}
.ustawienia__emoji{
  font-size:20px;
  flex-shrink:0;
  width:28px;
  text-align:center;
}
.ustawienia__label{
  flex:1;
  font-size:13px;
  color:var(--text);
  min-width:0;
}
.ustawienia__labelSub{
  font-size:11px;
  color:var(--muted);
  margin-top:1px;
}
.ustawienia__color{
  width:36px;
  height:28px;
  border-radius:8px;
  border:1px solid var(--border);
  background:transparent;
  cursor:pointer;
  padding:0;
  flex-shrink:0;
}
.ustawienia__color::-webkit-color-swatch-wrapper{ padding:2px; }
.ustawienia__color::-webkit-color-swatch{ border-radius:5px; border:none; }
.ustawienia__color::-moz-color-swatch{ border-radius:5px; border:none; }
.ustawienia__actions{
  display:flex;
  gap:10px;
  margin-top:14px;
  justify-content:flex-end;
}

/* === Pusty folder === */
.pustyFolder{
  text-align:center;
  padding:48px 20px !important;
  border-bottom:none !important;
}
.pustyFolder__ikona{
  font-size:64px;
  opacity:.35;
  line-height:1;
  margin-bottom:8px;
}
.pustyFolder__tekst{
  color:var(--muted);
  font-size:15px;
  font-weight:600;
}

/* === Rozbudowane ustawienia kolorów i gęstości listy === */
.ustawienia__section{
  margin-top:14px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(10,16,32,.72);
}
.ustawienia__sectionTitle{
  font-size:13px;
  font-weight:800;
  margin-bottom:5px;
  color:var(--text);
}
.ustawienia__hint{
  font-size:11.5px;
  line-height:1.35;
  color:var(--muted);
  margin-bottom:10px;
}
.ustawienia__rules{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ustawienia__rule,
.ustawienia__ruleAdd{
  display:grid;
  grid-template-columns:minmax(120px, 1fr) 42px minmax(120px, 150px) auto;
  gap:8px;
  align-items:center;
}
.ustawienia__text,
.ustawienia__select{
  width:100%;
  min-height:32px;
  border:1px solid var(--border);
  border-radius:9px;
  background:#07101d;
  color:var(--text);
  padding:6px 9px;
  font-size:12px;
  outline:none;
}
.ustawienia__text:focus,
.ustawienia__select:focus{
  border-color:rgba(47,125,255,.85);
  box-shadow:0 0 0 2px rgba(47,125,255,.18);
}
.ustawienia__color--mini{
  width:42px;
  height:32px;
}
.ustawienia__empty{
  padding:9px 10px;
  border:1px dashed rgba(159,176,192,.32);
  border-radius:10px;
  color:var(--muted);
  font-size:12px;
}
.ustawienia__density{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ustawienia__densityItem{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:6px 10px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#07101d;
  color:var(--text);
  cursor:pointer;
  font-size:12px;
}
.ustawienia__densityItem input{
  accent-color:var(--accent);
}

body.gestosc-listy--ciasna .tabela thead th{
  padding:7px 8px;
}
body.gestosc-listy--ciasna .tabela td{
  padding:6px 8px;
  font-size:13px;
}
body.gestosc-listy--ciasna .wiersz input[type=checkbox][data-rel]{
  width:14px;
  height:14px;
}
body.gestosc-listy--luzna .tabela thead th{
  padding:12px 10px;
}
body.gestosc-listy--luzna .tabela td{
  padding:14px 10px;
  font-size:15px;
}
body.gestosc-listy--luzna .wiersz input[type=checkbox][data-rel]{
  width:17px;
  height:17px;
}

@media (max-width: 720px){
  .ustawienia__rule,
  .ustawienia__ruleAdd{
    grid-template-columns:1fr 42px;
  }
  .ustawienia__rule .ustawienia__select,
  .ustawienia__ruleAdd .ustawienia__select,
  .ustawienia__rule .ustawienia__ruleDelete,
  .ustawienia__ruleAdd .btn{
    grid-column:1 / -1;
  }
}

/* === Wiele sesji katalogów === */
.ustawienia__densityItem--wide{
  width:100%;
  justify-content:flex-start;
  margin-bottom:10px;
}
.ustawienia__sessionTop{
  display:grid;
  grid-template-columns:minmax(160px, 1fr) minmax(140px, 1fr) auto;
  gap:8px;
  align-items:center;
  margin-bottom:10px;
}
.ustawienia__sessions{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ustawienia__session{
  display:grid;
  grid-template-columns:minmax(130px, 190px) minmax(120px, 1fr) auto;
  gap:8px;
  align-items:center;
}
.ustawienia__sessionPath{
  min-height:32px;
  display:flex;
  align-items:center;
  padding:6px 9px;
  border:1px solid var(--border);
  border-radius:9px;
  background:#07101d;
  color:var(--muted);
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ustawienia__sessionDelete:disabled{
  opacity:.35;
  cursor:not-allowed;
}
@media (max-width: 720px){
  .ustawienia__sessionTop,
  .ustawienia__session{
    grid-template-columns:1fr;
  }
}


/* === Skróty katalogów === */
.skrotyPanel{
  position:fixed;
  z-index:1200;
  width:min(330px, calc(100vw - 92px));
  max-height:min(70vh, 520px);
  overflow:auto;
  padding:9px;
  border:1px solid #2c4f78;
  border-radius:14px;
  background:linear-gradient(180deg, #111c2c, #0a1220);
  box-shadow:0 18px 48px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.03);
}
.skrotyPanel__pusty,
.skrotyModal__pusty{
  padding:16px;
  color:var(--muted);
  text-align:center;
}
.skrotyPanel__kafelek{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 34px;
  gap:6px;
  margin-bottom:7px;
}
.skrotyPanel__kafelek:last-child{ margin-bottom:0; }
.skrotyPanel__wejdz,
.skrotyPanel__usun,
.skrotyModal__wejdz,
.skrotyModal__usun{
  appearance:none;
  border:1px solid var(--border);
  color:var(--text);
  cursor:pointer;
}
.skrotyPanel__wejdz{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px;
  border-radius:10px;
  background:#122039;
  text-align:left;
}
.skrotyPanel__wejdz:hover,
.skrotyModal__wejdz:hover{ border-color:#2f7dff; background:#162b49; }
.skrotyPanel__nazwa{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:800;
}
.skrotyPanel__usun,
.skrotyModal__usun{
  border-color:rgba(255,77,77,.35);
  border-radius:10px;
  background:#21131b;
  color:#ff9b9b;
  font-size:21px;
  font-weight:900;
}
.skrotyPanel__usun:hover,
.skrotyModal__usun:hover{ background:#3a1720; border-color:#ff5f6d; }
.skrotyModal{ display:grid; gap:16px; }
.skrotyModal__aktualny{
  padding:14px;
  border:1px solid rgba(42,212,143,.30);
  border-radius:13px;
  background:rgba(42,212,143,.055);
}
.skrotyModal__etykieta{ color:var(--muted); font-size:12px; margin-bottom:5px; }
.skrotyModal__sciezka{ color:#48eea7; font-weight:850; overflow-wrap:anywhere; margin-bottom:10px; }
.skrotyModal__akcje{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.skrotyModal__lista{ display:grid; gap:8px; }
.skrotyModal__kafelek{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 42px;
  gap:7px;
}
.skrotyModal__wejdz{
  min-width:0;
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  border-radius:11px;
  background:#111d30;
  text-align:left;
}
.skrotyModal__wejdz span:last-child{ min-width:0; display:grid; gap:3px; }
.skrotyModal__wejdz strong{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.skrotyModal__wejdz small{ color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (hover:none), (pointer:coarse){
  .skrotyPanel{ display:none !important; }
}
@media (max-width:700px){
  .skrotyModal__kafelek{ grid-template-columns:minmax(0, 1fr) 44px; }
}

/* === Rozszerzone skróty katalogów: kolory, kolejność i menu kontekstowe === */
.skrotyKolor--0 .skrotyPanel__nazwa,
.skrotyKolor--0 .skrotyModal__wejdz strong{ color:#7CFF4F; }
.skrotyKolor--1 .skrotyPanel__nazwa,
.skrotyKolor--1 .skrotyModal__wejdz strong{ color:#42E8FF; }
.skrotyKolor--2 .skrotyPanel__nazwa,
.skrotyKolor--2 .skrotyModal__wejdz strong{ color:#FFD84A; }
.skrotyKolor--3 .skrotyPanel__nazwa,
.skrotyKolor--3 .skrotyModal__wejdz strong{ color:#FF79D8; }
.skrotyKolor--4 .skrotyPanel__nazwa,
.skrotyKolor--4 .skrotyModal__wejdz strong{ color:#FF8A4C; }
.skrotyPanel__nazwa,
.skrotyModal__wejdz strong{
  text-shadow:none;
  filter:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.skrotyModal__podpowiedz{
  color:#9fb2ca;
  font-size:12px;
  line-height:1.4;
}
.skrotyModal__kafelek,
.skrotyModal__separator,
.skrotyPanel__kafelek,
.skrotyPanel__separator{
  cursor:grab;
  user-select:none;
}
.skrotyModal__kafelek:active,
.skrotyModal__separator:active,
.skrotyPanel__kafelek:active,
.skrotyPanel__separator:active{ cursor:grabbing; }
.skrotyModal__separator,
.skrotyPanel__separator{
  display:flex;
  align-items:center;
  min-height:18px;
  padding:4px 2px;
}
.skrotyModal__separator span,
.skrotyPanel__separator span{
  display:block;
  width:100%;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, #54d8ff 12%, #ff7bd8 50%, #ffe45d 88%, transparent);
  box-shadow:0 0 10px rgba(84,216,255,.55);
}
.skrotyPrzeciagany{ opacity:.38; }
.skrotyCelUpuszczenia{
  outline:2px solid #54d8ff;
  outline-offset:2px;
  border-radius:12px;
}
.skrotyMenuKontekstowe{
  position:fixed;
  z-index:5000;
  min-width:220px;
  max-width:calc(100vw - 16px);
  max-height:calc(100vh - 16px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:7px;
  border:1px solid #355d89;
  border-radius:12px;
  background:#0b1422;
  box-shadow:0 18px 50px rgba(0,0,0,.62);
}

.menuKontekstoweSeparator{
  height:1px;
  margin:6px 4px;
  background:#355d89;
  opacity:.9;
}
.skrotyMenuKontekstowe button{
  display:block;
  width:100%;
  padding:10px 12px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#f4f8ff;
  text-align:left;
  font-weight:750;
  cursor:pointer;
}
.skrotyMenuKontekstowe button:hover{ background:#173055; }
.skrotyMenuKontekstowe button:disabled{
  color:#64758b;
  cursor:not-allowed;
  background:transparent;
}


/* Menu kontekstowe bocznego paska i trwała widoczność przycisków. */
.sideBtn--ukryty{ display:none !important; }
.sideActions__sep--ukryty{ display:none !important; }
.pasekMenuKontekstowe{
  position:fixed;
  z-index:5200;
  width:min(440px, calc(100vw - 16px));
  max-height:calc(100vh - 16px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:12px;
  border:1px solid #355d89;
  border-radius:14px;
  background:#0b1422;
  color:#f4f8ff;
  box-shadow:0 18px 50px rgba(0,0,0,.68);
}
.pasekMenuKontekstowe h3{
  margin:0 0 9px;
  color:#8fc0ff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pasekMenuKontekstowe__siatka{
  display:grid;
  grid-template-columns:repeat(auto-fill, 48px);
  gap:6px;
  justify-content:start;
}
.pasekMenuKontekstowe__akcjaIkona{
  appearance:none;
  width:48px;
  min-width:48px;
  height:47px;
  min-height:47px;
  padding:6px 4px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#101a2a;
  color:var(--text);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  user-select:none;
}
.pasekMenuKontekstowe__akcjaIkona:hover{
  border-color:#2f7dff;
  background:#122137;
}
.pasekMenuKontekstowe__akcjaIkona:active{ transform:translateY(1px); }
.pasekMenuKontekstowe__akcjaIkona .sideBtn__icon{
  min-height:17px;
  font-size:17px;
  line-height:1;
}
.pasekMenuKontekstowe__akcjaIkona[data-uruchom="zipBtn"] .sideBtn__icon{
  font-size:19px;
  font-weight:900;
}
.pasekMenuKontekstowe__akcjaIkona.sideBtn--primary{
  border-color:#245ac8;
  background:linear-gradient(180deg, #1e4f9e, #15396f);
}
.pasekMenuKontekstowe__akcjaIkona.sideBtn--danger{
  border-color:rgba(255,77,77,.22);
}
.pasekMenuKontekstowe__akcjaIkona.sideBtn--danger .sideBtn__icon{ color:#ffb4b4; }
.pasekMenuKontekstowe__akcjaIkona.sideBtn--skip{
  border-color:rgba(255,72,72,.34);
}
.pasekMenuKontekstowe__akcjaIkona.sideBtn--skip .sideBtn__icon{ color:#ffb7b7; }
.pasekMenuKontekstowe__akcjaIkona.sideBtn--readyBlue{
  border-color:rgba(64,137,255,.72);
  background:linear-gradient(180deg, rgba(28,69,135,.86), rgba(17,45,91,.94));
}
.pasekMenuKontekstowe__akcjaIkona.sideBtn--readyPaste{
  border-color:rgba(177,119,255,.72);
  background:linear-gradient(180deg, rgba(78,45,130,.82), rgba(42,27,76,.94));
}
.pasekMenuKontekstowe__akcjaIkona.sideBtn--readyOne{
  border-color:rgba(255,204,89,.72);
  background:linear-gradient(180deg, rgba(91,67,20,.82), rgba(56,41,14,.94));
}
.pasekMenuKontekstowe__akcjaIkona.sideBtn--readyDanger{
  border-color:rgba(255,77,77,.72);
  background:linear-gradient(180deg, rgba(97,28,34,.86), rgba(57,17,22,.96));
}
.pasekMenuKontekstowe__widocznoscLista{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px 10px;
}
.pasekMenuKontekstowe__widocznosc{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:7px 8px;
  border-radius:8px;
  cursor:pointer;
}
.pasekMenuKontekstowe__widocznosc:hover{ background:#132843; }
.pasekMenuKontekstowe__widocznosc input{ flex:0 0 auto; }
.pasekMenuKontekstowe__widocznosc span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:750;
}
@media (max-width:560px){
  .pasekMenuKontekstowe__widocznoscLista{ grid-template-columns:1fr; }
}

/* Animowany pasek podczas przygotowywania wielu plików do uploadu. */
.status__progressBox--nieokreslony .status__progressBar{
  position:relative;
}
.status__progressBox--nieokreslony .status__progressFill{
  width:36% !important;
  animation:startJedenPrzygotowanieUploadu 1.05s ease-in-out infinite;
}
.status__progressBox--nieokreslony .status__progressLabel{
  width:auto;
  min-width:150px;
  color:var(--text);
  white-space:nowrap;
}
@keyframes startJedenPrzygotowanieUploadu{
  0%{ transform:translateX(-115%); }
  50%{ transform:translateX(90%); }
  100%{ transform:translateX(290%); }
}


/* Głębokie wyszukiwanie w aktualnym katalogu i podkatalogach. */
.szukajGlebokoBtn{
  flex:0 0 auto;
  font-size:23px;
  font-weight:900;
  color:#71f5ff;
}
.szukajGlebokoBtn:not(.hidden){ display:inline-flex; }
.szukajGlebokoPanel{
  position:fixed;
  top:64px;
  right:14px;
  z-index:9700;
  width:min(620px, calc(100vw - 28px));
  max-height:calc(100vh - 84px);
  overflow:hidden;
  border:1px solid #2f7fb4;
  border-radius:12px;
  background:#07111e;
  box-shadow:0 16px 46px rgba(0,0,0,.58);
  color:#eaf6ff;
}
.szukajGlebokoPanel__naglowek{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border-bottom:1px solid #17324b;
  background:#0d2035;
  font-weight:900;
}
.szukajGlebokoPanel__zamknij{
  width:34px;
  height:34px;
  border:1px solid #375b77;
  border-radius:8px;
  background:#132843;
  color:#fff;
  font-size:24px;
  cursor:pointer;
}
.szukajGlebokoPanel__opis{
  padding:9px 12px;
  color:#9fc8e6;
  border-bottom:1px solid #17324b;
  font-size:13px;
}
.szukajGlebokoPanel__wyniki{
  max-height:calc(100vh - 180px);
  overflow:auto;
  padding:7px;
}
.szukajGlebokoWynik{
  width:100%;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  border:0;
  border-bottom:1px solid #14283c;
  border-radius:8px;
  background:transparent;
  color:#eef8ff;
  text-align:left;
  cursor:pointer;
}
.szukajGlebokoWynik:hover,
.szukajGlebokoWynik:focus-visible{ background:#112b45; outline:none; }
.szukajGlebokoWynik__ikona{ font-size:22px; text-align:center; }
.szukajGlebokoWynik__tekst{ min-width:0; }
.szukajGlebokoWynik__nazwa{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:850;
}
.szukajGlebokoWynik__sciezka{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#82a9c6;
  font-size:12px;
  margin-top:2px;
}
.szukajGlebokoWynik__typ{
  color:#77e7ff;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
}
.szukajGlebokoPusty{ padding:22px 12px; color:#b9cbd8; text-align:center; }
.wiersz--wynik-szukania{ animation:startJedenWynikSzukania 2.2s ease-out; }
@keyframes startJedenWynikSzukania{
  0%,35%{ outline:3px solid #38f5ff; background:#153f55; }
  100%{ outline-color:transparent; }
}
@media (max-width:700px){
  .szukajGlebokoPanel{ top:58px; right:6px; width:calc(100vw - 12px); max-height:calc(100vh - 68px); }
  .szukajGlebokoPanel__wyniki{ max-height:calc(100vh - 165px); }
}


/* Blokada zapisu katalogów: widoczna, ale nie blokuje przeglądania. */
.katalogKlodka,
.breadcrumbKlodka{
  appearance:none;
  border:0;
  background:transparent;
  color:#ffcf45;
  padding:0 3px;
  margin-left:4px;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  filter:none;
  text-shadow:none;
  vertical-align:middle;
}
.katalogKlodka:hover,
.breadcrumbKlodka:hover{
  color:#fff08a;
  transform:scale(1.15);
}
.breadcrumbs .crumb--ostatni + .breadcrumbKlodka{
  font-size:15px;
}

/* === Grupy plików i katalogów === */
.sideBtn--groups .sideBtn__icon{
  color:#7ee7ff;
  text-shadow:0 0 12px rgba(126,231,255,.35);
}

.grupyModal{
  display:grid;
  gap:14px;
}

.grupyModal__sekcja{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(12,24,43,.74);
}

.grupyModal__naglowek,
.grupyModal__etykieta{
  color:#dce9ff;
  font-size:13px;
  font-weight:850;
}

.grupyModal__wybrane{
  max-height:180px;
  margin:0;
  padding-left:22px;
  overflow:auto;
  color:var(--muted);
  font-size:12px;
}

.grupyModal__wybrane li{
  margin:3px 0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.grupyModal__akcje,
.grupyModal__wybraneAkcje{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.grupyModal__wybraneAkcje{
  justify-content:space-between;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}

.grupyModal__istniejace,
.grupyModal__lista{
  display:grid;
  gap:8px;
}

.grupyModal__dodajIstniejaca,
.grupyModal__otworz{
  width:100%;
  min-width:0;
  border:1px solid var(--border);
  border-radius:10px;
  background:#101f36;
  color:var(--text);
  cursor:pointer;
  text-align:left;
}

.grupyModal__dodajIstniejaca{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
}

.grupyModal__dodajIstniejaca:hover,
.grupyModal__otworz:hover{
  border-color:#42d8ff;
  background:#15304d;
}

.grupyModal__dodajIstniejaca small,
.grupyModal__otworz small{
  color:var(--muted);
}

.grupyModal__kafelek{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto auto;
  gap:8px;
  align-items:stretch;
}

.grupyModal__otworz{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:9px 11px;
}

.grupyModal__otworz > span:last-child{
  min-width:0;
  display:grid;
  gap:3px;
}

.grupyModal__otworz strong,
.grupyModal__otworz small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.grupyModal__ikona{
  color:#7ee7ff;
  font-size:22px;
  font-weight:900;
  text-align:center;
}

.grupyModal__pusty,
.grupyModal__podpowiedz{
  padding:10px;
  color:var(--muted);
  font-size:12px;
  text-align:center;
}

.grupyBreadcrumb__ikona{
  color:#7ee7ff;
  font-size:18px;
  font-weight:900;
}

.grupyBreadcrumb__licznik{
  margin-left:auto;
  padding:3px 8px;
  border:1px solid rgba(126,231,255,.28);
  border-radius:999px;
  color:#9deeff;
  background:rgba(126,231,255,.08);
  font-size:11px;
  font-weight:800;
}

.wiersz--brakujacy{
  opacity:.72;
  background:rgba(255,82,82,.08);
}

.wiersz--brakujacy:hover{
  background:rgba(255,82,82,.13);
}

.grupyBrakujacy__nazwa{
  color:#ff8a8a;
  font-weight:800;
}

.grupyBrakujacy__sciezka{
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
  overflow-wrap:anywhere;
}

.grupyBrakujacy__tag{
  border-color:rgba(255,95,109,.6);
  color:#ff9aa5;
  background:rgba(255,95,109,.12);
}

@media (max-width:700px){
  .grupyModal__kafelek{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
  .grupyModal__otworz{
    grid-column:1 / -1;
  }
  .grupyModal__kafelek > .btn{
    width:100%;
  }
  .grupyBreadcrumb__licznik{
    width:100%;
    margin-left:39px;
  }
}
