/* Theme Toggle Button */
.theme-toggle {
    -webkit-tap-highlight-color: rgba(0,0,0,0.1);
    touch-action: manipulation;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.2s ease, transform 0.2s ease;
    position: relative;
}
.theme-toggle:hover {
    background: var(--bg-hover);
    transform: scale(1.05);
}
.theme-toggle:active {
    transform: scale(0.95);
    background: var(--bg-hover);
}
.theme-toggle i {
    pointer-events: none;
    font-size: 18px;
    transition: opacity 0.3s ease, transform 0.3s ease;
    position: absolute;
}
/* Domyślnie (ciemny tryb) - pokazuj słońce */
.theme-icon-light {
    color: var(--accent);
    opacity: 1;
    transform: rotate(0deg);
}
.theme-icon-dark {
    pointer-events: none;
    color: var(--text-secondary);
    opacity: 0;
    transform: rotate(-90deg);
}
/* Jasny tryb - pokazuj księżyc */
html.light-mode .theme-icon-light {
    pointer-events: none;
    opacity: 0;
    transform: rotate(90deg);
}
html.light-mode .theme-icon-dark {
    pointer-events: none;
    color: var(--accent);
    opacity: 1;
    transform: rotate(0deg);
}

/* Ukrycie loading-layer dla cytowania */
#loading-layer {display: none !important;}

/* Style dla bloku cytatu - nowoczesny styl "bubble" */
.quote_block,
.quote_block.noncontenteditable {
    background: transparent !important;
    border: none !important;
    border-left: 3px solid var(--accent) !important;
    border-radius: 0 !important;
    margin: 6px 0 !important;
    padding: 0 0 0 10px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    min-height: 0 !important;

    font-size: 0 !important;
}
.title_quote {
    background: transparent !important;
    border: none !important;
    color: var(--text-muted) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    min-height: 0 !important;

    line-height: 1.3 !important;
}
.title_quote a,
.title_quote [data-commentuser] {
    font-size: inherit !important; color: var(--accent) !important;
    font-weight: 500 !important;
}
.title_quote .quote_link {
    display: none !important;
}
.quote_block .quote {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;

    font: inherit !important;
    color: inherit !important;
    display: contents !important;
}
.quote_block .quote_body,
.quote_body,
.quote_body.contenteditable {
    padding: 0 !important;
    margin: 0 !important;
    color: var(--text-secondary) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    min-height: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    font-style: italic !important;
}
.quote_body *,
.quote_body p,
.quote_body span,
.quote_body div,
.comment .quote_body p,
.comment .quote_body *,
.comment .quote_block .quote_body p {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: var(--text-secondary) !important;
    font-style: italic !important;
}
.quote_body p:empty,
.quote_body br,
.quote_block + p:empty,
.quote_block + br,
.comment .quote_body p:empty {
    display: none !important;
    height: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
}

* {border: 0;margin: 0;outline: none;-webkit-tap-highlight-color: transparent !important;-webkit-touch-callout: none;}
html {background: var(--bg-body);font-family: 'Open Sans', sans-serif;}
body {font-size: 15px;line-height: 1.6;background: var(--bg-body);min-width: 1280px;}
hr {display: block;height: 1px;border: 0;border-top: 1px solid var(--border-main);margin: 1em 0;padding: 0;}
img {max-width: 100%;}
ul, ol {list-style: none;}
fieldset {border: 0;margin: 0;padding: 0;}
a {text-decoration: none;color: var(--accent);}
a:hover,a:active {text-decoration: underline;color: var(--accent-hover);}
form {font-size: 0 !important;}
form label, form a, form input,form div {font-size: 15px;}

/* HEADER */
header {height: auto;}
.user {height: 48px;line-height: 48px;color: var(--text-secondary);font-size: 14px !important;}
.user a {color: var(--accent);font-weight: 700;}
.user form {float: right;font-size: 14px !important;font-weight: 700;opacity: 0.7;}
.user form:hover,.user form.active {opacity: 1;}
.user input[type="text"],.user input[type="password"] {background: var(--bg-input);border: 1px solid var(--border-main);padding: 0 10px;width: 93px;}
.user input[type="text"]:focus,.user input[type="password"]:focus,.user input[type="text"]:hover,.user input[type="password"]:hover {border-color: var(--accent);}
.user input[type="text"] {}
.user input[type="password"] {}
.user input[type="submit"]:hover {background: var(--accent-hover);}
.user input[type="submit"]:active {background: var(--accent-active);}
.user form a {color: var(--text-secondary);font-weight: 400;}

header .searchbox {display: flex;justify-content: flex-end;float: right;color: var(--text-secondary);margin: -2px 0 0 0;}
header .searchbox input[type="text"] {width: 257px;height: 42px;padding: 0 15px;margin: 0 10px 0 0;background: var(--bg-input);border: 1px solid var(--border-main);}
header .searchbox input[type="submit"] {background: var(--accent) url(../images/search_icon.png) no-repeat center center;border: none;text-indent: -999em;padding: 0 10px;width: 43px;height: 42px;}
header .searchbox input[type="submit"]:hover {background: var(--accent-hover) url(../images/search_icon.png) no-repeat center center;}
header .searchbox input[type="submit"]:active {background: var(--accent-active) url(../images/search_icon.png) no-repeat center center;}
header .searchbox input[type="checkbox"] {margin: 1px 0 0 0;}
header .searchbox label {padding: 0 0 0 10px;color: var(--text-secondary);}

.searchbox a.searchmore:hover {background: var(--accent-hover);text-decoration: none;}
.searchbox a.searchmore:active {background: var(--accent-active);}
.searchbox div {width: 445px;opacity: 0.7;font-size: 14px !important;margin: 49px 1px 0 1px;}
.searchbox div:hover {opacity: 1;}
.searchbox div a {float: right;font-weight: 600;color: var(--accent);text-decoration: none;}
.searchbox div a:hover {color: var(--accent-hover);text-decoration: none !important;}

/* SIATKA */
.wrapper {margin: 0 auto 10px auto;overflow: auto;display: block;}
aside {width: 240px;float: left;}
.content {width: 780px;float: left;margin: 0 10px;}
.right {width: 240px;float: left;}
.boxed {background: var(--bg-card);border: 1px solid var(--border-main);-webkit-border-radius: 5px;-moz-border-radius: 8px;border-radius: 8px;margin: 10px 0 0 0;}
}
.content .boxed {}

/* Left */
nav.boxed section:first-child {border-top: 0;}
nav.boxed section {border-top: 1px solid var(--border-main);padding: 0;}
nav.menu ul {margin: 8px 6px 10px 6px;}
nav.menu ul ul {margin: 4px 0 -4px 0;}
nav.menu ul ul li {background: none;}
nav.menu li {text-align: left;border: 0;line-height: 16px;padding: 0;margin: 1px 0;border-radius: 8px !important;transition: all 0.2s ease;}
nav.menu li li {padding: 0;margin: 0;border-radius: 0;}
nav.menu ul > li:hover {background: var(--bg-input);}
nav.menu ul ul li:hover {background: var(--bg-input);}
nav.menu ul a {font-size: 14px !important;color: var(--text-secondary);width: 100%;display: block;font-weight: 600;padding: 8px 12px;text-decoration: none;}
nav.menu ul ul a {font-size: 13px;font-weight: 400;padding: 6px 12px 6px 20px;}
nav.menu li.active {background: var(--accent); color: var(--text-on-accent);}
nav.menu li.active:hover {background: var(--accent-hover);}
nav.menu ul > li:has(li:hover) {background: transparent;}

/* DMCA w menu - czerwony */
nav.menu a.menu-dmca {
  color: var(--error) !important;
}
nav.menu a.menu-dmca:hover {
  color: var(--error) !important;
}
nav.menu a.menu-dmca i {
  margin-right: 5px;
}

/* movie */
/* Fullstory - strona pojedynczego newsa */
.articles-container > .movie.boxed {
  padding: 20px 25px 10px !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 8px !important;
}
.articles-container > .movie.boxed > h3, .articles-container > .movie.boxed > h1 {
  color: var(--text-secondary) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 0 15px 0 !important;
  padding: 0 0 15px 0 !important;
  border-bottom: 1px solid var(--border-main) !important;
  text-align: left !important;
}

/* Informacje o artykule - fullstory */
.articles-container > .movie.boxed > .informacje {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  padding: 0 0 15px 0 !important;
  margin: 0 0 15px 0 !important;
  border-bottom: 1px solid var(--border-main) !important;
  height: auto !important;
  position: static !important;
}
.articles-container > .movie.boxed > .informacje .info-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: var(--text-secondary) !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  height: auto !important;
  line-height: 1.4 !important;
  float: none !important;
}
.articles-container > .movie.boxed > .informacje .info-item i {
  color: var(--accent) !important;
  font-size: 14px !important;
}
.articles-container > .movie.boxed > .informacje .info-item a {
  color: var(--text-secondary) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.articles-container > .movie.boxed > .informacje .info-item a:hover {
  color: var(--accent) !important;
}

/* DMCA - Prawy górny róg artykułu */
.movie.boxed {
  position: relative;
}
/* Hover effect dla artykułów w sidebarach */
aside .movie.boxed,
.right .movie.boxed {
  transition: transform 0.2s ease;
}
aside .movie.boxed:hover,
.right .movie.boxed:hover {
  transform: translateY(-5px);
}
.content .movie.boxed > h3, .content .movie.boxed > h1 {
  margin-top: 35px !important;
}
.dmca-corner {
  position: absolute;
  top: 12px;
  right: 12px;
  color: var(--btn-danger-text) !important;
  text-decoration: none !important;
  padding: 6px 12px;
  background: var(--btn-danger-bg);
  border: 1px solid var(--btn-danger-border);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  transition: all 0.2s ease;
  z-index: 10;
}
.dmca-corner:hover {
  color: var(--btn-danger-hover-text) !important;
  background: var(--btn-danger-hover-bg);
  border-color: var(--btn-danger-hover-bg);
}
.dmca-corner i {
  margin-right: 4px;
}

.content .movie h3:not(.list-card-title) a:hover {text-decoration: none;color: var(--accent);}
.content .boxed {padding: 14px 19px 15px 19px;}
.movie p {line-height: 20px;margin: 12px 0 0 0;color: var(--text-secondary);}
.movie .opis p:first-child {margin: 0;}
.movie .informacje {position: relative;width: 100%;height: 37px;border-bottom: 1px solid var(--border-main);}
.movie .informacje p {position: absolute;font-size: 14px !important;right: 0;margin: 0;color: var(--text-secondary);line-height: 37px;padding: 0;}
.informacje span {font-size: 14px !important;color: var(--text-secondary);width: auto;float: left;display: block;height: 37px;line-height: 37px;padding: 0;margin: 0 15px 0 0;border: none;}
.movie .informacje p:first-child {left: 0;border-left: 0;}
.movie .informacje p.last {padding: 0 0 0 18px;text-align: right;}
.movie .informacje p:first-child span {padding: 0;margin-left: 0 !important;}
.post_author,.post_category {border-left: 0px !important;}

/* Rating gwiazdkowy */
.rating-box {display: inline-flex !important;align-items: center;gap: 0;height: 37px;}
.rating-box > div, .rating-box .rating, .rating-box .stars-wrapper, .rating-box .stars-wrapper > div {border: none !important;padding: 0 !important;margin: 0 !important;height: auto !important;float: none !important;}
.rating-label {color: var(--text-secondary);font-size: 14px !important;display: inline !important;margin-right: 4px !important;}
.stars-wrapper {display: inline-flex !important;align-items: center;margin: 0 !important;padding: 0 !important;}

/* Średnia ocena - badge z kolorami */
.informacje .rating-box .rating-avg-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 28px !important;
    height: 20px !important;
    background: var(--bg-body) !important;
    color: var(--text-primary) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    border: 2px solid var(--text-muted) !important;
    float: none !important;
    line-height: 1 !important;
}
/* Kolory ramki w zależności od oceny */
.informacje .rating-box .rating-avg-badge.rating-low {border-color: var(--error) !important;}
.informacje .rating-box .rating-avg-badge.rating-mid {border-color: var(--warning) !important;}
.informacje .rating-box .rating-avg-badge.rating-high {border-color: var(--success) !important;}
/* Badge bliżej gdy nie ma gwiazdek */
.informacje .rating-box .rating-avg-badge.no-stars {margin-left: 4px !important;}

/* TMDB Rating Badge */
.informacje .rating-box {
    margin-right: 4px !important;
}
.informacje .tmdb-rating {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
}
.informacje .tmdb-label {
    color: var(--text-muted);
    font-size: 13px;
    margin-right: 4px;
}
.informacje .tmdb-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 28px !important;
    height: 20px !important;
    background: #2d2d2d !important;
    color: #f5c518 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    padding: 0 6px !important;
    border: none !important;
}

/* Tekst po zagłosowaniu */
.voted-text {
    color: var(--success);
    font-size: 12px;
    font-weight: 600;
}

.quote,.scriptcode {border: 1px solid var(--border-main);background: rgba(255, 107, 0, 0.15);color: var(--accent);padding: 15px;margin: 20px 0px 0px 0px;font-size: 14px !important;line-height: 1.5;white-space: pre-line;border-radius: 8px !important;}

/* Ukryta treść [hide] */
.hidetxt,.dle-hide,.spoiler-body,.hide-content {
    background: linear-gradient(135deg, var(--bg-input) 0%, var(--bg-card) 100%);
    border: 1px solid var(--border-main);
    border-radius: 8px !important;
    padding: 15px;
    margin: 15px 0;
}
.hidetxt-title,.spoiler-title,.hide-title {
    color: var(--accent);
    font-weight: 600;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.hidetxt-title:before,.hide-title:before {
    content: "\f023";
    font-family: FontAwesome;
}
.hide-message {
    color: var(--error);
    font-size: 13px;
    padding: 10px 15px;
    background: rgba(248, 81, 73, 0.1);
    border: 1px solid rgba(248, 81, 73, 0.3);
    border-radius: 4px;
}

/* Zwijane dane techniczne */
.scriptcode-wrapper {position: relative;margin: 20px 0 0 0;padding-bottom: 40px;}
.scriptcode-wrapper .scriptcode,
.scriptcode-wrapper .quote,
.opis .scriptcode-wrapper .quote {
    margin: 0 !important;
    max-height: 105px;
    overflow: hidden !important;
    transition: max-height 0.3s ease;
    display: block !important;

    background: rgba(255, 107, 0, 0.15) !important;
    border: 1px solid var(--border-main) !important;
    padding: 15px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--accent) !important;
    border-radius: 8px !important;
}
.scriptcode-wrapper.expanded .scriptcode,
.scriptcode-wrapper.expanded .quote,
.opis .scriptcode-wrapper.expanded .quote {max-height: none !important;overflow: visible !important;}
.scriptcode-wrapper .scriptcode-fade {position: absolute;bottom: 40px;left: 0;right: 0;height: 40px;background: linear-gradient(transparent, var(--bg-card));pointer-events: none;z-index: 1;}
.scriptcode-wrapper.expanded .scriptcode-fade {display: none;}
.scriptcode-toggle,
.movie .opis .scriptcode-toggle {position: absolute;bottom: 0;left: 0;right: 0;height: 40px;line-height: 40px;background: transparent;text-align: center;color: var(--accent);font-weight: 600;cursor: pointer;font-size: 14px !important;z-index: 2;outline: none;padding: 0;}
.scriptcode-toggle:hover {text-decoration: underline;}
.scriptcode-toggle:focus {outline: none;}

/* Ukrywanie linków do pobrania */
.download-hidden-wrapper {position: relative;margin: 20px 0;}
.download-hidden-overlay {
    background: var(--bg-card);
    border: 1px solid var(--border-main);
  border-radius: 5px;
    padding: 30px 20px;
    text-align: center;
}
.download-hidden-overlay i {font-size: 48px;color: var(--accent);margin-bottom: 15px;display: block;}
.download-hidden-overlay p {color: var(--text-secondary);margin: 0 0 15px 0;font-size: 15px;}
.download-hidden-overlay .btn-show-links {
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
    color: var(--text-on-accent);
    border: none;
    padding: 10px 24px;
    border-radius: 5px;
    font-size: 14px !important;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}
.download-hidden-overlay .btn-show-links i.fa-unlock {margin-right: 8px;font-size: 18px;color: var(--text-primary);}
.download-hidden-overlay .btn-show-links i.fa-spinner {margin-right: 8px;font-size: 18px;color: #fff;}
.download-hidden-overlay .btn-show-links:hover {background: linear-gradient(135deg, var(--accent-hover) 0%, var(--accent) 100%);transform: translateY(-1px);}
.download-hidden-overlay .btn-login {
    background: transparent;
    color: var(--accent);
    border: 2px solid var(--accent);
    padding: 12px 30px;
    border-radius: 8px !important;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-block;
    -webkit-tap-highlight-color: transparent;
}
.download-hidden-overlay .btn-login:hover {background: var(--accent-hover) !important;color: #fff !important;border-color: var(--accent) !important;}
.download-links-container {display: none;}
.download-links-container.visible {display: block;}

/* Multi-release: kompaktowy styl dla wielu wersji */
.download-hidden-wrapper.release-pair {margin: 10px 0;}
.download-hidden-overlay.compact {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px;
    padding: 12px 16px;
    background: rgba(22, 27, 34, 0.9);
    border-radius: 8px !important;
    border: 1px solid var(--border-main);
}
.download-hidden-overlay.compact i {
    font-size: 18px !important;
    margin: 0 !important;
    color: var(--accent);
    display: inline-block !important;
    flex-shrink: 0;
}
.download-hidden-overlay.compact span {
    color: var(--text-secondary);
    font-size: 13px;
    flex: 1;
}
.download-hidden-overlay.compact .btn-small {
    padding: 6px 14px;
    font-size: 12px;
    border-radius: 4px;
    flex-shrink: 0;
}
.download-hidden-overlay.compact .btn-show-links {
    color: var(--text-on-accent);
    background: var(--accent);
    border: none;
    cursor: pointer;
}
.download-hidden-overlay.compact .btn-login {
    background: transparent;
    color: var(--accent);
    border: 1px solid var(--accent);
    text-decoration: none;
}

/* Komunikat logowania dla komentarzy */
.login-required-message {
    text-align: center;
    padding: 20px;
}
.login-required-message i {font-size: 36px;color: var(--accent);margin-bottom: 10px;display: block;}
.login-required-message p {color: var(--text-secondary);margin: 0 0 15px 0;font-size: 14px !important;}
.login-required-message .btn-login {
    background: transparent;
    color: var(--accent);
    border: 2px solid var(--accent);
    padding: 10px 24px;
    border-radius: 5px;
    font-size: 14px !important;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-block;
    -webkit-tap-highlight-color: transparent;
}
.login-required-message .btn-login:hover {background: var(--accent-hover) !important;color: #fff !important;border-color: var(--accent) !important;}

/* Styl captcha w komentarzach */
.addcomment .captcha-row {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 0;
    flex-wrap: wrap;
}
.addcomment .captcha-image a {
    display: inline-block;
}
.addcomment .captcha-image img {
    border-radius: 8px !important;
    border: 1px solid var(--border-main);
    vertical-align: middle;
    cursor: pointer;
}
.addcomment .captcha-input {
    flex: 1;
    max-width: 200px;
}
.addcomment input.recode {
    background: var(--bg-body) !important;
    border: 1px solid var(--border-main) !important;
    color: var(--text-secondary) !important;
    padding: 10px 15px !important;
    border-radius: 5px !important;
    font-size: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.addcomment input.recode:focus {
    border-color: var(--accent) !important;
    outline: none !important;
}
.addcomment input.recode::placeholder {
    color: var(--text-muted);
}
.movie .informacje a {color: var(--text-secondary);}
.opis {padding: 20px 0 0 0;text-align: center;}
.movie .dol {text-align: right;margin: 19px 0px 0px 0px;}
.movie .dol .lewa {float: left;line-height: 40px;margin-top: -2px;}
.movie .dol .lewa span {font-size: 14px !important;color: var(--text-muted);width: auto;float: left;display: block;height: 37px;line-height: 37px;padding: 0 0 0 18px;margin: 0 0 0 18px;}
.movie .dol .lewa a {color: var(--accent);}
.movie .dol .prawa .komentarze {font-size: 14px !important;color: var(--accent);margin-right: 20px;line-height: 40px;display: inline;}
.movie .dol .prawa .komentarze a {color: var(--accent) !important;background: none !important;border: none !important;padding: 0 !important;width: auto !important;height: auto !important;line-height: inherit !important;text-shadow: none !important;}
.movie .dol .prawa .komentarze a:hover {background: none;text-decoration: underline;}
.movie .dol .lewa a:hover {color: var(--accent-hover);}
.movie .dol .prawa > a:hover {background: var(--accent-hover) !important;text-decoration: none;}
.movie .dol .prawa > a:active,
.movie .dol .prawa > a:focus {background: var(--accent-active) !important;outline: none;}

/* Fullstory footer */
.fullstory-footer {
  padding: 10px 0 0 0;
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}
.dmca-report-btn {
  margin-left: auto;
  background: var(--btn-danger-bg) !important;
  color: var(--btn-danger-text) !important;
  border: 1px solid var(--btn-danger-border) !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
  font-size: 12px !important;
  font-weight: 600;
  padding: 6px 12px !important;
  border-radius: 4px !important;
}
.dmca-report-btn:hover {
  color: var(--btn-danger-hover-text) !important;
  background: var(--btn-danger-hover-bg) !important;
  border-color: var(--btn-danger-hover-bg) !important;
}
.dmca-report-btn i {
  margin-right: 4px;
}
.fullstory-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
}
.fullstory-views {
  font-size: 14px !important;
  color: var(--text-secondary);
}
.fullstory-views i {
  color: var(--accent);
  margin-right: 5px;
}
.fullstory-views strong {
}

/* Standardowy odstęp między artykułem a sekcją komentarzy (10px jak wszędzie) */
.articles-container > .movie.boxed {
  margin-bottom: 0 !important;
}
.articles-container .messages.addcomment.boxed,
.articles-container .infobox.boxed,
.articles-container .comment.boxed:first-of-type,
.content .messages.addcomment.boxed,
.content .infobox.boxed {
  margin-top: 10px !important;
}
.articles-container > form,
.articles-container #dle-comments-form,
#dle-comments-form {
  margin: 0 !important;
  padding: 0 !important;
}
/* Paginacja w widoku listy */
.articles-container .pagination {
  margin-top: 10px !important;
}

/* Przyciski */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 20px !important;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.btn:hover {
  text-decoration: none;
}
.btn:active,
.btn:focus {
  outline: none;
}
.btn-primary {
  color: var(--btn-primary-text);
  background: var(--btn-primary-bg);
}
.btn-primary:hover {
  background: var(--btn-primary-hover);
  box-shadow: var(--shadow-glow);
}
.btn-secondary {
  background: var(--btn-secondary-bg);
  color: var(--btn-secondary-text);
  border: 1px solid var(--btn-secondary-border);
}
.btn-secondary:hover {
  background: var(--btn-secondary-hover);
  border-color: var(--accent);
}
.btn-sm {
  padding: 8px 14px;
  font-size: 12px;
}

/* Przyciski w linkach (dla DLE tagów [complaint], [edit]) */
.fullstory-actions a {
  text-decoration: none;
}
.fullstory-actions a .btn {
  display: inline-flex;
}
.fullstory-actions a:hover .btn-secondary {
  border-color: var(--accent);
}

/* Przycisk ulubione w fullstory - linki z tagów [add-favorites] i [del-favorites] */
.fullstory-actions > a:has(.btn) {
  text-decoration: none;
}
.fullstory-actions > span[data-favorites-add],
.fullstory-actions > span[data-favorites-del] {
  display: none;
}
/* Styl dla przycisku dodania do ulubionych */
.fullstory-actions a:hover .btn-primary {
  color: var(--btn-primary-text);
  background: var(--accent-hover);
  box-shadow: var(--shadow-glow);
}
/* Styl dla przycisku usunięcia z ulubionych */
.fullstory-actions a:hover .btn-secondary {
  border-color: var(--accent);
}

/* Przycisk zgłoszenia DMCA */
.fullstory-footer {
  position: relative;
}

/* komentarz */
/* Mass comments action - Wybrane komentarze */
.mass_comments_action {
    font-size: 13px;
    text-align: center;
    margin: 20px 0;
    padding: 15px;
    background: var(--bg-card);
    border: 1px solid var(--border-main);
  border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--text-secondary);
}
.mass_comments_action select {
    background: var(--bg-input);
    border: 1px solid var(--border-main);
    color: var(--text-secondary);
    padding: 7px 12px;
    border-radius: 8px !important;
    font-size: 13px;
    cursor: pointer;
    height: 34px;
    vertical-align: middle;
}
.mass_comments_action select:focus {
    border-color: var(--accent);
    outline: none;
}
.mass_comments_action input[type=submit],
.mass_comments_action .bbcodes {
    color: var(--text-on-accent);
    background: var(--accent);
    border: none;
    padding: 0 16px;
    border-radius: 8px !important;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.2s;
    vertical-align: middle;
    height: 34px;
    line-height: 34px;
    margin: 0;
}
.mass_comments_action input[type=submit]:hover,
.mass_comments_action .bbcodes:hover {
    background: var(--accent-hover);
}

/* Save buttons - Anuluj / Zaakceptuj */
.save-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 10px 0 !important;
}
.save-buttons .bbcodes,
.save-buttons input[type=button] {
    padding: 8px 16px;
    border-radius: 8px !important;
    font-size: 12px;
    cursor: pointer;
    border: none;
    transition: all 0.2s;
}
.save-buttons .cancelchanges {
    background: var(--bg-input);
    color: var(--text-secondary);
    border: 1px solid var(--border-main);
}
.save-buttons .cancelchanges:hover {
    background: var(--border-main);
    border-color: var(--text-secondary);
}
.save-buttons .applychanges {
    color: var(--text-on-accent);
    background: var(--accent);
}
.save-buttons .applychanges:hover {
    background: var(--accent-hover);
}
.comment .cbot {border-top: 1px solid var(--border-main);height: auto;position: relative;margin: 20px 0 0 0;padding: 10px 0 0 0;}
.comment .ctop {border-bottom: 1px solid var(--border-main);display: flex !important;flex-direction: row !important;gap: 12px;padding: 12px 0;margin-top: 6px;position: relative;}
.comment .ctop-avatar {flex-shrink: 0;width: 50px;}
.comment .ctop-avatar img {width: 50px !important;height: 50px !important;border-radius: 50% !important;object-fit: cover !important;border: 2px solid var(--border-main) !important;display: block !important;}
.comment .ctop-content {flex: 1;min-width: 0;display: flex !important;flex-direction: column !important;gap: 4px;}
.comment .ctop-header {display: flex !important;flex-direction: row !important;align-items: center !important;gap: 8px;flex-wrap: wrap;margin-bottom: 8px;}
.comment .ctop-author {font-size: 16px;font-weight: 600;display: inline !important;}
.comment .ctop-author a {color: inherit;text-decoration: none;}
.comment .ctop-author a:hover {text-decoration: underline;}
.comment .ctop-group {font-size: 12px;color: var(--accent);background: rgba(190,123,59,0.15);padding: 2px 8px;border-radius: 4px;display: inline-block !important;}
.comment .ctop-meta-row {display: flex !important;flex-direction: row !important;align-items: center !important;justify-content: space-between !important;width: 100%;}
.comment .ctop-meta {display: inline-flex !important;flex-direction: row !important;align-items: center !important;gap: 6px;font-size: 13px;color: var(--text-secondary);}
.comment .ctop-rating {display: inline-flex !important;align-items: center !important;gap: 4px;background: var(--bg-input);padding: 2px 8px;border-radius: 4px;position: relative;top: 1px;}
.comment .ctop-rating i {cursor: pointer;color: var(--text-secondary);}
.comment .ctop-rating i:hover {color: var(--accent);}
.comment .ctop-actions {display: inline-flex !important;flex-direction: row !important;align-items: center !important;gap: 0;font-size: 11px;}
.comment .ctop-actions a {color: var(--accent) !important;text-decoration: none;white-space: nowrap;padding: 0 6px;}
.comment .ctop-actions a:hover {color: var(--accent-hover) !important;}
.comment .ctop-actions a:not(:last-child)::after {content: "|";color: var(--text-muted);margin-left: 6px;}
.comm {padding: 20px 0 0 0;}
.comment p {line-height: 20px;margin: 12px 0 0 0;}
.comment .comm p:first-child {margin: 0;}
.content .comment .boxed {padding: 14px 19px 19px 19px;}
/* TinyMCE Editor */
.tox.tox-tinymce {
  border-color: var(--border-main) !important;
  border-radius: 8px !important;
}
.tox .tox-edit-area__iframe {
  background-color: var(--bg-input) !important;
}
.tox .tox-toolbar,
.tox .tox-toolbar__primary,
.tox .tox-toolbar__overflow {
  background: var(--bg-card) !important;
  border-color: var(--border-main) !important;
}
.tox .tox-tbtn {
  color: var(--text-secondary) !important;
}
.tox .tox-tbtn:hover {
  background: var(--bg-hover) !important;
}
.tox .tox-statusbar {
  background: var(--bg-card) !important;
  border-color: var(--border-main) !important;
  color: var(--text-muted) !important;
}

