:root{
  --bg:#f5f0e5;
  --text:#13211b;
  --muted:#6a766f;
  --primary:#1f7456;
  --primary-dark:#15523e;
  --line:rgba(29,45,38,.16);
  --soft:rgba(255,255,255,.55);
  --danger:#b63e30;
  --max:1180px;
  --radius:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:linear-gradient(90deg,rgba(218,233,221,.55),rgba(246,241,229,.82) 42%,#f4ecdc);min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{min-height:72px;padding:14px clamp(18px,3vw,44px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(250,248,241,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(34,45,39,.09);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;min-width:260px}.brand-mark,.brand-logo{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#2e8a63,#86a66e);color:#fff;font-weight:900;font-size:22px;object-fit:cover}.brand-text strong{font-size:16px;line-height:1.1}.brand-text small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.main-nav a{padding:9px 12px;border-radius:999px;font-size:14px;color:#314039}.main-nav a:hover,.main-nav a.active{background:#e4eee6;color:var(--primary-dark)}.main-nav .login-link{border:1px solid var(--line);background:rgba(255,255,255,.5)}main{width:min(var(--max),calc(100% - 32px));margin:0 auto;padding:58px 0 54px}.flash{width:min(var(--max),calc(100% - 32px));margin:16px auto 0;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:#fff}.flash-ok{border-color:#b9d5c1;background:#edf7ef}.flash-error{border-color:#e1b3b3;background:#fff0ee}.flash-warn{border-color:#e4cf9b;background:#fff8df}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--primary);font-weight:900;font-size:12px;margin:0 0 12px}.intro-plain{max-width:850px;padding:34px 0 58px}.intro-plain h1,.page-hero h1{font-size:clamp(46px,8vw,90px);line-height:.95;letter-spacing:-.065em;margin:0 0 24px}.lead{font-size:clamp(18px,2.2vw,23px);line-height:1.58;color:#46524c;margin:0;max-width:780px}.simple-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button,button.button,.small-button{border:1px solid var(--line);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:11px 18px;background:rgba(255,255,255,.6);color:var(--text);font-weight:800;font-size:14px;transition:.15s ease;white-space:nowrap}.button:hover,.small-button:hover{transform:translateY(-1px);border-color:rgba(31,116,86,.4)}.button.primary{background:var(--primary);color:white;border-color:var(--primary)}.button.ghost{background:rgba(255,255,255,.42)}.small-button{font-size:12px;padding:7px 10px}.small-button.danger{color:var(--danger);border-color:#e7b7b7}.text-link{color:var(--primary);font-weight:900}.muted{color:var(--muted)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:20px 0 22px;border-top:1px solid var(--line);padding-top:30px}.section-head h1,.section-head h2{font-size:clamp(30px,5vw,52px);line-height:1.02;letter-spacing:-.05em;margin:0}.gallery-title{margin-top:0}.page-hero.small{padding:18px 0 28px}.page-hero.small h1{font-size:clamp(38px,6vw,70px)}.masonry{columns:4 230px;column-gap:22px}.masonry.compact{columns:3 250px}.work-card{break-inside:avoid;margin:0 0 24px;background:transparent;border:0}.thumb{position:relative;display:block;overflow:hidden;border-radius:18px;background:#e8e2d5;border:1px solid rgba(28,45,38,.14)}.thumb img{width:100%;height:auto}.thumb:hover{border-color:rgba(31,116,86,.45)}.work-body{padding:12px 3px 4px}.work-body h3{font-size:18px;line-height:1.2;margin:0 0 6px;letter-spacing:-.02em}.work-body p{margin:0 0 10px;color:var(--muted);font-size:14px}.meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.meta span{background:rgba(255,255,255,.52);border:1px solid rgba(29,45,38,.08);border-radius:999px;padding:4px 8px}.play-badge,.count-badge{position:absolute;right:12px;bottom:12px;min-width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(0,0,0,.14);font-weight:900}.count-badge{border-radius:999px;padding:0 10px}.type-tile{min-height:190px;display:grid;place-items:center;background:linear-gradient(135deg,#e3eee6,#fbf2dd);font-size:25px;font-weight:900;color:var(--primary-dark)}.filters{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(5,minmax(130px,1fr));gap:10px;margin:0 0 28px}.filters input,.filters select,input,select,textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.62);padding:12px 13px;font:inherit;color:var(--text)}textarea{resize:vertical}.detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:46px;align-items:start}.detail-media{background:transparent;border:0;padding:0}.media-image{width:100%;height:auto;max-height:76vh;object-fit:contain;border-radius:18px;background:#eee;border:1px solid rgba(28,45,38,.12)}.media-video{width:100%;border-radius:18px;background:#111}.video-box{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:18px;background:#111;border:1px solid rgba(28,45,38,.12)}.video-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-section{background:transparent;border:0;padding:0}.detail-info{position:sticky;top:96px;background:transparent;border:0;padding:0}.detail-info h1{font-size:clamp(34px,4.5vw,56px);line-height:1;letter-spacing:-.055em;margin:18px 0 20px}.detail-info dl{display:grid;grid-template-columns:95px 1fr;gap:8px 12px;margin:0 0 20px}.detail-info dt{color:var(--muted)}.detail-info dd{margin:0;font-weight:800}.description{border-top:1px solid var(--line);padding-top:18px;color:#3d4943;line-height:1.55}.like-button{margin-top:10px;background:#f8fff9;border-color:#bddbc4;color:var(--primary-dark)}.image-gallery{display:grid;gap:12px}.gallery-thumbs{display:flex;gap:10px;flex-wrap:wrap}.gallery-thumb{width:82px;height:62px;border-radius:12px;border:2px solid transparent;padding:0;overflow:hidden;background:#eee;cursor:pointer}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-thumb.active{border-color:var(--primary)}.attachments{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.attachments h2{font-size:24px;margin:0 0 12px}.attachment-list{display:grid;gap:10px}.attachment-item{display:block;border:1px solid var(--line);background:rgba(255,255,255,.52);border-radius:14px;padding:12px 14px}.attachment-item strong{display:block}.attachment-item small{display:block;color:var(--muted);margin-top:3px}.audio-card,.pdf-card,.file-card,.media-placeholder{min-height:260px;border-radius:18px;background:rgba(255,255,255,.42);border:1px solid rgba(28,45,38,.12);display:grid;place-items:center;gap:18px;padding:32px}.audio-icon,.pdf-icon{width:92px;height:92px;border-radius:26px;background:white;display:grid;place-items:center;font-size:36px;font-weight:900;color:var(--primary)}.empty-state{padding:24px 0;text-align:left;color:var(--muted);border-top:1px solid var(--line)}.empty-state.big{min-height:300px;display:grid;place-items:center;text-align:center;border:1px dashed rgba(30,45,38,.22);border-radius:18px;background:rgba(255,255,255,.35)}.auth-wrap{display:grid;place-items:center;min-height:62vh}.auth-card{width:min(460px,100%);padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.56)}.auth-card h1{font-size:38px;margin:0 0 10px;letter-spacing:-.04em}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.single{grid-template-columns:1fr}.form-grid label,.admin-form label{font-weight:800;font-size:14px;color:#34423b;display:grid;gap:6px}.admin-form{display:grid;gap:18px}.admin-form.compact-form{gap:16px}.upload-block,.admin-section{border-top:1px solid var(--line);padding-top:22px}.upload-block h2,.admin-section h2{font-size:26px;letter-spacing:-.03em;margin:0 0 14px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.48)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;border-bottom:1px solid rgba(29,45,38,.1);padding:12px;vertical-align:top}th{background:rgba(255,255,255,.5);color:#51605a;font-size:12px;text-transform:uppercase;letter-spacing:.06em}tr:last-child td{border-bottom:0}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions form{display:inline}.inline-form{display:grid;grid-template-columns:1fr 100px auto;gap:8px;margin-bottom:12px}.pill-list{list-style:none;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}.pill-list li{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.48);border-radius:999px;padding:6px 8px 6px 12px}.pill-list button{border:0;background:#f1e6e2;color:var(--danger);border-radius:50%;width:22px;height:22px;cursor:pointer}.user-form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center}.site-footer{width:min(var(--max),calc(100% - 32px));margin:0 auto 30px;color:var(--muted);font-size:14px;display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:18px}.site-footer p{margin:0;max-width:680px}@media (max-width:920px){.site-header{align-items:flex-start;flex-direction:column}.main-nav{justify-content:flex-start}.detail-layout,.admin-grid{grid-template-columns:1fr}.detail-info{position:static}.filters{grid-template-columns:1fr 1fr}.user-form{grid-template-columns:1fr 1fr}.brand{min-width:0}.intro-plain{padding-top:10px}.masonry{columns:2 220px}}@media (max-width:620px){main{width:min(100% - 22px,var(--max));padding-top:28px}.site-header{padding:12px}.main-nav a{font-size:13px;padding:8px 10px}.brand-text small{display:none}.intro-plain h1{font-size:44px}.filters,.form-grid,.user-form{grid-template-columns:1fr}.site-footer{flex-direction:column}.inline-form{grid-template-columns:1fr}.masonry,.masonry.compact{columns:1}.gallery-thumb{width:70px;height:54px}}

/* === v3: logo bez zeleného boxu + samostatná správa prací === */
.brand {
  min-width: 360px;
  max-width: min(620px, 52vw);
  align-items: center;
}

.brand-logo {
  width: auto !important;
  height: 54px !important;
  max-width: 220px !important;
  border-radius: 0 !important;
  background: transparent !important;
  object-fit: contain !important;
  padding: 0 !important;
  box-shadow: none !important;
  flex: 0 0 auto;
}

.brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 13px;
}

.brand-text {
  min-width: 0;
}

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

.admin-head-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.manage-filters {
  grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(130px, 1fr)) auto;
}

.work-management-section {
  margin-top: 22px;
}

@media (max-width: 920px) {
  .brand {
    min-width: 0;
    max-width: 100%;
  }
  .brand-logo {
    max-width: 170px !important;
    height: 48px !important;
  }
  .manage-filters {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .brand-logo {
    max-width: 145px !important;
    height: 42px !important;
  }
  .manage-filters {
    grid-template-columns: 1fr;
  }
}


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

.inline-form {
  display: flex;
  gap: 6px;
  align-items: center;
  margin: 2px 0;
}

.password-reset input[type="password"] {
  width: 150px;
  padding: 8px 10px;
  font-size: 13px;
}


.field-help {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: rgba(35, 49, 43, .68);
}

select[multiple] {
  min-height: 128px;
}


.current-media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 16px;
}

.current-media-item {
  position: relative;
  display: grid;
  gap: 10px;
}

.current-media-item img {
  width: 100%;
  height: 150px;
  object-fit: contain;
  background: rgba(255,255,255,.42);
  border: 1px solid rgba(30,45,38,.13);
  border-radius: 14px;
}

.primary-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(30,45,38,.12);
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
}

.rotate-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}


.home-more {
  display: flex;
  justify-content: center;
  margin: 34px 0 10px;
}
