:root{
  color-scheme:dark;
  --bg:#050914;
  --bg2:#0a1020;
  --panel:#0d1527;
  --panel2:#111d34;
  --line:#22344f;
  --line2:#2f4d75;
  --text:#eef4ff;
  --muted:#9bb0cb;
  --blue:#2a9cff;
  --blue2:#1971ff;
  --accent:#14294a;
  --danger:#cf3e58;
  --success:#1d8f55;
  --shadow:0 24px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(circle at top left,#122748 0,transparent 30%),linear-gradient(180deg,#070b14,#04070d 55%);color:var(--text);font:15px/1.5 Arial,sans-serif}
a{color:#8ac7ff;text-decoration:none}
img{max-width:100%}
button,input,select,textarea{font:inherit}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid #2b4367;border-radius:14px;background:#08101d;color:#fff;outline:none}
input:focus,select:focus,textarea:focus{border-color:#4ba8ff;box-shadow:0 0 0 3px rgba(42,156,255,.12)}
button,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:12px 18px;background:linear-gradient(180deg,var(--blue),var(--blue2));color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(25,113,255,.22)}
.button-link.secondary,.ghost-btn{background:#0d1830;border:1px solid #294664;box-shadow:none;color:#d9ebff}
.ghost-btn{padding:10px 14px}
.error{color:#ff94a5}.muted{color:var(--muted)}

.login{width:min(92%,540px);margin:8vh auto;padding:32px;border:1px solid var(--line);border-radius:28px;background:rgba(10,16,30,.96);box-shadow:var(--shadow)}
.login-brand{display:grid;justify-items:center;gap:8px;margin-bottom:16px}
.login-brand img{max-width:300px}
.login-brand span{color:var(--muted)}
.login h1{margin:0 0 18px;font-size:2rem;text-align:center}
.login form{display:grid;gap:14px}
.login label,.form-grid label,.stack-form label,.compact-form label{display:grid;gap:7px;color:#c2d3ea}

.topbar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:16px 26px;background:rgba(6,10,18,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(82,118,164,.18)}
.menu-badge{width:44px;height:44px;border-radius:14px;background:#111c32;border:1px solid #243a58;box-shadow:none;font-size:18px}
.topbar-title h1{margin:0;font-size:1.55rem}
.topbar-right{display:flex;align-items:center;gap:14px}
.topbar-user{display:grid;justify-items:end}
.topbar-user span{color:var(--muted);font-size:.88rem}

.admin-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:calc(100vh - 77px)}
.sidebar{padding:26px 18px 20px;background:rgba(8,12,22,.88);border-right:1px solid rgba(82,118,164,.16)}
.sidebar-brand{display:grid;justify-items:start;gap:8px;padding:10px 12px 18px}
.sidebar-brand img{max-width:190px}
.sidebar-brand small{letter-spacing:.16em;color:#7fa4d0;font-weight:700}
.sidebar nav{display:grid;gap:8px}
.sidebar nav a{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid transparent;border-radius:16px;color:#d6e6fb;background:transparent;transition:.18s ease}
.sidebar nav a span{width:22px;text-align:center;opacity:.95}
.sidebar nav a:hover{background:#0d1930;border-color:#254064}
.sidebar nav a.active{background:linear-gradient(180deg,#12274a,#0c1a34);border-color:#315888;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}

.dashboard{padding:28px;display:grid;gap:20px}
.notice{padding:14px 16px;border-radius:16px;border:1px solid #2b5a45;background:#0c241a;color:#cbf9de}
.panel,.hero-panel,.folder-sidebar{background:linear-gradient(180deg,rgba(14,22,39,.98),rgba(10,16,29,.98));border:1px solid rgba(62,92,131,.3);border-radius:26px;box-shadow:var(--shadow)}
.panel{padding:24px}
.hero-panel{display:grid;grid-template-columns:1.4fr auto;gap:22px;padding:28px}
.hero-panel h2,.panel h2{margin:0 0 8px;font-size:1.7rem}
.hero-panel p,.panel p{margin:0;color:var(--muted)}
.hero-actions{display:flex;gap:12px;align-items:center}

.tiles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tile-card,.card{display:grid;gap:8px;padding:18px;border:1px solid rgba(69,100,140,.28);border-radius:20px;background:linear-gradient(180deg,#101b31,#0a1325)}
.tile-card strong,.card strong{font-size:1.05rem;color:#fff}
.tile-card span,.card span,.card small{color:var(--muted)}
.cards-grid{display:grid;gap:14px;margin-top:18px}.cards-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card form{margin-top:8px}

.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.panel-head.split{align-items:center}
.section-head.compact h2{font-size:1.2rem;margin:0 0 10px}
.inline-actions{display:flex;align-items:flex-end;gap:10px}
.compact-form{margin:0}.compact-form label{font-size:.92rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .wide{grid-column:1/-1}
.stack-form{display:grid;gap:12px}
.slim-form button{width:100%}
.checkbox-line{display:flex!important;align-items:center;gap:10px;border:1px solid #233550;border-radius:14px;padding:12px 14px;background:#08111f}
.checkbox-line input{width:auto;margin:0}

.stat-cards{display:grid;gap:12px;margin:18px 0}.stat-cards.six{grid-template-columns:repeat(6,minmax(0,1fr))}
.stat-cards article{padding:16px;border:1px solid rgba(65,96,138,.25);border-radius:20px;background:linear-gradient(180deg,#0e1b32,#0a1324)}
.stat-cards span{display:block;color:var(--muted);font-size:.82rem}
.stat-cards strong{display:block;margin-top:6px;color:#8ec7ff;font-size:1.5rem}
.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.analytics-grid>div{padding:18px;border:1px solid rgba(65,96,138,.25);border-radius:20px;background:#091220}
.analytics-grid h3{margin:0 0 12px;font-size:1.08rem}
.table-wrap{overflow:auto;max-height:440px}
table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{padding:10px 8px;border-bottom:1px solid #1a2b45;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}th{position:sticky;top:0;background:#0d182d;color:#8fc7ff}
.rank-list{display:grid;gap:8px}.rank-list>div{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:10px 12px;border-radius:12px;background:#0d172a;border:1px solid rgba(61,90,130,.18)}
.rank-list span{min-width:0;overflow-wrap:anywhere}.rank-list small{display:block;color:#7f95b6;margin-top:3px}.rank-list strong{white-space:nowrap;color:#87c6ff}.rank-margin{margin-top:12px}

.gallery-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px}
.folder-sidebar{padding:22px}
.folder-list{display:grid;gap:8px;margin:16px 0 18px}
.folder-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid rgba(65,96,138,.18);background:#0b1323;color:#deebfa}
.folder-row strong{display:inline-flex;min-width:36px;height:30px;align-items:center;justify-content:center;border-radius:999px;background:#12213d;color:#9dccff;font-size:.82rem}
.folder-row.active,.folder-row:hover{background:#12233f;border-color:#355884}
.storage-card{padding:16px;border-radius:18px;background:linear-gradient(180deg,#132647,#0b1830);border:1px solid rgba(71,109,160,.3)}
.storage-card span{display:block;color:#88aedc;font-size:.84rem}.storage-card strong{display:block;margin:6px 0 8px;font-size:1.15rem}.storage-card small{color:#bad1ef}
.gallery-main{display:grid;gap:20px}
.uploader-panel{display:grid;grid-template-columns:1.2fr .95fr;gap:18px;align-items:stretch}
.upload-zone{display:grid;justify-items:center;align-content:center;padding:32px;border:2px dashed #335b89;border-radius:24px;background:linear-gradient(180deg,#101d35,#0b1425);text-align:center;min-height:270px}
.upload-zone strong{font-size:1.22rem}.upload-zone p{margin-top:6px}.upload-icon{display:grid;place-items:center;width:76px;height:76px;margin-bottom:16px;border-radius:22px;background:#11213f;font-size:2rem}
.upload-side-form{display:grid;gap:12px;align-content:start}
.thumb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.thumb-card{display:grid;gap:10px;padding:12px;border:1px solid rgba(65,96,138,.25);border-radius:18px;background:linear-gradient(180deg,#101b31,#0a1325)}
.thumb-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;background:#07101d}
.thumb-meta{display:grid;gap:4px}.thumb-meta strong{font-size:.96rem;overflow-wrap:anywhere}.thumb-meta small{color:var(--muted)}
.icon-danger,.danger{background:linear-gradient(180deg,#d34d67,#a92541);box-shadow:none}
.empty-box{grid-column:1/-1;padding:24px;border:1px dashed #2f4a70;border-radius:18px;text-align:center;color:var(--muted)}
.note-top{margin-top:16px}
.security-panel .cards-grid{margin-top:0}

@media (max-width: 1280px){
  .tiles-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stat-cards.six{grid-template-columns:repeat(3,minmax(0,1fr))}
  .thumb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 1024px){
  .admin-shell{grid-template-columns:1fr}
  .sidebar{padding-bottom:10px;border-right:0;border-bottom:1px solid rgba(82,118,164,.16)}
  .sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-layout{grid-template-columns:1fr}
  .uploader-panel{grid-template-columns:1fr}
  .tiles-grid,.cards-grid.three,.analytics-grid,.form-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 720px){
  .topbar{grid-template-columns:1fr;align-items:flex-start}
  .topbar-right{width:100%;justify-content:space-between}
  .topbar-user{justify-items:start}
  .dashboard{padding:18px}
  .hero-panel,.form-grid,.tiles-grid,.cards-grid.three,.analytics-grid,.thumb-grid,.stat-cards.six,.sidebar nav{grid-template-columns:1fr}
  .hero-panel{padding:22px}.hero-actions,.inline-actions{flex-direction:column;align-items:stretch}
  .panel,.folder-sidebar{padding:18px}
}

/* Media optimizer */
.optimizer-check{display:flex!important;align-items:center;gap:10px;padding:12px 14px;border:1px solid #294260;border-radius:14px;background:#0a1425;color:#d9e9ff!important}
.optimizer-check input{width:auto;margin:0}
.optimizer-info{padding:12px 14px;border-radius:14px;background:#0b1830;border:1px solid #27476d;color:#aac4e8;font-size:.88rem}
.optimizer-status{padding:12px 14px;border-radius:14px;background:#0a1322;border:1px solid #284360;color:#c8ddf7;font-size:.9rem;min-height:46px}
.optimizer-status[data-kind="ok"]{background:#0b211a;border-color:#286747;color:#c7f6dc}
.optimizer-status[data-kind="warn"]{background:#2b1a0b;border-color:#79552c;color:#ffd8a5}
.js-upload-button:disabled{opacity:.55;cursor:wait}
.thumb-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;border-radius:14px;background:#000}
.thumb-meta em{font-style:normal;color:#8ae0ae;font-size:.78rem;font-weight:700}

/* Zapytania o termin */
.nav-count{margin-left:auto;display:inline-flex;min-width:25px;height:25px;padding:0 7px;align-items:center;justify-content:center;border-radius:999px;background:#168cff;color:#fff;font-size:.76rem;box-shadow:0 0 18px rgba(22,140,255,.28)}
.request-tile{border-color:rgba(42,156,255,.45);background:linear-gradient(180deg,#132647,#0b1830)}
.request-tile strong{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.request-tile em{font-style:normal;font-size:.74rem;padding:3px 8px;border-radius:999px;background:#168cff;color:#fff}
.request-summary{display:flex;gap:10px;flex-wrap:wrap}.request-summary span{padding:9px 12px;border-radius:13px;background:#0b1830;border:1px solid #294664;color:#bcd2ec}.request-summary strong{color:#fff}
.request-filters{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(190px,.7fr) auto auto;gap:10px;align-items:end;margin:18px 0}
.request-filters label{display:grid;gap:6px;color:#c2d3ea}
.request-table-wrap{overflow:auto;border:1px solid rgba(65,96,138,.28);border-radius:18px;background:#08111f}
.request-table{min-width:1180px}.request-table th,.request-table td{text-align:left;vertical-align:top}.request-table th{z-index:2}.request-main-row.is-new{background:linear-gradient(90deg,rgba(22,140,255,.12),transparent 46%)}
.request-main-row td{padding-top:13px;padding-bottom:13px}.contact-cell{display:grid;gap:4px}.contact-cell a{overflow-wrap:anywhere}
.status-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:6px 9px;border-radius:999px;border:1px solid #375475;background:#122039;color:#cfe2fa;font-size:.78rem;font-weight:800}
.status-badge.new{border-color:#268eff;background:#0d2b50;color:#9fd5ff}.status-badge.contacted{border-color:#99702e;background:#2b210f;color:#ffd793}.status-badge.offer_sent{border-color:#6e5eb7;background:#201b3d;color:#cfc4ff}.status-badge.booked{border-color:#268c5b;background:#102e21;color:#a9f0ca}.status-badge.closed{border-color:#515e70;background:#171e28;color:#aebbc9}
.row-menu summary{cursor:pointer;color:#8ac7ff;font-weight:800;list-style:none}.row-menu summary::-webkit-details-marker{display:none}.row-menu-box{margin-top:7px}.row-menu-box a{display:inline-block;padding:6px 8px;border-radius:8px;background:#10213d}
.request-details-row{display:none;background:#07101d}.request-details-row:target{display:table-row}.request-details-row td{padding:18px 16px 22px;border-bottom:1px solid #2a4365}
.request-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.request-details-grid>div{display:grid;gap:4px;padding:12px;border-radius:13px;background:#0d1729;border:1px solid rgba(61,90,130,.22)}.request-details-grid span{color:#849bb8;font-size:.8rem}.request-details-grid strong{white-space:normal}.request-details-grid .wide-detail{grid-column:1/-1}.request-details-grid .wide-detail p{white-space:normal;color:#dbe8f8;margin:3px 0 0}
.request-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-top:14px}.request-actions form{margin:0}.status-form{display:flex;gap:8px;align-items:center}.status-form select{min-width:190px}.request-actions .button-link{min-height:44px}.request-actions .danger{min-height:44px}
@media(max-width:1024px){.request-filters{grid-template-columns:1fr 1fr}.request-details-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.request-filters,.request-details-grid{grid-template-columns:1fr}.request-actions,.status-form{align-items:stretch;flex-direction:column}.status-form select,.request-actions form,.request-actions button,.request-actions .button-link{width:100%}.request-summary{width:100%}}

/* Sety / składanki */
.downloads-admin-form{margin-bottom:22px}
.download-current-cover{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid #294664;border-radius:16px;background:#0a1425;color:#bcd2ec}
.download-current-cover img{width:88px;height:88px;object-fit:cover;border-radius:14px;background:#07101d}
.downloads-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.downloads-admin-list{display:grid;gap:14px;margin-top:20px}
.download-admin-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px;border:1px solid rgba(65,96,138,.28);border-radius:20px;background:linear-gradient(180deg,#101b31,#0a1325)}
.download-admin-cover img{display:block;width:150px;height:150px;object-fit:cover;border-radius:16px;background:#07101d}
.download-admin-info{display:grid;gap:6px;min-width:0}
.download-admin-info strong{font-size:1.1rem;color:#fff}
.download-admin-info p{margin:0;color:#aebfd4;white-space:pre-wrap;overflow-wrap:anywhere}
.download-admin-info small{color:#7fa1c8}
.download-type-badge{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#0e2b50;border:1px solid #2d69a6;color:#9fd5ff;font-size:.72rem;font-weight:800;letter-spacing:.06em}
.download-admin-actions{display:grid;gap:8px;min-width:145px}
.download-admin-actions form{margin:0}
.download-admin-actions button,.download-admin-actions .button-link{width:100%}
@media(max-width:900px){.download-admin-card{grid-template-columns:110px minmax(0,1fr)}.download-admin-cover img{width:110px;height:110px}.download-admin-actions{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.download-admin-card{grid-template-columns:1fr}.download-admin-cover img{width:100%;height:auto;aspect-ratio:1/1}.download-admin-actions{grid-template-columns:1fr}.downloads-form-actions{align-items:stretch;flex-direction:column}.downloads-form-actions>*{width:100%}}

/* Statystyki GEO + sety/składanki */
.stat-cards.seven{grid-template-columns:repeat(7,minmax(0,1fr))}
.stat-cards .download-stat{border-color:rgba(42,156,255,.55);background:linear-gradient(180deg,#102647,#0a1830)}
.geo-note{margin:12px 0 0!important;padding:10px 12px;border-radius:12px;background:#08111f;border:1px solid rgba(65,96,138,.25);font-size:.82rem;color:#8fa7c4!important}
@media(max-width:1450px){.stat-cards.seven{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1024px){.stat-cards.seven{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.stat-cards.seven{grid-template-columns:1fr}}


/* Rozbudowane statystyki + ankieta */
.stat-cards.eight{grid-template-columns:repeat(8,minmax(0,1fr))}
.analytics-subheading{margin-top:18px!important}
.analytics-grid code{color:#b8dbff}
.survey-panel .panel-head p{max-width:900px}
.survey-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.survey-cards article:nth-child(1){border-color:rgba(42,156,255,.55);background:linear-gradient(180deg,#102647,#0a1830)}
.survey-rate-note{margin:-4px 0 18px!important;padding:10px 12px;border:1px solid rgba(65,96,138,.25);border-radius:12px;background:#08111f;color:#8fa7c4!important;font-size:.82rem}
@media(max-width:1600px){.stat-cards.eight{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.survey-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.stat-cards.eight,.survey-cards{grid-template-columns:1fr}}


/* === Moderacja komentarzy sklepu === */
.comment-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:16px 0 20px
}
.comment-stats a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 15px;
  border:1px solid #1d3e61;
  border-radius:13px;
  background:#07111f;
  text-decoration:none;
  color:#acc5df
}
.comment-stats a strong{font-size:22px;color:#fff}
.comment-stats a.active{border-color:#2c8ef0;background:#0b2340;color:#fff}
.moderation-list{display:grid;gap:14px}
.moderation-card{
  border:1px solid #1a395a;
  border-radius:16px;
  background:#07101d;
  overflow:hidden
}
.moderation-card.status-pending{border-color:#705d22}
.moderation-card.status-approved{border-color:#1d6848}
.moderation-card.status-rejected{border-color:#5c2d3a;opacity:.86}
.moderation-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:15px 17px;
  border-bottom:1px solid #173451
}
.moderation-top>div{display:grid;gap:5px}
.moderation-top strong{font-size:16px;color:#fff}
.moderation-top small{color:#7390af}
.comment-status{
  width:max-content;
  padding:4px 8px;
  border-radius:999px;
  background:#112a46;
  color:#9ed0ff;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.5px
}
.status-pending .comment-status{background:#342b0e;color:#ffe38e}
.status-approved .comment-status{background:#0d3123;color:#90f0bd}
.status-rejected .comment-status{background:#35151d;color:#ffacbc}
.comment-id{font-size:11px;color:#587493;word-break:break-all}
.moderation-content{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  padding:17px
}
.moderation-content.has-photo{grid-template-columns:minmax(0,1fr) 220px}
.moderation-text h3{margin:0 0 9px;color:#fff;font-size:20px}
.moderation-text p{
  margin:0;
  color:#d5e4f4;
  line-height:1.6;
  overflow-wrap:anywhere
}
.moderation-photo{
  display:block;
  border-radius:12px;
  overflow:hidden;
  border:1px solid #295783;
  background:#040a12
}
.moderation-photo img{
  display:block;
  width:100%;
  height:180px;
  object-fit:cover
}
.moderation-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  padding:0 17px 17px
}
.moderation-actions form{margin:0}
.approve-btn{background:#118953!important;border-color:#35bb7e!important;color:#fff!important}
.secondary-action{background:#13263b!important;border-color:#31597e!important;color:#d9e9f8!important}
@media(max-width:820px){
  .comment-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .moderation-content.has-photo{grid-template-columns:1fr}
  .moderation-photo{max-width:320px}
}
@media(max-width:520px){
  .comment-stats{grid-template-columns:1fr}
  .moderation-top{flex-direction:column}
  .moderation-actions{display:grid}
  .moderation-actions form,.moderation-actions button{width:100%}
}
