/* LANDVENTU.RE — panel administracyjny */
:root{
  --bg:#0f1216; --panel:#1a2129; --panel-2:#212a33;
  --fg:#eef2f5; --fg-dim:#8a97a4; --line:rgba(255,255,255,0.09);
  --accent:#5b7a9c; --ok:#4caf7d; --warn:#d9774a; --danger:#d65a5a;
  --mono:'Space Mono',monospace; --sans:'Inter',system-ui,sans-serif; --serif:'Cormorant Garamond',serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:15px;line-height:1.55}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* ---- LOGIN ---- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}
.login-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);padding:2.5rem}
.login-card .logo{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent);margin-bottom:0.4rem}
.login-card h1{font-family:var(--serif);font-weight:600;font-size:1.9rem;margin-bottom:1.8rem}
.field{margin-bottom:1.1rem}
.field label{display:block;font-family:var(--mono);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:0.45rem}
.field input,.field textarea,.field select{
  width:100%;background:var(--bg);border:1px solid var(--line);color:var(--fg);
  padding:0.7rem 0.85rem;font-family:var(--sans);font-size:0.9rem;outline:none;transition:border-color .2s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}
.field textarea{resize:vertical;min-height:120px;line-height:1.6}
.btn{display:inline-flex;align-items:center;gap:.5rem;border:none;cursor:pointer;
  font-family:var(--mono);font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;
  padding:0.75rem 1.3rem;background:var(--accent);color:#fff;transition:opacity .2s}
.btn:hover{opacity:.88}
.btn-block{width:100%;justify-content:center}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--fg-dim)}
.btn-ghost:hover{color:var(--fg);border-color:var(--accent)}
.btn-danger{background:var(--danger)}
.btn-sm{padding:0.45rem 0.8rem;font-size:0.58rem}
.alert{padding:0.7rem 1rem;font-size:0.82rem;margin-bottom:1.2rem;border-left:3px solid}
.alert-err{background:rgba(214,90,90,.12);border-color:var(--danger);color:#f0b4b4}
.alert-ok{background:rgba(76,175,125,.12);border-color:var(--ok);color:#a8e0c4}

/* ---- LAYOUT ---- */
.admin{display:grid;grid-template-columns:230px 1fr;min-height:100vh}
.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:1.6rem 0;display:flex;flex-direction:column}
.sidebar .logo{padding:0 1.6rem 1.6rem;font-family:var(--mono);font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--line)}
.sidebar nav{padding:1rem 0;flex:1}
.sidebar nav a{display:flex;align-items:center;gap:.7rem;padding:0.7rem 1.6rem;font-size:0.86rem;color:var(--fg-dim);transition:.2s;border-left:2px solid transparent}
.sidebar nav a:hover{color:var(--fg);background:var(--panel-2)}
.sidebar nav a.active{color:var(--fg);border-left-color:var(--accent);background:var(--panel-2)}
.sidebar .user{padding:1rem 1.6rem;border-top:1px solid var(--line);font-size:0.78rem;color:var(--fg-dim)}
.sidebar .user b{color:var(--fg);display:block;font-size:0.86rem}
.main{padding:2.2rem clamp(1.5rem,3vw,3rem)}
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}
.page-head h1{font-family:var(--serif);font-weight:600;font-size:2.1rem}
.kicker{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);margin-bottom:0.3rem}

/* ---- CARDS / STATS ---- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:2.2rem}
.stat{background:var(--panel);padding:1.4rem 1.5rem}
.stat .n{font-family:var(--serif);font-weight:600;font-size:2.4rem;line-height:1}
.stat .l{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-dim);margin-top:0.4rem}

.card{background:var(--panel);border:1px solid var(--line);padding:1.6rem;margin-bottom:1.5rem}
.card h2{font-family:var(--serif);font-weight:600;font-size:1.4rem;margin-bottom:1.2rem}

/* ---- TABLE ---- */
.tbl{width:100%;border-collapse:collapse}
.tbl th{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-dim);text-align:left;padding:0.7rem 0.8rem;border-bottom:1px solid var(--line)}
.tbl td{padding:0.7rem 0.8rem;border-bottom:1px solid var(--line);font-size:0.86rem;vertical-align:middle}
.tbl tr:hover td{background:var(--panel-2)}
.tbl .thumb{width:54px;height:40px;object-fit:cover}
.pill{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.2rem 0.55rem;border:1px solid var(--line);color:var(--fg-dim)}
.pill.on{color:var(--ok);border-color:rgba(76,175,125,.4)}
.pill.off{color:var(--warn);border-color:rgba(217,119,74,.4)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.row-actions{display:flex;gap:.5rem;flex-wrap:wrap}

/* photo manager */
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}
.photo-item{background:var(--panel-2);border:1px solid var(--line)}
.photo-item img{width:100%;aspect-ratio:4/3;object-fit:cover}
.photo-item .pi-body{padding:0.7rem}
.photo-item .pi-body input{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--fg);padding:0.4rem 0.5rem;font-size:0.78rem;margin-bottom:0.4rem}
.muted{color:var(--fg-dim);font-size:0.82rem}
.help{font-size:0.74rem;color:var(--fg-dim);margin-top:0.4rem;line-height:1.5}

@media(max-width:820px){
  .admin{grid-template-columns:1fr}
  .sidebar{flex-direction:row;align-items:center;overflow-x:auto;padding:0.5rem}
  .sidebar .logo,.sidebar .user{display:none}
  .sidebar nav{display:flex;padding:0}
  .sidebar nav a{white-space:nowrap;border-left:none;border-bottom:2px solid transparent}
  .grid-2{grid-template-columns:1fr}
}