/* Formularz dodawania komentarzy */
.addcomment ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.addcomment li {
  margin-bottom: 15px;
}
.addcomment li.plabel {
  display: block;
  width: 100%;
  overflow: visible;
  margin-top: 20px;
}
/* Przycisk dodaj komentarz */
.addcomment .plabel input.cadd,
.messages .plabel input.cadd,
input[type="submit"].cadd {
  display: inline-block;
  width: auto;
  height: auto;
  min-width: 150px;
  white-space: nowrap;
  overflow: visible;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  line-height: 1.4;
  background: var(--accent);
  color: var(--text-on-accent);
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.addcomment .plabel input.cadd:hover,
.messages .plabel input.cadd:hover,
input[type="submit"].cadd:hover {
  background: var(--accent-hover);
}
.addcomment .plabel input.cadd:active,
.messages .plabel input.cadd:active,
input[type="submit"].cadd:active {
  background: var(--accent-active);
}
/* wiadomosci */
.reply-actions {padding: 20px 0px;border-top: 1px solid var(--border-main);text-align: right;}
.reply-actions a:first-child {border-top: 1px solid var(--accent-hover) !important;background: var(--accent) !important;color: var(--text-primary) !important;}
.reply-actions > a:nth-child(2) {margin: 0!important;}
.mmenu {-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;background: var(--bg-card);overflow: hidden;width: 100%;height: 39px;margin: 15px 0 0 0;border-top: 1px solid var(--border-light);}
.mmenu li {float: left;width: 33%;background: url(../images/mmenu.jpg) repeat-y top left;}
.mmenu li:first-child {background: var(--bg-card);}
.mmenu li:hover {background: var(--border-main) url(../images/mmenu.jpg) repeat-y top left;}
.mmenu li:first-child:hover {background: var(--border-main);}
.mmenu .strong {width: 34%;}
.strong {font-weight: 600;}
.mdel {background: url(../images/icon_delete.jpg) no-repeat left;padding: 0 0 0 16px !important;opacity: 0.3;font-size: 14px !important;float: right;height: 19px;display: block;margin: 10px 0 0 0 !important;border: 0 !important;}
.mdel:hover {opacity: 0.7;}
.received {overflow: hidden;}
.content .messages.mnew h4, .content .messages.mnew h4 a, .content .addcomment h4, .content .addcomment h4 a, .content .newnews h4 {border-bottom: 1px solid var(--border-main);margin: 0 0 20px;padding: 0 0 15px;}
.content .messages.mread h4:first-child, .content .messages.mread h4:first-child a {border-bottom: 1px solid var(--border-main);margin: 0 0 20px;padding: 0 0 15px;}
.mbuttons .msent, .mbuttons .nnadd {border-top: 1px solid var(--accent-hover) !important;background: var(--accent) !important;color: var(--text-primary) !important;}
.content .list.boxed {padding: 14px 19px 19px 19px;}
.top_msg {border-bottom: 1px solid var(--border-main);height: 70px;position: relative;margin-top: 6px;}
.top_msg img {float: left;margin-right: 10px;max-height: 90%;}
.top_msg .info {position: absolute;right: 0;top: 5px;font-size: 14px !important;}
.top_msg .info span {display: block;color: var(--text-secondary);}
.msg_content {padding: 20px 0;}
.msg_bottom {border-top: 1px solid var(--border-main);height: auto;position: relative;margin: 20px 0 0 0;}
table.list {border-collapse: collapse;padding: 0;font-size: 14px !important;width: 100%;margin-top: 16px;}
table.list tr {border-bottom: 1px solid var(--border-main);}
table.list td {vertical-align: middle;padding: 8px 5px;}
table.list td input {margin-top: 2px;margin-right: -4px;}
.messages textarea {width: 720px;padding: 10px 10px 10px 10px !important;resize: none;}
.messages textarea, .messages input,#wlasny_comms textarea {padding: 0 10px;font-size: 14px !important;border: 1px solid var(--border-main);-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;margin: 0 0 10px 0;}
.msent .messages input[type="text"] {width: 288px;height: 33px;line-height: 33px;}
.msent .messages input[type="checkbox"] {vertical-align: middle;margin: 0 5px 1px 0;}
.mbuttons input[type="submit"].msent:hover {background: var(--accent-hover) !important;}
.mbuttons input[type="submit"].msent:active {background: var(--accent-active) !important;}
.msent .messages .mchecking span {padding: 1px 0 2px 0;display: inline-block;}
.msent .messages .mchecking {font-size: 14px !important;color: var(--text-secondary);padding-bottom: 8px;}
.msent .messages .mchecking:hover {color: var(--text-secondary);}
.msent .messages label {display: inline-block;font-weight: 600;}
table .mdat {min-width: 100px;}
table.list td:first-child {padding: 8px 5px 8px 0;}
.list .mnew td:first-child {font-weight: 600;}
.list .ttop td, .list .ttop td:first-child {padding-top: 15px;}
.list .ttop {font-size: 14px !important;color: var(--text-muted);font-weight: 600;border-top: 1px solid var(--border-main);border-bottom: 1px solid var(--border-main);}
.messages .list .mnew td:first-child a {background-position: 0 -176px;}
.messages .list td:first-child a {background: url(../images/icon_message.jpg) no-repeat 0 3px;display: block;padding: 0 0 0 24px;}


/* ================================================
   PROFILE STYLES MOVED TO profile.css
   Przeniesiono: linie 989-1852 (864 linii)
   ================================================ */

/* wyszukiwarka */
/* wyszukiwarka */

.searchs textarea {width: 720px;padding: 10px 10px 10px 10px !important;resize: none;font-size: 14px !important;border: 1px solid var(--border-main);-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;margin: 0 0 10px 0;}
.searchs label {font-weight: 400 !important;font-size: 14px !important;}
.searchs input[type="checkbox"] {margin: 2px 5px 0 0;}
.searchs input[type="text"],.searchs input[type="file"] {padding: 0 10px;font-size: 14px !important;height: 33px;/*width: 240px!important;*/line-height: 14px !important;border: 1px solid var(--border-main);-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;margin: 0;}

/* ========================================
   WYSZUKIWARKA ZAAWANSOWANA
   ======================================== */
.content .searching.boxed {
    overflow: hidden;
    padding: 20px 25px 25px;
    width: 100%;
    flex: 0 0 100%;
    box-sizing: border-box;
}

.content .searching h4 {
    margin: 0 0 25px 0;
    font-weight: 600;
    font-size: 17px;
    border-bottom: 1px solid var(--border-main);
    padding: 0 0 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.content .searching h4 i {
    color: var(--accent);
}

.search-section {
    padding: 20px 0;
    border-bottom: 1px solid var(--border-main);
}

.search-section:last-of-type {
    border-bottom: none;
}

/* Sekcja wyników w tym samym boxie */
.search-results-section {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--border-main);
}

.search-results-section h4 {
    margin-bottom: 15px;
}

/* Układ 2-kolumnowy */
.search-section.search-row-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
}

@media (max-width: 768px) {
    .search-section.search-row-2col {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

/* Pole input z przyciskiem obok */
.search-input-row {
    display: flex;
    gap: 10px;
    align-items: stretch;
}

.search-input-row input[type="text"] {
    flex: 1;
    min-width: 0;
}

.search-btn-icon {
    width: 48px;
    height: 48px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--accent);
    color: var(--text-on-accent);
    border: none;
  border-radius: 5px;
    cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
}

.search-btn-icon:hover {
    background: var(--accent-hover);
}

.search-btn-icon i {
    font-size: 18px;
}

.search-row .search-select {
    flex: 1;
}

.search-row .search-select-small {
    flex: 0 0 auto;
    min-width: 120px;
}

.search-row .search-input {
    width: 200px;
    flex: 0 0 200px;
}

.search-section > .search-checkboxes {
    margin-top: 12px;
}

.search-field {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.search-field > label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px !important;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

.search-field > label i {
    color: var(--accent);
}

.search-field input[type="text"],
.search-input {
    width: 100%;
    padding: 12px 16px;
    font-size: 14px !important;
    background: var(--bg-input);
    border: 1px solid var(--border-main);
  border-radius: 5px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.search-field-main input[type="text"] {
    font-size: 16px;
    padding: 14px 18px;
}

.search-field input[type="text"]:focus,
.search-input:focus,
.search-select:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(190, 123, 59, 0.12);
}

.search-select {
    width: 100%;
    padding: 12px 16px;
    font-size: 14px !important;
    background: var(--bg-input);
    border: 1px solid var(--border-main);
  border-radius: 5px;
    cursor: pointer;
    appearance: none;
  box-sizing: border-box !important;
  line-height: normal !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238b949e' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}

.search-select option {
    background: var(--bg-input);
}

.search-select-small {
    width: auto;
    min-width: 120px;
}

.search-input-small {
    width: 60px !important;
    text-align: center;
    padding: 10px 12px !important;
}

.search-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.search-inline {
    display: flex;
    align-items: center;
    gap: 10px;
}

.search-inline span {
    font-size: 14px !important;
    font-weight: 500;
    color: var(--text-secondary);
}

.search-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.search-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-weight: 400 !important;
}

.search-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--accent);
    cursor: pointer;
}

.search-checkbox span {
    font-size: 14px !important;
    color: var(--text-secondary);
}

.search-actions {
    padding-top: 25px;
    border-top: 1px solid var(--border-main);
    margin-top: 0;
    padding-top: 5px;
    background-clip: padding-box;
}

.search-btn {
    color: var(--text-on-accent);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: var(--accent);
    border: none;
  border-radius: 5px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.search-btn:hover {
    background: var(--accent-hover);
}

.search-btn:active {
    background: var(--accent-active);
}
/* ========================================
   INFOBOX - Komunikaty i ostrzeżenia
   ======================================== */
.content .infobox.boxed {
    padding: 20px 25px 25px;
}

.content .infobox .infobox-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-main);
}

.content .infobox .infobox-header > i {
    font-size: 24px;
    color: var(--warning);
}

.content .infobox .infobox-header h4 {
    margin: 0;
    font-weight: 600;
    font-size: 17px;
}

.content .infobox h4,
.content .infobox h4 a {
    margin: 0 0 20px 0;
    font-weight: 600;
    font-size: 17px;
    border-bottom: 1px solid var(--border-main);
    padding: 0 0 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.content .infobox h4::before {
    content: "\f071";
    font-family: "FontAwesome";
    color: var(--accent);
}

/* Ukryj ::before gdy jest infobox-header z ikoną */
.content .infobox .infobox-header h4::before {
    display: none;
}

.content .infobox .infobox-header h4 {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.content .infobox .infobox-content {
    background: var(--bg-input);
    border-radius: 10px;
    padding: 20px;
    text-align: center;
}

.content .infobox .infobox-content p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 14px !important;
    line-height: 1.6;
}

.content .infobox p {
    color: var(--text-secondary);
    font-size: 14px !important;
    line-height: 1.6;
}

.content .infobox p.centered {
    text-align: center;
    padding: 30px 20px;
    background: var(--bg-input);
    border-radius: 10px;
    margin: 0;
}

.content .infobox a {
    color: var(--accent);
}

.content .infobox a:hover {
    color: var(--accent-hover);
}

/* ========================================
   DMCA - Formularz i wyniki zgłoszeń
   ======================================== */

/* Reset stylów infobox dla DMCA */
.content .infobox .infobox-content:has(.dmca-container) {
    background: transparent;
    padding: 0;
    text-align: center;
}

/* DMCA Container */
.dmca-container {
    max-width: 650px;
    margin: 20px auto;
}

.dmca-header {
    text-align: center;
    margin-bottom: 25px;
}

.dmca-header i {
    font-size: 48px;
    color: var(--accent);
    margin-bottom: 10px;
    display: block;
}

.dmca-header h2 {
    font-size: 22px;
    margin: 0 0 10px 0;
}

.dmca-intro {
    color: var(--text-secondary);
    font-size: 14px !important;
    text-align: center;
    margin-bottom: 20px;
}

/* DMCA Errors */
.dmca-errors {
    background: rgba(217, 83, 79, 0.15);
    border: 1px solid var(--error);
    color: var(--error);
    padding: 12px 15px;
    border-radius: 8px !important;
    margin-bottom: 20px;
    font-size: 14px !important;
}

.dmca-errors i {
    margin-right: 8px;
}

/* DMCA Form */
.dmca-form {
    background: var(--bg-card);
    border: 1px solid var(--border-main);
  border-radius: 5px;
    padding: 25px;
}

.dmca-field {
    margin-bottom: 18px;
}

.dmca-field label {
    display: block;
    font-size: 14px !important;
    font-weight: 600;
    margin-bottom: 6px;
}

.dmca-field label span.req {
    color: var(--error);
}

.dmca-field input[type="text"],
.dmca-field input[type="email"],
.dmca-field input[type="url"],
.dmca-field textarea {
    width: 100%;
    padding: 12px 14px;
    background: var(--bg-input);
    border: 1px solid var(--border-main);
    border-radius: 8px !important;
    font-size: 14px !important;
    box-sizing: border-box;
    transition: border-color 0.2s;
}

.dmca-field input:focus,
.dmca-field textarea:focus {
    outline: none;
    border-color: var(--accent);
}

.dmca-field textarea {
    min-height: 120px;
    resize: vertical;
    font-family: monospace;
}

.dmca-field small {
    display: block;
    color: var(--text-muted);
    font-size: 12px;
    margin-top: 4px;
}

/* URL stats i preview */
.dmca-field .url-stats {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
    padding: 8px 12px;
    background: var(--bg-input);
    border-radius: 4px;
    font-size: 12px;
}

.dmca-field .url-stats .valid { color: var(--success); }
.dmca-field .url-stats .invalid { color: var(--error); }
.dmca-field .url-stats .total { color: var(--text-secondary); }

.dmca-url-preview {
    margin-top: 10px;
    max-height: 150px;
    overflow-y: auto;
    border: 1px solid var(--border-main);
    border-radius: 4px;
}

.dmca-url-preview .url-item {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border-main);
    font-size: 12px;
}

.dmca-url-preview .url-item:last-child { border-bottom: none; }
.dmca-url-preview .url-item.valid { background: rgba(92, 184, 92, 0.1); }
.dmca-url-preview .url-item.invalid { background: var(--error-bg); }
.dmca-url-preview .url-item i { margin-right: 8px; width: 16px; }
.dmca-url-preview .url-item.valid i { color: var(--success); }
.dmca-url-preview .url-item.invalid i { color: var(--error); }
.dmca-url-preview .url-item .url-text { flex: 1; word-break: break-all; color: var(--text-secondary); }
.dmca-url-preview .url-item .url-status { margin-left: 10px; font-size: 11px; white-space: nowrap; }

/* Checkbox */
.dmca-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 20px 0;
    padding: 15px;
    background: var(--bg-input);
    border-radius: 8px !important;
}

.dmca-checkbox input {
    margin-top: 3px;
    accent-color: var(--accent);
}

.dmca-checkbox span {
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.4;
}

/* Submit button */
.dmca-submit {
    color: var(--text-on-accent);
    width: 100%;
    padding: 14px;
    background: var(--accent);
    border: none;
    border-radius: 8px !important;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.dmca-submit:hover { background: var(--accent-hover); }
.dmca-submit:disabled { background: var(--text-muted); cursor: not-allowed; }

/* DMCA Results */
.dmca-results {
    text-align: center;
}

.dmca-success-box,
.dmca-error-box {
    padding: 25px;
  border-radius: 5px;
    margin-bottom: 20px;
    text-align: left;
}

.dmca-success-box {
    background: transparent;
    border: none;
    text-align: center;
    padding: 20px 0;
}

.dmca-success-box > i.fa {
    color: var(--accent);
    font-size: 64px;
    display: block;
    margin-bottom: 20px;
}

.dmca-success-box h2 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 600;
}

.dmca-success-box p {
    color: var(--text-secondary);
    margin: 0;
    font-size: 15px;
}

.dmca-success-box p strong {
    color: var(--accent);
}

/* DMCA Info Box - neutralny styl */
.dmca-info-box {
    padding: 25px;
  border-radius: 5px;
    margin-bottom: 20px;
    text-align: center;
    background: transparent;
    border: none;
}

.dmca-info-box > i.fa {
    color: var(--accent);
    font-size: 48px;
    display: block;
    margin-bottom: 15px;
    text-align: center;
}

.dmca-info-box h3,
.content .infobox .dmca-info-box h3 {
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 600;
    text-align: center !important;
    border: none !important;
    display: block;
    width: 100%;
}

.dmca-info-box ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center !important;
}

.dmca-info-box li {
    margin: 10px 0;
    padding: 15px;
    background: var(--bg-input);
    border-radius: 8px !important;
    text-align: center !important;
}

.dmca-info-box .dmca-info-url {
    display: block;
    color: var(--accent);
    font-size: 13px;
    word-break: break-all;
    margin-bottom: 8px;
    text-align: center !important;
}

.dmca-info-box .dmca-info-reason {
    display: block;
    color: var(--text-secondary);
    font-size: 14px !important;
    text-align: center !important;
}

/* Note */
.dmca-note {
    margin-top: 15px;
    padding: 10px;
    background: rgba(91, 192, 222, 0.15);
    border-radius: 4px;
    font-size: 13px;
    color: var(--text-secondary);
}

.dmca-failed-note {
    margin: 15px 0;
    padding: 10px;
    text-align: center;
    font-size: 13px;
    color: var(--text-muted);
}

.dmca-failed-note i {
    margin-right: 6px;
}

/* Buttons */
.dmca-buttons {
    margin-top: 25px;
    padding-top: 20px;
    border: none;
    text-align: center;
}

.dmca-btn {
    display: inline-block;
    margin: 10px 5px;
    padding: 12px 30px;
    color: var(--text-primary) !important;
    text-decoration: none;
    border-radius: 8px !important;
    font-weight: 600;
    transition: all 0.2s ease;
}

.dmca-btn:hover {
    background: linear-gradient(135deg, var(--accent-hover) 0%, var(--accent) 100%);
    transform: translateY(-1px);
    text-decoration: none;
    color: var(--text-primary) !important;
}

.dmca-btn-secondary {
    background: var(--btn-secondary-bg);
    border: 2px solid var(--accent);
    color: var(--accent) !important;
}

.dmca-btn-secondary:hover {
    background: var(--accent);
    color: var(--text-primary) !important;
}

/* Message (disabled) */
.dmca-message {
    text-align: center;
    padding: 40px;
}

.dmca-message i {
    font-size: 48px;
    color: var(--text-muted);
    margin-bottom: 15px;
}

.dmca-message p {
    color: var(--text-secondary);
}

/* Row layout */
.dmca-row {
    display: flex;
    gap: 15px;
}

.dmca-row .dmca-field {
    flex: 1;
}

@media (max-width: 600px) {
    .dmca-row {
        flex-direction: column;
        gap: 0;
    }
}

/* zalogowany */
.user {height: 48px;line-height: 48px;color: var(--text-secondary);font-size: 14px !important;text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);list-style: none;}
.user a {color: var(--accent);font-weight: 700;}
.user form {float: right;font-size: 14px !important;font-weight: 700;opacity: 0.5;}
.user form:hover,.user form.active {opacity: 1;}
.user input {color: var(--text-secondary);font-weight: 700;-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;height: 28px;margin: 0 0 0 7px;}
.user input[type="text"],.user input[type="password"] {background: var(--bg-card) url(../images/user_input.jpg) no-repeat;padding: 0 10px 0 27px;width: 93px;}
.user input[type="text"]:focus,.user input[type="password"]:focus,.user input[type="text"]:hover,.user input[type="password"]:hover {color: var(--text-muted);}
.user input[type="text"] {background-position: 0 0;}
.user input[type="password"] {background-position: 0 -28px;}
.user input[type="submit"]:hover {background: var(--accent-hover);}
.user input[type="submit"]:active {background: var(--accent-active);}
.user form a {color: var(--text-secondary);font-weight: 400;}

/* zalogowany */
.user ul li {float: left;text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);padding: 0 10px 0 13px;background: url(../images/user_arrow.png) no-repeat 0 22px;}
.user ul li:hover {background-position: 0 -28px;}
.user ul li:first-child {background: none;padding-left: 0;}
.user ul li a {color: var(--text-secondary);font-weight: 400;padding: 10px 0;}
.user ul li a span {display: inline-block;height: 26px;padding: 0 7px;line-height: 26px;margin: 10px 0 0 6px;background: var(--bg-input);border-top: 1px solid var(--border-main);-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;}
.user a.logout {float: right;height: 26px;padding: 0 10px;line-height: 26px;float: right;margin: 10px 0 0 0;color: var(--text-muted);background: var(--bg-input);border-top: 1px solid var(--border-main);-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;}

/* koniec zalogowanego */

/* czat */
.content .chat.boxed {padding: 14px 19px 19px 19px;}
.umes {margin-left: 45px;height: 53px;}
.chat .wiadomosci p:first-child {border: 0;}
.chat .wiadomosci p {color: var(--text-secondary);padding: 6px 0 9px 0;font-size: 14px !important;border-top: 1px solid var(--border-main);}
.chat .wiadomosci p span {color: var(--text-secondary);}
.chatadd {text-align: right;}
.chatadd input:first-child {background: url(../images/input_chat.jpg) no-repeat top left;height: 35px;padding: 0 12px 5px 12px;margin-bottom: 10px;width: 498px;}
.chatadd input[type="submit"] {margin-top: 1px;}
.chatadd input[type="submit"]:hover {background: var(--accent-hover);}
.chatadd input[type="submit"]:active {background: var(--accent-active);}
.chatadd a {padding: 10px 19px 12px 19px !important;background: var(--bg-card);margin-top: -1px !important;border-top: 1px solid var(--border-light);}
.chatadd a:hover {background: var(--border-main);text-decoration: none;}

/* dodawanie newsa */
.newnews textarea {background: url(../images/textarea.jpg) no-repeat center;width: 720px;padding: 10px 10px 10px 10px !important;resize: vertical;font-size: 14px !important;border: 1px solid var(--border-main);-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;margin: 0 0 10px 0;}
.newnews label, .addnewnews ul li p {font-weight: 600 !important;font-size: 14px !important;}
.newnews textarea, .newnews input {margin-bottom: 5px;}
.newnews label {display: inline-block;float: left;margin-top: 7px;}
.newnews ul li p {display: block;margin: 3px 0;}
.newnews ul li p span {color: var(--text-secondary);font-size: 14px !important;font-weight: 400;}
.newnews .mbuttons {padding-left: 73px;overflow: auto;}
.newnews .mbuttons .nnadd {width: 177px;}
.mbuttons input[type="submit"].nnadd:hover {background: var(--accent-hover) !important;}
.mbuttons input[type="submit"].nnadd:active {background: var(--accent-active) !important;}
.mbuttons input[type="submit"]:hover {background: var(--bg-input) !important;}
.newnews .mbuttons input {float: left;width: 123px;}
.newnews .mtags input {width: 720px;margin-bottom: 0;}
.newnews .catcha {padding-top: 10px;}
.newnews .ntools {padding: 6px 0;}
.newnews .catcha label {float: none;}
.newnews .nmg {padding: 0;margin: 0;}
.newnews .nbg {padding: 5px 0;}
.newnews select {font-size: 14px !important;}
.select-wrapper {display: inline-block;background: url(../images/select-bg.jpg) no-repeat right -1px;cursor: pointer;font-size: 14px !important;padding: 0 !important;margin-left: 0 !important;}
.select-wrapper, .selectory {padding: 0 10px;font-size: 14px !important;height: 31px;width: 309px;border-top: 1px solid var(--border-main);border-left: 1px solid var(--border-main);border-bottom: 1px solid var(--border-main);-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;margin: 0 0 0 10px;line-height: 26px;text-align: left;vertical-align: middle;}
.select-wrapper:hover { border-color: var(--accent); }
.select-wrapper .holder {display: block;margin: 0 35px 0 10px;padding: 2px 0 0 0;white-space: nowrap;overflow: hidden;cursor: pointer;font-size: 14px !important;}
.selectory {margin: 0;position: absolute;z-index: 2;cursor: pointer;outline: none;opacity: 0;_noFocusLine: expression(this.hideFocus=true);-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter: alpha(opacity=0);-khtml-opacity: 0;-moz-opacity: 0;}

/* regejestracja */

.content .registration.boxed {padding: 14px 19px 19px 19px;}
.registration label, .addcomment label {display: inline-block;font-weight: 600;font-size: 14px !important;}
.registration p, .infor {padding-bottom: 16px;border-bottom: 1px solid var(--border-main);}
form.registration, form.addnewnews {margin-top: 10px;font-size: 0;}
.registration input, .addnewnews input {padding: 0 10px;font-size: 14px !important;height: 33px;width: 288px;line-height: 14px !important;border: 1px solid var(--border-main);-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;margin: 0 0 10px 0;}
.addcomment input {padding: 0 10px;font-size: 14px !important;width: 33px;line-height: 14px !important;border: 1px solid var(--border-main);-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;margin: 0 0 10px 0;}
.recode {width: 98px !important;}
.recat {background: url(../images/icon_refresh.jpg) no-repeat left;padding: 0 0 0 20px;opacity: 0.3;font-size: 14px !important;height: 19px;margin-top: 0;
    padding-top: 5px;
    background-clip: padding-box;margin-left: 7px;}
