/* MRK Zavod v2 - responsive layout */
html{overflow-y:scroll}
*,*::before,*::after{box-sizing:border-box}
body.zav-body{margin:0;padding:0;font-family:Arial,sans-serif;font-size:15px;color:#222;background:#f5f5f0}

:root{--zav-c1:#2c5f2e;--zav-c2:#1e4220;--zav-c3:#4a9e4e;--zav-c4:#cce8cd;--zav-c5:#f0f7f0;--zav-c6:#e8f5e8}

.zav-wrap{max-width:960px;margin:0 auto;padding:0 10px 0px}

/* header */
.zav-header{background:var(--zav-c1);padding:24px 10px 28px;margin:0 -10px 0;position:relative}
.zav-header-card{background:#fff;border-radius:6px;padding:16px 20px 14px;box-shadow:0 2px 12px rgba(0,0,0,.18);position:relative}
.zav-org-name{font-size:1.6em;font-weight:800;color:#fff;margin-bottom:10px;line-height:1.2;padding-left:20px}
.zav-org-name a{color:#fff;text-decoration:none}
.zav-org-name a:hover{text-decoration:underline;opacity:.85}
.zav-title{margin:0 0 8px;font-size:1.6em;font-weight:800;color:#fff;padding-left:20px}
.zav-header-card .zav-title{color:#1a1a1a;padding-left:0}
.zav-meta{font-size:0.88em;color:#555;display:flex;flex-wrap:wrap;gap:2px 0}
.zav-datum,.zav-misto{margin-right:14px;white-space:nowrap}

/* nav tabs */
.zav-nav{display:flex;flex-wrap:wrap;background:var(--zav-c2);margin:0 -10px;border-bottom:3px solid var(--zav-c3)}
.zav-tab{display:inline-block;padding:10px 16px;color:var(--zav-c4);text-decoration:none;font-size:0.9em;cursor:pointer;border:none;background:none}
.zav-tab:hover{background:var(--zav-c1);color:#fff}
.zav-tab.active{background:var(--zav-c3);color:#fff;font-weight:bold}

/* content area */
.zav-content{background:#fff;min-height:300px;padding:20px 0;margin:0 -10px;border-bottom:1px solid #ddd}
.zav-content > *:not(table){padding-left:20px;padding-right:20px}
.zav-loading{color:#888;padding:30px;text-align:center}
.zav-propozice-wrap{padding:0 20px}

/* tabulky */
.zav-table{width:100%;border-collapse:collapse;font-size:0.9em;margin:10px 0}
.zav-table th{background:var(--zav-c1);color:#fff;padding:7px 10px;text-align:left;font-weight:normal}
.zav-table th:first-child{padding-left:10px}
.zav-table th:last-child{padding-right:10px}
.zav-table td{padding:6px 10px;border-bottom:1px solid #eee;vertical-align:top}
.zav-table td:first-child{padding-left:10px}
.zav-table td:last-child{padding-right:10px}
.zav-table tr:nth-child(even) td{background:#f9f9f7}
.zav-table tr:hover td{background:var(--zav-c5)}
.zav-adm-ul-tbl th:not(:first-child),.zav-adm-ul-tbl td:not(:first-child){white-space:nowrap;width:1px}
.zav-del-x{color:#b00;font-size:1.2em;line-height:1;text-decoration:none;padding:0 4px;vertical-align:middle}
.zav-del-x:hover{color:#f00}
.zav-link-ulovky,.zav-lightbox{color:var(--zav-c1);text-decoration:none;border-bottom:2px solid var(--zav-c3)}
.zav-link-ulovky:hover,.zav-lightbox:hover{border-bottom-color:var(--zav-c1)}

/* prubehu */
.zav-prubeh p{margin:0 0 8px}
.zav-hr{border:none;border-top:1px solid #ddd;margin:12px 0}

/* kalendar */
.zk-list{margin:0 0 20px}
.zk-item{padding:12px 16px;margin:6px 0;border-left:4px solid #ccc;background:#fff;border-radius:2px}
.zk-title-row{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}
.zk-title{color:var(--zav-c1);font-weight:bold;font-size:1.1em;text-decoration:none}
.zk-title:hover{text-decoration:underline}
.zk-info{display:flex;flex-wrap:wrap;font-size:0.85em;color:#666}
.zk-datum{white-space:nowrap}
.zk-misto{white-space:nowrap;color:#888}
.zk-past{border-left-color:#aaa;opacity:0.75}
.zk-running{border-left-color:var(--zav-c3);background:var(--zav-c5)}
.zk-future{border-left-color:var(--zav-c1)}
.zk-draft{border-left-color:#e6a817;background:#fffbf0}
.zk-deleted{border-left-color:#e88;background:#fdf5f5;opacity:0.7}
.zk-badge{display:inline-block;font-size:0.72em;font-weight:800;border-radius:3px;padding:2px 7px;vertical-align:middle;margin-left:6px;text-transform:uppercase;letter-spacing:.5px}
.zk-badge-draft{background:#e6a817;color:#fff}
.zk-badge-deleted{background:#c0392b;color:#fff}
/* floating stav overlay v headeru zavodu */
.zav-stav-overlay{position:absolute;top:14px;right:16px;font-size:0.72em;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;padding:4px 14px;pointer-events:none}
.zav-stav-koncept{background:#e6a817;color:#fff;box-shadow:0 2px 8px rgba(230,168,23,.35)}
.zav-stav-smazany{background:#c0392b;color:#fff;box-shadow:0 2px 8px rgba(192,57,43,.35)}

/* admin */
.zav-admin{padding:10px 0}
.zav-content > .zav-admin{padding-left:0;padding-right:0}
.zav-content > .zav-mapa-wrap{padding-left:0;padding-right:0}
.zav-admin > :not(table):not(.zav-mapa-wrap){padding-left:20px;padding-right:20px}
.zav-admin h3{margin:0 0 12px;color:var(--zav-c1)}
.zav-admin-menu{list-style:none;padding:0;margin:0 0 16px}
.zav-admin-menu li{margin:4px 0}
.zav-admin-menu a{color:var(--zav-c1);text-decoration:none}
.zav-admin-menu a:hover{text-decoration:underline}

/* formulare */
.zav-form{}
.zf-row{margin:0 0 12px}
.zf-row label{display:block;font-size:0.85em;color:#555;margin:0 0 3px}
.zf-input{width:100%;padding:7px 10px;border:1px solid #ccc;border-radius:3px;font-size:0.95em}
.zf-inline{box-sizing:border-box;height:30px;padding:4px 6px;border:1px solid #ccc;border-radius:3px;font-size:0.9em;vertical-align:middle}
.zf-input-sm{width:80px;padding:7px 10px;border:1px solid #ccc;border-radius:3px;font-size:0.95em}

/* tlacitka */
.btn-zav{display:inline-block;padding:8px 18px;border:none;border-radius:3px;cursor:pointer;font-size:0.95em;text-decoration:none}
.btn-zav-primary{background:var(--zav-c1);color:#fff}
.btn-zav-primary:hover{background:var(--zav-c3);color:#fff}
.btn-zav-sm{padding:4px 10px;font-size:0.85em}
.btn-zav-danger{background:#b00;color:#fff}
.btn-zav-danger:hover{background:#d33;color:#fff}
.btn-zav:not(.btn-zav-primary):not(.btn-zav-danger){background:#eee;color:#333;border:1px solid #ccc}
.btn-zav:not(.btn-zav-primary):not(.btn-zav-danger):hover{background:#ddd}

/* editor propozic */
.zav-editor-wrap{margin:0 0 12px}
.zav-toolbar{display:flex;gap:4px;padding:6px;background:#f0f0f0;border:1px solid #ccc;border-bottom:none;border-radius:3px 3px 0 0}
.zav-toolbar button{padding:4px 10px;border:1px solid #bbb;background:#fff;cursor:pointer;border-radius:2px;font-size:0.9em}
.zav-toolbar button:hover{background:var(--zav-c6)}
.zav-editor{min-height:200px;padding:12px;border:1px solid #ccc;border-radius:0 0 3px 3px;background:#fff;outline:none;font-size:0.95em;line-height:1.6}
.zav-editor:focus{border-color:var(--zav-c3)}

/* paticka */
.zav-footer{background:var(--zav-c1);color:var(--zav-c4);max-width:960px;margin:0 auto 0;padding:14px 20px;font-size:0.88em}
.zav-footer a{color:var(--zav-c4);text-decoration:none}
.zav-footer a:hover{color:#fff}
.zav-footer-inner{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px 16px}
.zav-footer-left{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex:1 1 150px}
.zav-footer-logo{font-weight:bold}
.zav-footer-org{opacity:0.85;font-size:0.9em}
.zav-footer-org:hover{opacity:1}
.zav-footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:1 1 120px}
.zav-footer-create{opacity:0.85;font-size:0.9em}
.zav-footer-create:hover{opacity:1}
.zav-footer-mrk img{height:20px;vertical-align:middle;filter:brightness(0) invert(1);opacity:0.85}
.zav-footer-mrk:hover img{opacity:1}


/* --- admin tiles --- */
.zav-adm-group{margin-bottom:22px}
.zav-adm-group-title{font-size:11px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.zav-adm-tiles{display:flex;flex-wrap:wrap;gap:8px}
.zav-adm-tile{display:inline-flex;align-items:center;padding:10px 16px;background:var(--zav-c6,#f5f9f5);border:1px solid var(--zav-c4,#b8d8b8);border-radius:6px;color:var(--zav-c1,#2c5f2e);font-size:.9em;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;cursor:pointer}
.zav-adm-tile:hover{background:var(--zav-c5,#e8f4e8);border-color:var(--zav-c3,#7cb87c)}

/* --- participant thumbnails --- */
.zav-u-thumb{width:48px;height:48px;object-fit:cover;border-radius:3px;display:block}
.zav-u-popis{color:#888;font-size:.85em}
.zav-foto-preview{max-width:150px;max-height:100px;border-radius:4px;margin-top:4px;display:block}

/* --- footer kontakt --- */
.zav-footer-kontakt{font-size:.82em;color:var(--zav-c4);opacity:0.85;margin-top:2px;line-height:1.6}
.zav-footer-kontakt a{color:inherit;text-decoration:none;white-space:nowrap}
.zav-footer-kontakt a:hover{text-decoration:underline;opacity:1}
.zav-u-cas{font-size:0.82em}

/* --- lightbox --- */
.zav-lb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:9000;align-items:center;justify-content:center;cursor:zoom-out}
.zav-lb-overlay.active{display:flex}
.zav-lb-overlay img{max-width:92vw;max-height:88vh;border-radius:4px;box-shadow:0 4px 32px rgba(0,0,0,.6);cursor:default}
.zav-lb-close{position:absolute;top:14px;right:18px;font-size:2em;color:#fff;cursor:pointer;line-height:1;user-select:none}
.zav-lb-close:hover{color:#ddd}

/* mobilni */
@media(max-width:600px){
  .zav-header{padding:12px 14px 10px}
  .zav-title{font-size:1.3em}
  .zav-tab{padding:8px 10px;font-size:0.82em}
  .zav-content{padding:12px 0}
  .zav-table{font-size:0.82em}
  .zav-table th,.zav-table td{padding:5px 6px}
}


/* --- Statistiky tab --- */
.zav-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:4px 0}
.zav-stat-block{border:1px solid #ddd;border-radius:6px;overflow:hidden}
.zav-stat-head{background:var(--zav-c1,#2c5f2e);color:#fff;font-weight:bold;font-size:0.82em;text-transform:uppercase;letter-spacing:0.06em;padding:7px 12px}
.zav-stat-body{padding:12px}
.zav-stat-kpi-row{display:flex;gap:8px;justify-content:space-around;align-items:stretch}
.zav-stat-kpi-sep{width:1px;background:#e0e0e0;flex-shrink:0;align-self:stretch}
.zav-stat-kpi{text-align:center}
.zav-stat-val{font-size:1.5em;font-weight:bold;color:var(--zav-c1,#2c5f2e);line-height:1.1}
.zav-stat-lbl{font-size:0.75em;color:#888;margin-top:2px}
.zav-stat-top-row{display:grid;grid-template-columns:1.6em 1fr auto;gap:4px 8px;align-items:center;padding:4px 0;border-bottom:1px solid #f0f0f0;font-size:0.88em}
.zav-stat-top-row:last-child{border-bottom:none}
.zav-stat-rank{font-size:1.1em}
.zav-stat-druh{font-weight:500}
.zav-stat-vaha{font-weight:bold;color:var(--zav-c1,#2c5f2e);white-space:nowrap;text-align:right}
.zav-stat-zavodnik{grid-column:2/-1;font-size:0.85em;color:#777}
.zav-stat-chart{min-height:80px}
.zav-stat-mrk-promo .zav-stat-body{text-align:center;padding:16px 12px}
.zav-stat-mrk-logo{width:100%;max-width:220px;display:block;margin:0 auto 14px;filter:brightness(0) saturate(0)}
.zav-stat-mrk-text{margin:0 0 14px;font-size:0.88em;color:#555;line-height:1.45}
.zav-stat-mrk-btn{display:inline-block;background:var(--zav-c1,#2c5f2e);color:#fff;padding:7px 20px;border-radius:4px;font-size:0.88em;text-decoration:none;font-weight:600}
.zav-stat-mrk-btn:hover{background:var(--zav-c3,#4a9e4e);color:#fff}
@media(max-width:600px){.zav-stat-grid{grid-template-columns:1fr}.zav-content>.zav-stat-grid{padding-left:0;padding-right:0}}

/* Graf tab - bar chart race */
.zav-graf-outer{padding:0 20px 20px}
.zav-graf-modes{display:flex;gap:6px;padding-top:14px;margin-bottom:10px}
.zav-graf-mbtn{padding:5px 14px;border:1px solid #ccc;background:#f5f5f0;color:#444;border-radius:20px;cursor:pointer;font-size:0.85em;transition:all .2s}
.zav-graf-mbtn:hover{border-color:var(--zav-c1);color:var(--zav-c1)}
.zav-graf-mbtn.active{background:var(--zav-c1);border-color:var(--zav-c1);color:#fff;font-weight:bold}
.zav-graf-filters{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.zav-graf-fbtn{padding:3px 10px;border:1px solid #ccc;background:#f9f9f7;color:#555;border-radius:14px;cursor:pointer;font-size:0.82em;transition:all .2s}
.zav-graf-fbtn:hover{border-color:var(--zav-c3);color:var(--zav-c1)}
.zav-graf-fbtn.active{background:var(--zav-c3);border-color:var(--zav-c3);color:#fff;font-weight:bold}
.zav-graf-chartbox{background:#fafaf8;border:1px solid #e8e8e4;border-radius:6px;padding:10px 14px 8px;margin-bottom:12px}
.zav-graf-ts{text-align:center;font-size:1.25em;font-weight:bold;color:#333;letter-spacing:.5px;margin-bottom:8px;font-variant-numeric:tabular-nums}
.zav-graf-chart-wrap{max-height:60vh;overflow-y:auto;position:relative}
.zav-graf-chart{position:relative;width:100%;overflow:hidden}
.zav-graf-rank{width:28px;text-align:right;padding-right:5px;font-size:10px;color:#999;font-weight:bold;flex-shrink:0}
.zav-graf-name{flex:1;min-width:0;padding-left:8px;font-size:11px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;position:relative;z-index:1}
.zav-graf-score{flex-shrink:0;padding:0 8px;font-size:11px;color:#333;font-weight:600;position:relative;z-index:1;white-space:nowrap}
.zav-graf-fill{position:absolute;left:0;top:2px;bottom:2px;border-radius:2px;background:var(--zav-c3)}

.zav-graf-axis{display:flex;align-items:center;margin-top:5px;padding-top:4px;border-top:1px solid #e8e8e4}
.zav-graf-ax-sp{width:160px;flex-shrink:0}
.zav-graf-ax-line{flex:1;position:relative;height:14px}
.zav-graf-ax0{position:absolute;left:0;font-size:10px;color:#bbb}
.zav-graf-axmax{position:absolute;right:0;font-size:10px;color:#bbb;text-align:right}
.zav-graf-controls{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.zav-graf-play{width:34px;height:34px;border-radius:50%;background:var(--zav-c1);border:none;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.zav-graf-play:hover{background:var(--zav-c3)}
.zav-graf-slider-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.zav-graf-ticks{position:relative;height:14px}
.zav-graf-speed{background:#f5f5f0;border:1px solid #ccc;color:#444;padding:3px 5px;border-radius:4px;font-size:11px;cursor:pointer;flex-shrink:0}
@media(max-width:600px){.zav-content>.zav-graf-outer{padding:0;margin:0}.zav-graf-outer{padding:0;margin:0}.zav-graf-chartbox{border-radius:0;border-left:none;border-right:none;padding:8px 8px 8px}.zav-graf-modes,.zav-graf-filters,.zav-graf-controls{padding-left:8px;padding-right:8px}}

.zav-graf-outer.mode-misto .zav-graf-rank{width:52px;font-size:9px}
.zav-graf-outer.mode-misto .zav-graf-ax-sp{width:182px}

.zav-graf-rank-fixed{position:absolute;left:0;width:30px;height:44px;display:flex;align-items:center;justify-content:flex-end;padding-right:5px;font-size:10px;color:#aaa;font-weight:bold;z-index:2;pointer-events:none;white-space:nowrap;height:32px}
.zav-graf-outer.mode-misto .zav-graf-rank-fixed{width:56px;font-size:9px}
.zav-graf-outer.mode-misto .zav-graf-ax-sp{width:186px}