.recat:hover {opacity: 0.7;}
.rok {color: var(--success);font-size: 14px !important;padding-bottom: 10px;display: inline-block;}
.rno {color: var(--error);font-size: 14px !important;padding-bottom: 10px;display: inline-block;}
.catcha label {display: inline-block;}
.registration li:first-child label, .registration li:first-child input {float: left;}
.registration li:first-child label {margin-top: 12px;}
.registration li:first-child {height: 35px;}
.registration li:first-child input {display: inline-block;vertical-align: middle;}
input.rcheck {font-size: 14px !important;color: var(--text-muted);text-shadow: 1px 1px 0 var(--white);background: var(--bg-input);margin-left: 10px;border: 1px solid var(--border-main);-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;padding: 0 10px 1px 10px;height: 35px;display: block;width: 158px;}
.rcheck:hover {border: 1px solid var(--border-main);background: var(--bg-hover);}
.rcheck:active {border: 1px solid var(--accent);background: var(--bg-card);color: var(--text-muted);}
input.rname {width: 178px;}
.registration img, .catcha img {vertical-align: middle;margin-bottom: 10px;}
.registration .rsent:hover {background: var(--accent-hover);}
.registration .rsent:active {background: var(--accent-active);}
.ralert {padding-left: 95px  !important;padding-top:10px;}

/* scrollbar */
.okienko {position: relative;width: 740px;height: 420px;overflow: hidden;display: block;margin: 17px 0 20px 0;border: 1px solid var(--border-main);}
.okienko > .wiadomosci {position: absolute;overflow: scroll;overflow-x: hidden;top: 0;right: 0;bottom: 0;left: 0;padding: 3px 10px;}

/* modalbox */
.backdrop {position: fixed;top: 0px;left: 0px;width: 100%;height: 100%;background: #000;opacity: .0;filter: alpha(opacity=0);z-index: 50;overflow: auto;display: none;}
.box {position: absolute; /* fixed do przyklejenia */top: 20%;left: 35%;overflow: hidden;width: 500px;background: var(--bg-card);z-index: 51;padding: 0 0 17px 0;-webkit-border-radius: 8px !important;-moz-border-radius: 6px;border-radius: 6px;-moz-box-shadow: 0px 0px 5px var(--bg-body);-webkit-box-shadow: 0px 0px 5px var(--bg-body);box-shadow: 0px 0px 5px var(--bg-body);display: none;}
.box p {padding: 17px 17px 0 17px;}
.box p:first-child {padding: 17px 0;margin: 0 17px;border-bottom: 1px solid var(--border-main);}
.box h5 {background: var(--bg-card);color: var(--accent);font-size: 15px;margin: 0;padding: 17px;font-weight: 600;border-bottom: 1px solid var(--border-main);-webkit-border-top-left-radius: 5px;-webkit-border-top-right-radius: 5px;-moz-border-radius-topleft: 5px;-moz-border-radius-topright: 5px;border-top-left-radius: 5px;border-top-right-radius: 5px;}
.lmess {font-style: italic;}

/* komentarze licznki*/
.com_count {/*border: 1px solid #CCCCCC;*/margin: 0 !important;padding: 0 18px !important;-moz-border-radius: 8px !important;-webkit-border-radius: 6px;border-radius: 6px;background-color: var(--bg-input);}

/*
*/

/* poziomy uzytkownikow z tlem do przyciskow */
.lmod {border-top: 1px solid var(--success);background: var(--success);}

/* poziomy uzytkownikow */
.levelm, a.levelm {color: var(--success) !important;}
.levelv, a.levelv {color: var(--accent) !important;}
.levelsu, a.levelsu {color: var(--info) !important;}

/* paginacja */
.pagination {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 6px;
    margin: 20px 0;
    width: 100%;
    box-sizing: border-box;
}
.pagination a,
.pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;
    gap: 4px;
    padding: 7px 10px;
    background: var(--bg-input);
    border: 1px solid var(--border-main);
    border-radius: 8px !important;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary);
    text-decoration: none;
    transition: all 0.2s;
    white-space: nowrap;
    box-sizing: border-box;
}
/* Poprzednia i Następna - nie kurczą się */
.pagination > a:first-child,
.pagination > a:last-child,
.pagination > span:first-child,
.pagination > span:last-child {
    flex: 0 0 auto;
}
.pagination a:hover {
    border-color: var(--accent);
}
/* Aktywna strona - span z liczbą (nie nav_ext, nie zawiera tekstu Poprzednia/Następna) */
.pagination span:not(.nav_ext):not(:first-child):not(:last-child) {
    color: var(--text-on-accent);
    background: var(--accent);
    border-color: var(--accent);
}
/* Wyłączone przyciski Poprzednia/Następna */
.pagination > span:first-child,
.pagination > span:last-child {
    opacity: 0.5;
    cursor: not-allowed;
}
.pagination a i {
    font-size: 11px;
}
.pagination span.nav_ext {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--text-secondary) !important;
    cursor: default;
}

/* wrapper */
.featured h3, .boxed h3, .boxed h1 {margin: 14px 19px 0 19px;padding: 0 0 15px 0;border-bottom: 1px solid var(--border-main);font-size: 17px;font-weight: 600;color: var(--accent);white-space: pre-wrap;display: flex;align-items: center;justify-content: space-between;}
aside .featured img, .right .featured img {max-width: 200px;margin: 1px auto 5px auto !important;display: block;}
.featured li:first-child {border: 0;}
.featured li {text-align: center;border-top: 1px solid var(--border-main);padding: 19px 19px 17px 19px;}
.featured h3 a, .menu h3 a {float: right;display: flex;align-items: center;justify-content: center;width: 20px;height: 20px;margin: 0;overflow: hidden;font-size: 0;color: var(--accent);text-decoration: none;transition: color 0.2s ease;outline: none;border: none;background: none;}
.featured h3 a:hover, .menu h3 a:hover {color: var(--accent-hover);text-decoration: none;}
.featured h3 a:focus, .menu h3 a:focus, .featured h3 a:active, .menu h3 a:active {outline: none;border: none;box-shadow: none;}
.onoff, .offon {outline: none;border: none;background: none;font-size: 0;}
.onoff::before, .offon::before {font-family: 'FontAwesome';font-size: 14px !important;display: flex;align-items: center;justify-content: center;}
.onoff::before {content: '\f068';} /* minus */
.offon::before {content: '\f067';} /* plus */

/* FOOTER */
footer {
  background: var(--bg-card);
  width: 100%;
  font-size: 14px !important;
  color: var(--text-secondary);
  margin: 10px 0 0 0;
  padding: 0;
  border-top: 1px solid var(--border-main);
}
footer .footer-main {
  max-width: 1012px;
  margin: 0 auto;
  padding: 50px 20px 40px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
}
footer .footer-brand {
  padding-right: 20px;
}
footer .footer-brand img {
  height: 80px;
  width: auto;
  margin-bottom: 20px;
}
footer .footer-brand p {
  font-size: 14px !important;
  line-height: 1.7;
  color: var(--text-secondary);
  margin: 0;
}
footer .footer-col h4 {
  font-size: 14px !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 20px 0;
}
footer .footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
footer .footer-col ul li {
  margin-bottom: 12px;
}
footer .footer-col ul li a {
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 14px !important;
  transition: color 0.2s ease, transform 0.2s ease;
  display: inline-block;
}
footer .footer-col ul li a:hover {
  color: var(--accent);
  transform: translateX(5px);
}
footer .footer-col ul li a.vip-link {
  color: var(--accent);
  font-weight: 600;
}
footer .footer-col ul li a.vip-link:hover {
  color: var(--accent-hover);
}
footer .footer-socials {
  display: flex;
  gap: 12px;
  margin-top: 0;
    padding-top: 5px;
    background-clip: padding-box;
}
footer .social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--bg-input);
  border-radius: 5px;
  color: var(--text-secondary);
  font-size: 18px;
  text-decoration: none;
  transition: all 0.2s ease;
}
footer .social-icon:hover {
  color: var(--text-on-accent);
  background: var(--accent);
  transform: translateY(-3px);
}
footer .social-icon.discord:hover {
  background: #5865F2;
}
footer .social-icon.telegram:hover {
  background: #0088cc;
}
footer .social-icon.facebook:hover {
  background: #1877f2;
}
footer .footer-bottom {
  background: var(--bg-body);
}
footer .footer-bottom-inner {
  max-width: 1012px;
  margin: 0 auto;
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
footer .footer-copyright {
  font-size: 13px;
  color: var(--text-muted);
  white-space: nowrap;
}
footer .footer-copyright span {
  color: var(--accent);
  font-weight: 600;
}
footer .footer-disclaimer {
  font-size: 11px;
  color: var(--text-muted);
  text-align: center;
  flex: 1;
}

/* Footer Links (Cookies | Online) */
footer .footer-links {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  white-space: nowrap;
}
footer .footer-links a,
footer .footer-online-link {
  color: var(--text-muted);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
}
footer .footer-links a:hover,
footer .footer-online-link:hover {
  color: var(--accent);
}
footer .footer-separator {
  color: var(--text-muted);
  opacity: 0.5;
}

/* Online Users Section (rozwijalna) */
.online-section {
  display: none;
  background: var(--bg-input);
  margin: 0;
  overflow: hidden;
}
.online-section.open {
  display: block;
}
.online-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1012px;
  margin: 0 auto;
  padding: 10px 10px;
}
.online-title {
  font-size: 13px;
  color: var(--text-secondary);
}
.online-stats {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
}
.online-stats i {
  color: var(--accent);
}
.online-stats span {
  color: var(--text-primary);
}
.online-users {
  max-width: 1012px;
  margin: 0 auto;
  padding: 12px 10px 15px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2px 0;
  font-size: 13px;
  line-height: 1.3;
  max-height: 150px;
  overflow-y: auto;
}
.online-users .online-user {
  display: inline-block;
  padding: 2px 0;
  margin: 2px 8px 2px 0;
  color: var(--user-color) !important;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none !important;
  border: none !important;
  background: none !important;
  border-radius: 0 !important;
}
.online-users .online-user:hover {
  color: var(--user-color) !important;
  text-decoration: none !important;
  opacity: 0.8;
}
.online-loading,
.online-empty {
  color: var(--text-muted);
  font-style: italic;
  padding: 10px;
}

/* Footer Responsive */
@media (max-width: 900px) {
  footer .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  footer .footer-brand {
    grid-column: 1 / -1;
    padding-right: 0;
    text-align: center;
  }
  footer .footer-brand img {
    margin: 0 auto 20px;
  }
}
@media (max-width: 600px) {
  footer .footer-main {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 40px 20px 30px;
  }
  footer .footer-col h4 {
    margin-bottom: 15px;
  }
  footer .footer-socials {
    justify-content: center;
  }
  footer .footer-bottom-inner {
    max-width: 1012px;
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }
  footer .footer-disclaimer {
    text-align: center;
    max-width: 100%;
    order: 3;
  }
  footer .footer-links {
    justify-content: center;
    order: 2;
  }
  footer .footer-copyright {
    order: 1;
  }
}

/* ========================================
   STATIC PAGES - Strony statyczne
   ======================================== */
.static-page.boxed {
  padding: 20px 25px 25px;
  margin: 10px 0;
}

.static-page h3 {
  font-size: 17px;
  font-weight: 600;
  margin: 0 0 20px 0;
  padding: 0 0 15px 0;
  border-bottom: 1px solid var(--border-main);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}

.static-page h3 i {
  color: var(--accent);
}

.static-content {
  color: var(--text-secondary);
  font-size: 14px !important;
  line-height: 1.8;
}

.static-content p {
  margin: 0 0 15px 0;
}

.static-content h2,
.static-content h3,
.static-content h4 {
  margin: 25px 0 15px 0;
}

.static-content h2 {
  font-size: 16px;
  padding: 12px 15px;
  background: var(--bg-input);
  border-radius: 5px;
  border-left: 3px solid var(--accent);
}

.static-content h2:first-child {
  margin-top: 0;
}

.static-content h3 {
  font-size: 15px;
  border-bottom: none;
  padding: 0;
  display: block;
}

.static-content h4 {
  font-size: 14px !important;
}

.static-content ul,
.static-content ol {
  margin: 0 0 15px 0;
  padding: 15px 20px 15px 35px;
  background: var(--bg-input);
  border-radius: 5px;
}

.static-content li {
  margin-bottom: 8px;
  color: var(--text-secondary);
}

.static-content li:last-child {
  margin-bottom: 0;
}

.static-content a {
  color: var(--accent);
  text-decoration: none;
}

.static-content a:hover {
  color: var(--accent-hover);
  text-decoration: none;
}

.static-content strong,
.static-content b {
  color: var(--accent);
}

/* FEEDBACK PAGE - Formularz kontaktowy */
.feedback-page.boxed {
  padding: 30px 35px 35px;
  margin: 10px 0;
}
.feedback-page h3 {
  font-size: 17px;
  font-weight: 600;
  margin: 0 0 20px 0;
  padding: 0 0 15px 0;
  border-bottom: 1px solid var(--border-main);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}
.feedback-page h3 i {
  color: var(--accent);
}
.feedback-intro {
  color: var(--text-secondary);
  font-size: 14px !important;
  line-height: 1.6;
  margin: 0 0 30px 0;
}
.feedback-form {
  display: flex;
  flex-direction: column;
}
.feedback-form .feedback-field {
  margin-top: 25px !important;
}
.feedback-form .feedback-row-double {
  margin-top: 0 !important;
}
.feedback-form .feedback-row-double .feedback-field {
  margin-top: 0 !important;
}
.feedback-form .feedback-captcha {
  margin-top: 18px !important;
}
.feedback-form .feedback-submit {
  margin-top: 18px !important;
}
.feedback-row-double {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.feedback-field {
  display: flex;
  flex-direction: column;
  margin-top: 18px !important;
}
.feedback-row-double .feedback-field {
  margin-top: 0 !important;
}
.feedback-field label {
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 10px;
  display: block;
}
.feedback-field label i {
  color: var(--accent);
  width: 16px;
  margin-right: 8px;
}
.feedback-field input[type="text"],
.feedback-field input[type="email"],
.feedback-field textarea {
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  padding: 12px 14px;
  font-size: 14px !important;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.feedback-field select {
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  padding: 12px 14px;
  font-size: 14px !important;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.feedback-field input[type="text"]:focus,
.feedback-field input[type="email"]:focus,
.feedback-field textarea:focus,
.feedback-field select:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(190, 123, 59, 0.12);
}
.feedback-field input::placeholder,
.feedback-field textarea::placeholder {
  color: var(--text-muted);
}
.feedback-field textarea {
  resize: vertical;
  min-height: 120px;
}
.feedback-field input[type="file"] {
  background: var(--bg-input);
  border: 1px dashed var(--border-main);
  border-radius: 5px;
  padding: 15px;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
}
.feedback-field input[type="file"]:hover {
  border-color: var(--accent);
}
.feedback-captcha {
  display: flex;
  flex-direction: column;
  margin-top: 18px !important;
}
.feedback-captcha label {
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 10px;
  display: block;
}
.feedback-captcha label i {
  color: var(--accent);
  margin-right: 8px;
}
.feedback-captcha-row {
  display: flex;
  gap: 15px;
  align-items: center;
}
.feedback-captcha-image {
  background: var(--bg-input);
  border-radius: 8px !important;
  padding: 5px;
  flex-shrink: 0;
}
.feedback-captcha-image img {
  display: block;
  border-radius: 4px;
}
.feedback-captcha-row input {
  flex: 1;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  padding: 12px 14px;
  font-size: 14px !important;
  box-sizing: border-box;
}
.feedback-captcha-row input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(190, 123, 59, 0.12);
}
.feedback-submit {
  margin-top: 15px;
  padding-top: 20px;
  border-top: 1px solid var(--border-main);
}
.feedback-submit button {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
  color: var(--text-on-accent);
  border: none;
  border-radius: 8px !important;
  padding: 14px 28px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.feedback-submit button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(230, 101, 0, 0.4);
}
.feedback-submit button i {
  font-size: 14px !important;
}
@media (max-width: 600px) {
  .feedback-row-double {
    grid-template-columns: 1fr;
  }
  .feedback-page.boxed {
    padding: 20px;
  }
}

.boxed section {padding: 19px;}
.centered {text-align: center;}

/**Helpery**/
/*text*/
.text-block {display: block !important;}
.text-inline {display: inline !important;}
.text-right {text-align: right !important;}
.text-left {text-align: left !important;}
.text-center {text-align: center !important;}
.text-justify {text-align: justify !important;}
.pull-right {float: right !important;}
.pull-left {float: left !important;}
.clear-margin {margin: 0 !important;}
.clear-padding {padding: 0 !important;}
.overflow {overflow: hidden !important;}

/* Media Query */

@media only screen and (min-width: 35em) {}
@media print,(-o-min-device-pixel-ratio: 5/4),(-webkit-min-device-pixel-ratio: 1.25),(min-resolution: 120dpi) {}

/* animacje */
.user form,.searchbox div {transition: opacity .2s ease-in-out;-moz-transition: opacity .2s ease-in-out;-webkit-transition: opacity .2s ease-in-out;}

/* ==========================================================================
   Helper classes
   ========================================================================== */
.ir {background-color: transparent;border: 0;overflow: hidden;*text-indent: -9999px;}
.ir:before {content: "";display: block;width: 0;height: 150%;}
.hidden {display: none !important;visibility: hidden;}
.visuallyhidden {border: 0;clip: rect(0 0 0 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}
.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus {clip: auto;height: auto;margin: 0;overflow: visible;position: static;width: auto;}
.invisible {visibility: hidden;}
.clearfix:before,.clearfix:after {content: " ";display: table;}
.clearfix:after {clear: both;}
.clearfix {*zoom: 1;}
.inside {margin: 0 auto;width: 1280px;}
.orange {color: var(--accent);}

/* ========================================
   STATYSTYKI - Styl GitHub Dark
   ======================================== */
.content .statistic.boxed {
    padding: 14px 19px 19px 19px;
}

.content .statistic h4 {
    margin: 0 0 20px 0;
    font-weight: 600;
    font-size: 17px;
    border-bottom: 1px solid var(--border-main);
    padding: 0 0 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.content .statistic h4 i {
    color: var(--accent);
}

.stats-columns {
    display: flex;
    gap: 30px;
}

.stats-col {
    flex: 1;
}

.stats-section {
    margin-bottom: 20px;
}

.stats-section:last-child {
    margin-bottom: 0;
}

.stats-section-header {
    font-size: 14px !important;
    font-weight: 600;
    color: var(--accent);
    padding: 0 0 10px 0;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--border-main);
    display: flex;
    align-items: center;
    gap: 8px;
}

.stats-section-header i {
    color: var(--accent);
}

.stats-table {
    width: 100%;
    border-collapse: collapse;
}

.stats-table tr {
    border-bottom: 1px solid var(--border-main);
}

.stats-table tr:last-child {
    border-bottom: none;
}

.stats-table td {
    padding: 8px 5px;
    font-size: 14px !important;
}

.stats-table td:first-child {
    color: var(--text-secondary);
}

.stats-table td:last-child {
    text-align: right;
    font-weight: 600;
}

@media (max-width: 768px) {
    .stats-columns {
        flex-direction: column;
        gap: 20px;
    }
}

/* Print styles  */
@media print {* {background: transparent !important;color: #000 !important; /* Black prints faster: h5bp.com/s */box-shadow: none !important;text-shadow: none !important;}a,a:visited {text-decoration: underline;}a[href]:after {content: " (" attr(href) ")";}abbr[title]:after {content: " (" attr(title) ")";}
/* * Don't show links for images, or javascript/internal links */.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after {content: "";}pre,blockquote,.quote,.scriptcode {border: 1px solid #999;page-break-inside: avoid;}thead {display: table-header-group; /* h5bp.com/t */}tr,img {page-break-inside: avoid;}img {max-width: 100% !important;}@page {margin: 0.5cm;}p,h2,h3 {orphans: 3;widows: 3;}h2,h3 {page-break-after: avoid;}}

/* dodatkowo do newsow poczatek */
.checkboxes input[type="checkbox"] {width: 15px !important;height: 15px !important;float: left;margin-right: 10px;}
.checkboxes p {height: 30px;}
.checkboxes p.nnporn {padding-left: 20px;}
.checkboxes p span {color: var(--error) !important;}
/* dodatkowo do newsow koniec */

#reklama_box1,#reklama_box2,#reklama_box3,#news_ad,#comm_rek,#search_1,#search_2,#res{text-align:center;margin-top:12px;}
#reklama_box1  iframe,#reklama_box2  iframe,#reklama_box3  iframe,#news_ad iframe,#comm_rek iframe,#search_1 iframe,#search_2 iframe,#res iframe{margin:0 auto!important;}

/* Button Download */
.registerButton:hover {background-color: var(--accent-hover);}

#ad .register {float: left;width: 260px;height: 39px;}
#ad .register .menu_no_bg {margin-top: 0;width: 252px;height: 39px;border: 1px solid #fff;}
#ad .register .menu_no_bg .buttonsDivText {text-align: center;width: 260px;font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;font-size: 27px;height: 39px;display: block;text-decoration: none;line-height: 1.4;}
#ad .register .menu_no_bg .registerButton i {margin-left: -20px;}
#ad .register .menu_no_bg .registerButton #addd {overflow: hidden;float: right;margin-left: -40px;margin-top: 25px;margin-right: 1px;font-size: 14px !important;font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;}
#ad {width: 280px;margin: 0 auto;overflow: hidden;height: 60px;}

/* Rating */
.ratebox2 {float: right;}
.ratebox3 {float: right;}
.ratebox ul, .ratebox ul li {float: left;}
.ratebox2 ul, .ratebox2 ul li {float: left;}

.instagram-media, .twitter-tweet {display: inline-block !important;}

.navigation {
  background-color: var(--bg-card);
  margin: 10px 0 20px;
  border-radius: 5px;
  font-size: .9rem;
  border: 1px solid var(--border-main);
}
.navigation > a:first-child, .navigation > span:first-child {
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px;
}
.navigation span.nav_ext, .navigation > span:first-child, .navigation > span:last-child {
  color: var(--text-muted);
  background-color: transparent;
}
.navigation a, .navigation span {
  padding: 8px 10px;
  min-width: 30px;
}
.navigation span {
  display: inline-block;
}
.navigation > a:last-child, .navigation > span:last-child {
  border-bottom-right-radius: 6px;
  border-top-right-radius: 6px;
}
.navigation a {
  color: var(--accent);
}

/* Treść newsa - styl jak static-content */
.movie .opis h2 {
  font-size: 16px;
  font-weight: 600;
  margin: 25px 0 15px 0;
  padding: 12px 15px;
  background: var(--bg-input);
  border-radius: 5px;
  border-left: 3px solid var(--accent);
}
.movie .opis h2:first-child {
  margin-top: 0;
}
.movie .opis p {
  margin: 0 0 15px 0;
  color: var(--text-secondary);
  line-height: 1.8;
  text-align: center;
}
.movie .opis p img {
  display: block;
  margin: 0 auto 15px;
  max-width: 100%;
  border-radius: 5px;
}
.movie .opis ul,
.movie .opis ol {
  margin: 0 0 15px 0;
  padding: 15px 20px 15px 35px;
  background: var(--bg-input);
  border-radius: 5px;
  list-style: disc;
}
.movie .opis ol {
  list-style: decimal;
}
.movie .opis ul li,
.movie .opis ol li {
  margin-bottom: 8px;
  color: var(--text-secondary);
  line-height: 1.6;
}
.movie .opis ul li:last-child,
.movie .opis ol li:last-child {
  margin-bottom: 0;
}
.movie .opis strong,
.movie .opis b {
  color: var(--accent);
}
.movie .opis a {
  color: var(--accent);
}
.movie .opis a:hover {
  color: var(--accent-hover);
  text-decoration: none;
}

/* Formularz dodawania newsa */
.searching textarea {
  width: 720px;
  padding: 10px !important;
  resize: vertical;
  font-size: 14px !important;
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  margin: 0 0 10px 0;
  font-family: 'Open Sans', sans-serif;
  line-height: 1.5;
}
.searching input[type="file"] {
  padding: 5px 10px;
  font-size: 14px !important;
  height: auto;
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  background: var(--bg-input);
}
.searching .nbg {
  padding: 5px 0;
  border-top: 1px solid var(--border-main);
}
.searching .nbg p span {
  color: var(--text-secondary);
  font-size: 14px !important;
  font-weight: 400;
}
.searching .bb-editor {
  margin-top: 0;
    padding-top: 5px;
    background-clip: padding-box;
}
.searching .mtags {
  border-top: 1px solid var(--border-main);
}
.searching .catcha {
  border-top: 1px solid var(--border-main);
}

/* Plakat w newsie */
.movie .poster {
  float: left;
  margin: 0 15px 10px 0;
  max-width: 180px;
}
.movie .poster img {
  width: 100%;
  height: auto;
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
}
.movie .poster-thumb {
  float: left;
  margin: 0 12px 8px 0;
  max-width: 100px;
}
.movie .poster-thumb img {
  width: 100%;
  height: auto;
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
}

/* Info boxy - dane techniczne i linki */
.movie .info-box {
  clear: both;
  margin: 15px 0;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
}
.movie .info-box .info-title {
  background: var(--bg-card);
  padding: 10px 15px;
  font-weight: 600;
  font-size: 14px !important;
}

/* Style dla linków do pobrania w scriptcode (bbcode [code]) */
.opis .scriptcode {
  font-family: 'Courier New', monospace;
  font-size: 14px !important;
  line-height: 1.8;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.opis .scriptcode a {
  color: var(--accent);
  display: block;
  word-break: break-all;
}
.opis .scriptcode a:hover {
  color: var(--accent-hover);
  text-decoration: underline;
}

/* Style dla linków do pobrania w pre code (HTML) */
.opis pre {
  margin: 20px 0 0 0;
  padding: 0;
  background: none;
  border: none;
}
.opis pre code {
  display: block;
  background: var(--bg-input);
  border-top: 1px solid var(--bg-input);
  border-right: 1px solid var(--bg-input);
  border-bottom: 1px solid var(--bg-input);
  padding: 15px;
  font-family: 'Courier New', monospace;
  font-size: 14px !important;
  line-height: 1.8;
  white-space: pre-wrap;
  word-wrap: break-word;
  color: var(--text-secondary);
}
.opis pre code a {
  color: var(--accent);
  display: block;
  word-break: break-all;
}
.opis pre code a:hover {
  color: var(--accent-hover);
  text-decoration: underline;
}

/* Style dla linków w quote */
.opis .quote a {
  color: var(--accent);
  word-break: break-all;
}
.opis .quote a:hover {
  color: var(--accent-hover);
}

/* Style dla linków do pobrania */
.opis .download-links a {
  display: block;
  padding: 5px 0;
  color: var(--accent);
  word-break: break-all;
}
.opis .download-links a:hover {
  color: var(--accent-hover);
  text-decoration: underline;
}

/* Boxy hostingowe */
.opis .hosting-box {
  margin: 15px 0;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 12px;
  overflow: hidden;
}
.opis .hosting-box:first-of-type {
  margin-top: 20px;
}
.opis .hosting-name {
  background: var(--bg-input);
  padding: 12px 15px;
  font-weight: 600;
  font-size: 14px !important;
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--border-main);
}
.opis .hosting-name i {
  color: var(--accent);
}
.opis .hosting-name .hosting-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  padding: 4px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  transition: all 0.2s ease;
}

.opis .hosting-name:hover .hosting-icon {
  border-color: var(--accent);
  background: var(--bg-input);
}
.opis .hosting-name .hosting-text {
  flex-grow: 1;
}
.opis .hosting-name .copy-btn {
  margin-left: auto;
  flex-shrink: 0;
  cursor: pointer;
  font-size: 14px !important;
  font-weight: 400;
  opacity: 0.7;
  transition: opacity 0.2s;
  user-select: none;
}
.opis .hosting-name .copy-btn:hover {
  opacity: 1;
  text-decoration: underline;
}
.opis .hosting-name .copy-btn.copied {
  opacity: 1;
}
.opis .hosting-links {
  padding: 12px 15px;
  background: var(--bg-input);
  border-radius: 8px !important;
  margin: 15px;
  text-align: left;
}
.opis .hosting-links a {
  display: inline;
  font-size: 13px;
  font-family: monospace;
  color: var(--text-secondary);
  word-break: break-all;
}
.opis .hosting-links a::after {
  content: "\A";
  white-space: pre;
}
.opis .hosting-links a:last-child::after {
  content: none;
}
.opis .hosting-links a:hover {
  color: var(--accent);
  text-decoration: none;
}

/* Quality sections for multi-quality releases */
.opis .quality-section {
  margin-bottom: 25px;
  padding: 15px;
  background: var(--bg-input);
  border-radius: 12px;
  border: 1px solid var(--border-main);
}
.opis .quality-section:last-child {
  margin-bottom: 0;
}
.opis .quality-header {
  color: var(--accent);
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 15px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border-main);
  display: flex;
  align-items: center;
  gap: 8px;
}
.opis .quality-header::before {
  content: "\f008";
  font-family: "Font Awesome 6 Free", FontAwesome;
  font-weight: 900;
  font-size: 14px !important;
}
.opis .quality-section .quote {
  margin-bottom: 15px;
}
.opis .quality-section .hosting-box {
  margin: 10px 0 0 0;
}

/* Ulubione - zamień obrazek na tekst */
.favorite-link img {
  display: none;
}
.favorite-link::after {
  content: 'Ulubione';
}

/* Menu edycji dropdown */
#dropmenudiv {
  background-color: var(--bg-card) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 5px;
  box-shadow: none;
  padding: 5px 0;
  min-width: 180px;
}
#dropmenudiv a {
  background: transparent !important;
  border: none !important;
  color: var(--text-primary) !important;
  padding: 8px 15px !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: normal !important;
}
#dropmenudiv a:hover {
  background: var(--bg-input) !important;
  color: var(--accent) !important;
}

/* Szybka edycja - style formularza */
.dle-popup-quickedit .ui-dialog-content {
  font-size: 14px !important;
}

/* Style dla naszych własnych pól */
.dle-popup-quickedit #custom-edit-fields {
  margin: 15px 0;
}
.dle-popup-quickedit #custom-edit-fields .custom-field-row {
  margin-bottom: 15px;
}
.dle-popup-quickedit #custom-edit-fields b {
  display: block;
  margin-bottom: 5px;
  font-size: 14px !important;
}
.dle-popup-quickedit #custom-edit-fields input[type="text"],
.dle-popup-quickedit #custom-edit-fields textarea {
  width: 100% !important;
  box-sizing: border-box;
  padding: 8px 10px;
  font-size: 14px !important;
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  background: var(--bg-input);
}
.dle-popup-quickedit #custom-edit-fields textarea {
  resize: vertical;
}
.dle-popup-quickedit .quick-edit-text,
.dle-popup-quickedit .quick-edit-textarea {
  width: 100% !important;
  box-sizing: border-box;
  padding: 10px 12px !important;
  font-size: 14px !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 8px !important;
  background: var(--bg-input) !important;
  color: var(--text-primary) !important;
}

/* Ukryj WSZYSTKIE xfields i edytory WYSIWYG w szybkiej edycji */
.dle-popup-quickedit .xfieldsrow {
  display: none !important;
}
/* Pokaż tylko tytuł i kategorię */
.dle-popup-quickedit .xfieldsrow:first-child,
.dle-popup-quickedit .xfieldsrow:nth-child(2) {
  display: block !important;
}
.dle-popup-quickedit .dlefastedit-editor,
.dle-popup-quickedit .wseditor,
.dle-popup-quickedit .xfieldscolleft,
.dle-popup-quickedit .xfieldscolright,
.dle-popup-quickedit .upload-images-block {
  display: none !important;
}

/* Ukryj etykiety xfields po polsku */
.dle-popup-quickedit form > div > b,
.dle-popup-quickedit form > b {
  display: none !important;
}

/* Pokaż nasze własne pola */
.dle-popup-quickedit #custom-edit-fields,
.dle-popup-quickedit #custom-edit-fields .custom-field-row {
  display: block !important;
}

/* ========================================
   jQuery UI Dialog - Dark Theme
   ======================================== */

/* Główny kontener dialogu */
.ui-dialog {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
  padding: 0 !important;
}

/* Pasek tytułu */
.ui-dialog .ui-dialog-titlebar {
  background: var(--bg-input) !important;
  border: none !important;
  border-bottom: 1px solid var(--border-main) !important;
  border-radius: 8px 8px 0 0 !important;
  padding: 15px 20px !important;
}

.ui-dialog .ui-dialog-title {
  color: var(--text-primary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

/* Przycisk zamknięcia X - WYŻSZY PRIORYTET NIŻ .ui-button */
.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close,
.ui-dialog .ui-dialog-titlebar-close,
.ui-dialog-titlebar-close.ui-button,
button.ui-dialog-titlebar-close,
.ui-dialog .ui-button.ui-dialog-titlebar-close,
.ui-dialog .ui-button.ui-dialog-titlebar-close:last-child,
.ui-dialog .ui-button.ui-dialog-titlebar-close:first-child {
  background: var(--bg-input) !important;
  border: none !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  border-radius: 8px !important;
  position: absolute !important;
  right: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  font-size: 0 !important;
  color: transparent !important;
  overflow: visible !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
}

.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close:hover,
.ui-dialog .ui-dialog-titlebar-close:hover,
.ui-dialog-titlebar-close.ui-button:hover,
button.ui-dialog-titlebar-close:hover,
.ui-dialog .ui-button.ui-dialog-titlebar-close:hover {
  background: var(--error) !important;
}

/* Ukryj wszystkie elementy wewnętrzne przycisku close */
.ui-dialog-titlebar-close > *,
.ui-dialog-titlebar-close span,
.ui-dialog-titlebar-close .ui-button-icon,
.ui-dialog-titlebar-close .ui-icon,
.ui-dialog-titlebar-close .ui-button-icon-space {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Rysuj X za pomocą pseudo-elementów */
.ui-dialog-titlebar-close::before {
  content: '' !important;
  position: absolute !important;
  top: 15px !important;
  left: 9px !important;
  width: 14px !important;
  height: 2px !important;
  background: var(--text-secondary) !important;
  transform: rotate(45deg) !important;
  display: block !important;
  pointer-events: none !important;
}

.ui-dialog-titlebar-close::after {
  content: '' !important;
  position: absolute !important;
  top: 15px !important;
  left: 9px !important;
  width: 14px !important;
  height: 2px !important;
  background: var(--text-secondary) !important;
  transform: rotate(-45deg) !important;
  display: block !important;
  pointer-events: none !important;
}

.ui-dialog-titlebar-close:hover::before,
.ui-dialog-titlebar-close:hover::after {
  background: var(--text-on-accent) !important;
}

/* Zawartość dialogu */
.ui-dialog .ui-dialog-content {
  background: var(--bg-card) !important;
  color: var(--text-secondary) !important;
  padding: 20px !important;
  font-size: 14px !important;
  line-height: 1.5;
}

/* Textarea i inputy w dialogu (np. skarga) */
.ui-dialog textarea,
.ui-dialog input[type="text"],
.ui-dialog #dle-promt-text,
.dle-popup-complaint textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  background: var(--bg-input) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 8px !important;
  color: var(--text-primary) !important;
  font-size: 14px !important;
  font-family: inherit !important;
  resize: vertical;
  box-sizing: border-box !important;
  margin-top: 10px;
}

.ui-dialog textarea:focus,
.ui-dialog input[type="text"]:focus,
.ui-dialog #dle-promt-text:focus,
.dle-popup-complaint textarea:focus {
  outline: none !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(190, 123, 59, 0.12) !important;
}

/* Tabela w dialogu */
.ui-dialog table {
  width: 100%;
  border-collapse: collapse;
}

.ui-dialog table td {
  padding: 8px 10px !important;
  color: var(--text-secondary) !important;
  font-size: 14px !important;
  border-bottom: 1px solid var(--bg-input);
  vertical-align: middle;
}

.ui-dialog table tr:last-child td {
  border-bottom: none;
}

.ui-dialog table td:first-child {
  color: var(--text-secondary) !important;
  font-weight: 500;
}

.ui-dialog table img {
  border-radius: 8px !important;
  max-width: 80px;
}

.ui-dialog table a {
  color: var(--accent) !important;
  text-decoration: none;
}

.ui-dialog table a:hover {
  text-decoration: underline;
}

/* Panel przycisków */
.ui-dialog .ui-dialog-buttonpane {
  background: var(--bg-input) !important;
  border: none !important;
  border-top: 1px solid var(--border-main) !important;
  padding: 15px 20px !important;
  margin: 0 !important;
  border-radius: 0 0 8px 8px !important;
}

.ui-dialog .ui-dialog-buttonset {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap;
}

/* Przyciski w dialogu - zgodne z .btn dxsitev4 */
.ui-dialog .ui-button {
  outline: none !important;
  box-shadow: none !important;
  background: var(--bg-input) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 8px !important;
  color: var(--text-secondary) !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 38px !important;
  box-sizing: border-box !important;
}

.ui-dialog .ui-button:hover {
  border-color: var(--accent) !important;
}
.ui-dialog .ui-button:active,
.ui-dialog .ui-button:focus {
  background: var(--bg-hover) !important;
  color: var(--text-primary) !important;
}

/* Przycisk główny (Zapisz, Zobacz profil) - ostatni w zestawie */
.ui-dialog .ui-button:last-child {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--text-on-accent) !important;
}

.ui-dialog .ui-button:last-child:hover {
  box-shadow: 0 0 15px rgba(190, 123, 59, 0.4) !important;
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
}

/* NADPISANIE - Przycisk close ZAWSZE szary (nie pomarańczowy) */
.ui-dialog .ui-button.ui-dialog-titlebar-close,
.ui-dialog .ui-button.ui-dialog-titlebar-close:last-child,
.ui-dialog .ui-button.ui-dialog-titlebar-close:first-child,
.ui-dialog .ui-dialog-titlebar .ui-button.ui-dialog-titlebar-close,
.ui-dialog .ui-button.ui-button-icon-only.ui-dialog-titlebar-close,
.ui-dialog .ui-widget.ui-button.ui-dialog-titlebar-close,
.ui-dialog button.ui-button.ui-corner-all.ui-dialog-titlebar-close,
button.ui-button.ui-corner-all.ui-widget.ui-button-icon-only.ui-dialog-titlebar-close {
  background: var(--bg-input) !important;
  border: none !important;
  border-color: var(--border-main) !important;
  color: transparent !important;
}

.ui-dialog .ui-button.ui-dialog-titlebar-close:hover,
.ui-dialog .ui-button.ui-dialog-titlebar-close:last-child:hover,
.ui-dialog .ui-dialog-titlebar .ui-button.ui-dialog-titlebar-close:hover,
.ui-dialog .ui-button.ui-button-icon-only.ui-dialog-titlebar-close:hover,
button.ui-button.ui-corner-all.ui-widget.ui-button-icon-only.ui-dialog-titlebar-close:hover {
  background: var(--error) !important;
  border-color: var(--error) !important;
}

/* Przycisk usuwania - czerwony */
.ui-dialog .ui-button-delete,
.ui-dialog .ui-button[class*="delete"] {
  background: var(--error) !important;
  border-color: var(--error) !important;
  color: var(--text-on-accent) !important;
}

.ui-dialog .ui-button-delete:hover,
.ui-dialog .ui-button[class*="delete"]:hover {
  background: var(--error) !important;
  border-color: var(--error) !important;
}

/* Gdy jest tylko jeden przycisk - pomarańczowy */
.ui-dialog .ui-dialog-buttonset .ui-button:only-child {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--text-on-accent) !important;
}

/* Dla popup profilu - pierwszy przycisk (Zobacz profil) pomarańczowy */
.dle-popup-userprofile .ui-button:first-child {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--text-on-accent) !important;
}

.dle-popup-userprofile .ui-button:first-child:hover {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
}

.dle-popup-userprofile .ui-button:not(:first-child) {
  background: var(--bg-input) !important;
  border-color: var(--border-main) !important;
  color: var(--text-secondary) !important;
}

.dle-popup-userprofile .ui-button:not(:first-child):hover {
  background: var(--bg-hover) !important;
  color: var(--text-primary) !important;
}

/* Centrum administracyjne - popup edycji użytkownika */
.dle-popup-userprofileadmin .ui-dialog-buttonset {
  display: flex !important;
  gap: 10px !important;
}

.dle-popup-userprofileadmin .ui-button {
  background: var(--bg-input) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 8px !important;
  color: var(--text-secondary) !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

.dle-popup-userprofileadmin .ui-button:hover {
  background: var(--bg-hover) !important;
  color: var(--text-primary) !important;
}

/* Przycisk Usuń - czerwony */
.dle-popup-userprofileadmin .ui-button-delete {
  background: var(--error) !important;
  border-color: var(--error) !important;
  color: var(--text-on-accent) !important;
  order: 1 !important;
}

.dle-popup-userprofileadmin .ui-button-delete:hover {
  background: var(--error) !important;
  border-color: var(--error) !important;
}

/* Przycisk Anuluj - szary (środkowy) */
.dle-popup-userprofileadmin .ui-button:not(.ui-button-delete):not(:last-child) {
  order: 2 !important;
}

/* Przycisk Zapisz - pomarańczowy (ostatni) */
.dle-popup-userprofileadmin .ui-button:last-child:not(.ui-button-delete) {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--text-on-accent) !important;
  order: 3 !important;
}

.dle-popup-userprofileadmin .ui-button:last-child:not(.ui-button-delete):hover {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
}

/* Widget content */

/* Nadpisanie stanów jQueryUI */
.ui-dialog .ui-button.ui-state-hover,
.ui-dialog .ui-button.ui-state-focus,
.ui-dialog .ui-button.ui-state-active,
.ui-dialog .ui-state-hover,
.ui-dialog .ui-state-focus,
.ui-dialog .ui-state-active {
  background: var(--bg-hover) !important;
  border-color: var(--border-main) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Zachowaj kolory dla przycisków akcji */
.ui-dialog .ui-button:last-child.ui-state-hover,
.ui-dialog .ui-button:last-child.ui-state-focus,
.ui-dialog .ui-button:last-child.ui-state-active,
.ui-dialog .ui-button:last-child:active {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
}

.ui-dialog .ui-button-delete.ui-state-hover,
.ui-dialog .ui-button-delete.ui-state-focus,
.ui-dialog .ui-button-delete.ui-state-active,
.ui-dialog .ui-button-delete:active {
  background: var(--error) !important;
  border-color: var(--error) !important;
}

/* ============================================
   PROFILE POPUP - wyświetlany przy kliknięciu nicka
   ============================================ */
.profile-popup {
    min-width: 280px;
}

.popup-user-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-main);
    margin-bottom: 15px;
}

.popup-avatar-wrap {
    position: relative;
    width: 70px;
    height: 70px;
    flex-shrink: 0;
}

.profile-popup .popup-avatar {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--border-main);
    background: var(--bg-input);
}

.popup-avatar-icon {
    display: none;
    width: 70px;
    height: 70px;
    background: var(--bg-input);
    border-radius: 50%;
    border: 3px solid var(--border-main);
    align-items: center;
    justify-content: center;
}

.popup-avatar-icon i {
    font-size: 28px;
    color: var(--text-secondary);
}

.popup-user-info h3 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 8px 0;
    color: var(--text-primary);
}

.popup-group {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    background: var(--accent-subtle);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.popup-group b {
    font-weight: 600;
}

.popup-user-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 15px;
}

.popup-stat {
    text-align: center;
    padding: 12px;
    background: var(--bg-input);
    border-radius: 8px;
}

.popup-stat-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    display: block;
}

.popup-stat-label {
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 2px;
    display: block;
}

.popup-user-details {
    display: grid;
    gap: 8px;
    margin-bottom: 15px;
}

.popup-detail {
    display: flex;
    padding: 8px 10px;
    background: var(--bg-input);
    border-radius: 8px;
    font-size: 13px;
}

.popup-detail-label {
    width: 100px;
    color: var(--text-secondary);
}

.popup-detail-label i {
    margin-right: 6px;
    color: var(--accent);
}

.popup-detail-value {
    flex: 1;
    font-weight: 500;
    color: var(--text-primary);
}

.popup-user-actions {
    display: flex;
    gap: 10px;
}

.popup-user-actions a {
    flex: 1;
    text-align: center;
    padding: 10px;
    background: var(--bg-input);
    border: 1px solid var(--border-main);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.popup-user-actions a:hover {
    color: var(--text-on-accent);
    background: var(--accent);
    border-color: var(--accent);
    text-decoration: none;
}

.popup-user-actions a i {
    margin-right: 6px;
}

/* Status online/offline w popup */
.user-status {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    margin-top: 8px;
    color: var(--text-secondary);
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.status-dot.online {
    background: var(--success);
}

.status-dot.offline {
    background: var(--text-muted);
}

.ui-widget-content {
  background: var(--bg-card) !important;
  color: var(--text-secondary) !important;
}

.ui-widget-header {
  background: var(--bg-input) !important;
  color: var(--text-primary) !important;
  border: none !important;
}

/* Overlay */
.ui-widget-overlay {
  background: #000000 !important;
  opacity: 0.7 !important;
}

/* Corner styles */
.ui-corner-all {
  border-radius: 8px !important;
}

/* Zamień ikony favorites na tekst */
.favorite-link img {
  display: none !important;
}
.favorite-link {
  color: var(--accent) !important;
  text-decoration: none !important;
  font-size: 14px !important;
}
.favorite-link:hover {
  text-decoration: underline !important;
}
.favorite-link.add-favorite::after {
  content: "Ulubione";
}
.favorite-link.del-favorite::after {
  content: "Usuń z ulubionych";
}
/* Fallback dla linków bez klasy */
a[data-fav-id] img {
  display: none !important;
}
a[data-fav-id] {
  color: var(--accent) !important;
  text-decoration: none !important;
  font-size: 14px !important;
}
a[data-fav-id]:hover {
  text-decoration: underline !important;
}
a[data-fav-id]:empty::after {
  content: "Ulubione";
}

/* Ikony hostingów na liście artykułów */
.hosting-info {
  display: none !important;
}
.hosting-info:has(.hosting-list-icon) {
  display: block !important;
}
.hosting-list-icon {
  width: 16px;
  height: 16px;
  vertical-align: middle;
  margin-left: 8px;
}

/* Pola formularza addnews */
.newnews .form-field {
  width: 720px;
  padding: 8px 10px;
  font-size: 14px !important;
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  background: var(--bg-input);
  transition: border-color 0.2s;
}
.newnews .form-field:focus {
  border-color: var(--accent);
  outline: none;
}
.newnews .form-field-mono {
  font-family: 'Courier New', monospace;
  font-size: 14px !important;
}
.newnews input.form-field {
  height: 38px;
}
.newnews textarea.form-field {
  resize: vertical;
  min-height: 80px;
}
.newnews .category-select select {
  width: 720px;
  padding: 8px 10px;
  font-size: 14px !important;
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  background: var(--bg-input);
  height: 40px;
  cursor: pointer;
}
.newnews .category-select select:focus {
  border-color: var(--accent);
  outline: none;
}

/* ==========================================================================
   Przełącznik widoków (lista/siatka)
   ========================================================================== */
.view-toggle-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 15px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  margin: 10px 0 0 0;
}

/* Lewa strona belki - wyszukiwarka */
.bar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  margin-right: 15px;
}
.bar-icon {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  text-decoration: none;
  color: var(--text-secondary);
  font-size: 16px;
  text-decoration: none;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.bar-icon:hover {
  background: var(--border-main);
  color: var(--accent);
  border-color: var(--accent);
  text-decoration: none;
}
.bar-search {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 8px;
}
.bar-search-btn {
  color: var(--text-on-accent);
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent);
  border: none;
  border-radius: 8px !important;
  font-size: 14px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.bar-search-btn:hover {
  background: var(--accent-hover);
}
.bar-search-input {
  flex: 1;
  height: 38px;
  padding: 0 14px;
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  font-size: 14px !important;
  background: var(--bg-input);
  outline: none;
}
.bar-search-input:focus {
  border-color: var(--accent);
}
.bar-search-input::placeholder {
  color: var(--text-secondary);
}

/* Live Search Results */
.bar-search {
  position: relative;
}
.live-search-results,
#searchsuggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 8px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  max-height: 400px;
  overflow-y: auto;
  z-index: 1000;
  display: none;
}
.live-search-results::-webkit-scrollbar {
  width: 8px;
}
.live-search-results::-webkit-scrollbar-track {
  background: var(--bg-input);
  border-radius: 4px;
}
.live-search-results::-webkit-scrollbar-thumb {
  background: var(--border-main);
  border-radius: 4px;
}
.live-search-results::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
}
.search-result-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
  border-bottom: 1px solid var(--border-main);
  text-decoration: none;
  transition: all 0.2s ease;
}
.search-result-item:last-child {
  border-bottom: none;
}
.search-result-item:hover {
  text-decoration: none;
  background: var(--bg-input);
}
.search-result-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-input);
  border-radius: 5px;
  border: 1px solid var(--border-main);
  transition: all 0.2s ease;
}
.search-result-icon i {
  color: var(--accent);
  font-size: 18px;
}
.search-result-item:hover .search-result-icon {
}
.search-result-item:hover .search-result-icon i {
}
.search-result-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.search-result-title {
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.search-result-item:hover .search-result-title {
  color: var(--accent);
}
/* Podswietlenie wyszukiwanego tekstu - delikatne */
.search-result-title mark,
.live-search-results mark,
.search-results-page mark {
  background: var(--accent-subtle);
  color: var(--accent);
  padding: 1px 2px;
  border-radius: 2px;
  font-weight: 600;
}
.search-result-meta {
  color: var(--text-secondary);
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.search-result-meta i {
  font-size: 11px;
  color: var(--text-muted);
}
.search-result-meta a {
  color: var(--text-secondary);
  text-decoration: none;
}
.search-result-meta a:hover {
  color: var(--accent);
}
/* Legacy classes - keep for compatibility */
.search-result-category {
  color: var(--text-secondary);
  font-size: 12px;
}
.search-result-category a {
  color: var(--text-secondary);
  text-decoration: none;
}
.search-result-category a:hover {
  color: var(--accent);
}
.search-no-results {
  padding: 20px 15px;
  text-align: center;
  color: var(--text-secondary);
  font-size: 14px !important;
}
.live-search-results .notfound {
  display: block;
  padding: 20px 15px;
  text-align: center;
  color: var(--text-secondary);
  font-size: 14px !important;
}
.live-search-results .seperator {
  display: block;
  padding: 10px 15px;
  border-top: 1px solid var(--border-main);
  background: var(--bg-input);
}
.live-search-results .seperator a {
  color: var(--accent);
  font-size: 13px;
  text-decoration: none;
}
.live-search-results .seperator a:hover {
  text-decoration: underline;
}
.live-search-results .searchheading {
  display: block;
  padding: 12px 15px;
  font-size: 14px !important;
  border-bottom: 1px solid var(--border-main);
  transition: background 0.2s ease;
}
.live-search-results a:hover .searchheading {
  background: var(--bg-input);
  color: var(--accent);
}

/* Search Results Page */
.search-results-page {
  margin-bottom: 20px;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100%;
  box-sizing: border-box;
  display: block;
}
.articles-container .search-results-page,
.articles-container .searching {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100%;
}
.search-results-page h4 {
  margin: 0 0 15px 0;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--border-main);
  font-size: 18px;
  font-weight: 600;
}
.search-results-page h4 i {
  color: var(--accent);
  margin-right: 10px;
}
.search-results-info {
  color: var(--text-secondary);
  font-size: 14px !important;
  padding: 10px 0;
}

/* Search Results - Comments */
.search-result-comment .list-card-comment-icon {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-input);
  border-radius: 5px;
  border: 1px solid var(--border-main);
}
.search-result-comment .list-card-comment-icon i {
  font-size: 32px;
  color: var(--accent);
}
.search-comment-text {
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
  margin: 8px 0;
  padding: 10px;
  background: var(--bg-input);
  border-radius: 8px !important;
  border-left: 3px solid var(--accent);
}

/* Search Results - Movies */
.search-result-movie .list-card {
  display: flex !important;
}
/* Search Results - Grid view override */
.articles-container.view-grid .search-result-movie .list-card {
  display: none !important;
}
.articles-container.view-grid .search-result-movie .list-card + .opis {
  display: none !important;
}
.articles-container.view-grid .search-result-movie .grid-view-content {
  display: block !important;
}

/* Featured List - Polecane filmy/seriale */
.featured-list {
  list-style: none;
  margin: 0;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.featured-item,
.featured-list .featured-item:first-child {
  background: var(--bg-card);
  border: 1px solid var(--border-main) !important;
  border-radius: 5px;
  overflow: hidden;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.featured-item:hover {
  transform: translateY(-5px);
}
.featured-list .featured-item:hover {
  transform: translateY(-5px) !important;
}
.featured-link {
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
}
.featured-link:hover {
  text-decoration: none !important;
}
.featured-poster {
  display: block;
  width: 100%;
  padding-top: 140%;
  background-size: cover;
  background-position: center top;
  background-color: var(--bg-input);
  background-repeat: no-repeat;
  position: relative;
  border-radius: 8px;
}

/* Ocena TMDB na plakacie polecanych */
.featured-rating {
  position: absolute;
  top: 5px;
  right: 5px;
  background: var(--bg-card);
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 700;
  color: var(--tmdb-rating);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  z-index: 2;
}
.featured-rating i {
  margin-right: 4px;
}
.featured-no-image {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0;
  height: 120px;
}
.featured-no-image i {
  font-size: 32px;
  color: var(--accent);
}
.featured-info {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.featured-title {
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-decoration: none !important;
}
.featured-category {
  color: var(--accent);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* Prawa strona belki - przyciski widoku */
.bar-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.view-toggle-label {
  font-size: 14px !important;
  color: var(--text-secondary);
  margin-right: 5px;
}
.view-toggle-btn {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  color: var(--text-secondary);
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.view-toggle-btn:hover {
  color: var(--accent);
  background: var(--border-main);
  border-color: var(--accent);
}
.view-toggle-btn.active {
  color: var(--text-on-accent);
  background: var(--accent);
  border: none;
}
.view-toggle-btn.active:hover {
  background: var(--accent-hover);
}

/* ==========================================================================
   Kontener artykułów
   ========================================================================== */
.articles-container {
  transition: opacity 0.2s ease;
}

/* Widok listy - domyślny */
.articles-container.view-list .movie.boxed {
  display: block;
  padding: 16px;
  margin-bottom: 12px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 14px;
  transition: all 0.25s ease;
}
.articles-container.view-list .movie.boxed:hover {
  background: var(--bg-hover);
}
.articles-container.view-list .list-card {
  display: flex;
}
.articles-container.view-list .list-card + .opis {
  display: none;
}
.articles-container.view-list .grid-view-content {
  display: none;
}

/* ==========================================================================
   Widok listy - układ kart
   ========================================================================== */
.list-card {
  display: flex;
  gap: 20px;
}

/* Poster w widoku listy */
.list-card-poster {
  flex-shrink: 0;
  width: 120px;
}

.list-card-poster a {
  display: block;
  text-decoration: none;
}

.list-poster-img {
  display: block;
  width: 120px;
  height: 180px;
  background-color: var(--bg-input);
  background-size: cover;
  border-radius: 5px;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  border: 2px solid var(--border-main);
  transition: border-color 0.2s ease;
}

.list-card:hover .list-poster-img {
  border-color: var(--bg-hover);
}

.list-poster-img::before {
  content: '\f008';
  font-family: 'FontAwesome';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 32px;
  color: var(--border-main);
  opacity: 0.5;
}

.list-poster-img[style*="background-image"]::before {
  display: none;
}

/* Body karty */
.list-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

/* Tytuł */
.list-card-title {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.list-card-title a {
  color: var(--text-secondary) !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.list-card-title a:hover {
  color: var(--text-secondary) !important;
  text-decoration: none;
}

/* Release info - mniejsza czcionka pod tytułem, nad kreską */
.list-card-release {
  color: var(--accent);
  display: block;
  font-size: 11px;
  font-family: 'Consolas', 'Monaco', monospace;
  font-weight: 400;
  margin-top: 6px;
  line-height: 1.4;
  word-break: break-word;
}

.list-card-release:empty {
  display: none;
}

/* Info techniczne - badge */
.list-card-technical {
  display: inline-block;
  font-size: 11px;
  font-family: 'Consolas', 'Monaco', monospace;
  color: var(--accent);
  background: rgba(230, 101, 0, 0.12);
  border-left: 3px solid rgba(230, 101, 0, 0.5);
  padding: 6px 10px;
  border-radius: 0 6px 6px 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.list-card-technical:empty {
  display: none;
}

/* Metadane */
.list-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
  color: var(--text-secondary);
}

.list-card-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.list-card-meta i {
  color: var(--text-muted);
  font-size: 12px;
}

.list-meta-category a {
  color: var(--accent) !important;
  font-weight: 500;
}

.list-meta-category a:hover {
  text-decoration: underline;
}

/* Tagi */
.list-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.list-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  background: var(--bg-input);
  border-radius: 4px;
  font-size: 12px;
  color: var(--text-secondary);
}

.list-tag i {
  color: var(--text-muted);
}

/* Hosting icons */
.list-card-tags .hosting-info {
  display: flex;
  gap: 6px;
  align-items: center;
}

.list-card-tags .hosting-info img {
  width: 14px;
  height: 14px;
  padding: 4px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  transition: all 0.2s ease;
}

.list-card-tags .hosting-info img:hover {
  border-color: var(--accent);
  background: var(--bg-hover);
}

.hosting-label {
  color: var(--text-secondary);
  font-size: 15px;
}

/* Przycisk akcji */
.list-card-actions {
  margin-top: auto;
  padding-top: 6px;
}

.list-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  background: var(--bg-input);
  color: var(--text-secondary) !important;
  border: 1px solid var(--border-main);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
  cursor: pointer;
}

.list-card-btn:hover {
  background: var(--border-main);
  border-color: var(--accent);
  color: var(--text-primary) !important;
  transform: translateY(-2px);
}
.list-card-btn:active,
.list-card-btn:focus {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--text-primary) !important;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

/* Przycisk trailera - styl YouTube */
.trailer-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px 24px;
  background: var(--bg-input);
  color: var(--text-secondary) !important;
  border: 1px solid var(--border-main);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
  cursor: pointer;
  margin-left: 10px;
}

.trailer-btn i {
  font-size: 14px !important;
  color: var(--error);
}

.trailer-btn:hover {
  background: var(--border-main);
  border-color: var(--error);
  color: var(--text-primary) !important;
  transform: translateY(-2px);
}

/* Sekcja trailer w fullstory */
.trailer-box {
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  overflow: hidden;
  max-width: 560px;
  margin: 0 auto;
}

.trailer-thumb-link {
  position: relative;
  display: block;
  border-radius: 8px !important;
  overflow: hidden;
}

.trailer-thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}

.trailer-play-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.4);
  transition: background 0.3s ease;
}

.trailer-play-overlay i {
  font-size: 48px;
  color: var(--error);
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  transition: transform 0.3s ease;
}

.trailer-thumb-link:hover .trailer-play-overlay {
  background: rgba(0, 0, 0, 0.2);
}

.trailer-thumb-link:hover .trailer-play-overlay i {
  transform: scale(1.2);
}

.trailer-section-wrapper {
  margin: 20px 0;
}

.trailer-section-wrapper > h2 {
  margin-bottom: 10px;
}
/* Responsive - widok listy */
@media (max-width: 768px) {
  .list-card {
    flex-direction: column;
    gap: 14px;
  }

  .list-card-poster {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .list-poster-img {
    width: 140px;
    height: 210px;
  }

  .list-card-title {
    font-size: 12px;
    text-align: left;
  }

  .list-card-meta {
    justify-content: center;
  }

  .list-card-tags {
    justify-content: center;
  }

  .list-card-actions {
    text-align: center;
  }

  .list-card-btn {
    width: 100%;
  }
}

/* ==========================================================================
   Widok siatki (grid) - styl TMDB
   ========================================================================== */
.articles-container.view-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.articles-container.view-grid .movie.boxed {
  width: calc(33.333% - 7px);
  padding: 0;
  margin: 0;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
  border: none;
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
}
.articles-container.view-grid .movie.boxed:hover {
  transform: translateY(-5px);
  box-shadow: none;
}
.articles-container.view-grid .list-card {
  display: none;
}
.articles-container.view-grid .list-card + .opis {
  display: none !important;
}
.articles-container.view-grid .grid-view-content {
  display: block;
}

/* Plakat w widoku siatki */
.grid-view-content > a {
  display: block;
  text-decoration: none;
}
.grid-poster {
  width: 100%;
  padding-bottom: 150%; /* proporcje 2:3 jak plakaty filmowe */
  background-color: var(--bg-input);
  background-size: cover;
  border-radius: 5px;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  
}
.grid-poster::before {
  content: '\f008';
  font-family: 'FontAwesome';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 40px;
  color: var(--border-main);
  opacity: 0.5;
}
.grid-poster[style*="background-image"]::before {
  display: none;
}

/* Ocena TMDB na plakacie */
.grid-rating {
  position: absolute;
  top: 8px;
  right: 8px;
  background: var(--bg-card);
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--tmdb-rating);
  z-index: 2;
}
.grid-rating i {
  margin-right: 4px;
}

/* Info w widoku siatki */
.grid-info {
  padding: 12px 14px;
  background: var(--bg-card);
  border-radius: 0 0 12px 12px;
}
.grid-info h4 {
  color: var(--text-secondary);
  margin: 0 0 6px 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  max-height: 40px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.grid-info h4 a {
  color: var(--text-secondary);
  text-decoration: none;
}
.grid-info h4 a:hover {
  color: var(--text-secondary);
}

/* Meta w widoku siatki */
.grid-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.grid-category {
  font-size: 13px;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 60%;
}
.grid-category a {
  color: var(--accent);
  text-decoration: none;
}
.grid-category a:hover {
  text-decoration: none;
}
.grid-hosting-icons {
  display: flex;
  gap: 4px;
  flex-wrap: nowrap;
  overflow: hidden;
  align-items: center;
}
.grid-hosting-icons .hosting-list-icon {
  width: 12px;
  height: 12px;
  padding: 3px;
  margin: 0;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 4px;
  transition: all 0.2s ease;
}
.grid-hosting-icons .hosting-list-icon:hover {
  border-color: var(--accent);
  background: var(--bg-hover);
}

/* Paginacja i info w widoku siatki - pełna szerokość */
.articles-container.view-grid .pagination,
.articles-container.view-grid .navigation,
.articles-container.view-grid .search-results-page,
.articles-container.view-grid .search-results-page.boxed,
.articles-container.view-grid .searching,
.articles-container.view-grid .searching.boxed {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
/* Form fullsearch w widoku siatki - pełna szerokość */
.articles-container.view-grid > form,
.articles-container.view-grid > #fullsearch,
.articles-container.view-grid form#fullsearch {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}
.articles-container.view-grid .pagination,
.articles-container.view-grid .navigation {
  order: 9999;
}
.articles-container.view-grid > .row {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  order: 9999;
}

/* Responsywność siatki */
@media (max-width: 900px) {
  .articles-container.view-grid .movie.boxed {
    width: calc(50% - 5px);
  }
}
@media (max-width: 600px) {
  .articles-container.view-grid .movie.boxed {
    width: 100%;
  }
}

/* ===============================================
   TOPBAR - Górna belka użytkownika
   =============================================== */

.topbar {
  background: linear-gradient(90deg, rgba(190, 123, 59, 0.04) 0%, transparent 30%, transparent 70%, rgba(88, 166, 255, 0.03) 100%), var(--bg-card);
  border-bottom: 1px solid var(--border-main);
  width: 100%;
}

.topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 1280px;
  margin: 0 auto;
  padding: 24px 0;
}

.topbar-left {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
}

.topbar-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  position: relative;
}

.topbar-logo::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 15px;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.2) 0%, transparent 70%);
  filter: blur(8px);
  pointer-events: none;
}

.topbar-logo img {
  height: 70px;
  width: auto;
  transition: all 0.3s ease;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.15));
}

.topbar-logo:hover img {
  opacity: 0.95;
  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.04));
}

.topbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-right: 35px;
}

/* Przyciski w topbar */
.topbar-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: var(--bg-input);
  color: var(--text-secondary);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

.topbar-btn:hover {
  text-decoration: none;
  background: var(--border-main);
  border-color: var(--accent);
}

.topbar-btn-primary {
  color: var(--btn-primary-text);
  background: var(--btn-primary-bg);
  border-color: var(--accent);
}

.topbar-btn-primary:hover {
  color: var(--text-on-accent);
  background: var(--btn-primary-hover);
  border-color: var(--accent-hover);
}

.topbar-btn i {
  font-size: 12px;
}

/* Ikony w topbar */
.topbar-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  color: var(--text-secondary);
  font-size: 14px !important;
  text-decoration: none;
  transition: all 0.2s ease;
}

.topbar-icon:hover {
  text-decoration: none;
  color: var(--accent);
  background: var(--border-main);
  border-color: var(--accent);
}

/* Badge z liczbą powiadomień */
.topbar-badge {
  color: #ffffff;
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  background: var(--accent);
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
  border-radius: 5px;
}

/* ===============================================
   USER DROPDOWN - Avatar z menu
   =============================================== */

.user-dropdown {
  z-index: 150; /* Wyżej niż category-bar (100) */
  position: relative;
}

.user-menu-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: var(--bg-input);
  color: var(--text-secondary);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.user-menu-btn:hover {
  color: var(--accent);
  background: var(--border-main);
  border-color: var(--accent);
}

.user-menu-btn i {
  font-size: 14px !important;
}

.user-menu-btn:hover i {
  color: var(--accent);
}

/* Dropdown menu */
.user-dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 260px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s ease;
  z-index: 1000;
}

.user-dropdown-menu.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Nagłówek dropdown */
.dropdown-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px;
  border-bottom: 1px solid var(--border-main);
}

.dropdown-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

.dropdown-user-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dropdown-username {
  font-size: 14px !important;
  font-weight: 600;
}

.dropdown-role {
  font-size: 12px;
  color: var(--text-secondary);
}

/* Points display */
.dropdown-points {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
  background: linear-gradient(135deg, rgba(240, 136, 62, 0.1) 0%, rgba(190, 123, 59, 0.05) 100%);
  border-bottom: 1px solid var(--border-main);
}

.dropdown-points-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, var(--accent-hover) 0%, var(--accent) 100%);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dropdown-points-icon i {
  color: #fff;
  font-size: 16px;
}

.dropdown-points-info {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.dropdown-points-value {
  font-size: 18px;
  font-weight: 700;
  color: var(--accent);
}

.dropdown-points-label {
  font-size: 11px;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.dropdown-points-link {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-input);
  border-radius: 8px !important;
  color: var(--text-secondary);
  text-decoration: none;
  transition: all 0.2s ease;
}

.dropdown-points-link:hover {
  background: var(--border-main);
  color: var(--accent);
}

/* Badges (ACP, VIP) */
.dropdown-badges {
  display: flex;
  gap: 8px;
  padding: 12px 15px;
  border-bottom: 1px solid var(--border-main);
}

.dropdown-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 8px !important;
  text-decoration: none;
  transition: all 0.2s ease;
}

.dropdown-badge i {
  font-size: 11px;
}

.dropdown-badge-admin {
  background: var(--bg-input);
  color: #7a9bb5;
  border: 1px solid var(--badge-film);
}

.dropdown-badge-admin:hover {
  color: var(--text-on-accent);
  text-decoration: none;
  background: var(--badge-film);
}

.dropdown-badge-vip {
  background: var(--bg-input);
  color: var(--warning);
  border: 1px solid var(--warning);
}

.dropdown-badge-vip:hover {
  background: var(--warning);
  color: var(--bg-body);
}

/* Menu items */
.dropdown-menu-items {
  padding: 8px 0;
}

.dropdown-menu-items a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 15px;
  color: var(--text-secondary);
  font-size: 13px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.dropdown-menu-items a:hover {
  background: var(--bg-input);
}

.dropdown-menu-items a i {
  width: 16px;
  text-align: center;
  font-size: 13px;
}

/* Footer - wyloguj */
.dropdown-footer {
  padding: 8px 15px 12px;
  border-top: 1px solid var(--border-main);
}

.dropdown-logout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 10px;
  background: var(--bg-input);
  color: var(--error);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  border-radius: 8px !important;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.dropdown-logout:hover {
  color: var(--text-on-accent);
  text-decoration: none;
  background: var(--error);
}

/* ===============================================
   LOGIN MODAL - Okno logowania
   =============================================== */

body.modal-open {
  overflow: hidden;
}

.login-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(13, 17, 23, 0.85);
  align-items: flex-start;
  justify-content: center;
  z-index: 9999;
  overflow-y: auto;
  padding: 20px 15px;
  box-sizing: border-box;
}

.login-modal-content {
  width: 100%;
  max-width: 360px;
  padding: 30px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 12px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
  margin: auto;
  flex-shrink: 0;
}

.login-modal-close {
  float: right;
  font-size: 24px;
  color: var(--text-secondary);
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s ease;
}

.login-modal-close:hover {
  color: var(--error);
}

.login-modal-content h3 {
  margin: 0 0 10px 0;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
}

/* Komunikat błędu logowania */
.login-error-message {
  background: var(--error-bg);
  border: 1px solid var(--error);
  color: var(--error);
  padding: 12px 15px;
  border-radius: 5px;
  font-size: 13px;
  text-align: center;
  margin-bottom: 10px;
}
.login-error-message i {
  margin-right: 8px;
  color: var(--error);
}

/* Animacja shake */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
  20%, 40%, 60%, 80% { transform: translateX(5px); }
}
.login-modal-content.shake {
  animation: shake 0.5s ease-in-out;
}

.login-modal-content form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.login-modal-content input[type="text"],
.login-modal-content input[type="password"] {
  width: 100%;
  padding: 12px 14px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  font-size: 14px !important;
  outline: none;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

.login-modal-content input[type="text"]:focus,
.login-modal-content input[type="password"]:focus {
  border-color: var(--accent);
}

.login-modal-content input::placeholder {
  color: var(--text-secondary);
}

.login-modal-content button[type="submit"] {
  width: 100%;
  padding: 12px;
  background: var(--accent);
  border: none;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 600;
  color: var(--text-on-accent);
  cursor: pointer;
  transition: background 0.2s ease;
}

.login-modal-content button[type="submit"]:hover {
  background: var(--accent-hover);
}

.login-modal-links {
  display: flex;
  justify-content: space-between;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid var(--border-main);
}

.login-modal-links a {
  color: var(--text-secondary);
  font-size: 12px;
  text-decoration: none;
  transition: color 0.2s ease;
}

.login-modal-links a:hover {
  color: var(--accent);
}

/* ===============================================
   WIADOMOŚCI PRYWATNE (PM)
   =============================================== */

.pm-container {
  margin-bottom: 15px;
}

.pm-container.boxed {
  padding: 0;
  overflow: hidden;
}

.pm-header {
  padding: 15px 20px;
  border-bottom: 1px solid var(--border-main);
}

.pm-header h4 {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
}

.pm-header h4 i {
  margin-right: 10px;
  color: var(--accent);
}

.pm-tabs {
  display: flex;
  background: var(--bg-input);
}

.pm-tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 15px;
  color: var(--text-secondary);
  font-size: 14px !important;
  font-weight: 600;
  text-decoration: none;
  border-right: 1px solid var(--border-main);
  transition: all 0.2s ease;
}

.pm-tab:last-child {
  border-right: none;
}

.pm-tab:hover {
  background: var(--border-main);
  text-decoration: none;
}

.pm-tab.active {
  background: var(--bg-card);
  color: var(--accent);
}

.pm-tab i {
  font-size: 14px !important;
}

.pm-tab-new {
  color: var(--text-on-accent);
  background: var(--accent);
}

.pm-tab-new:hover {
  color: var(--text-on-accent);
  background: var(--accent-hover);
}

.pm-list-header, .pm-compose-header, .pm-read-header {
  padding: 15px 20px;
  border-bottom: 1px solid var(--border-main);
}

.pm-list-header h5, .pm-compose-header h5, .pm-read-header h5 {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
}

.pm-list-header h5 i, .pm-compose-header h5 i, .pm-read-header h5 i {
  margin-right: 10px;
  color: var(--accent);
}

.pm-list-content {
  padding: 20px;
  color: var(--text-secondary);
  font-size: 14px !important;
}

.pm-compose-form {
  padding: 20px;
}

.pm-field {
  margin-bottom: 15px;
}

.pm-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px !important;
  font-weight: 600;
}

.pm-field label i {
  margin-right: 8px;
  color: var(--accent);
}

.pm-field input[type="text"],
.pm-compose-form input[type="text"],
.pm-container input[type="text"] {
  width: 100% !important;
  padding: 12px 14px !important;
  background: var(--bg-input) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 8px !important;
  color: var(--text-primary) !important;
  font-size: 14px !important;
  font-family: inherit !important;
  outline: none !important;
  box-sizing: border-box !important;
  height: auto !important;
}

.pm-field input[type="text"]:focus,
.pm-compose-form input[type="text"]:focus,
.pm-container input[type="text"]:focus {
  border-color: var(--accent) !important;
}

/* PM Subject input generated by DLE */
#pm_subj,
.pm-container .quick-edit-text,
.pm-container .classic,
.pm-editor .quick-edit-text {
  width: 100% !important;
  padding: 12px 14px !important;
  background: var(--bg-input) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 8px !important;
  color: var(--text-primary) !important;
  font-size: 14px !important;
  font-family: inherit !important;
  outline: none !important;
  box-sizing: border-box !important;
  height: auto !important;
  margin: 0 !important;
}

#pm_subj:focus,
.pm-container .quick-edit-text:focus,
.pm-container .classic:focus,
.pm-editor .quick-edit-text:focus {
  border-color: var(--accent) !important;
}

.pm-options {
  margin-bottom: 20px;
}

.pm-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  color: var(--text-secondary);
  font-size: 14px !important;
}

.pm-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}

.pm-actions {
  display: flex;
  gap: 10px;
}

.pm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 500;
  border-radius: 8px !important;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
}

.pm-btn-send {
  color: var(--text-on-accent);
  background: var(--accent);
}

.pm-btn-send:hover {
  background: var(--accent-hover);
}

.pm-btn-preview {
  background: var(--bg-input);
  color: var(--text-secondary);
  border: 1px solid var(--border-main);
}

.pm-btn-preview:hover {
  background: var(--border-main);
}

.pm-read-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 20px;
  background: var(--bg-input);
  border-bottom: 1px solid var(--border-main);
}

.pm-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pm-author-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

.pm-author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pm-author-name {
  font-size: 15px;
  font-weight: 600;
  /* color dziedziczony z group_prefix */
}

.pm-author-group {
  font-size: 12px;
  color: inherit; /* Kolor dziedziczony z group_prefix */
}

.pm-date {
  font-size: 13px;
  color: var(--text-secondary);
}

.pm-date i {
  margin-right: 6px;
}

.pm-read-content {
  padding: 20px;
  font-size: 14px !important;
  line-height: 1.6;
  color: var(--text-secondary);
}

.pm-signature {
  padding: 15px 20px;
  border-top: 1px solid var(--border-main);
  font-size: 13px;
  color: var(--text-secondary);
  font-style: italic;
}

.pm-read-actions {
  display: flex;
  gap: 10px;
  padding: 15px 20px;
  border-top: 1px solid var(--border-main);
  background: var(--bg-input);
}

.pm-btn-reply {
  color: var(--text-on-accent);
  background: var(--accent);
}

.pm-btn-reply:hover {
  background: var(--accent-hover);
  text-decoration: none;
}

.pm-btn-delete {
  background: var(--bg-input);
  color: var(--error);
  border: 1px solid var(--error);
}

.pm-btn-delete:hover {
  color: var(--text-on-accent);
  background: var(--error);
  text-decoration: none;
}

/* PM List Header */
.pm-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 20px;
  border-bottom: 1px solid var(--border-main);
}

.pm-list-header h5 {
  margin: 0;
  font-size: 17px;
}

.pm-list-header h5 i {
  margin-right: 8px;
  color: var(--accent);
}

.pm-list-actions {
  display: flex;
  gap: 10px;
}

.pm-btn-small {
  padding: 6px 12px;
  font-size: 13px;
  border: 1px solid var(--border-main);
  background: var(--bg-input);
  color: var(--text-secondary);
  border-radius: 8px !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pm-btn-small:hover {
  background: var(--border-main);
}

.pm-btn-small i {
  margin-right: 5px;
}

.pm-btn-danger {
  border-color: var(--error-bg);
  color: var(--error);
}

.pm-btn-danger:hover {
  color: var(--text-on-accent);
  background: var(--error);
  border-color: var(--error);
}

/* PM List Content */
.pm-list-content {
  padding: 0;
}

/* PM Empty State - gdy brak wiadomości */
.pm-no-messages {
  display: block;
  text-align: center;
  padding: 50px 20px;
  font-size: 15px;
  color: var(--text-secondary);
}

/* PM Table - Lista wiadomości generowana przez DLE */
table.pm {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px !important;
}

table.pm thead tr {
  background: var(--bg-input);
  border-bottom: 1px solid var(--border-main);
}

table.pm .pm_head {
  padding: 12px 15px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  text-align: left;
}

table.pm tbody tr {
  border-bottom: 1px solid var(--bg-input);
  cursor: pointer;
  transition: background 0.2s ease;
}

table.pm tbody tr:hover {
  background: var(--bg-input);
}

table.pm tbody tr:last-child {
  border-bottom: none;
}

table.pm .pm_list {
  padding: 15px;
  vertical-align: middle;
}

/* Link do profilu użytkownika w PM */
a.pm_list {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--accent) !important;
  text-decoration: none;
}

a.pm_list:hover {
  text-decoration: underline;
  color: var(--accent-hover) !important;
}

table.pm .pm_icon {
  width: 40px;
  text-align: center;
  color: var(--text-secondary);
}

table.pm .pm_icon svg {
  width: 18px;
  height: 18px;
}

table.pm .pm-unread-image {
  color: var(--accent);
}

table.pm .pm-unread-image svg {
  fill: var(--accent);
}

table.pm .pm-read-image {
  color: var(--text-secondary);
}

table.pm .pm-reply-image {
  color: var(--success);
}

table.pm .pm-reply-image svg {
  fill: var(--success);
}

table.pm .pm_subj {
  padding: 15px;
  overflow: visible;
}

table.pm .pm_subj .pm_subj {
  padding: 0;
  width: calc(100% + 150px);
}

table.pm .pm_subj .pm_subj a {
  text-decoration: none;
  font-size: 14px !important;
}

table.pm .pm_subj .pm_subj a:hover {
  color: var(--accent);
}

table.pm .pm_subj .pm_subj a b {
  font-weight: 600;
}

table.pm .pm_last_message {
  margin-top: 0;
    padding-top: 5px;
    background-clip: padding-box;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.4;
  width: calc(100% + 150px);
}

table.pm .pm_with_user {
  margin-top: 0;
    padding-top: 5px;
    background-clip: padding-box;
  font-size: 12px !important;
  color: var(--text-muted);
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(100% + 150px);
}

table.pm .pm_with_user_text {
  display: inline;
  font-size: 12px !important;
}

table.pm .pm_with_user_date {
  color: var(--text-muted);
  font-size: 12px !important;
  margin-left: auto;
}

table.pm .pm_with_user a,
table.pm .pm_with_user a.pm_list {
  color: var(--accent) !important;
  font-size: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  margin-left: 4px !important;
}

table.pm .pm_last_user {
  padding: 15px;
  text-align: left;
}

table.pm .pm_last_user .pm_last_user a {
  color: var(--accent);
  text-decoration: none;
  font-size: 14px !important;
  font-weight: 500;
}

table.pm .pm_last_user .pm_last_user a:hover {
  text-decoration: underline;
}

table.pm .pm_last_user .pm_last_date {
  margin-top: 3px;
  font-size: 12px;
  color: var(--text-secondary);
}

table.pm .pm_checkbox {
  width: 50px;
  text-align: center;
}

table.pm .pm_checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
  cursor: pointer;
}

/* PM Navigation - dolny panel z akcjami */
table.pm_navigation {
  margin-top: 15px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
}

table.pm_navigation td {
  padding: 12px 15px;
}

table.pm_navigation .navigation {
  display: flex;
  gap: 5px;
  align-items: center;
}

table.pm_navigation .navigation a,
table.pm_navigation .navigation span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 10px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 13px;
  transition: all 0.2s ease;
}

table.pm_navigation .navigation a:hover {
  background: var(--border-main);
  border-color: var(--accent);
}

table.pm_navigation .navigation span {
  background: var(--accent);
  border-color: var(--accent);
  font-weight: 600;
}

table.pm_navigation .navigation .nav_ext {
  background: transparent;
  border: none;
  min-width: auto;
  padding: 0 5px;
}

table.pm_navigation td[align="right"] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

table.pm_navigation select {
  height: 38px;
  padding: 0 12px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
  min-width: 180px;
  box-sizing: border-box;
}

table.pm_navigation select:focus {
  outline: none;
  border-color: var(--accent);
}

table.pm_navigation select optgroup {
  background: var(--bg-card);
  color: var(--text-secondary);
}

table.pm_navigation select option {
  background: var(--bg-card);
  color: var(--text-secondary);
  padding: 8px;
}

table.pm_navigation input[type="submit"],
table.pm_navigation input.bbcodes {
  height: 38px;
  padding: 0 20px;
  background: var(--accent);
  border: 1px solid var(--accent);
  border-radius: 8px !important;
  color: var(--text-primary) !important;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
  white-space: nowrap;
  box-sizing: border-box;
  line-height: 36px;
}

table.pm_navigation input[type="submit"]:hover,
table.pm_navigation input.bbcodes:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
}

/* PM Item */
.pm-item {
  display: flex;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid var(--bg-input);
  transition: background 0.2s ease;
}

.pm-item:last-child {
  border-bottom: none;
}

.pm-item:hover {
  background: var(--bg-input);
}

.pm-item.unread {
  background: rgba(230, 101, 0, 0.05);
  border-left: 3px solid var(--accent);
}

.pm-item.unread:hover {
  background: rgba(230, 101, 0, 0.1);
}

.pm-item.read {
  opacity: 0.85;
}

/* PM Item Checkbox */
.pm-item-checkbox {
  flex-shrink: 0;
  margin-right: 15px;
}

.pm-item-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
  cursor: pointer;
}

/* PM Item Avatar */
.pm-item-avatar {
  flex-shrink: 0;
  margin-right: 15px;
}

.pm-item-avatar img {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--border-main);
}

.pm-item.unread .pm-item-avatar img {
  border-color: var(--accent);
}

.pm-item-avatar {
  position: relative;
}

.pm-item-avatar-icon {
  display: none;
  width: 45px;
  height: 45px;
  background: var(--bg-input);
  border-radius: 50%;
  border: 2px solid var(--border-main);
  align-items: center;
  justify-content: center;
}

.pm-item-avatar-icon i {
  font-size: 18px;
  color: var(--text-secondary);
}

.pm-item.unread .pm-item-avatar-icon {
  border-color: var(--accent);
}

/* PM Item Content */
.pm-item-content {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.pm-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5px;
}

.pm-item-author {
  font-weight: 600;
  font-size: 14px !important;
  /* color dziedziczony z group_prefix */
}

.pm-item.unread .pm-item-subject {
  color: var(--accent);
}

.pm-item-date {
  font-size: 13px;
  color: var(--text-secondary);
}

.pm-item-date i {
  margin-right: 4px;
}

.pm-item-subject {
  display: block;
  color: var(--text-secondary);
  font-size: 14px !important;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.2s ease;
}

.pm-item-subject:hover {
  color: var(--accent);
}

.pm-item.unread .pm-item-subject {
  font-weight: 500;
}

/* PM Item Actions */
.pm-item-actions {
  flex-shrink: 0;
  margin-left: 15px;
}

.pm-item-delete {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: transparent;
  color: var(--text-secondary);
  text-decoration: none;
  transition: all 0.2s ease;
}

.pm-item-delete:hover {
  background: var(--error-bg);
  color: var(--error);
}

/* PM Read View - Widok konwersacji */
.pm-messages-list {
  padding: 0;
}

.pm-message {
  padding: 20px;
  border-bottom: 1px solid var(--bg-input);
}

.pm-message:last-child {
  border-bottom: none;
}

.pm-message-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
  flex-wrap: wrap;
}

.pm-message-author .pm-author-avatar {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--border-main);
}

.pm-avatar-wrap {
  position: relative;
  flex-shrink: 0;
}

.pm-avatar-icon {
  display: none;
  width: 45px;
  height: 45px;
  background: var(--bg-input);
  border-radius: 50%;
  border: 2px solid var(--border-main);
  align-items: center;
  justify-content: center;
}

.pm-avatar-icon i {
  font-size: 18px;
  color: var(--text-secondary);
}

.pm-message-author .pm-author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.pm-message-author .pm-author-name-wrap {
  font-weight: 600;
  font-size: 15px;
}

.pm-message-author .pm-author-name-wrap a {
  text-decoration: none;
}

.pm-message-author .pm-author-name-wrap a:hover {
  text-decoration: underline;
}

.pm-message-author .pm-author-name {
  font-weight: 600;
  font-size: 15px;
  /* color dziedziczony z group_prefix */
}

.pm-message-author .pm-author-name a {
  color: inherit;
  text-decoration: none;
}

.pm-message-author .pm-author-name a:hover {
  text-decoration: underline;
}

.pm-message-author .pm-author-group {
  display: inline-flex;
  padding: 3px 10px;
  background: var(--rank-badge-bg, var(--border-main));
  border-radius: 20px;
  font-size: 12px;
  width: fit-content;
  /* Nie ustawiamy koloru - kolor pochodzi z inline style w group_prefix */
}

.pm-message-date {
  font-size: 13px;
  color: var(--text-secondary);
}

.pm-message-date i {
  margin-right: 5px;
}

.pm-message-content {
  padding: 15px;
  background: var(--bg-card);
  border-radius: 5px;
  color: var(--text-secondary);
  line-height: 1.6;
  font-size: 14px !important;
}

.pm-message-actions {
  display: flex;
  gap: 15px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--bg-input);
}

.pm-message-actions a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 13px;
  color: var(--text-secondary);
  text-decoration: none;
  border-radius: 8px !important;
  transition: all 0.2s ease;
}

.pm-message-actions a:hover {
  background: var(--bg-input);
  color: var(--text-secondary);
}

.pm-message-actions a:last-child:hover {
  background: var(--error-bg);
  color: var(--error);
}

/* PM Reply Form */
.pm-reply-form {
  padding: 20px;
  background: var(--bg-card);
  border-top: 1px solid var(--border-main);
}

.pm-reply-form h5 {
  margin: 0 0 15px 0;
  font-size: 17px;
  font-weight: 600;
}

.pm-reply-form h5 i {
  margin-right: 8px;
  color: var(--accent);
}

.pm-editor {
  margin-bottom: 15px;
}

.pm-editor textarea,
.pm-reply-form textarea,
.dlepm-editor textarea {
  width: 100%;
  min-height: 120px;
  padding: 12px;
  background: var(--bg-body) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 8px !important;
  color: var(--text-secondary) !important;
  font-size: 14px !important;
  resize: vertical;
}

.pm-editor textarea:focus,
.pm-reply-form textarea:focus,
.dlepm-editor textarea:focus {
  outline: none;
  border-color: var(--accent) !important;
}

/* TinyMCE Dark Theme Override */
.tox-tinymce,
.dlepm-editor .tox-tinymce {
  border: 1px solid var(--border-main) !important;
  border-radius: 8px !important;
}

.tox .tox-edit-area__iframe,
.dlepm-editor .tox .tox-edit-area__iframe {
  background: var(--bg-input) !important;
}

.tox .tox-edit-area__iframe html,
.tox .tox-edit-area__iframe body,
#comments_ifr,
#comments_ifr html,
#comments_ifr body {
  background: var(--bg-input) !important;
  background-color: var(--bg-input) !important;
}

.tox .tox-toolbar,
.tox .tox-toolbar__overflow,
.tox .tox-toolbar__primary,
.dlepm-editor .tox .tox-toolbar,
.dlepm-editor .tox .tox-toolbar__overflow,
.dlepm-editor .tox .tox-toolbar__primary {
  background: var(--bg-input) !important;
  border-bottom: 1px solid var(--border-main) !important;
}

.tox .tox-toolbar-overlord {
  background: var(--bg-input) !important;
}

.tox .tox-tbtn,
.dlepm-editor .tox .tox-tbtn {
  color: var(--text-secondary) !important;
}

.tox .tox-tbtn svg,
.dlepm-editor .tox .tox-tbtn svg {
  fill: var(--text-secondary) !important;
}

.tox .tox-tbtn:hover,
.dlepm-editor .tox .tox-tbtn:hover {
  background: var(--bg-input) !important;
}

.tox .tox-tbtn:hover svg,
.dlepm-editor .tox .tox-tbtn:hover svg {
  fill: var(--text-on-accent) !important;
}

.tox .tox-tbtn--enabled,
.tox .tox-tbtn--enabled:hover,
.dlepm-editor .tox .tox-tbtn--enabled,
.dlepm-editor .tox .tox-tbtn--enabled:hover {
  background: var(--accent) !important;
}

.tox .tox-tbtn--enabled svg,
.dlepm-editor .tox .tox-tbtn--enabled svg {
  fill: var(--text-on-accent) !important;
}

.tox .tox-split-button:hover {
  box-shadow: none !important;
}

.tox .tox-tbtn--select {
  color: var(--text-secondary) !important;
}

/* TinyMCE statusbar */
.tox .tox-statusbar {
  background: var(--bg-card) !important;
  border-top: 1px solid var(--border-main) !important;
  color: var(--text-secondary) !important;
}

.tox .tox-statusbar__text-container {
  color: var(--text-secondary) !important;
}

/* TinyMCE menu/dropdown */
.tox .tox-menu,
.tox .tox-dialog {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-main) !important;
}

.tox .tox-collection__item {
  color: var(--text-secondary) !important;
}

.tox .tox-collection__item--active {
  background: var(--bg-input) !important;
}

.tox .tox-dialog__header {
  background: var(--bg-card) !important;
  border-bottom: 1px solid var(--border-main) !important;
  color: var(--text-primary) !important;
}

.tox .tox-dialog__title {
  color: var(--text-primary) !important;
}

.tox .tox-dialog__body-content {
  color: var(--text-secondary) !important;
}

.tox .tox-textfield,
.tox .tox-textarea {
  background: var(--bg-body) !important;
  border: 1px solid var(--border-main) !important;
  color: var(--text-secondary) !important;
}

.tox .tox-label {
  color: var(--text-secondary) !important;
}

.tox .tox-button {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--text-primary) !important;
}

.tox .tox-button--secondary {
  background: var(--bg-input) !important;
  border-color: var(--border-main) !important;
  color: var(--text-secondary) !important;
}

.wseditor, .mobilewseditor {
  background: var(--bg-input) !important;
  border-radius: 8px !important;
  overflow: hidden;
}

.tox .tox-edit-area {
  background: var(--bg-input) !important;
}

.pm-reply-actions {
  display: flex;
  gap: 10px;
}

/* PM Demo Container */
.pm-demo {
  margin-top: 20px;
  border: 2px dashed var(--accent) !important;
}

.pm-demo .pm-list-header {
  background: rgba(230, 101, 0, 0.1);
}

/* ============================================
   AUTH PAGE STYLES (Login, Registration, Lost Password)
   ============================================ */

.auth-page {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 40px 20px;
  min-height: 400px;
}

.auth-container {
  width: 100%;
  max-width: 420px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.auth-header {
  text-align: center;
  padding: 30px 30px 20px;
  background: linear-gradient(180deg, var(--bg-input) 0%, var(--bg-card) 100%);
  border-bottom: 1px solid var(--border-main);
}

.auth-icon {
  font-size: 48px;
  color: var(--accent);
  margin-bottom: 15px;
  display: block;
}

.auth-header h2 {
  margin: 0 0 10px 0;
  font-size: 24px;
  font-weight: 600;
}

.auth-subtitle {
  margin: 0;
  font-size: 14px !important;
  color: var(--text-secondary);
  line-height: 1.5;
}

.auth-form-wrapper {
  padding: 25px 30px 30px;
}

.auth-field {
  margin-bottom: 20px;
}

.auth-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px !important;
  font-weight: 500;
  color: var(--text-secondary);
}

.auth-input-wrapper {
  position: relative;
}

.auth-input-wrapper i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-secondary);
  font-size: 14px !important;
  pointer-events: none;
}

.auth-input-wrapper input,
.auth-field input[type="text"],
.auth-field input[type="password"],
.auth-field input[type="email"] {
  width: 100%;
  padding: 12px 14px 12px 40px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  font-size: 14px !important;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.auth-input-wrapper input:focus,
.auth-field input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(230, 101, 0, 0.15);
}

.auth-input-wrapper input::placeholder,
.auth-field input::placeholder {
  color: var(--text-muted);
}

/* Captcha Section */
.auth-captcha-section {
  margin-bottom: 20px;
  padding: 15px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 5px;
}

.auth-captcha-section label {
  display: block;
  margin-bottom: 12px;
  font-size: 14px !important;
  font-weight: 500;
  color: var(--text-secondary);
}

.auth-captcha-row {
  display: flex;
  gap: 15px;
  align-items: center;
}

.auth-captcha-image {
  flex-shrink: 0;
}

.auth-captcha-image img {
  display: block;
  border-radius: 8px !important;
  border: 1px solid var(--border-main);
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.auth-captcha-image img:hover {
  opacity: 0.8;
}

.auth-captcha-input {
  flex: 1;
}

.auth-captcha-input input {
  width: 100%;
  padding: 12px 14px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  font-size: 14px !important;
  outline: none;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

.auth-captcha-input input:focus {
  border-color: var(--accent);
}

.auth-captcha-hint {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--text-muted);
}

/* Submit Button */
.auth-submit-btn {
  width: 100%;
  padding: 14px 20px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
  border: none;
  border-radius: 8px !important;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.auth-submit-btn:hover {
  background: linear-gradient(135deg, var(--accent-hover) 0%, #ff8c1a 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(230, 101, 0, 0.4);
}

.auth-submit-btn:active {
  transform: translateY(0);
  box-shadow: none;
}

.auth-submit-btn i {
  font-size: 14px !important;
}

/* Footer */
.auth-footer {
  padding: 20px 30px;
  background: var(--bg-input);
  border-top: 1px solid var(--border-main);
}

.auth-links {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 15px;
}

.auth-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--text-secondary);
  font-size: 13px;
  text-decoration: none;
  transition: color 0.2s ease;
}

.auth-link:hover {
  color: var(--accent);
}

.auth-link i {
  font-size: 12px;
}

.auth-note {
  text-align: center;
  margin: 0;
  padding-top: 15px;
  border-top: 1px solid var(--border-main);
  font-size: 13px;
  color: var(--text-secondary);
}

.auth-note a {
  color: var(--accent);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

.auth-note a:hover {
  color: var(--accent-hover);
}

/* Success/Error Messages */
.auth-message {
  padding: 15px;
  margin-bottom: 20px;
  border-radius: 8px !important;
  font-size: 14px !important;
  line-height: 1.5;
}

.auth-message-success {
  background: rgba(35, 134, 54, 0.15);
  border: 1px solid var(--success);
  color: var(--success);
}

.auth-message-error {
  background: rgba(248, 81, 73, 0.15);
  border: 1px solid var(--error);
  color: var(--error);
}

/* Responsive */
@media (max-width: 480px) {
  .auth-page {
    padding: 20px 15px;
  }

  .auth-container {
  border-radius: 5px;
  }

  .auth-header,
  .auth-form-wrapper,
  .auth-footer {
    padding-left: 20px;
    padding-right: 20px;
  }

  .auth-captcha-row {
    flex-direction: column;
    align-items: stretch;
  }

  .auth-captcha-image {
    text-align: center;
  }
}

/* Auth pages - hide view toggle and search bar */
body:has(.auth-page) .bar-right,
body:has(.auth-page) .content-bar {
  display: none !important;
}

/* When auth-page is in articles-container, adjust parent styles */
.articles-container .auth-page {
  margin: 0 auto;
}

/* Center the form in the content area */
.content:has(.auth-page) .articles-container {
  display: flex;
  justify-content: center;
}

/* ============================================
   ENHANCED LOGIN & LOSTPASSWORD MODALS
   ============================================ */

/* Modal icon */
.login-modal-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 15px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.login-modal-icon i {
  color: #fff;
  font-size: 28px;
}

.lostpassword-icon {
  background: linear-gradient(135deg, var(--lostpassword-icon-bg) 0%, var(--lostpassword-icon-bg) 100%);
}

/* Subtitle */
.login-modal-subtitle {
  margin: 0 0 20px 0;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5;
  text-align: center;
}

/* Input wrapper with icon */
.login-input-wrapper {
  position: relative;
  margin-bottom: 12px;
}

.login-input-wrapper i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  font-size: 14px !important;
  pointer-events: none;
  z-index: 1;
}

.login-input-wrapper input {
  padding-left: 42px !important;
}

/* Lostpassword captcha section */
.lostpassword-captcha {
  margin: 15px 0;
  padding: 15px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 5px;
}

.lostpassword-captcha label {
  display: block;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

.captcha-row {
  display: flex;
  gap: 12px;
  align-items: center;
}

.captcha-image {
  flex-shrink: 0;
}

.captcha-image img {
  display: block;
  border-radius: 8px !important;
  border: 1px solid var(--border-main);
  cursor: pointer;
  transition: opacity 0.2s ease;
  max-height: 60px;
}

.captcha-image img:hover {
  opacity: 0.8;
}

.captcha-row input {
  flex: 1;
  padding: 10px 14px !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 8px !important;
  color: var(--text-primary) !important;
  font-size: 14px !important;
  width: auto !important;
}

.captcha-row input:focus {
  border-color: var(--accent) !important;
}

.captcha-hint {
  display: block;
  margin-top: 8px;
  font-size: 11px;
  color: var(--text-muted);
}

/* Enhanced button with icon */
.login-modal-content button[type="submit"] i {
  margin-right: 6px;
}

/* Lostpassword specific modal styling */
.lostpassword-modal-content h3 {
  color: var(--lostpassword-btn-bg);
  
}

.lostpassword-modal-content button[type="submit"] {
  color: var(--text-on-accent);
  background: var(--lostpassword-btn-bg);
}

.lostpassword-modal-content button[type="submit"]:hover {
  background: var(--lostpassword-btn-hover);
}

/* Back link styling */
.login-modal-links a i {
  margin-right: 4px;
}

/* Center single link */
.login-modal-links:has(a:only-child) {
  justify-content: center;
}

/* Auth redirect box (fallback when accessing ?do=lostpassword directly) */
.auth-redirect-box {
  max-width: 400px;
  margin: 40px auto;
  padding: 40px 30px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.auth-redirect-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 20px;
  background: linear-gradient(135deg, var(--lostpassword-icon-bg) 0%, var(--lostpassword-icon-bg) 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.auth-redirect-icon i {
  font-size: 36px;
}

.auth-redirect-box h3 {
  margin: 0 0 10px 0;
  font-size: 22px;
  font-weight: 600;
}

.auth-redirect-box p {
  margin: 0 0 25px 0;
  font-size: 14px !important;
  color: var(--text-secondary);
  line-height: 1.5;
}

.auth-redirect-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 28px;
  background: linear-gradient(135deg, var(--lostpassword-icon-bg) 0%, var(--lostpassword-icon-bg) 100%);
  border: none;
  border-radius: 5px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.auth-redirect-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(139, 92, 246, 0.4);
}

.auth-redirect-links {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid var(--border-main);
}

.auth-redirect-links a {
  color: var(--text-secondary);
  font-size: 13px;
  text-decoration: none;
  transition: color 0.2s ease;
}

.auth-redirect-links a:hover {
  color: var(--accent);
}

.auth-redirect-links a i {
  margin-right: 5px;
}

/* ============================================
   VALIDATION BOX (Dokończ rejestrację)
   ============================================ */

.validation-box {
  width: 100%;
  margin-top: 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 12px;
  overflow: hidden;
}

.validation-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
  background: linear-gradient(135deg, rgba(190, 123, 59, 0.1) 0%, rgba(208, 139, 74, 0.05) 100%);
  border-bottom: 1px solid var(--border-main);
}

.validation-icon {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.validation-icon i {
  color: var(--text-on-accent);
  font-size: 24px;
}

.validation-title h3 {
  color: var(--text-primary);
  margin: 0 0 4px 0;
  font-size: 20px;
  font-weight: 600;
}

.validation-title p {
  margin: 0;
  font-size: 14px !important;
  color: var(--text-secondary);
}

.validation-form {
  padding: 30px;
}

.validation-fields {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 30px;
}

.validation-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.validation-field label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
}

.validation-field label i {
  margin-right: 6px;
  color: var(--accent);
}

.validation-field input {
  width: 100%;
  padding: 12px 14px;
  background: var(--bg-body);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  color: var(--text-secondary);
  font-size: 14px !important;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.validation-field input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-subtle);
}

.validation-field input::placeholder {
  color: var(--text-muted);
}

.validation-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding-top: 24px;
  border-top: 1px solid var(--border-main);
}

.validation-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: transparent;
  border: 1px solid var(--btn-secondary-border);
  border-radius: 5px;
  color: var(--btn-secondary-text);
  font-size: 14px !important;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.validation-btn-secondary:hover {
  background: var(--bg-input);
  border-color: var(--text-secondary);
  color: var(--text-secondary);
}

.validation-btn-primary {
  color: var(--btn-primary-text);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
  border: none;
  border-radius: 5px;
  font-size: 14px !important;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.validation-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px var(--accent-glow);
}

.validation-btn-primary i {
  font-size: 14px !important;
}

@media (max-width: 600px) {
  .validation-fields {
    grid-template-columns: 1fr;
  }

  .validation-actions {
    flex-direction: column;
  }

  .validation-btn-secondary,
  .validation-btn-primary {
    width: 100%;
    justify-content: center;
  }
}

/* ============================================
   REGISTER MODAL STYLES
   ============================================ */

.register-icon {
  background: linear-gradient(135deg, var(--success) 0%, var(--success) 100%);
}

.register-modal-content h3 {
  color: var(--success);
}

.register-modal-content {
  max-width: 400px;
}

/* Register field with check button */
.register-field {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}

.register-field .login-input-wrapper {
  flex: 1;
  margin-bottom: 0;
}

.check-login-btn {
  flex-shrink: 0;
  padding: 0 15px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 5px;
}

.check-login-btn:hover {
  background: var(--border-main);
  border-color: var(--accent);
}

/* Inline login check styles */
.login-check-wrapper {
  position: relative;
}

.login-check-wrapper input {
  padding-right: 40px !important;
}

.login-status-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px !important;
  pointer-events: none;
}

.login-check-wrapper.login-checking .login-status-icon {
  color: var(--text-secondary);
}

.login-check-wrapper.login-available {
  border-color: var(--success) !important;
  box-shadow: 0 0 0 3px rgba(35, 134, 54, 0.2) !important;
}

.login-check-wrapper.login-available .login-status-icon {
  color: var(--success);
}

.login-check-wrapper.login-taken {
  border-color: var(--error) !important;
  box-shadow: 0 0 0 3px rgba(248, 81, 73, 0.2) !important;
}

.login-check-wrapper.login-taken .login-status-icon {
  color: var(--error);
}

.register-check-result {
  margin: 0 0 10px 0;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 8px !important;
  display: none;
  text-align: center;
}

.register-check-result:not(:empty) {
  display: block;
}

.register-check-result .login-ok {
  color: var(--success);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.register-check-result .login-ok i {
  font-size: 14px !important;
}

.register-check-result .login-error {
  color: var(--error);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.register-check-result .login-error i {
  font-size: 14px !important;
}

.register-terms {
  margin: 15px 0;
  font-size: 12px;
  color: var(--text-secondary);
  text-align: center;
  line-height: 1.5;
}

.register-terms a {
  color: var(--accent);
  text-decoration: none;
}

.register-terms a:hover {
  text-decoration: underline;
}

/* Green submit button for register */
.register-modal-content button[type="submit"] {
  color: var(--text-on-accent);
  background: linear-gradient(135deg, var(--success) 0%, var(--success) 100%);
}

.register-modal-content button[type="submit"]:hover {
  background: linear-gradient(135deg, var(--success) 0%, var(--success) 100%);
  box-shadow: 0 4px 12px rgba(46, 160, 67, 0.4);
}

/* ============================================
   NEW PM NOTIFICATION POPUP (DLE)
   ============================================ */

#newpm {
  position: fixed !important;
  bottom: 20px !important;
  right: 20px !important;
  top: auto !important;
  left: auto !important;
  width: 320px !important;
  padding: 0 !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 14px !important;
  z-index: 9999 !important;
  overflow: hidden !important;
}

#newpmheader {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 15px !important;
  height: auto !important;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%) !important;
  color: var(--text-primary) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: move !important;
  border-radius: 0 !important;
}

#newpmheader::before {
  content: "\f0e0";
  font-family: FontAwesome;
  margin-right: 8px;
}

#newpm .close-pm,
#newpm img[onclick*="closePM"],
#newpmheader img {
  cursor: pointer;
  filter: brightness(0) invert(1);
  opacity: 0.8;
  transition: opacity 0.2s ease;
}

#newpm img:hover {
  opacity: 1;
}

#newpm td {
  padding: 15px !important;
  background: var(--bg-card) !important;
  color: var(--text-secondary) !important;
}

#newpm a {
  color: var(--accent) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.2s ease !important;
}

#newpm a:hover {
  color: var(--accent-hover) !important;
  text-decoration: none !important;
}

/* Close button styling */
#newpm .newpm-close,
#newpm [onclick*="close"] {
  background: rgba(255,255,255,0.2);
  border-radius: 4px;
  padding: 2px 6px;
}

/* ============================================
   DLE PUSH NOTIFICATIONS (styl jak login-modal)
   ============================================ */

/* Overlay - identyczny jak login-modal */
.DLEPush-overlay {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(13, 17, 23, 0.85);
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

/* Notification box - identyczny jak login-modal-content */
.DLEPush-notification {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 100% !important;
  max-width: 360px !important;
  padding: 30px !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5) !important;
  z-index: 10000 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Close button - identyczny jak login-modal-close */
.DLEPush-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  border: none !important;
  font-size: 24px !important;
  color: var(--text-secondary) !important;
  cursor: pointer !important;
  line-height: 1 !important;
  transition: color 0.2s ease !important;
  padding: 5px !important;
}

.DLEPush-close:hover {
  color: var(--text-primary) !important;
}

/* Icon - identyczny jak login-modal-icon */
.DLEPush-icon {
  width: 64px !important;
  height: 64px !important;
  margin: 0 auto 15px !important;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Style original SVG icon */
.DLEPush-icon svg {
  width: 32px !important;
  height: 32px !important;
  fill: #ffffff !important;
}

/* Header - identyczny jak login-modal h3 */
.DLEPush-header {
  margin: 0 0 10px 0 !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  text-align: center !important;
}


/* ============================================
   ADDNEWS - Formularz dodawania newsa
   ============================================ */

.addnews-container {
  padding: 20px 25px 25px;
}

.addnews-header {
  margin: 0 0 20px 0;
  padding: 0 0 15px 0;
  border-bottom: 1px solid var(--border-main);
}

.addnews-header h2 {
  font-size: 20px;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.addnews-header h2 i {
  color: var(--accent);
}

.addnews-warning {
  background: rgba(248, 81, 73, 0.15);
  border: 1px solid rgba(248, 81, 73, 0.4);
  border-radius: 8px !important;
  padding: 12px 15px;
  margin: 0 0 20px 0;
  color: var(--error);
  font-size: 14px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.addnews-warning i {
  font-size: 16px;
}

.addnews-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.addnews-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.addnews-field label {
  color: var(--text-secondary);
  font-size: 14px !important;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}

.addnews-field label i {
  color: var(--text-secondary);
  width: 16px;
  text-align: center;
}

.label-hint {
  color: var(--text-secondary);
  font-weight: 400;
  font-size: 13px;
}

.addnews-input {
  width: 100%;
  height: 42px;
  padding: 0 15px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  font-size: 15px;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.addnews-input:focus {
  border-color: var(--accent);
  outline: none;
}

.addnews-input:hover {
  border-color: var(--text-muted);
}

.addnews-input::placeholder {
  color: var(--text-muted);
}

.addnews-input-small {
  width: 200px;
}

.addnews-textarea {
  width: 100%;
  padding: 12px 15px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  font-size: 15px;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  resize: vertical;
  min-height: 100px;
  transition: border-color 0.2s ease;
}

.addnews-textarea:focus {
  border-color: var(--accent);
  outline: none;
}

.addnews-textarea:hover {
  border-color: var(--text-muted);
}

.addnews-textarea::placeholder {
  color: var(--text-muted);
}

.addnews-mono {
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 13px;
  line-height: 1.5;
}

.addnews-category {
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  padding: 10px 15px;
  color: var(--text-secondary);
  font-size: 14px !important;
}

.addnews-category select {
  background: transparent;
  border: none;
  font-size: 14px !important;
  width: 100%;
  cursor: pointer;
}

.addnews-captcha {
  margin-top: 10px;
}

.captcha-wrapper {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
}

.captcha-wrapper img {
  border-radius: 8px !important;
  height: 42px;
}

.addnews-recaptcha {
  margin-top: 10px;
}

.addnews-tags {
  padding: 15px;
  background: var(--bg-input);
  border-radius: 8px !important;
  border: 1px solid var(--border-main);
}

.addnews-tags label {
  color: var(--text-secondary);
  font-size: 14px !important;
  margin-right: 10px;
}

.addnews-tags input[type="checkbox"] {
  margin-right: 5px;
}

.addnews-buttons {
  display: flex;
  gap: 15px;
  margin-top: 10px;
  padding-top: 20px;
  border-top: 1px solid var(--border-main);
}

.addnews-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  border: none;
  border-radius: 8px !important;
  font-size: 15px;
  font-weight: 600;
  font-family: 'Open Sans', sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
}

.addnews.btn-primary {
  color: var(--btn-primary-text);
  background: var(--btn-primary-bg);
}

.addnews-btn-primary:hover {
  background: var(--btn-primary-hover);
}

.addnews-btn-primary:active {
  background: var(--btn-primary-active);
}

.addnews-btn-secondary {
  background: var(--btn-secondary-bg);
  color: var(--btn-secondary-text);
  border: 1px solid var(--btn-secondary-border);
}

.addnews-btn-secondary:hover {
  background: var(--btn-secondary-hover);
}

.addnews-btn-secondary:active {
  background: var(--bg-input);
}

/* Responsive */
@media (max-width: 768px) {
  .addnews-container {
    padding: 15px;
  }

  .addnews-buttons {
    flex-direction: column;
  }

  .addnews-btn {
    width: 100%;
  }

  .addnews-input-small {
    width: 100%;
  }

  .captcha-wrapper {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ============================================
   RANGI - Strona rang i ekipy
   ============================================ */

/* Sekcja ekipy */
.ranks-section {
  margin-bottom: 30px;
}

.ranks-section-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 20px 0;
  padding: 0 0 15px 0;
  border-bottom: 1px solid var(--border-main);
  display: flex;
  align-items: center;
  gap: 10px;
}

.ranks-section-title i {
  color: var(--accent);
}

/* Staff cards - ekipa */
.staff-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
  margin-bottom: 20px;
}

.staff-card {
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  padding: 20px;
  text-align: center;
  transition: all 0.2s ease;
}

.staff-card:hover {
  border-color: var(--text-muted);
  transform: translateY(-2px);
}

.staff-card.admin {
  border-color: var(--error);
  background: linear-gradient(135deg, var(--bg-input) 0%, rgba(248, 81, 73, 0.15) 100%);
  box-shadow: 0 0 20px rgba(248, 81, 73, 0.2);
  position: relative;
}

.staff-card.admin::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  height: 3px;
  background: linear-gradient(90deg, var(--error), #ff7b72, var(--error));
  border-radius: 8px 8px 0 0;
}

.staff-card.moderator {
  border-color: var(--info);
  background: linear-gradient(135deg, var(--bg-input) 0%, rgba(88, 166, 255, 0.1) 100%);
}

.staff-card.uploader {
  border-color: var(--accent);
  background: linear-gradient(135deg, var(--bg-input) 0%, rgba(190, 123, 59, 0.1) 100%);
}

.staff-card.releaser {
  border-color: var(--success);
  background: linear-gradient(135deg, var(--bg-input) 0%, rgba(63, 185, 80, 0.1) 100%);
}

.staff-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 15px auto;
  font-size: 24px;
}

.staff-card.admin .staff-icon {
  background: linear-gradient(135deg, rgba(248, 81, 73, 0.3) 0%, rgba(255, 123, 114, 0.2) 100%);
  color: #ff7b72;
  font-size: 28px;
  box-shadow: 0 0 15px rgba(248, 81, 73, 0.3);
}

.staff-card.moderator .staff-icon {
  background: rgba(88, 166, 255, 0.2);
  color: var(--info);
}

.staff-card.uploader .staff-icon {
  background: rgba(190, 123, 59, 0.2);
  color: var(--accent);
}

.staff-card.releaser .staff-icon {
  background: rgba(63, 185, 80, 0.2);
  color: var(--success);
}

.staff-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
}

.staff-desc {
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

.staff-desc ul {
  list-style: none;
  padding: 0;
  margin: 10px 0 0 0;
  background: none;
  text-align: left;
}

.staff-desc li {
  padding: 4px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.staff-desc li:before {
  content: "•";
  color: var(--text-muted);
}

/* User ranks - rangi użytkowników */
.ranks-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.rank-card {
  display: flex;
  align-items: center;
  gap: 20px;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  padding: 15px 20px;
  transition: all 0.2s ease;
}

.rank-card:hover {
  border-color: var(--text-muted);
}

.rank-badge {
  min-width: 100px;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Rangi użytkowników - kolory z /api/rank_colors.css.php */
.rank-badge.rank-1 {
  background: var(--rank-badge-bg, var(--border-main));
  color: var(--rank-1-color, var(--text-muted));
  border: none;
}

.rank-badge.rank-2 {
  background: var(--rank-badge-bg, var(--border-main));
  color: var(--rank-2-color, var(--text-secondary));
  border: none;
}

.rank-badge.rank-3 {
  background: var(--rank-badge-bg, var(--border-main));
  color: var(--rank-3-color, var(--info));
  border: none;
}

.rank-badge.rank-4 {
  background: var(--rank-badge-bg, var(--border-main));
  color: var(--rank-4-color, var(--badge-serial));
  border: none;
}

.rank-badge.rank-5 {
  background: var(--rank-badge-bg, var(--border-main));
  color: var(--rank-5-color, #FFD700);
  border: none;
}

/* Rangi specjalne */
.rank-badge.rank-mod {
  background: linear-gradient(135deg, var(--info) 0%, var(--badge-film) 100%);
  border: 1px solid var(--info);
}

.rank-badge.rank-releaser {
  background: linear-gradient(135deg, var(--success) 0%, var(--success) 100%);
  border: 1px solid var(--success);
  box-shadow: 0 0 15px rgba(63, 185, 80, 0.3);
}

.rank-badge.rank-uploader {
  background: linear-gradient(135deg, var(--accent) 0%, #9a6830 100%);
  border: 1px solid var(--accent);
}

.rank-badge.rank-banned {
  background: linear-gradient(135deg, var(--text-muted) 0%, var(--bg-input) 100%);
  color: var(--text-secondary);
  border: 1px solid var(--text-muted);
  text-decoration: line-through;
}

.rank-info {
  flex: 1;
}

.rank-name {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 4px;
}

/* Kolory nazw rang użytkowników - z API /api/rank_colors.css.php */
.rank-card-expandable:nth-child(1) .rank-name { color: var(--rank-1-color, var(--text-muted)); }
.rank-card-expandable:nth-child(2) .rank-name { color: var(--rank-2-color, var(--text-secondary)); }
.rank-card-expandable:nth-child(3) .rank-name { color: var(--rank-3-color, var(--info)); }
.rank-card-expandable:nth-child(4) .rank-name { color: var(--rank-4-color, var(--badge-serial)); }
.rank-card-expandable:nth-child(5) .rank-name { color: var(--rank-5-color, #FFD700); }

.rank-desc {
  color: var(--text-secondary);
  font-size: 13px;
}

.rank-points {
  color: var(--accent);
  font-size: 14px !important;
  font-weight: 600;
  white-space: nowrap;
}

/* Points info - jak zdobywać punkty */
.points-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.points-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  padding: 12px 15px;
}

.points-action {
  color: var(--text-secondary);
  font-size: 14px !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

.points-action i {
  color: var(--text-secondary);
}

.points-value {
  background: rgba(63, 185, 80, 0.15);
  color: var(--success);
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 600;
}

/* Warning box - zbanowany */
.ranks-warning-box {
  display: flex;
  align-items: center;
  gap: 15px;
  background: rgba(248, 81, 73, 0.1);
  border: 1px solid rgba(248, 81, 73, 0.3);
  border-radius: 5px;
  padding: 15px 20px;
  margin-bottom: 20px;
}

.ranks-warning-icon {
  width: 50px;
  height: 50px;
  background: rgba(248, 81, 73, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--error);
  flex-shrink: 0;
}

.ranks-warning-content strong {
  color: var(--error);
  font-size: 15px;
  display: block;
  margin-bottom: 4px;
}

.ranks-warning-content p {
  color: var(--text-secondary);
  font-size: 13px;
  margin: 0;
}

/* CTA - dołącz do ekipy */
.ranks-cta {
  background: linear-gradient(135deg, var(--accent-subtle) 0%, rgba(190, 123, 59, 0.05) 100%);
  border: 1px solid var(--accent-glow);
  border-radius: 5px;
  padding: 25px;
  text-align: center;
  margin-top: 10px;
}

.ranks-cta h4 {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 10px 0;
}

.ranks-cta p {
  color: var(--text-secondary);
  font-size: 14px !important;
  margin: 0 0 15px 0;
}

.ranks-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--accent) !important;
  color: var(--text-on-accent) !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  font-weight: 600;
  text-decoration: none !important;
  transition: background 0.2s ease;
}

.ranks-cta-btn:hover {
  background: var(--accent-hover) !important;
  text-decoration: none !important;
  color: var(--text-on-accent) !important;
}

.ranks-cta-btn:visited,
.ranks-cta-btn:active {
  color: var(--text-on-accent) !important;
}

/* Responsive */
@media (max-width: 768px) {
  .staff-grid {
    grid-template-columns: 1fr;
  }

  .rank-card {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }

  .rank-points {
    margin-top: 0;
    padding-top: 5px;
    background-clip: padding-box;
  }

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

/* =====================================================
   RANGI - Rozwijane uprawnienia
   ===================================================== */

.rank-card-expandable {
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  margin-bottom: 10px;
  overflow: hidden;
  transition: all 0.2s ease;
}

.rank-card-expandable:hover {
  border-color: var(--text-muted);
}

.rank-card-header {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 15px 20px;
  cursor: pointer;
  transition: background 0.2s ease;
}

.rank-card-header:hover {
  /* hover bg removed */
}

.rank-card-header .rank-toggle {
  margin-left: auto;
  color: var(--text-secondary);
  font-size: 14px !important;
  transition: transform 0.3s ease;
}

.rank-card-expandable.expanded .rank-toggle {
  transform: rotate(180deg);
}

.rank-permissions {
  display: none;
  padding: 0 20px 20px 20px;
  border-top: 1px solid var(--border-main);
  background: var(--bg-card);
}

.rank-card-expandable.expanded .rank-permissions {
  display: block;
}

.rank-permissions-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  margin: 15px 0 10px 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.rank-permissions-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.rank-perm-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  padding: 6px 10px;
  border-radius: 4px;
  background: var(--bg-input);
}

.rank-perm-item.available {
  color: var(--success);
}

.rank-perm-item.available::before {
  content: "\f00c";
  font-family: FontAwesome;
  font-size: 11px;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(63, 185, 80, 0.15);
  border-radius: 50%;
}

.rank-perm-item.unavailable {
  color: var(--text-muted);
}

.rank-perm-item.unavailable::before {
  content: "\f00d";
  font-family: FontAwesome;
  font-size: 11px;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(72, 79, 88, 0.15);
  border-radius: 50%;
}

.rank-perm-limit {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  padding: 6px 10px;
  border-radius: 4px;
  background: var(--bg-input);
  color: var(--info);
}

.rank-perm-limit::before {
  content: "\f05a";
  font-family: FontAwesome;
  font-size: 11px;
}

.rank-perm-limit .limit-value {
  margin-left: auto;
  font-weight: 600;
  color: var(--text-secondary);
}

@media (max-width: 768px) {
  .rank-permissions-grid {
    grid-template-columns: 1fr;
  }

  .rank-card-header {
    flex-wrap: wrap;
    gap: 10px;
  }
}

/* =====================================================
   ANKIETA / VOTE - Widget
   ===================================================== */

.vote-widget {margin-bottom: 0;}
.vote-widget h3 {color: var(--accent);}
.vote-widget h3 i {margin-right: 8px;}
.vote-widget h3 a {float: right;display: flex;align-items: center;justify-content: center;width: 20px;height: 20px;margin: 0;overflow: hidden;font-size: 0;color: var(--accent);text-decoration: none;transition: color 0.2s ease;outline: none;border: none;background: none;}
.vote-widget h3 a:hover {color: var(--accent-hover);text-decoration: none;}
.vote-widget h3 a:focus, .vote-widget h3 a:active {outline: none;border: none;box-shadow: none;}
.vote-content {padding: 15px;}
.vote-title {font-size: 14px !important;font-weight: 600;color: var(--text-secondary);margin-bottom: 15px;}
.vote-options {margin-bottom: 15px;}
.vote-options label {display: flex;align-items: center;padding: 6px 12px;margin-bottom: 2px;background: transparent;border: none;border-radius: 8px !important;cursor: pointer;transition: background 0.2s ease, color 0.2s ease;color: var(--text-secondary);font-size: 13px;}
.vote-options input[type="radio"] {margin-right: 10px;accent-color: var(--accent);}
#dle-vote .vote {padding: 6px 12px;margin-bottom: 2px;background: transparent;border: none;border-radius: 8px !important;transition: background 0.2s ease;}
#dle-vote .vote:hover {background: var(--bg-input);}
#dle-vote .vote label {display: flex;align-items: center;cursor: pointer;color: var(--text-secondary);font-size: 13px;transition: color 0.2s ease;}
#dle-vote .vote input[type="radio"] {margin-right: 10px;accent-color: var(--accent);}
.vote-buttons {display: flex;gap: 10px;}
.vote-buttons .btn {flex: 1;justify-content: center;}
.vote-result {margin-top: 10px;}
.vote-result-item {margin-bottom: 8px;}
.vote-result-bar {height: 20px;background: var(--bg-input);border-radius: 4px;overflow: hidden;margin-top: 4px;}
.vote-result-fill {height: 100%;background: linear-gradient(90deg, var(--accent), #9a6830);border-radius: 4px;}
.vote-result-text {font-size: 12px;color: var(--text-secondary);}
.vote-results {padding: 0;}
.vote-results #dle-vote .vote {padding: 6px 0;margin-bottom: 0;background: transparent;font-size: 13px;color: var(--text-secondary);}
.vote-results .voteprogress {height: 6px;background: var(--bg-input);border-radius: 3px;overflow: hidden;margin: 4px 0 10px 0;}
.vote-results .voteprogress span {display: block;height: 100%;border-radius: 3px;font-size: 0;}
.vote-results .vote1 {background: var(--accent);}
.vote-results .vote2 {background: var(--info);}
.vote-results .vote3 {background: var(--success);}
.vote-results .vote4 {background: #f59e0b;}
.vote-results .vote5 {background: var(--error);}
.vote-total {margin-top: 10px;padding-top: 10px;border-top: 1px solid var(--border-main);font-size: 12px;color: var(--text-secondary);}

/* =====================================================
   TOP RELEASERZY - Widget
   ===================================================== */

.top-releasers h3 {
  margin: 14px 19px 0 19px;
  padding: 0 0 15px 0;
  border-bottom: 1px solid var(--border-main);
  font-size: 17px;
  font-weight: 600;
  color: var(--accent);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.top-releasers h3 a {
  float: right;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin: 0;
  overflow: hidden;
  font-size: 0;
  color: var(--accent);
  text-decoration: none;
  transition: color 0.2s ease;
}

.top-releasers h3 a:hover {
  color: var(--accent-hover);
}

/* Lista - jak polecane filmy */
.top-releasers-grid {
  list-style: none;
  margin: 0;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Karta użytkownika - jak featured-item */
.releaser-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  background: var(--bg-card);
  border: 1px solid var(--border-main);
  border-radius: 5px;
  overflow: hidden;
  text-decoration: none;
  position: relative;
  transition: border-color 0.2s ease;
  padding: 8px 10px;
}

.releaser-card:hover {
  border-color: var(--accent);
  text-decoration: none;
}

/* Pozycje TOP 3 */
.releaser-card.gold {
  border-color: #ffd700;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.3);
}

.releaser-card.silver {
  border-color: var(--info);
  box-shadow: 0 0 10px rgba(88, 166, 255, 0.3);
}

.releaser-card.bronze {
  border-color: #f78166;
  box-shadow: 0 0 10px rgba(247, 129, 102, 0.3);
}

/* Numer pozycji */
.releaser-card .releaser-position {
  position: absolute;
  top: -4px;
  left: -4px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  z-index: 2;
}

.releaser-card.gold .releaser-position {
  background: linear-gradient(135deg, #ffd700 0%, #b8860b 100%);
  color: #000;
  box-shadow: 0 2px 8px rgba(255, 215, 0, 0.5);
}

.releaser-card.silver .releaser-position {
  background: linear-gradient(135deg, var(--info) 0%, var(--badge-film) 100%);
  color: #fff;
  box-shadow: 0 2px 8px rgba(88, 166, 255, 0.5);
}

.releaser-card.bronze .releaser-position {
  background: linear-gradient(135deg, #f78166 0%, #da3633 100%);
  color: #fff;
  box-shadow: 0 2px 8px rgba(247, 129, 102, 0.5);
}

/* Avatar - proporcjonalny jak plakat */
.releaser-card .releaser-avatar {
  width: 80px;
  height: 80px;
  position: relative;
  background: var(--border-main);
  overflow: visible;
  border-radius: 50%;
  flex-shrink: 0;
}

.releaser-card .releaser-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
}

/* Ikona fallback dla avatara */
.releaser-avatar-icon {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  font-size: 20px;
  background: var(--border-main);
  border-radius: 50%;
}

/* Info pod avatarem */
.releaser-card .releaser-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}

.releaser-card .releaser-name {
  display: block;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.2s ease;
  cursor: pointer;
}

.releaser-card .releaser-name:hover {
  text-decoration: underline;
}

/* Kolory nicków według rang */
.releaser-name.nick-admin {
  color: var(--error) !important;
  text-shadow: 0 0 10px rgba(248, 81, 73, 0.5);
}

.releaser-name.nick-moderator {
  color: var(--badge-film) !important;
}

.releaser-name.nick-releaser {
  color: var(--success) !important;
}

.releaser-name.nick-uploader {
  color: var(--accent) !important;
}

/* Statystyki */
.releaser-card .releaser-stats {
  display: block;
  font-size: 11px;
  color: var(--text-secondary);
  margin-top: 2px;
}

/* ===============================================
   CATEGORY BADGES - Badge'y kategorii na plakatach
   =============================================== */

/* Bazowy styl badge'a */
.category-badge {
  color: var(--text-on-accent);
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 4px;
  z-index: 10;
  pointer-events: none;
}

/* Kolory dla poszczególnych kategorii */
.category-badge.badge-film {
  background: var(--badge-film);
}

.category-badge.badge-serial {
  background: var(--badge-serial);
}

.category-badge.badge-gra {
  background: var(--success);
}

.category-badge.badge-ebook {
  background: var(--cat-orange);
}

.category-badge.badge-audio {
  background: var(--cat-pink);
}

.category-badge.badge-muzyka {
  background: var(--cat-cyan);
}

.category-badge.badge-soft {
  background: var(--cat-lightblue);
}

/* Badge w widoku siatki - na grid-poster */
.grid-view-content .category-badge {
  color: var(--text-on-accent);
  top: 10px;
  left: 10px;
}

/* Badge w widoku listy - na list-poster-img */
.list-card-poster {
  position: relative;
}

.list-card-poster .category-badge {
  color: var(--text-on-accent);
  top: 6px;
  left: 6px;
  padding: 3px 8px;
  font-size: 9px;
}

/* Responsywność */
@media (max-width: 768px) {
  .category-badge {
  color: var(--text-on-accent);
    padding: 3px 8px;
    font-size: 9px;
  }

  .grid-view-content .category-badge {
  color: var(--text-on-accent);
    top: 6px;
    left: 6px;
  }
}

/* =====================================================
   GRA CZAS REAKCJI
   ===================================================== */

.reaction-game-container {
  padding: 0;
}

.reaction-game-container > h3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  margin: 0;
  border-bottom: 1px solid var(--border-main);
}

.game-reset-timer {
  font-size: 12px;
  color: var(--text-secondary);
  font-weight: normal;
}

.reaction-game-wrapper {
  padding: 20px;
}

/* Obszar gry */
.reaction-game-area {
  min-height: 300px;
  border-radius: 12px;
  background: var(--bg-input);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.3s ease;
  user-select: none;
  -webkit-user-select: none;
  position: relative;
  overflow: hidden;
}

.reaction-game-area.state-waiting {
  background: linear-gradient(135deg, #a84855 0%, #8b3a45 100%);
}

.reaction-game-area.state-ready {
  background: linear-gradient(135deg, var(--success) 0%, var(--success) 100%);
  animation: pulse-green 0.5s ease-in-out;
}

.reaction-game-area.state-early {
  background: linear-gradient(135deg, #c9a035 0%, #a8862d 100%);
}

.reaction-game-area.state-result {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
}

@keyframes pulse-green {
  0% { transform: scale(1); }
  50% { transform: scale(1.02); }
  100% { transform: scale(1); }
}

/* Stany gry */
.game-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 20px;
  width: 100%;
}

.game-state-start {
  color: var(--text-primary);
}

.game-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.game-state-start .game-icon {
  background: var(--accent);
}

.game-icon i {
  font-size: 36px;
}

.game-state h4 {
  font-size: 24px;
  margin: 0 0 10px 0;
  font-weight: 600;
}

.game-state p {
  margin: 0 0 20px 0;
  opacity: 0.9;
  font-size: 14px !important;
}

.game-state p.game-hint {
  margin: 0 0 25px 0;
  padding: 8px 16px;
  background: rgba(255, 193, 7, 0.15);
  border: 1px solid rgba(255, 193, 7, 0.3);
  border-radius: 20px;
  font-size: 12px;
  color: #b38600;
  display: inline-block;
}

.result-time {
  font-size: 48px !important;
  font-weight: 700;
}

.result-time span {
  display: inline;
}

/* Przyciski gry */
.btn-start-game,
.btn-try-again {
  color: #ffffff;
  padding: 12px 30px;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-start-game {
  color: var(--text-on-accent);
  background: var(--accent);
}

.btn-start-game:hover {
  background: var(--accent-hover);
  transform: translateY(-2px);
}

.btn-try-again {
  background: rgba(255, 255, 255, 0.2);
  border: 2px solid rgba(255, 255, 255, 0.4);
}

.btn-try-again:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* Kontener przycisków gry */
.game-buttons {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 10px;
}

.btn-finish,
.btn-finish-early {
  color: #ffffff;
  padding: 12px 30px;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: rgba(168, 72, 85, 0.8);
  border: 2px solid rgba(168, 90, 100, 0.9);
}

.btn-finish:hover,
.btn-finish-early:hover {
  background: rgba(168, 72, 85, 0.95);
}

.login-required {
  color: var(--text-secondary);
  font-style: italic;
}

.login-required i {
  margin-right: 5px;
}

/* Info o wyniku użytkownika */
.user-result-info {
  margin-top: 15px;
  padding: 15px;
  background: var(--bg-input);
  border-radius: 5px;
  display: flex;
  justify-content: center;
}

.user-best-today {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.user-best-today .label {
  color: var(--text-secondary);
}

.user-best-today .value {
  font-weight: 600;
  color: var(--accent);
  font-size: 18px;
}

.user-best-today .value:empty::after {
  content: 'Jeszcze nie grałeś';
  color: var(--text-secondary);
  font-weight: normal;
  font-size: 14px !important;
}

.user-best-today .position:not(:empty)::before {
  content: '(';
}

.user-best-today .position:not(:empty)::after {
  content: ' miejsce)';
}

.user-best-today .position:not(:empty) {
  color: var(--success);
  font-weight: 600;
}

/* Tabela wyników */
.reaction-leaderboard {
  padding: 20px;
  border-top: 1px solid var(--border-main);
}

.reaction-leaderboard > h4 {
  margin: 0 0 15px 0;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.reaction-leaderboard > h4 i {
  color: #b38600;
}

.players-count {
  font-weight: normal;
  color: var(--text-secondary);
  font-size: 13px;
}

.leaderboard-table {
  width: 100%;
  border-collapse: collapse;
}

.leaderboard-table th,
.leaderboard-table td {
  padding: 8px 10px;
  text-align: left;
}

.leaderboard-table th {
  background: var(--bg-input);
  font-size: 12px;
  text-transform: uppercase;
  color: var(--text-secondary);
  font-weight: 600;
}

.leaderboard-table th:first-child {
  border-radius: 6px 0 0 6px;
}

.leaderboard-table th:last-child {
  border-radius: 0 6px 6px 0;
}

.leaderboard-table tbody tr {
  border-bottom: 1px solid var(--border-main);
  transition: background 0.2s ease;
}

.leaderboard-table tbody tr:hover {
  background: var(--bg-input);
}

.leaderboard-table tbody tr:last-child {
  border-bottom: none;
}

.leaderboard-table .col-position {
  width: 60px;
  font-weight: 600;
}

.leaderboard-table .col-time {
  width: 100px;
  font-family: monospace;
  font-size: 14px !important;
}

.leaderboard-table .col-points {
  width: 80px;
  text-align: right;
}

.leaderboard-table .col-username a {
  text-decoration: none;
}

.leaderboard-table .col-username a:hover {
  color: var(--accent);
}

/* Kolorowanie nicków w tabeli */
.leaderboard-table .nick-admin { color: var(--error) !important; }
.leaderboard-table .nick-moderator { color: var(--badge-film) !important; }
.leaderboard-table .nick-releaser { color: var(--success) !important; }
.leaderboard-table .nick-uploader { color: var(--accent) !important; }

/* Medale */
.leaderboard-table .medal,
.points-info .medal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  margin-right: 5px;
}

.medal.gold {
  background: linear-gradient(135deg, #ffd700 0%, #ffb700 100%);
  color: #000;
  box-shadow: 0 2px 8px rgba(255, 215, 0, 0.4);
}

.medal.silver {
  background: linear-gradient(135deg, #c0c0c0 0%, #a8a8a8 100%);
  color: #000;
  box-shadow: 0 2px 8px rgba(192, 192, 192, 0.4);
}

.medal.bronze {
  background: linear-gradient(135deg, #cd7f32 0%, #b8702c 100%);
  box-shadow: 0 2px 8px rgba(205, 127, 50, 0.4);
}

/* Puchary w rankingu */
.leaderboard-table .trophy {
  margin-left: 6px;
  font-size: 16px;
  display: inline-block;
}
.leaderboard-table .trophy.gold,
.leaderboard-table .trophy.gold i {
  color: #ffd700 !important;
  text-shadow: 0 0 10px rgba(255, 215, 0, 0.7);
}
.leaderboard-table .trophy.silver,
.leaderboard-table .trophy.silver i {
  color: #b8b8b8 !important;
  text-shadow: 0 0 10px rgba(192, 192, 192, 0.7);
}
.leaderboard-table .trophy.bronze,
.leaderboard-table .trophy.bronze i {
  color: #cd7f32 !important;
  text-shadow: 0 0 10px rgba(205, 127, 50, 0.7);
}

.points-info .medal:not(.gold):not(.silver):not(.bronze) {
  background: var(--bg-input);
  color: var(--text-secondary);
  font-size: 9px;
}

/* Wiersze z punktami */
.result-row.has-points {
  background: rgba(230, 101, 0, 0.05);
}

.result-row.has-points .col-points {
  color: var(--success);
  font-weight: 600;
}

/* Info o punktach */
.leaderboard-info {
  margin-top: 20px;
  padding: 15px;
  background: var(--bg-input);
  border-radius: 5px;
}

.leaderboard-info > p {
  margin: 0 0 10px 0;
  color: var(--text-secondary);
  font-size: 13px;
}

.leaderboard-info > p i {
  margin-right: 5px;
}

.points-info {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.points-info li {
  display: flex;
  align-items: center;
  font-size: 13px;
  color: var(--text-secondary);
}

.points-info li strong {
  margin-left: 3px;
}

/* Brak wyników */
.no-results {
  text-align: center;
  padding: 30px 20px !important;
  color: var(--text-secondary);
}

/* Responsywność */
@media (max-width: 600px) {
  .reaction-game-area {
    min-height: 250px;
  }

  .game-icon {
    width: 60px;
    height: 60px;
  }

  .game-icon i {
    font-size: 28px;
  }

  .game-state h4 {
    font-size: 20px;
  }

  .result-time {
    font-size: 36px !important;
  }

  .leaderboard-table th,
  .leaderboard-table td {
    padding: 8px 10px;
    font-size: 13px;
  }

  .points-info {
    flex-direction: column;
    gap: 8px;
  }

  .reaction-game-container > h3 {
    flex-direction: column;
    gap: 5px;
    text-align: center;
  }
}
/* ========================================
   DYNAMICZNE POLECANE - ukryte elementy
   ======================================== */
.featured-item.featured-hidden {
  display: none;
}

.featured-item.featured-visible {
  display: block !important;
}

/* Animacja pojawiania się */
.featured-list.dynamic-initialized .featured-item {
  animation: fadeInUp 0.3s ease forwards;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ========================================

/* ================================================
   MEMBER RANKS MOVED TO profile.css  
   Przeniesiono: linie 9948-10209 (262 linii)
   ================================================ */


/* ===== BELKA KATEGORII ===== */
.category-bar {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 100;
    background: linear-gradient(90deg, rgba(190, 123, 59, 0.03) 0%, transparent 40%, transparent 60%, rgba(88, 166, 255, 0.025) 100%), var(--bg-card);
    border-bottom: 1px solid var(--border-main);
    padding: 0;
    width: 100%;
    min-width: max-content; /* Rozszerza się z zawartością strony */
}
.category-bar-inner {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 8px;
    padding: 12px 15px;
    min-width: max-content;
}

/* Telefon - mniejsze przyciski */
@media (max-width: 768px) {
    .category-bar-inner {
        gap: 4px;
        padding: 8px 5px;
    }
    .category-bar .cat-link {
        padding: 6px 8px;
        font-size: 11px;
        gap: 4px;
    }
    .category-bar .cat-link i {
        font-size: 12px;
    }
}

/* Bardzo mały telefon - tylko ikony */
@media (max-width: 480px) {
    .category-bar-inner {
        gap: 3px;
        padding: 8px 3px;
    }
    .category-bar .cat-link {
        padding: 8px 10px;
        font-size: 0; /* Ukryj tekst */
    }
    .category-bar .cat-link i {
        font-size: 16px;
        margin: 0;
    }
}
.category-bar .cat-link {
    color: var(--text-secondary);
    text-decoration: none;
    padding: 8px 18px;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--bg-input);
    border: 1px solid var(--border-main);
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
.category-bar .cat-link:hover {
    color: var(--text-on-accent);
    background: var(--accent);
    border-color: var(--accent);
    text-decoration: none;
}
.category-bar .cat-link i {
    font-size: 14px !important;
}

/* ===== DROPDOWN PODKATEGORII ===== */
.cat-dropdown {
    position: relative;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}
.cat-submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 180px;
    background: var(--bg-card);
    border: 1px solid var(--border-main);
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    padding: 8px 0;
    z-index: 200;
    margin-top: 0;
    padding-top: 5px;
    background-clip: padding-box;
}
.cat-dropdown:hover .cat-submenu {
    display: block;
}
.cat-dropdown.open .cat-submenu {
    display: block;
}
.cat-submenu a {
    display: block;
    padding: 8px 16px;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.15s ease;
}
.cat-submenu a:hover {
    background: var(--bg-input);
    color: var(--accent);
    text-decoration: none;
}

/* Fix dla hover - wypełnienie przerwy */
.cat-submenu::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    height: 10px;
}

/* ===== MENU IKONY ===== */
nav.menu ul a i {
    width: 18px;
    text-align: center;
    margin-right: 8px;
    opacity: 0.8;
}
nav.menu ul a:hover i {
    opacity: 1;
}

/* HOT badge */
.menu-hot {
    position: relative;
}
.hot-badge {
    background: linear-gradient(135deg, #ff6b35, #f7931e);
    font-size: 9px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    color: var(--text-on-accent);
    margin-left: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    animation: pulse-hot 2s infinite;
}
@keyframes pulse-hot {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* DMCA czerwone */
nav.menu .menu-dmca {
    color: var(--error) !important;
}
nav.menu .menu-dmca i {
    color: var(--error) !important;
}
nav.menu li:has(.menu-dmca):hover {
    background: rgba(248, 81, 73, 0.15) !important;
}
/* ===========================================
   FORM ELEMENTS - Checkbox, Radio, Select
   =========================================== */

/* Podstawowe style dla checkbox i radio */
input[type="checkbox"],
input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
  cursor: pointer;
}

/* Select - dropdown */
select {
  background: var(--bg-input);
  border: 1px solid var(--border-main);
  border-radius: 8px !important;
  padding: 8px 12px;
  cursor: pointer;
  appearance: none;
  box-sizing: border-box !important;
  line-height: normal !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b949e' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 30px;
}

select:focus {
  border-color: var(--accent);
  outline: none;
  box-shadow: 0 0 0 3px var(--accent-subtle);
}

select option {
  background: var(--bg-card);
  padding: 8px;
}

/* Range slider */
input[type="range"] {
  accent-color: var(--accent);
}

/* Progress bar */
progress {
  accent-color: var(--accent);
}

/* File input */
input[type="file"]::file-selector-button {
    color: var(--text-on-accent);
  background: var(--accent);
  border: none;
  padding: 8px 16px;
  border-radius: 8px !important;
  cursor: pointer;
  margin-right: 10px;
}

input[type="file"]::file-selector-button:hover {
  background: var(--accent-hover);
}


/* TMDB Rating - ciemniejsze tło w trybie jasnym dla lepszego kontrastu */
html.light-mode .grid-rating,
html.light-mode .featured-rating {
  background: #2d2d2d;
}

/* ============================================
   FOOTER - KTO BYŁ ONLINE
   ============================================ */
    padding: 20px;
    border-top: 1px solid var(--border-main);
    background: var(--bg-input);
}

    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 14px;
    color: var(--text-secondary);
}

    font-size: 16px;
    color: var(--accent);
}

    color: var(--accent);
}

.online-count {
    background: var(--accent);
    color: var(--text-on-accent);
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
}

    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    font-size: 13px;
    line-height: 1.6;
}

    text-decoration: none;
    transition: opacity 0.2s ease;
}

    opacity: 0.8;
    text-decoration: underline;
}

    color: var(--text-muted);
    font-size: 13px;
}

.online-user-sep {
    color: var(--text-muted);
    opacity: 0.5;
}

.online-more {
    color: var(--text-muted);
    font-style: italic;
}

@media (max-width: 768px) {
        padding: 15px;
    }
    
        flex-wrap: wrap;
        font-size: 13px;
    }
    
        font-size: 12px;
        gap: 4px 10px;
    }
}

    transform: rotate(0deg);
    transition: transform 0.3s ease;
}

    transform: rotate(180deg);
    transition: transform 0.3s ease;
    margin-left: auto;
    font-size: 12px;
    color: var(--text-muted);
}

    opacity: 0.8;
}

    color: var(--accent);
}

/* ============================================
   FOOTER - ONLINE USERS POPUP (nowa wersja)
   ============================================ */

/* Mały link w stopce */
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--bg-input);
    border: 1px solid var(--border-main);
    border-radius: 20px;
    font-size: 12px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
}

    background: var(--bg-hover);
    border-color: var(--accent);
    color: var(--accent);
}

    font-size: 11px;
}

    background: var(--accent);
    color: var(--text-on-accent);
    padding: 1px 6px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 600;
    min-width: 18px;
    text-align: center;
}

/* Overlay */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

    opacity: 1;
    visibility: visible;
}

/* Popup */
    position: fixed;
    bottom: 80px;
    right: 20px;
    width: 350px;
    max-width: calc(100vw - 40px);
    max-height: 60vh;
    background: var(--bg-card);
    border: 1px solid var(--border-main);
    border-radius: 12px;
    box-shadow: var(--shadow-lg);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-main);
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
}

    color: var(--accent);
    margin-right: 8px;
}

    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 4px;
    font-size: 14px;
    transition: color 0.2s ease;
}

    color: var(--error);
}

    padding: 16px;
    overflow-y: auto;
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    font-size: 13px;
    line-height: 1.8;
}

    text-decoration: none;
    transition: opacity 0.2s ease;
}

    opacity: 0.7;
    text-decoration: underline;
}

    color: var(--text-muted);
    width: 100%;
    text-align: center;
    padding: 20px;
}

.online-more {
    color: var(--text-muted);
    font-style: italic;
}

/* ============================================
   ONLINE USERS - Rozwijalna sekcja
   ============================================ */

/* Delikatny link w stopce */
.online-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--text-muted);
    text-decoration: none;
}

.online-toggle:hover i {
    color: var(--accent);
}

.online-toggle span {
    color: var(--text-muted);
    font-size: 12px;
}

/* ============================================
   ONLINE USERS - Nowy layout
   ============================================ */
.online-section {
    display: none;
    background: var(--bg-input);
    margin: 0;
    overflow: hidden;
}

.online-section.open {
    display: block;
}

.online-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1012px;
    margin: 0 auto;
    padding: 10px 10px;
}

.online-title {
    font-size: 13px;
    color: var(--text-secondary);
}

.online-stats {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
}

.online-stats i {
    color: var(--accent);
}

.online-stats span {
    color: var(--text-primary);
}

.online-users {
    max-width: 1012px;
    margin: 0 auto;
    padding: 12px 10px 15px;
    display: flex;
    flex-direction: row; flex-wrap: wrap;
    gap: 2px 0;
    font-size: 13px;
    line-height: 1.3;
    max-height: 150px;
    overflow-y: auto;
}

/* ============================================
   COOKIE CONSENT POPUP (RODO)
   ============================================ */
.cookie-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    backdrop-filter: blur(3px);
}

.cookie-overlay.active {
    opacity: 1;
    visibility: visible;
}

.cookie-popup {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    width: calc(100% - 40px);
    max-width: 620px;
    background: var(--bg-card);
    border: 1px solid var(--border-main);
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.3);
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.cookie-popup.active {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
    visibility: visible;
}

.cookie-header {
    padding: 20px;
    border-bottom: 1px solid var(--border-main);
    display: flex;
    align-items: center;
    gap: 14px;
}

.cookie-header-icon {
    width: 44px;
    height: 44px;
    background: var(--accent-subtle);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cookie-header-icon i {
    font-size: 20px;
    color: var(--accent);
}

.cookie-header-text h3 {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
}

.cookie-header-text p {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
}

.cookie-content {
    padding: 20px;
    max-height: 300px;
    overflow-y: auto;
}

.cookie-description {
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-secondary);
    margin-bottom: 15px;
}

.cookie-description a {
    color: var(--accent);
    text-decoration: none;
}

.cookie-categories {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cookie-category {
    background: var(--bg-input);
    border: 1px solid var(--border-main);
    border-radius: 10px;
    transition: border-color 0.2s;
}

.cookie-category:hover {
    border-color: var(--accent);
}

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

.cookie-category-info {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.cookie-category-icon {
    width: 32px;
    height: 32px;
    background: var(--bg-card);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cookie-category-icon i {
    font-size: 14px;
    color: var(--text-secondary);
}

.cookie-category.enabled .cookie-category-icon i {
    color: var(--accent);
}

.cookie-category-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}

.cookie-category-desc {
    font-size: 11px;
    color: var(--text-muted);
}

.cookie-toggle {
    position: relative;
    width: 40px;
    height: 22px;
}

.cookie-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.cookie-toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--border-main);
    border-radius: 22px;
    transition: background 0.3s;
}

.cookie-toggle-slider::before {
    content: "";
    position: absolute;
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background: var(--text-primary);
    border-radius: 50%;
    transition: transform 0.3s;
}

.cookie-toggle input:checked + .cookie-toggle-slider {
    background: var(--accent);
}

.cookie-toggle input:checked + .cookie-toggle-slider::before {
    transform: translateX(18px);
    background: var(--text-on-accent);
}

.cookie-required {
    font-size: 9px;
    padding: 3px 6px;
    background: var(--accent-subtle);
    color: var(--accent);
    border-radius: 4px;
    font-weight: 600;
    text-transform: uppercase;
}

.cookie-actions {
    padding: 15px 20px;
    border-top: 1px solid var(--border-main);
    display: flex;
    gap: 10px;
}

.cookie-btn {
    flex: 1;
    padding: 12px 16px;
    border: none;
  border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.cookie-btn-accept {
    background: var(--accent);
    color: var(--text-on-accent);
}

.cookie-btn-accept:hover {
    background: var(--accent-hover);
}

.cookie-btn-reject {
    background: var(--bg-input);
    color: var(--text-primary);
    border: 1px solid var(--border-main);
}

.cookie-btn-reject:hover {
    border-color: var(--accent);
}

@media (max-width: 640px) {
    .cookie-popup {
        bottom: 0;
        width: 100%;
        max-width: 100%;
        border-radius: 16px 16px 0 0;
    }
    
    .cookie-actions {
        flex-direction: column;
    }
}

/* Cookie settings link w stopce */
.cookie-settings-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s;
}

.cookie-settings-link:hover {
    color: var(--accent);
}

.footer-separator {
    color: var(--border-main);
    margin: 0 8px;
}

/* Przycisk Zapisz wybór */
.cookie-btn-save {
    background: transparent;
    color: var(--text-secondary);
    border: 1px solid var(--border-main);
}

.cookie-btn-save:hover {
    border-color: var(--accent);
    color: var(--text-primary);
}

/* Rozwijane szczegóły kategorii cookies */
.cookie-expand {
    font-size: 12px;
    color: var(--text-muted);
    margin-left: 10px;
    cursor: pointer;
    transition: transform 0.2s;
}

.cookie-category.expanded .cookie-expand {
    transform: rotate(180deg);
}

.cookie-category-details {
    display: none;
    padding: 12px 16px;
    background: var(--bg-card);
    border-top: 1px solid var(--border-main);
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.6;
}

.cookie-category.expanded .cookie-category-details {
    display: block;
}

.cookie-category-details p {
    margin: 0 0 10px;
}

.cookie-category-details ul {
    margin: 0;
    padding-left: 18px;
}

.cookie-category-details li {
    margin-bottom: 4px;
}

.cookie-category-details strong {
    color: var(--text-primary);
    font-family: monospace;
    font-size: 11px;
    background: var(--bg-input);
    padding: 1px 4px;
    border-radius: 3px;
}

/* Online users */
.online-users .online-user {
    display: inline-block;
    padding: 2px 0;
    margin: 2px 8px 2px 0;
    color: var(--user-color) !important;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none !important;
    border: none !important;
    background: none !important;
    border-radius: 0 !important;
}

.online-users .online-user:hover {
    color: var(--user-color) !important;
    text-decoration: none !important;
    opacity: 0.8;
}

.online-loading,
.online-empty {
    color: var(--text-muted);
    font-style: italic;
    padding: 10px;
}

/* ============================================
   COOKIE CONSENT POPUP (RODO/GDPR)
   ============================================ */

.cookie-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    backdrop-filter: blur(3px);
}

.cookie-overlay.active {
    opacity: 1;
    visibility: visible;
}

.cookie-popup {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    width: calc(100% - 40px);
    max-width: 600px;
    max-height: calc(100vh - 40px);
    background: var(--bg-card);
    border: 1px solid var(--border-main);
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.4);
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.cookie-popup.active {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
    visibility: visible;
}

.cookie-header {
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-main);
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.cookie-header-icon {
    width: 44px;
    height: 44px;
    background: var(--accent-subtle);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cookie-header-icon i {
    font-size: 20px;
    color: var(--accent);
}

.cookie-header-text h3 {
    margin: 0 0 2px;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
}

.cookie-header-text p {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
}

.cookie-content {
    padding: 16px 20px;
    overflow-y: auto;
    flex: 1;
    max-height: 50vh;
}

.cookie-description {
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-secondary);
    margin-bottom: 16px;
}

.cookie-description a {
    color: var(--accent);
    text-decoration: none;
}

.cookie-categories {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cookie-category {
    background: var(--bg-input);
    border: 1px solid var(--border-main);
    border-radius: 10px;
    overflow: hidden;
}

.cookie-category-header {
    display: flex;
    align-items: center;
    padding: 12px;
    cursor: pointer;
    gap: 10px;
}

.cookie-category-info {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

.cookie-category-icon {
    width: 32px;
    height: 32px;
    background: var(--bg-card);
  border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cookie-category-icon i {
    font-size: 14px;
    color: var(--text-secondary);
}

.cookie-category.enabled .cookie-category-icon i {
    color: var(--accent);
}

.cookie-category-text {
    flex: 1;
    min-width: 0;
}

.cookie-category-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}

.cookie-category-desc {
    font-size: 11px;
    color: var(--text-muted);
}

.cookie-toggle {
    position: relative;
    width: 40px;
    height: 22px;
    flex-shrink: 0;
}

.cookie-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.cookie-toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--border-main);
    border-radius: 22px;
    transition: background 0.3s ease;
}

.cookie-toggle-slider::before {
    content: "";
    position: absolute;
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background: var(--text-primary);
    border-radius: 50%;
    transition: transform 0.3s ease;
}

.cookie-toggle input:checked + .cookie-toggle-slider {
    background: var(--accent);
}

.cookie-toggle input:checked + .cookie-toggle-slider::before {
    transform: translateX(18px);
    background: #fff;
}

.cookie-required {
    font-size: 9px;
    padding: 2px 6px;
    background: var(--accent-subtle);
    color: var(--accent);
    border-radius: 4px;
    font-weight: 600;
    text-transform: uppercase;
    flex-shrink: 0;
}

.cookie-expand {
    font-size: 10px;
    color: var(--text-muted);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.cookie-category.expanded .cookie-expand {
    transform: rotate(180deg);
}

.cookie-category-details {
    display: none;
    padding: 0 12px 12px;
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.4;
}

.cookie-category.expanded .cookie-category-details {
    display: block;
}

.cookie-category-details ul {
    margin: 8px 0 0;
    padding-left: 16px;
}

.cookie-category-details li {
    margin: 4px 0;
}

.cookie-actions {
    padding: 12px 20px;
    border-top: 1px solid var(--border-main);
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.cookie-btn {
    flex: 1;
    padding: 10px 12px;
    border: none;
  border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cookie-btn-accept {
    background: var(--accent);
    color: #fff;
}

.cookie-btn-accept:hover {
    background: var(--accent-hover);
}

.cookie-btn-reject,
.cookie-btn-save {
    background: var(--bg-input);
    color: var(--text-primary);
    border: 1px solid var(--border-main);
}

.cookie-btn-reject:hover,
.cookie-btn-save:hover {
    background: var(--bg-hover);
    border-color: var(--accent);
}

/* Mobile styles dla cookie popup */
@media (max-width: 600px) {
    .cookie-popup {
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100%;
        transform: translateX(0) translateY(100%);
        border-radius: 16px 16px 0 0;
        max-height: 80vh;
    }
    
    .cookie-popup.active {
        transform: translateX(0) translateY(0);
    }
    
    .cookie-header {
        padding: 14px 16px;
    }
    
    .cookie-header-icon {
        width: 40px;
        height: 40px;
    }
    
    .cookie-content {
        padding: 14px 16px;
        max-height: 45vh;
    }
    
    .cookie-actions {
        padding: 12px 16px;
        flex-wrap: wrap;
    }
    
    .cookie-btn {
        min-width: calc(50% - 4px);
        padding: 12px 10px;
    }
    
    .cookie-btn-accept {
        min-width: 100%;
        order: -1;
    }
    
    .cookie-category-header {
        padding: 10px;
    }
    
    .cookie-category-desc {
        display: none;
    }
}

/* Cookie popup mobile fix */
@media (max-width: 600px) {
    .cookie-popup {
        width: 100% !important;
        max-width: 100% !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        transform: translateY(100%) !important;
        box-sizing: border-box !important;
        border-radius: 16px 16px 0 0 !important;
        border-left: none !important;
        border-right: none !important;
        border-bottom: none !important;
    }
    
    .cookie-popup.active {
        transform: translateY(0) !important;
    }
}

/* Cookie popup - mniejszy na mobile */
@media (max-width: 600px) {
    .cookie-popup {
        max-height: 70vh !important;
    }
    
    .cookie-content {
        max-height: 35vh !important;
        padding: 12px 16px !important;
    }
    
    .cookie-description {
        font-size: 12px !important;
        margin-bottom: 12px !important;
    }
    
    .cookie-categories {
        gap: 8px !important;
    }
    
    .cookie-category-header {
        padding: 8px !important;
    }
    
    .cookie-category-details {
        display: none !important;
    }
    
    .cookie-header {
        padding: 12px 16px !important;
    }
    
    .cookie-header-text h3 {
        font-size: 14px !important;
    }
    
    .cookie-header-text p {
        font-size: 11px !important;
    }
    
    .cookie-actions {
        padding: 10px 16px !important;
    }
    
    .cookie-btn {
        padding: 12px 8px !important;
        font-size: 12px !important;
    }
}

}

/* FORCE TOUCH SCROLL */
html, body {
    touch-action: pan-x pan-y pinch-zoom !important;
    -webkit-overflow-scrolling: touch !important;


}

/* ============================================
   DLEPush Message Styles - Poprawione
   ============================================ */

/* Message container */
.DLEPush-message {
  font-size: 15px !important;
  color: var(--text-primary) !important;
  line-height: 1.6 !important;
  margin: 0 0 20px 0 !important;
  text-align: center !important;
  padding: 0 !important;
}

/* Style dla pogrubień w wiadomości */
.DLEPush-message b,
.DLEPush-message strong {
  color: var(--accent) !important;
  font-weight: 600 !important;
}

/* Button link - wydzielony jako przycisk */
.DLEPush-message a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 12px 20px !important;
  margin-top: 15px !important;
  background: var(--accent) !important;
  border: none !important;
  border-radius: 8px !important;
  color: var(--text-on-accent) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.DLEPush-message a:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-1px) !important;
}

/* Ikona koperty przed linkiem */
.DLEPush-message a::before {
  content: "\f0e0" !important;
  font-family: FontAwesome !important;
  font-size: 14px !important;
}

/* Hide empty DLEPush container */
#DLEPush:empty,
.DLEPush-notification:empty {
  display: none !important;
}

/* Różne kolory ikon dla różnych typów */
.push-success .DLEPush-icon {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%) !important;
}

.push-error .DLEPush-icon {
  background: linear-gradient(135deg, #f85149 0%, #da3633 100%) !important;
}

.push-info .DLEPush-icon {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%) !important;
}

.push-warning .DLEPush-icon {
  background: linear-gradient(135deg, #d29922 0%, #bb8009 100%) !important;
}

/* ========================================
   PM Selected State
   ======================================== */
.pm-item.selected {
  background: var(--accent-subtle);
  border-color: var(--accent);
}

.pm-item-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--accent);
}

/* PM List Actions Buttons */
.pm-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    border-bottom: 1px solid var(--border-main);
}

.pm-list-actions {
    display: flex;
    gap: 10px;
}

.pm-btn-small {
    padding: 8px 16px;
    border: 1px solid var(--border-main);
    border-radius: 6px;
    background: var(--bg-input);
    color: var(--text-primary);
    cursor: pointer;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
}

.pm-btn-small:hover {
    background: var(--bg-hover);
    border-color: var(--accent);
}

.pm-btn-small.pm-btn-danger {
    background: var(--error);
    border-color: var(--error);
    color: #fff;
}

.pm-btn-small.pm-btn-danger:hover {
    background: #c82333;
    border-color: #c82333;
}

/* ============================================
   DEAD LINKS REPORT BUTTON
   ============================================ */

/* Przycisk zgłoś niedziałający link */
.report-dead-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    margin-left: 8px;
    border-radius: 4px;
    cursor: pointer;
    background: var(--bg-input);
    border: 1px solid var(--border-main);
    color: var(--text-secondary);
    transition: all 0.2s ease;
    font-size: 13px;
}

.report-dead-link:hover {
    border-color: var(--error);
    color: var(--error);
    background: var(--error-bg);
}

.report-dead-link.reported {
    color: var(--error);
    cursor: default;
    opacity: 0.7;
}

.report-dead-link.reported:hover {
    background: transparent;
}

.report-dead-link i {
    font-size: 12px;
}

/* Licznik zgłoszeń */
.report-count {
    font-size: 10px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 5px;
    background: var(--error);
    color: #fff;
    min-width: 16px;
    text-align: center;
    line-height: 1.2;
}

.report-count.zero {
    display: none;
}

/* Mobile */
@media (max-width: 768px) {
    .report-dead-link {
        padding: 6px 10px;
        margin-left: 6px;
    }
}

/* Przycisk "Naprawiono" dla autora - spójny z .report-dead-link */
.mark-fixed-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    margin-left: 8px;
    border-radius: 4px;
    cursor: pointer;
    background: var(--bg-input);
    border: 1px solid var(--border-main);
    color: #3fb950;
    transition: all 0.2s ease;
    font-size: 13px;
}

.mark-fixed-btn:hover {
    border-color: #3fb950;
    background: rgba(63, 185, 80, 0.1);
}

.mark-fixed-btn i {
    font-size: 12px;
}

/* Białe teksty dla stanów gry z kolorowym tłem */
.game-state-wait,
.game-state-click,
.game-state-result,
.game-state-early,
.game-state-disabled {
  color: #ffffff;
}

/* Verification badge */
.verification-badge {
    display: block;
    margin-top: 12px;
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 500;
}
.verification-badge i {
    margin-right: 5px;
    color: var(--success);
}

/* Turnstile invisible mode - ukryj kontener */
.lostpassword-captcha.turnstile-captcha,
.registration-captcha.turnstile-captcha {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}

/* ============================================
   REGISTRATION FORM VALIDATION STATES
   ============================================ */

/* Input wrapper states */
.login-input-wrapper.valid {
  border-color: #3fb950 !important;
}

.login-input-wrapper.invalid {
  border-color: #f85149 !important;
}

.login-input-wrapper.checking {
  border-color: var(--accent) !important;
}

/* Status icon positioning */
.login-check-wrapper {
  position: relative;
}

.login-status-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
}

.login-status-icon i.fa-spinner {
  color: var(--accent);
}

/* Error messages container */
.register-check-result {
  display: none;
  margin-bottom: 15px;
}

.register-errors {
  background: var(--error-bg);
  border: 1px solid var(--error-border);
  color: var(--error);
  padding: 12px 15px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.5;
}

.register-errors i {
  margin-right: 8px;
}

/* Password strength hint */
.login-input-wrapper.valid input[type="password"]::placeholder {
  color: #3fb950;
}

/* TMDB Badge - globalny styl (dla widoku listy) */
.tmdb-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 20px;
    background: #2d2d2d;
    color: #f5c518;
    font-size: 11px;
    font-weight: 700;
    border-radius: 4px;
    padding: 0 6px;
    border: none;
}

/* TMDB Badge - jasny motyw */
.light-mode .tmdb-badge,
.light-mode .informacje .tmdb-badge {
    background: #686868 !important;
}

/* Preview Box */
#preview_box {
  margin-top: 20px;
}
#preview_box .movie.boxed {
  box-sizing: border-box;
  width: 100% !important;
  padding: 16px !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-main) !important;
  border-radius: 14px !important;
  transform: none !important;
  box-shadow: none !important;
}
#preview_box .movie.boxed:hover {
  background: var(--bg-card) !important;
  transform: none !important;
  box-shadow: none !important;
}
#preview_box .opis {
  display: block !important;
}
#preview_box .opis img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 15px;
}
