:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#f0f3f8;--text:#18212f;--muted:#667085;--border:#dfe4ec;--primary:#b42318;--primary-dark:#8f1c13;--navy:#111827;--success:#087443;--warning:#a15c07;--danger:#b42318;--purple:#6941c6;--radius:18px;--shadow:0 18px 55px rgba(16,24,40,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1160px,calc(100% - 32px));margin-inline:auto}.site-header{background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.brand-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#d92d20,#8f1c13);color:#fff;font-size:20px;box-shadow:0 12px 26px rgba(180,35,24,.25)}.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:14px}.hero{background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.17),transparent 28%),linear-gradient(135deg,#8f1c13,#c43227 60%,#e04c3f);color:#fff;padding:82px 0}.hero-grid{display:grid;grid-template-columns:1.5fr .5fr;gap:48px;align-items:center}.hero h1{font-size:clamp(42px,6vw,74px);line-height:1.02;letter-spacing:-.045em;margin:16px 0 20px}.hero p{font-size:19px;max-width:680px;color:rgba(255,255,255,.82)}.hero-panel{justify-self:end;min-width:220px;padding:30px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.12);border-radius:28px;backdrop-filter:blur(10px);display:flex;flex-direction:column}.hero-panel strong{font-size:64px;line-height:1}.hero-panel span,.hero-panel small{color:rgba(255,255,255,.78)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--primary)}.eyebrow.light{color:#fff}.section{padding:54px 0 72px}.section-head,.panel-head,.page-actions,.section-inline,.competition-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-head h2,.panel h2{margin:4px 0 0;font-size:30px;letter-spacing:-.025em}.competition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.competition-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;display:flex;overflow:hidden;box-shadow:0 8px 30px rgba(16,24,40,.05);transition:.2s}.competition-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.date-badge{width:104px;background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.date-badge strong{font-size:38px;line-height:1}.date-badge span{font-size:12px;margin-top:6px;color:#cbd5e1}.competition-card-body{padding:25px;flex:1}.competition-card h3{font-size:24px;margin:12px 0}.meta{color:var(--muted);margin:7px 0}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted)}.btn{border:0;border-radius:12px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:750;transition:.2s}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(180,35,24,.20)}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-ghost{background:transparent;color:var(--muted)}.btn-small{padding:8px 12px;font-size:13px}.btn-large{padding:15px 24px;font-size:16px}.btn-block{width:100%}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}.badge-success{background:#e7f8ef;color:var(--success)}.badge-info{background:#e9f2ff;color:#175cd3}.badge-warning{background:#fff4e5;color:var(--warning)}.badge-danger{background:#feeceb;color:var(--danger)}.badge-muted{background:#eef1f5;color:#667085}.badge-purple{background:#f0eaff;color:var(--purple)}.competition-hero{background:linear-gradient(135deg,#111827,#273244);color:#fff;padding:42px 0 50px}.back-link{display:inline-block;color:#cbd5e1;margin-bottom:30px}.competition-title-row h1{font-size:clamp(34px,5vw,58px);letter-spacing:-.04em;margin:12px 0 4px}.competition-title-row p{color:#cbd5e1}.big-date{text-align:right}.big-date strong{display:block;font-size:30px}.big-date span{color:#cbd5e1}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;align-items:start}.detail-main{display:grid;gap:22px}.content-card,.sidebar-card,.panel,.success-card,.auth-card,.install-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 36px rgba(16,24,40,.06)}.content-card,.sidebar-card,.panel{padding:28px}.detail-sidebar{position:sticky;top:94px}.sidebar-card{display:grid;gap:12px}.sidebar-card h3{margin:0 0 8px}.sidebar-card a:not(.btn){color:var(--primary);font-weight:700}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.info-grid>div{padding:16px;background:var(--surface-2);border-radius:14px}.info-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.prose{padding-top:22px;border-top:1px solid var(--border);white-space:normal}.chip-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.chip{padding:9px 13px;border-radius:999px;background:#fff0ee;color:var(--primary-dark);font-weight:750}.form-section{padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--border)}.form-section h3{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.span-2{grid-column:span 2}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:750}.field small{font-size:12px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #cfd6e1;background:#fff;border-radius:11px;padding:12px 13px;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(180,35,24,.10)}textarea{resize:vertical}.team-block{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:15px}.team-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.remove-team{border:0;background:#feeceb;color:var(--danger);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:21px}.check-row{display:flex;gap:11px;align-items:flex-start;margin:20px 0}.check-row input{width:18px;height:18px;margin-top:3px}.alert{border-radius:13px;padding:14px 16px;margin-bottom:18px;font-weight:600}.alert-danger{background:#feeceb;color:#912018;border:1px solid #fbc5c0}.alert-success{background:#e7f8ef;color:#05603a;border:1px solid #b8e8cf}.alert-warning{background:#fff4e5;color:#854a05;border:1px solid #f7d7a8}.flash-wrap{padding-top:18px}.empty-state{text-align:center;background:#fff;border:1px dashed #cfd6e1;border-radius:22px;padding:70px 25px}.empty-state.compact{padding:40px}.empty-icon{font-size:44px}.error-code{font-size:72px;font-weight:900;color:var(--primary)}.success-card{max-width:650px;margin:auto;padding:52px;text-align:center}.success-icon{margin:0 auto 18px;width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:#e7f8ef;color:var(--success);font-size:36px;font-weight:900}.code-box{margin:25px auto;padding:18px;background:var(--surface-2);border-radius:15px;max-width:320px}.code-box span{display:block;color:var(--muted);font-size:12px}.code-box strong{font-size:30px;letter-spacing:.12em}.muted{color:var(--muted)}.site-footer{border-top:1px solid var(--border);padding:28px 0;color:var(--muted);font-size:13px}.auth-page,.install-page{min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(180,35,24,.13),transparent 26%),#f5f7fb}.auth-shell,.install-shell{min-height:100vh;display:grid;place-content:center;padding:24px}.auth-brand{justify-content:center;margin-bottom:22px}.auth-card{width:min(440px,calc(100vw - 32px));padding:34px}.auth-card h1,.install-card h1{margin:8px 0}.stack-form{display:grid;gap:17px;margin-top:24px}.install-shell>.brand-mark{margin:0 auto 22px}.install-card{width:min(720px,calc(100vw - 32px));padding:38px}.section-title{font-weight:850;font-size:18px;margin-top:10px;padding-top:20px;border-top:1px solid var(--border)}.admin-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:#111827;color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:30}.sidebar-brand{padding:0 8px;margin-bottom:30px}.sidebar-nav{display:grid;gap:6px}.sidebar-nav a{padding:12px 14px;border-radius:11px;color:#cbd5e1;font-weight:650}.sidebar-nav a:hover{background:#263143;color:#fff}.sidebar-user{margin-top:auto;border-top:1px solid #344054;padding:18px 10px 0;display:grid}.sidebar-user small{color:#98a2b3}.link-button{border:0;background:transparent;color:#fca5a5;padding:10px 0 0;text-align:left;cursor:pointer}.admin-main{grid-column:2}.admin-topbar{height:100px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:18px;padding:0 38px;position:sticky;top:0;z-index:15}.admin-topbar h1{font-size:28px;margin:2px 0 0}.admin-content{padding:32px 38px 60px}.menu-toggle{display:none;border:1px solid var(--border);background:#fff;border-radius:10px;width:42px;height:42px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:22px;display:flex;flex-direction:column}.stat-card span,.stat-card small{color:var(--muted)}.stat-card strong{font-size:42px;line-height:1.2}.stat-card.accent{background:linear-gradient(135deg,#b42318,#d92d20);color:#fff}.stat-card.accent span,.stat-card.accent a{color:#fff}.panel{margin-bottom:22px}.table-wrap{overflow:auto;margin:0 -28px -28px}.table-wrap table{width:100%;border-collapse:collapse;min-width:760px}.table-wrap th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8fafc}.table-wrap th,.table-wrap td{padding:15px 18px;border-top:1px solid var(--border);vertical-align:middle}.table-sub{display:block;color:var(--muted);margin-top:3px}.page-actions{margin-bottom:20px}.form-panel{max-width:980px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.filter-form select{min-width:280px}.admin-detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px}.admin-info{grid-template-columns:repeat(2,minmax(0,1fr))}.note-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:16px}.note-box span{font-size:12px;color:#9a3412;font-weight:800}.note-box p{margin-bottom:0}.team-list{display:grid;gap:12px}.team-list-item{padding:16px;border:1px solid var(--border);border-radius:13px}.team-list-item>div:first-child{display:flex;justify-content:space-between;gap:12px}.team-list-item span{color:var(--primary);font-weight:700}.team-list-item p{color:var(--muted);margin-bottom:0}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:16px 1fr;gap:12px;position:relative;padding-bottom:20px}.timeline-item:before{content:"";position:absolute;left:6px;top:15px;bottom:-2px;width:2px;background:var(--border)}.timeline-item:last-child:before{display:none}.timeline-item>span{width:14px;height:14px;border-radius:50%;background:var(--primary);margin-top:4px;z-index:1}.timeline-item small{display:block;color:var(--muted)}.timeline-item p{margin:5px 0 0}.empty-inline{padding:30px;text-align:center;color:var(--muted)}@media(max-width:980px){.competition-grid{grid-template-columns:1fr}.detail-layout,.admin-detail-grid{grid-template-columns:1fr}.detail-sidebar{position:static}.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.admin-main{grid-column:auto}.menu-toggle{display:block}.admin-topbar{padding:0 20px}.admin-content{padding:24px 20px}.hero-grid{grid-template-columns:1fr}.hero-panel{justify-self:start}}@media(max-width:680px){.hero{padding:58px 0}.hero h1{font-size:42px}.competition-card{display:block}.date-badge{width:100%;height:72px;flex-direction:row;gap:10px}.date-badge strong{font-size:27px}.form-grid,.info-grid,.admin-info{grid-template-columns:1fr}.span-2{grid-column:span 1}.competition-title-row,.section-head,.page-actions{align-items:flex-start;flex-direction:column}.big-date{text-align:left}.stats-grid{grid-template-columns:1fr}.content-card,.panel,.sidebar-card{padding:21px}.table-wrap{margin:0 -21px -21px}.success-card{padding:32px 22px}.install-card{padding:26px 20px}}

/* Registrátor 1.1 – družstva, jednotlivci a věkové kategorie */
.category-settings{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;padding:20px}.category-settings h3{margin:3px 0 0}.category-help{margin:10px 0 16px}.age-category-list{display:grid;gap:12px}.age-category-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(110px,.6fr) minmax(110px,.6fr) auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px}.category-remove{margin-bottom:2px}.age-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.age-public-card{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--surface-2);border-radius:14px}.age-public-card span{color:var(--muted);font-size:13px}.section-note{margin:2px 0 0;font-size:13px}.auto-category{padding:12px 14px;border-radius:11px;background:#eef1f5;color:var(--muted);font-weight:700;font-size:13px}.auto-category.is-success{background:#e7f8ef;color:var(--success)}.auto-category.is-error{background:#feeceb;color:var(--danger)}.entry-type{display:inline-flex!important;width:max-content;padding:3px 8px;border-radius:999px;background:#eef1f5;color:var(--muted)!important;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.action-group,.success-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.status-page{display:grid;gap:22px}.print-compact{padding-bottom:38px}[hidden]{display:none!important}
@media(max-width:760px){.age-category-row{grid-template-columns:1fr 1fr}.age-category-row .age-name{grid-column:span 2}.age-category-row .category-remove{grid-column:2;justify-self:end}.age-public-grid{grid-template-columns:1fr}.section-inline{align-items:flex-start;flex-direction:column}}
@media print{body{background:#fff}.site-header,.site-footer,.no-print{display:none!important}.competition-hero{background:#fff!important;color:#111!important;padding:20px 0;border-bottom:2px solid #111}.competition-title-row p,.back-link{color:#333!important}.section{padding:24px 0}.content-card{box-shadow:none;border:1px solid #aaa;break-inside:avoid}.container{width:100%;max-width:none}.badge{border:1px solid #777;background:#fff!important;color:#111!important}.status-page{gap:14px}}

/* Registrátor 1.2 – portál SDH a SMTP */
.header-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.smtp-settings{display:grid;gap:18px;padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.inline-test-form{display:grid;grid-template-columns:minmax(240px,520px) auto;gap:14px;align-items:end}.narrow-panel{max-width:680px}.auth-back{display:block;margin-top:18px;text-align:center}.alert.span-2{margin:0}.portal-login-hint{font-size:13px;color:var(--muted)}
@media(max-width:680px){.header-actions{gap:6px}.header-actions .btn{padding:8px 10px;font-size:12px}.inline-test-form{grid-template-columns:1fr}.inline-test-form .btn{width:100%}}

/* Registrátor 1.3 – instalovatelné aktualizace ZIP */
.update-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:22px;align-items:start}.update-main-card{margin:0}.update-side{display:grid;gap:22px}.version-chip,.candidate-version{min-width:140px;padding:14px 18px;border-radius:15px;background:#111827;color:#fff;text-align:center}.version-chip span,.candidate-version span{display:block;color:#cbd5e1;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.version-chip strong,.candidate-version strong{font-size:24px}.upload-update-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:24px}.upload-dropzone{min-height:92px;border:2px dashed #cfd6e1;border-radius:16px;background:var(--surface-2);display:flex;align-items:center;gap:15px;padding:17px;cursor:pointer;transition:.15s}.upload-dropzone:hover{border-color:var(--primary);background:#fff}.upload-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-dropzone>span:nth-child(2){display:flex;flex-direction:column}.upload-dropzone small{color:var(--muted);margin-top:3px}.upload-icon{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:#111827;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em}.update-candidate{margin-top:24px;border:1px solid #b8e8cf;background:#f6fffa;border-radius:18px;padding:22px}.candidate-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.candidate-head h3{font-size:24px;margin:10px 0 6px}.candidate-head p{margin:0;color:var(--muted)}.candidate-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.candidate-facts>div{padding:13px;background:#fff;border:1px solid #dcefe5;border-radius:12px}.candidate-facts span{display:block;color:var(--muted);font-size:12px}.candidate-facts strong{display:block;margin-top:3px}.backup-note{display:flex;flex-direction:column;gap:5px;padding:15px;border-radius:13px;background:#eef6ff;border:1px solid #cfe2f7}.backup-note span{color:#344054;font-size:13px}.backup-note code{font-size:12px}.install-update-form{margin-top:18px}.install-update-form .check-row{margin:0 0 16px}.check-list{display:grid;gap:12px;margin-top:18px}.check-item{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:13px}.check-item>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900}.check-item div{display:flex;flex-direction:column}.check-item small{color:var(--muted)}.check-item.is-ok>span{background:#e7f8ef;color:var(--success)}.check-item.is-error{border-color:#fbc5c0;background:#fff8f7}.check-item.is-error>span{background:#feeceb;color:var(--danger)}.update-history{margin-top:22px}.history-message{display:block;max-width:560px;white-space:normal}.btn:disabled{opacity:.55;cursor:not-allowed}.badge-warning{background:#fff4e5;color:#854a05}.badge-danger{background:#feeceb;color:#912018}.badge-success{background:#e7f8ef;color:#05603a}
@media(max-width:1050px){.update-grid{grid-template-columns:1fr}.candidate-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.upload-update-form{grid-template-columns:1fr}.upload-update-form .btn{width:100%}.candidate-head{flex-direction:column}.candidate-version{width:100%}.candidate-facts{grid-template-columns:1fr}.update-candidate{padding:17px}}

/* Systémová správa */
.system-page-intro{display:flex;justify-content:space-between;align-items:center}.system-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.system-settings-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;margin:0;text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.system-settings-card[href]:hover{transform:translateY(-2px);border-color:#c8d0dc;box-shadow:0 14px 35px #11182712}.system-card-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#111827;color:#fff;font-weight:900;font-size:22px}.system-card-body h2{margin:4px 0 7px}.system-card-body p{margin:0;color:var(--muted)}.system-card-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.system-card-status strong{font-size:13px}.system-settings-card.is-locked{opacity:.78}.system-settings-card.is-placeholder{border-style:dashed;background:var(--surface-2)}.system-settings-card.is-placeholder .system-card-icon{background:#667085}.system-card-warning{display:block;margin-top:10px;color:#854a05}.subpage-nav{margin-bottom:16px}.subpage-nav a{font-weight:800;color:var(--primary);text-decoration:none}.subpage-nav a:hover{text-decoration:underline}
@media(max-width:820px){.system-settings-grid{grid-template-columns:1fr}}
@media(max-width:520px){.system-settings-card{grid-template-columns:1fr}.system-card-status{align-items:flex-start;flex-direction:column}}

/* Registrátor 1.4 – vlastní soutěže SDH, disciplíny a výsledky */
.competition-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:8px;background:#eef1f5;border:1px solid var(--border);border-radius:15px}.competition-tabs a{padding:9px 13px;border-radius:10px;text-decoration:none;color:#344054;font-weight:800;font-size:13px}.competition-tabs a:hover{background:#fff;color:var(--primary)}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.row-highlight{background:#fff9ed}.warning-card{border-color:#f4cf8d;background:#fffaf0}.approval-panel{margin-top:22px}.approval-panel>.btn{margin-top:14px}.discipline-list{display:grid;gap:13px;margin-top:20px}.discipline-row{display:grid;grid-template-columns:minmax(210px,1.5fr) minmax(145px,.8fr) minmax(155px,.9fr) minmax(100px,.5fr) 38px;gap:12px;align-items:end;padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--surface-2)}.discipline-row .field{margin:0}.discipline-name{min-width:0}.results-entry-form{display:grid;gap:22px}.results-category-panel{margin:0}.result-entry-list{display:grid;gap:16px}.result-entry-card{border:1px solid var(--border);border-radius:17px;background:var(--surface-2);overflow:hidden}.result-entry-card>header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 18px;background:#fff;border-bottom:1px solid var(--border)}.result-entry-card h3{margin:6px 0 2px;font-size:19px}.result-entry-card p{margin:0;color:var(--muted);font-size:13px}.result-discipline-grid{display:grid;gap:12px;padding:15px}.result-discipline-card{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,2fr);gap:16px;padding:14px;background:#fff;border:1px solid var(--border);border-radius:13px}.result-discipline-head{display:flex;flex-direction:column;gap:4px}.result-discipline-head small{color:var(--muted)}.result-fields{display:grid;grid-template-columns:minmax(115px,.8fr) minmax(115px,.8fr) minmax(180px,1.2fr) minmax(150px,1fr);gap:10px}.result-fields .field{margin:0}.sticky-save{position:sticky;bottom:16px;display:flex;justify-content:flex-end;z-index:5}.sticky-save .btn{box-shadow:0 12px 35px #11182735}.ranking-preview,.publication-panel{margin-top:22px}.ranking-category-title{margin:26px 0 10px}.ranking-category-title:first-of-type{margin-top:12px}.results-table{min-width:760px}.results-table th,.results-table td{white-space:nowrap}.results-table td:nth-child(2),.results-table th:nth-child(2){white-space:normal;min-width:190px}.rank-cell{font-size:19px;font-weight:900;text-align:center}.results-hero{background:linear-gradient(135deg,#111827,#263449)}.results-published-chip{padding:12px 16px;border-radius:999px;background:#e7f8ef;color:#05603a;font-weight:900}.results-public-page{display:grid;gap:22px}.result-info-card{margin:0}.public-ranking-card{margin:0}.podium-row{background:#fbfcfe}.podium-1 .rank-cell{color:#9a6a00}.podium-2 .rank-cell{color:#667085}.podium-3 .rank-cell{color:#915b33}.results-sidebar-card{background:#111827;color:#fff}.results-sidebar-card .eyebrow{color:#a7f3d0}.results-sidebar-card h3{color:#fff}.results-sidebar-card .btn{width:100%;margin-top:8px}.results-link-badge{display:inline-flex;margin-right:8px;text-decoration:none}.publication-panel .action-group{justify-content:flex-start}.form-actions.span-2{grid-column:span 2}.badge-info{background:#eef6ff;color:#1b4d82}.btn-danger{background:#b42318;color:#fff;border-color:#b42318}.btn-danger:hover{background:#912018}.alert-warning{background:#fff4e5;border-color:#f4cf8d;color:#7a4300}.icon-button{border:0;background:#eef1f5;color:#344054;width:36px;height:36px;border-radius:10px;font-size:22px;cursor:pointer}.icon-button:hover{background:#feeceb;color:var(--danger)}
@media(max-width:1120px){.discipline-row{grid-template-columns:1fr 1fr}.discipline-row .discipline-name{grid-column:span 2}.discipline-row .icon-button{justify-self:end}.result-discipline-card{grid-template-columns:1fr}.result-fields{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.competition-tabs{display:grid;grid-template-columns:1fr 1fr}.competition-tabs a{text-align:center}.discipline-row{grid-template-columns:1fr}.discipline-row .discipline-name{grid-column:auto}.result-fields{grid-template-columns:1fr}.result-entry-card>header{padding:14px}.result-discipline-grid{padding:10px}.result-discipline-card{padding:12px}.sticky-save{position:static}.sticky-save .btn{width:100%}.results-published-chip{width:100%;text-align:center}.form-actions.span-2{grid-column:auto}}
@media print{.competition-tabs,.publication-panel,.results-entry-form,.results-link-badge{display:none!important}.public-ranking-card{break-inside:avoid}.results-table{min-width:0;font-size:11px}.results-table th,.results-table td{padding:7px 5px}.results-hero{background:#fff!important;color:#111!important}}

/* 1.5.0 – prezentace a startovní listina */
.startlist-summary-panel{overflow:hidden}.compact-stats{margin-top:22px}.startlist-settings-form{align-items:end}.form-action-field{justify-content:flex-end}.startlist-category-block{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.startlist-category-block:first-of-type{margin-top:12px}.startlist-category-block h3{margin:0}.startlist-table input,.startlist-table select{min-width:115px}.startlist-table td:nth-child(3){min-width:210px}.startlist-table td:nth-child(4){min-width:150px}.startlist-table td:last-child input{min-width:170px}.table-number-input{width:92px;min-width:92px!important}.table-subline{display:block;color:var(--muted);margin-top:3px}.presentation-select{font-weight:750}.presentation-present{border-color:#7bd9a9;background:#edfbf3}.presentation-absent{border-color:#f4aaa4;background:#fff1f0}.presentation-pending{border-color:#f1c27d;background:#fff8eb}.sticky-form-actions{position:sticky;bottom:14px;display:flex;justify-content:flex-end;padding:14px;margin-top:22px;background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 35px rgba(16,24,40,.12);backdrop-filter:blur(8px)}.publication-panel{margin-bottom:28px}.public-startlist-wrap{display:grid;gap:22px}.public-list-actions{justify-content:flex-end}.public-startlist-category h2{margin:3px 0 0}.public-startlist-table td:first-child{font-weight:800}.start-number-badge{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border-radius:12px;background:var(--navy);color:#fff;font-size:18px;font-weight:850}.startlist-sidebar-card{border-top:4px solid #175cd3}.startlist-public-hero{background:linear-gradient(135deg,#102a43,#175cd3)}
@media(max-width:760px){.startlist-summary-panel .panel-head,.publication-panel .panel-head{align-items:flex-start;flex-direction:column}.startlist-settings-form{grid-template-columns:1fr}.form-action-field{justify-content:stretch}.form-action-field .btn{width:100%}.public-list-actions{justify-content:stretch}.public-list-actions .btn{flex:1}.sticky-form-actions{bottom:8px}.sticky-form-actions .btn{width:100%}}
@media print{.site-header,.site-footer,.sidebar,.admin-topbar,.competition-tabs,.page-actions,.startlist-settings-form,.publication-panel,.sticky-form-actions,.alert,.btn,.menu-toggle{display:none!important}.admin-shell,.admin-main,.admin-content,.container{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.panel,.content-card{box-shadow:none!important;border:0!important;padding:10px!important;break-inside:avoid}.startlist-summary-panel{display:none!important}.table-wrap{overflow:visible!important}.data-table{font-size:10pt}.data-table th,.data-table td{padding:7px!important}.startlist-table input,.startlist-table select{border:0!important;background:transparent!important;padding:0!important;appearance:none}.public-startlist-hero{padding:18px 0!important}.back-link{display:none!important}body{background:#fff!important}}

/* Registrátor 1.6 – přílohy, loga a rozhodující disciplína. */
.discipline-row{grid-template-columns:minmax(210px,1.5fr) minmax(145px,.8fr) minmax(155px,.9fr) minmax(100px,.5fr) minmax(170px,.8fr) 38px}
.discipline-tiebreaker{margin:0;align-self:center;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:#fff;font-size:13px;font-weight:800}
.discipline-tiebreaker input{flex:0 0 auto}
.tiebreaker-mark{color:#b7791f;font-size:.9em}
.competition-files-panel{max-width:1100px;margin-top:22px}
.competition-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.media-management-card{border:1px solid var(--border);border-radius:16px;background:var(--surface-2);padding:18px}
.media-management-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.media-management-head h3{margin:2px 0 0}
.current-logo{display:flex;align-items:center;gap:14px;padding:14px;background:#fff;border:1px solid var(--border);border-radius:14px;margin-bottom:12px}
.current-logo img{width:92px;height:72px;object-fit:contain;background:#fff;border-radius:10px}
.current-logo div{display:grid;gap:3px;min-width:0}
.current-logo small,.managed-logo-item small,.managed-document-item small{color:var(--muted)}
.empty-media-slot{padding:22px;text-align:center;border:1px dashed #c6ceda;border-radius:13px;color:var(--muted);background:#fff;margin-bottom:14px}
.upload-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.managed-logo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.managed-logo-item{display:grid;gap:8px;padding:12px;background:#fff;border:1px solid var(--border);border-radius:13px;min-width:0}
.managed-logo-item>a{display:grid;place-items:center;height:92px;background:#f8fafc;border-radius:10px}
.managed-logo-item img{max-width:100%;max-height:82px;object-fit:contain}
.managed-logo-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.documents-management-card{margin-top:18px}
.managed-document-list,.public-document-list{display:grid;gap:10px;margin-bottom:18px}
.managed-document-item,.public-document-item{display:flex;align-items:center;gap:14px;padding:13px 14px;background:#fff;border:1px solid var(--border);border-radius:13px}
.managed-document-info,.public-document-item>span:nth-child(2){display:grid;min-width:0;flex:1}
.managed-document-info a,.public-document-item strong{font-weight:850}
.managed-document-info small,.public-document-item small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.document-extension{display:grid;place-items:center;flex:0 0 54px;min-height:46px;padding:6px;border-radius:10px;background:#fff0ee;color:var(--primary-dark);font-size:12px;font-weight:900;letter-spacing:.04em}
.upload-document-form{display:grid;grid-template-columns:1fr 1.4fr auto;gap:14px;align-items:end;padding-top:18px;border-top:1px solid var(--border)}
.competition-organizer-logo{display:grid;place-items:center;flex:0 0 116px;width:116px;height:116px;padding:10px;background:#fff;border-radius:20px;box-shadow:0 12px 30px #0003}
.competition-organizer-logo img{max-width:100%;max-height:100%;object-fit:contain}
.public-document-item{transition:.18s}
.public-document-item:hover{border-color:#e3a39e;transform:translateY(-1px);box-shadow:0 8px 24px #11182712}
.document-download{margin-left:auto;color:var(--primary);font-weight:850;white-space:nowrap}
.sponsor-logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;margin-top:18px}
.sponsor-logo-grid figure{margin:0;display:grid;place-items:center;gap:8px;min-height:130px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff}
.sponsor-logo-grid img{max-width:100%;max-height:82px;object-fit:contain}
.sponsor-logo-grid figcaption{font-size:12px;font-weight:750;color:var(--muted);text-align:center}
.alert-info{background:#eef6ff;color:#194f82;border:1px solid #bfd7f0}
@media(max-width:1120px){.discipline-row{grid-template-columns:1fr 1fr}.discipline-row .discipline-name{grid-column:span 2}.discipline-tiebreaker{align-self:end}.competition-media-grid{grid-template-columns:1fr}.upload-document-form{grid-template-columns:1fr 1fr}.upload-document-form .btn{grid-column:span 2;justify-self:end}}
@media(max-width:720px){.competition-organizer-logo{width:88px;height:88px;flex-basis:88px}.competition-media-grid,.managed-logo-grid,.upload-document-form{grid-template-columns:1fr}.upload-document-form .btn{grid-column:auto;width:100%}.managed-document-item,.public-document-item{align-items:flex-start;flex-wrap:wrap}.managed-document-item form{width:100%}.managed-document-item form .btn{width:100%}.document-download{width:100%;margin-left:68px}.discipline-tiebreaker{align-self:stretch}.competition-title-row{align-items:flex-start}}

/* Registrátor 1.7 – editovatelná titulní strana a znak SDH. */
.homepage-editor-form{max-width:1120px}.homepage-block-list{display:grid;gap:16px}.homepage-block-editor{padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.homepage-block-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.homepage-block-empty{margin-top:14px}.homepage-content-section{padding-top:36px}.homepage-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.homepage-content-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:28px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 12px 36px #1118270d}.homepage-content-card h2{margin:0}.homepage-content-card .prose{flex:1}.homepage-content-card.is-highlight{background:linear-gradient(135deg,#102a43,#175cd3);color:#fff;border-color:transparent}.homepage-content-card.is-highlight h2,.homepage-content-card.is-highlight .prose{color:#fff}.homepage-content-card.is-highlight .prose{opacity:.92}.competition-card-heading{display:flex;align-items:flex-start;gap:12px}.organization-logo-thumb{flex:0 0 52px;width:52px;height:52px;padding:4px;object-fit:contain;border:1px solid var(--border);border-radius:12px;background:#fff}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:22px;align-items:start}.organization-logo-panel{position:sticky;top:22px}.organization-logo-preview{display:grid;place-items:center;min-height:210px;padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.organization-logo-preview img{max-width:100%;max-height:220px;object-fit:contain}.organization-logo-placeholder{display:grid;place-items:center;gap:10px;min-height:210px;padding:20px;border:2px dashed var(--border);border-radius:16px;background:var(--surface-2);color:var(--muted)}.organization-logo-placeholder span{display:grid;place-items:center;width:88px;height:88px;border-radius:22px;background:var(--navy);color:#fff;font-size:28px;font-weight:900}.logo-file-meta{overflow-wrap:anywhere}.compact-upload-form{gap:10px;margin:18px 0}.field-hint{margin:-4px 0 0;color:var(--muted);font-size:13px}.sidebar-organization-logo{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:3px;border-radius:10px;background:#fff}.sidebar-organization-logo img{max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:900px){.homepage-content-grid,.profile-layout{grid-template-columns:1fr}.organization-logo-panel{position:static}.homepage-content-section{padding-top:24px}}
@media(max-width:620px){.homepage-content-card{padding:20px}.competition-card-heading{align-items:center}.organization-logo-thumb{width:44px;height:44px;flex-basis:44px}}

/* 1.8.0 – servis, žádosti SDH a QR identifikace */
.action-row,.auth-link-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.auth-link-row{justify-content:space-between;margin-top:1rem;font-size:.92rem}.auth-link-row a{font-weight:700;color:var(--primary,#b42318)}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.backup-create-form{align-items:end}.danger-zone{border-color:#f2c3bf}.table-subline{display:block;max-width:620px;margin-top:.25rem;color:var(--muted,#667085);white-space:normal}.request-review-list{display:grid;gap:1rem}.request-review-card .detail-grid{margin-top:.5rem}.request-message,.request-decision{margin-top:1rem;padding:1rem;border-radius:12px;background:#f7f8fa}.request-review-form{margin-top:1rem;padding-top:1rem;border-top:1px solid #e4e7ec}.qr-module-info code{padding:.15rem .4rem;border-radius:.35rem;background:#f0f2f5;font-weight:700}.qr-label-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1rem}.qr-label-card{display:grid;grid-template-columns:145px 1fr;gap:1rem;align-items:center;background:#fff;border:1px solid #dfe3e8;border-radius:16px;padding:1rem;break-inside:avoid}.qr-label-image{display:block;width:145px;height:145px;object-fit:contain}.qr-label-copy h3{margin:.2rem 0 .35rem;font-size:1.15rem}.qr-label-copy p{margin:0 0 .6rem;color:var(--muted,#667085)}.qr-label-meta{display:grid;gap:.2rem}.qr-label-meta small{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.btn-success{background:#137a4d;color:#fff;border-color:#137a4d}.btn-success:hover{background:#0f6540}.request-access-form{max-width:620px}
@media(max-width:620px){.qr-label-card{grid-template-columns:110px 1fr}.qr-label-image{width:110px;height:110px}.auth-link-row{align-items:flex-start;flex-direction:column}}
@media print{.no-print,.sidebar,.admin-topbar,.portal-sidebar,.portal-topbar,.alert{display:none!important}.admin-main,.portal-main{margin:0!important}.admin-content,.portal-content{padding:0!important}.qr-label-grid{grid-template-columns:repeat(2,1fr);gap:8mm}.qr-label-card{border:1px solid #000;border-radius:0;padding:5mm;grid-template-columns:38mm 1fr}.qr-label-image{width:38mm;height:38mm}body{background:#fff!important}.panel{box-shadow:none!important}}


.entry-qr-mini{display:flex;align-items:center;gap:.75rem;margin-top:.8rem;padding:.65rem;border:1px solid var(--border);border-radius:.85rem;background:var(--surface-muted,#f7f9f8);max-width:20rem}.entry-qr-mini img{width:76px;height:76px;display:block;background:#fff;border-radius:.35rem}.entry-qr-mini div{display:flex;flex-direction:column;gap:.15rem}.entry-qr-mini small{color:var(--muted)}
@media print{.entry-qr-mini{break-inside:avoid}.entry-qr-mini img{width:64px;height:64px}}

/* Licence a copyright */
.legal-footer,.admin-legal-footer,.auth-legal-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.legal-footer a,.admin-legal-footer a,.auth-legal-footer a{color:var(--primary);font-weight:750}.admin-legal-footer{padding:0 38px 28px;color:var(--muted);font-size:12px}.admin-legal-footer a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.auth-legal-footer{width:min(520px,calc(100vw - 32px));justify-content:center;margin:22px auto 0;text-align:center;color:var(--muted);font-size:12px}.auth-legal-footer a{text-decoration:underline;text-underline-offset:3px}.legal-page{padding-top:38px}.legal-container{max-width:960px}.legal-card{margin-top:18px;padding:42px}.legal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding-bottom:26px;border-bottom:1px solid var(--border)}.legal-heading h1{margin:5px 0 8px;font-size:40px}.legal-copyright-box{display:flex;flex-direction:column;gap:5px;margin:26px 0;padding:18px 20px;border-radius:15px;background:var(--surface-2);border-left:4px solid var(--primary)}.legal-copyright-box span{color:var(--muted)}.legal-prose{display:grid;gap:28px}.legal-prose section{padding-bottom:24px;border-bottom:1px solid var(--border)}.legal-prose section:last-child{border-bottom:0;padding-bottom:0}.legal-prose h2{font-size:21px;margin:0 0 12px}.legal-prose p{line-height:1.72;margin:0 0 12px}.legal-prose ul{margin:10px 0 0;padding-left:24px;display:grid;gap:8px;line-height:1.62}.install-license-check{margin:4px 0 0}.install-license-check a{color:var(--primary);font-weight:750;text-decoration:underline;text-underline-offset:3px}@media(max-width:680px){.legal-card{padding:25px 20px}.legal-heading{display:block}.legal-heading .badge{display:inline-flex;margin-top:12px}.legal-heading h1{font-size:34px}.admin-legal-footer{padding:0 20px 24px;justify-content:center;text-align:center}}

/* 1.10.0 – individuální funkce SDH */
.feature-permissions{display:grid;gap:1rem}.feature-permission-group{border:1px solid var(--border,#dfe7e3);border-radius:16px;padding:1rem;background:rgba(248,251,249,.72)}.feature-permission-group h3{margin:0 0 .75rem;font-size:1rem}.feature-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.feature-permission-card{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem;border:1px solid var(--border,#dfe7e3);border-radius:13px;background:#fff;cursor:pointer}.feature-permission-card:hover{border-color:#9dc8b4}.feature-permission-card input{margin-top:.2rem;accent-color:#0b6b43}.feature-permission-card span{display:grid;gap:.2rem}.feature-permission-card strong{font-size:.94rem}.feature-permission-card small{color:var(--muted,#617068);line-height:1.35}.feature-status-list{display:flex;flex-wrap:wrap;gap:.35rem}.feature-disabled-note{border-left:4px solid #cc8a19;background:#fff8e8;padding:.8rem 1rem;border-radius:10px;color:#67470d}.portal-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem}.portal-feature-chip{display:flex;align-items:center;gap:.55rem;padding:.7rem .85rem;border-radius:12px;background:#f4f8f6;border:1px solid #dce8e2}.portal-feature-chip.is-disabled{opacity:.58}.portal-feature-chip::before{content:'✓';display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:#dff2e8;color:#0b6b43;font-weight:800}.portal-feature-chip.is-disabled::before{content:'×';background:#f5e3e3;color:#9c2f2f}@media(max-width:720px){.feature-permission-grid{grid-template-columns:1fr}}

/* 1.12.0 – více oddílů a účtů */
.dashboard-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.subform-card{display:block;border:1px solid var(--border);border-radius:16px;padding:1rem;margin-bottom:1rem;background:#fff}.subform-card.accent-card{background:var(--surface-soft,#f7f9fc);border-style:dashed}.account-card-head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin:.7rem 0 1rem}.btn-danger{background:#b42318;color:#fff;border-color:#b42318}@media(max-width:900px){.dashboard-grid.two-columns{grid-template-columns:1fr}.section-check-grid{grid-template-columns:1fr}}
/* Registrátor 1.15.0 – správa TV výsledků. */
.tv-credentials-panel{border-color:#b8e8cf}.tv-credential-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:center}.tv-qr-box{aspect-ratio:1;background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px;display:grid;place-items:center;color:var(--muted);text-align:center}.tv-qr-box svg{display:block;width:100%;height:100%}.tv-credential-copy{display:grid;gap:16px}.tv-secret-grid{margin:0}.tv-secret-grid strong{font-size:18px;overflow-wrap:anywhere}.tv-token-value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}.tv-credential-actions{justify-content:flex-start}.tv-screen-form{margin-top:18px}.tv-check-field{justify-content:flex-end}.tv-check-field .check-row{margin:0;min-height:48px;align-items:center}.tv-filter-fieldset{margin:0;border:1px solid var(--border);border-radius:14px;padding:16px}.tv-filter-fieldset legend{padding:0 7px;font-weight:800}.tv-filter-fieldset p{margin:0 0 10px}.tv-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 14px}.tv-check-grid .check-row{margin:4px 0}.tv-screen-list{display:grid;gap:18px;margin-top:30px}.tv-screen-list>.section-head{margin-top:10px}.tv-screen-card{display:grid;gap:16px}.tv-screen-settings{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0}.tv-screen-settings summary{cursor:pointer;font-weight:800;color:var(--primary)}.tv-screen-settings[open] summary{margin-bottom:16px}.tv-screen-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.tv-screen-actions form{margin:0}.tv-danger-button{color:var(--danger)}@media(max-width:900px){.tv-credential-grid{grid-template-columns:1fr}.tv-qr-box{width:min(280px,100%);margin:auto}.tv-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.tv-check-grid{grid-template-columns:1fr}.tv-screen-actions{align-items:stretch}.tv-screen-actions form,.tv-screen-actions button{width:100%}}
/* 1.15.1 – rozběhy, dráhy a samostatné odesílání výsledků na TV */
.result-start-meta{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.result-single-content{display:grid;gap:12px}.result-single-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:11px;border-top:1px solid var(--border)}.result-single-actions small,.result-saved-state{color:var(--muted)}.result-tv-hint{margin-bottom:22px}.result-single-form:target{outline:3px solid #84adff;outline-offset:3px}.startlist-settings-form{grid-template-columns:repeat(4,minmax(0,1fr))}.startlist-table td:nth-child(5){min-width:210px}.startlist-table td:nth-child(6){min-width:150px}
@media(max-width:1120px){.startlist-settings-form{grid-template-columns:1fr 1fr}.result-single-actions{justify-content:flex-start}}
@media(max-width:720px){.startlist-settings-form{grid-template-columns:1fr}.result-entry-card>header{display:grid;gap:12px}.result-start-meta{justify-content:flex-start}.result-single-actions{display:grid}.result-single-actions .btn{width:100%}}


/* 1.15.2 – veřejná stránka O systému */
.public-nav-link{padding:8px 10px;border-radius:10px;color:var(--text);font-size:13px;font-weight:780}.public-nav-link:hover{background:var(--surface-2);color:var(--primary)}
.about-hero{background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.18),transparent 28%),linear-gradient(135deg,#8f1c13,#c43227 60%,#e04c3f);color:#fff;padding:78px 0 82px}.about-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:48px;align-items:center}.about-hero-copy h1{font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-.045em;margin:16px 0 20px}.about-hero-copy>p{font-size:19px;max-width:720px;color:rgba(255,255,255,.84);margin:0}.about-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.about-primary-cta{background:#fff;color:var(--primary-dark);box-shadow:0 12px 28px rgba(73,14,10,.18)}.about-primary-cta:hover{background:#fff4f2;color:var(--primary-dark)}.about-secondary-cta{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}.about-secondary-cta:hover{background:rgba(255,255,255,.2)}.about-hero-panel{padding:30px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.12);border-radius:28px;backdrop-filter:blur(10px);display:grid;gap:14px}.about-panel-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:rgba(255,255,255,.78)}.about-hero-panel>strong{font-size:34px;line-height:1.08;letter-spacing:-.03em}.about-panel-points{display:grid;gap:9px;margin-top:6px}.about-panel-points span{position:relative;padding-left:22px;color:rgba(255,255,255,.88);font-weight:650}.about-panel-points span:before{content:'✓';position:absolute;left:0;top:0;color:#fff;font-weight:900}.about-page{padding-top:58px;padding-bottom:76px}.about-intro{max-width:790px;margin-bottom:32px}.about-intro h2,.about-section-heading h2{font-size:clamp(30px,4vw,44px);line-height:1.1;letter-spacing:-.035em;margin:7px 0 14px}.about-intro p{font-size:18px;color:var(--muted);margin:0}.about-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.about-feature-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:25px;box-shadow:0 9px 30px rgba(16,24,40,.045)}.about-feature-number{display:inline-grid;place-items:center;min-width:42px;height:30px;padding:0 10px;border-radius:999px;background:#fff0ee;color:var(--primary-dark);font-size:12px;font-weight:850;letter-spacing:.08em}.about-feature-card h3{font-size:21px;line-height:1.18;margin:18px 0 10px}.about-feature-card p{margin:0;color:var(--muted);line-height:1.66}.about-workflow-section{padding:70px 0 20px}.about-section-heading{max-width:720px;margin-bottom:26px}.about-workflow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.about-workflow article{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:24px;background:var(--surface-2);border:1px solid var(--border);border-radius:18px}.about-workflow article>span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--navy);color:#fff;font-size:20px;font-weight:850}.about-workflow h3{margin:1px 0 7px;font-size:19px}.about-workflow p{margin:0;color:var(--muted)}.about-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:48px 0}.about-support-card{margin:0}.about-support-card h2{font-size:28px;margin:7px 0 11px}.about-support-card p{margin:0;color:var(--muted);font-size:16px}.about-join-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:34px;align-items:center;padding:38px;border-radius:26px;background:linear-gradient(135deg,#111827,#283548);color:#fff;box-shadow:var(--shadow)}.about-join-card h2{font-size:clamp(28px,4vw,42px);line-height:1.1;letter-spacing:-.03em;margin:8px 0 14px}.about-join-card p{margin:0;color:#cbd5e1;font-size:17px;max-width:760px}.about-join-actions{display:grid;gap:14px;justify-items:stretch}.about-login-link{text-align:center;color:#dbe4f0;font-weight:700;font-size:14px}.about-login-link:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){.about-hero-grid,.about-join-card{grid-template-columns:1fr}.about-hero-panel{max-width:580px}.about-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-join-actions{justify-items:start}}
@media(max-width:680px){.header-inner{height:auto;min-height:72px;padding:10px 0;gap:10px}.brand>span:last-child{display:none}.header-actions{justify-content:flex-end}.public-nav-link{padding:7px 8px;font-size:12px}.admin-public-link{display:none}.about-hero{padding:56px 0 60px}.about-hero-copy h1{font-size:42px}.about-hero-actions{display:grid}.about-hero-actions .btn{width:100%}.about-hero-panel{padding:23px}.about-page{padding-top:42px;padding-bottom:52px}.about-feature-grid,.about-workflow,.about-support-grid{grid-template-columns:1fr}.about-workflow-section{padding-top:54px}.about-workflow article{grid-template-columns:46px 1fr;padding:20px}.about-workflow article>span{width:46px;height:46px}.about-support-grid{padding:38px 0}.about-join-card{padding:27px 22px}.about-join-actions{justify-items:stretch}.about-join-actions .btn{width:100%}}
@media(max-width:420px){.header-actions .btn{padding:7px 8px;font-size:11px}.public-nav-link{font-size:11px}.about-hero-copy h1{font-size:37px}}

/* 1.15.3 – flexibilní startovní pořadí a editace vrácené přihlášky */
.compact-form-grid{grid-template-columns:minmax(260px,1fr) minmax(220px,.5fr);align-items:end}.registration-edit-card{max-width:980px;margin:0 auto}.returned-registration-action .alert{margin-bottom:12px}.returned-registration-action .page-actions{justify-content:flex-start}.startlist-summary-panel .stat-card strong{font-size:clamp(24px,3vw,38px)}
@media(max-width:760px){.compact-form-grid{grid-template-columns:1fr}.registration-edit-card{padding:22px}.startlist-summary-panel .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 1.15.5 – interní rozběhy, přehled časů obou drah a medailové výsledky */
.heat-time-overview{border:1px solid #d7e2dc;background:#f7faf8;border-radius:12px;padding:11px 12px}.heat-time-overview-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.heat-time-overview-title span{font-weight:900;color:#254237}.heat-time-overview-title small{color:var(--muted)}.heat-time-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.heat-time-lane{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;align-items:center;padding:9px 10px;background:#fff;border:1px solid var(--border);border-radius:10px}.heat-time-lane>span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#667085}.heat-time-lane>strong{justify-self:end;font-size:18px;color:#101828}.heat-time-lane>small{grid-column:1/-1;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heat-time-lane.is-current{border-color:#8fc9ad;box-shadow:0 0 0 2px #dff4e8 inset}.public-ranking-card .podium-row td{font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact}.public-ranking-card .podium-1 td{background:#fff4c2;border-top-color:#e4b72f;border-bottom-color:#e4b72f}.public-ranking-card .podium-2 td{background:#eef1f4;border-top-color:#a7b0bb;border-bottom-color:#a7b0bb}.public-ranking-card .podium-3 td{background:#f5dfd1;border-top-color:#b8784f;border-bottom-color:#b8784f}.public-ranking-card .podium-1 .rank-cell{color:#7a5700}.public-ranking-card .podium-2 .rank-cell{color:#4f5966}.public-ranking-card .podium-3 .rank-cell{color:#7c4428}.podium-medal{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;font-weight:950;background:#fff;border:2px solid currentColor;box-shadow:0 2px 7px #11182718}@media(max-width:720px){.heat-time-pair{grid-template-columns:1fr}.heat-time-overview-title{align-items:flex-start;flex-direction:column;gap:2px}}

/* 1.15.6 – kompaktní zápis výsledků a jemnější veřejná startovní čísla */
.public-startlist-table .start-number-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:28px;padding:0 7px;border-radius:8px;background:#eef1f5;color:#344054;border:1px solid var(--border);font-size:14px;font-weight:750;box-shadow:none}
.compact-results-toolbar{margin-bottom:14px;align-items:center}
.compact-results-entry{display:grid;gap:14px}.compact-results-category{margin:0;padding:0;overflow:hidden}.compact-results-category-head{padding:13px 16px;border-bottom:1px solid var(--border);background:#fff}.compact-results-category-head h2{margin:2px 0 0;font-size:18px}.compact-discipline-block{padding:12px 14px 14px;border-bottom:1px solid var(--border)}.compact-discipline-block:last-child{border-bottom:0}.compact-discipline-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}.compact-discipline-title>strong{font-size:15px}.compact-start-list{display:grid;gap:8px}.compact-start-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:start}.compact-result-lane{padding:10px;border:1px solid var(--border);border-radius:12px;background:#fff}.compact-result-identity{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.compact-result-name{min-width:0}.compact-result-name strong{display:block;font-size:15px;line-height:1.2}.compact-result-name span{display:block;margin-top:2px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-result-meta{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.compact-result-meta>span{padding:3px 6px;border-radius:7px;background:#f2f4f7;color:#475467;font-size:11px;white-space:nowrap}.compact-result-fields{display:grid;grid-template-columns:minmax(92px,.85fr) minmax(82px,.75fr) minmax(104px,.9fr) minmax(120px,1.15fr) auto;gap:6px;align-items:end}.compact-result-fields .field{margin:0}.compact-result-fields label{font-size:11px;margin-bottom:3px}.compact-result-fields input,.compact-result-fields select{min-height:36px;padding:7px 8px;font-size:13px}.compact-result-save{min-height:36px;padding:7px 12px;white-space:nowrap}.compact-publication-panel{margin-top:14px;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:13px 16px}.compact-publication-copy{display:flex;flex-direction:column;gap:2px}.compact-publication-copy span{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.compact-result-fields{grid-template-columns:repeat(2,minmax(100px,1fr))}.compact-note-field{grid-column:span 2}.compact-result-save{grid-column:span 2;width:100%}}
@media(max-width:760px){.compact-start-row{grid-template-columns:1fr}.compact-result-identity{display:grid}.compact-result-meta{justify-content:flex-start}.compact-publication-panel{align-items:stretch;flex-direction:column}.compact-publication-panel .action-group{width:100%}.compact-publication-panel .btn{flex:1}.compact-result-fields{grid-template-columns:1fr 1fr}.compact-note-field{grid-column:span 2}}
@media(max-width:460px){.compact-result-fields{grid-template-columns:1fr}.compact-note-field,.compact-result-save{grid-column:auto}}


/* 1.15.8 – jeden závodník = jeden kompaktní řádek výsledků */
.compact-discipline-title small{color:var(--muted);font-size:12px}.compact-result-table-head,.compact-result-row{display:grid;grid-template-columns:minmax(180px,1.45fr) minmax(130px,1fr) 56px 56px minmax(92px,.8fr) minmax(88px,.75fr) minmax(125px,.95fr) minmax(135px,1.1fr) 82px;gap:7px;align-items:center}.compact-result-table-head{padding:0 9px 5px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.compact-result-row-list{display:grid;gap:5px}.compact-result-row{padding:7px 9px;border:1px solid var(--border);border-radius:10px;background:#fff}.compact-result-row:focus-within{border-color:#98a2b3;box-shadow:0 0 0 2px #eef2f6}.compact-result-row input,.compact-result-row select{width:100%;min-height:34px;padding:6px 7px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:12px}.compact-result-row .compact-result-name strong{font-size:14px}.compact-result-row .compact-result-name span{font-size:10px}.compact-result-sdh{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.compact-result-short{text-align:center;font-size:12px}.compact-result-input,.compact-result-select,.compact-result-note{min-width:0}.compact-result-action{display:grid;gap:2px;justify-items:stretch}.compact-result-action small{font-size:9px;color:var(--muted);text-align:center}.compact-result-save{min-height:34px;padding:6px 9px;font-size:12px}.mobile-field-label{display:none}.public-start-number-soft,.public-startlist-table .start-number-badge{font-size:11px;padding:3px 6px;min-width:0;font-weight:700}
@media(max-width:1180px){.compact-result-table-head{display:none}.compact-result-row{grid-template-columns:minmax(180px,1.4fr) minmax(120px,1fr) 52px 52px repeat(2,minmax(85px,.75fr)) minmax(120px,.9fr) minmax(130px,1fr) 78px;overflow-x:auto}}
@media(max-width:820px){.compact-result-row{grid-template-columns:1fr 1fr;gap:7px}.compact-result-name,.compact-result-sdh{grid-column:span 1}.compact-result-input,.compact-result-select,.compact-result-note{grid-column:span 1}.compact-result-note{grid-column:span 2}.compact-result-action{grid-column:span 2}.compact-result-action small{display:none}.mobile-field-label{display:block;margin-bottom:2px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.compact-result-short{text-align:left}.compact-result-save{width:100%}}
@media(max-width:500px){.compact-result-row{grid-template-columns:1fr}.compact-result-name,.compact-result-sdh,.compact-result-note,.compact-result-action{grid-column:auto}}


/* 1.15.9 – tabulkové zapisování výsledků a volitelné sloupce */
.results-toolbar-left{align-items:center}.results-column-picker{position:relative}.results-column-picker>summary{list-style:none;cursor:pointer}.results-column-picker>summary::-webkit-details-marker{display:none}.results-column-picker-panel{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:min(390px,calc(100vw - 42px));padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(16,24,40,.16)}.results-column-picker-panel>strong{display:block;font-size:15px}.results-column-picker-panel>.muted{margin:4px 0 10px;font-size:12px}.results-column-picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px}.results-column-picker-grid .check-row{font-size:13px}.results-columns-reset{margin-top:10px;font-size:12px}.results-sheet-panel{padding:0;overflow:hidden}.results-sheet-panel .table-wrap,.results-matrix-panel .table-wrap{margin:0}.results-sheet-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border)}.results-sheet-head h2{margin:2px 0 0;font-size:20px}.results-sheet-wrap{overflow:auto}.results-sheet-table{min-width:1320px;margin:0}.results-sheet-table th{padding:9px 8px;font-size:11px;white-space:nowrap;background:#f5f6f8}.results-sheet-table td{padding:6px 7px;vertical-align:middle}.results-sheet-table tbody tr:nth-child(even){background:#fbfcfd}.results-sheet-table tbody tr:hover{background:#f8fafc}.results-sheet-table tbody tr.is-saved{border-left:3px solid #b7d7c5}.results-sheet-table input,.results-sheet-table select{width:100%;min-height:36px;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:13px}.results-sheet-number,.results-sheet-lane{text-align:center;font-weight:800;width:58px}.results-sheet-name{min-width:190px}.results-sheet-name strong{display:block;font-size:14px;line-height:1.2}.results-sheet-name small,.results-sheet-discipline small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.results-sheet-sdh{min-width:145px}.results-sheet-category{min-width:145px}.results-sheet-discipline{min-width:160px}.results-sheet-value{min-width:125px}.results-sheet-penalty{min-width:105px}.results-sheet-status{min-width:130px}.results-sheet-note{min-width:165px}.results-sheet-action{min-width:92px;text-align:center}.results-sheet-save{width:100%;min-height:36px;padding:7px 10px;font-size:12px}.results-sheet-action small{display:block;margin-top:3px;color:var(--muted);font-size:9px;white-space:nowrap}.results-sheet-table [hidden]{display:none!important}@media(max-width:720px){.results-column-picker-panel{position:fixed;left:14px;right:14px;top:auto;width:auto}.results-column-picker-grid{grid-template-columns:1fr}.results-sheet-head{align-items:flex-start;flex-direction:column}.results-sheet-table{min-width:1180px}}

/* 1.16.0 – výsledky: disciplíny, volitelné pořadí sloupců a barevná čísla drah */
.results-discipline-filter-field,.results-category-filter-field{margin:0;min-width:min(280px,42vw)}.results-discipline-filter-field label,.results-category-filter-field label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.results-discipline-filter-field select,.results-category-filter-field select{min-height:38px;padding:7px 34px 7px 10px}.results-column-picker-panel{width:min(450px,calc(100vw - 42px))}.results-column-presets{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.results-column-picker-list{display:grid;gap:5px;max-height:430px;overflow:auto;padding-right:3px}.results-column-picker-item{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 8px;border:1px solid var(--border);border-radius:9px;background:#fff}.results-column-picker-item.is-dragging{opacity:.45}.results-column-picker-item.is-fixed{background:#f8fafc}.results-column-picker-item .drag-handle{cursor:grab;color:#98a2b3;font-weight:900;letter-spacing:-.1em}.results-column-picker-item .check-row{margin:0;flex:1}.results-column-picker-item>small{margin-left:auto;color:var(--muted);font-size:10px;text-transform:uppercase}.results-sheet-table{min-width:1440px}.results-sheet-short,.results-sheet-rank{text-align:center;font-weight:750}.results-sheet-row.is-absent,.results-matrix-table tr.is-absent{opacity:.56;background:#f8fafc}.results-absent-note{color:#b42318!important;font-weight:800}.lane-number-badge{display:inline-grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:8px;background:#eef2f6;color:#344054;font-weight:950;border:1px solid currentColor}.lane-number-badge.lane-1{color:#c62828;background:#fff1f1}.lane-number-badge.lane-2{color:#16794b;background:#eefaf3}.lane-number-badge.lane-3{color:#175cd3;background:#eff8ff}.lane-number-badge.lane-4{color:#8a6100;background:#fff9db}.lane-number-badge.lane-5{color:#6941c6;background:#f4f3ff}.lane-number-badge.lane-6{color:#0e7090;background:#ecfdff}.lane-number-badge.lane-7{color:#9e165f;background:#fdf2fa}.lane-number-badge.lane-8{color:#475467;background:#f2f4f7}.results-matrix-panel{padding:0;overflow:hidden}.results-matrix-table{min-width:1050px;margin:0}.results-matrix-table th,.results-matrix-table td{padding:8px 9px}.results-matrix-value{display:grid;gap:2px;width:100%;min-width:90px;padding:7px 8px;border:1px solid var(--border);border-radius:9px;background:#fff;color:inherit;cursor:pointer;text-align:left}.results-matrix-value:hover{border-color:#98a2b3;background:#f8fafc}.results-matrix-value strong{font-variant-numeric:tabular-nums}.results-matrix-value small{color:var(--muted);font-size:9px;text-transform:uppercase}.results-sheet-table th[data-results-col="start"],.results-sheet-table td[data-results-col="start"]{color:#667085;font-weight:700}@media(max-width:760px){.compact-results-toolbar{align-items:stretch;flex-direction:column}.results-toolbar-left{align-items:stretch;flex-direction:column}.results-discipline-filter-field,.results-category-filter-field{min-width:0;width:100%}.results-discipline-filter-field select,.results-category-filter-field select{width:100%}.results-column-picker>summary{width:100%;text-align:center}.results-column-picker-panel{max-height:75vh;overflow:auto}.results-sheet-table{min-width:1260px}}

/* 1.16.0 – rozšířené nastavení TV výsledků */
.tv-config-shell{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface,#fff)}
.tv-config-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-bottom:1px solid var(--border);background:var(--surface-soft,#f7f9fc)}
.tv-config-tab{appearance:none;border:0;background:transparent;color:var(--muted);padding:10px 14px;border-radius:10px;font:inherit;font-weight:800;cursor:pointer}
.tv-config-tab:hover{background:rgba(38,93,173,.08);color:var(--primary)}
.tv-config-tab.is-active{background:var(--primary);color:#fff}
.tv-config-panel{padding:18px}.tv-config-panel[hidden]{display:none}.tv-config-panel>.form-grid{margin:0}
.tv-column-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tv-preview-help{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px}
.tv-live-preview{aspect-ratio:16/9;width:100%;border-radius:18px;overflow:hidden;background:#08111e;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.tv-preview-screen{height:100%;padding:2.6%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:2%;font-size:clamp(7px,1vw,14px);background:#07111f;color:#f8fafc}
.tv-preview-screen.preview-theme-light{background:#eef2f7;color:#152033}.tv-preview-header{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:2%;border-bottom:1px solid rgba(128,145,164,.35);padding-bottom:1.2%}.tv-preview-header span{font-weight:850;color:#ef4444;text-transform:uppercase;letter-spacing:.08em}.tv-preview-header strong{text-align:center;font-size:1.55em}.tv-preview-header small{text-align:right}.tv-preview-category{display:flex;justify-content:space-between;align-items:baseline;font-size:1.4em;font-weight:900}.tv-preview-category small{font-size:.65em;color:#9fb0c5;font-weight:700}.tv-preview-screen table{width:100%;border-collapse:collapse;table-layout:auto;background:rgba(255,255,255,.04);border-radius:8px;overflow:hidden}.tv-preview-screen th,.tv-preview-screen td{padding:.48em .65em;border-bottom:1px solid rgba(128,145,164,.24);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-preview-screen th{font-size:.8em;text-transform:uppercase;color:#9fb0c5;text-align:left}.tv-preview-screen td[data-key="rank"]{font-weight:950;text-align:center}.tv-preview-screen td[data-key="disciplines"],.tv-preview-screen td[data-key="penalty"],.tv-preview-screen td[data-key="total"]{font-weight:900;text-align:right}.tv-preview-screen.preview-density-large th,.tv-preview-screen.preview-density-large td{padding:.72em .7em}.tv-preview-screen.preview-density-compact th,.tv-preview-screen.preview-density-compact td{padding:.3em .55em}.tv-preview-screen.preview-podium-stripe_number .preview-rank-1,.tv-preview-screen.preview-podium-stripe_number .preview-rank-2,.tv-preview-screen.preview-podium-stripe_number .preview-rank-3{border-left:.35em solid transparent}.tv-preview-screen.preview-podium-stripe_number .preview-rank-1{border-left-color:#d4a72c}.tv-preview-screen.preview-podium-stripe_number .preview-rank-2{border-left-color:#9aa5b1}.tv-preview-screen.preview-podium-stripe_number .preview-rank-3{border-left-color:#a86e3b}.tv-preview-screen.preview-podium-stripe_number .preview-rank-1 td[data-key="rank"]{color:#d4a72c}.tv-preview-screen.preview-podium-stripe_number .preview-rank-2 td[data-key="rank"]{color:#9aa5b1}.tv-preview-screen.preview-podium-stripe_number .preview-rank-3 td[data-key="rank"]{color:#a86e3b}.tv-preview-screen.preview-podium-cell .preview-rank-1 td[data-key="rank"]{background:rgba(212,167,44,.18)}.tv-preview-screen.preview-podium-cell .preview-rank-2 td[data-key="rank"]{background:rgba(154,165,177,.18)}.tv-preview-screen.preview-podium-cell .preview-rank-3 td[data-key="rank"]{background:rgba(168,110,59,.18)}.tv-preview-screen.preview-podium-medal .preview-rank-1 td[data-key="rank"],.tv-preview-screen.preview-podium-medal .preview-rank-2 td[data-key="rank"],.tv-preview-screen.preview-podium-medal .preview-rank-3 td[data-key="rank"]{border-radius:999px;font-weight:950}.tv-preview-screen.preview-podium-dot .preview-rank-1 td[data-key="disciplines"]::before,.tv-preview-screen.preview-podium-dot .preview-rank-2 td[data-key="disciplines"]::before,.tv-preview-screen.preview-podium-dot .preview-rank-3 td[data-key="disciplines"]::before{content:"● ";font-size:.75em}.tv-preview-screen.preview-podium-underline .preview-rank-1 td[data-key="name"],.tv-preview-screen.preview-podium-underline .preview-rank-2 td[data-key="name"],.tv-preview-screen.preview-podium-underline .preview-rank-3 td[data-key="name"]{text-decoration:underline;text-decoration-thickness:.16em;text-underline-offset:.25em}.tv-preview-footer{display:flex;align-items:center;gap:2%;font-size:.9em}.tv-preview-footer i{display:block;flex:1;height:.55em;background:rgba(128,145,164,.3);border-radius:999px;overflow:hidden}.tv-preview-footer b{display:block;height:100%;background:#34d399;border-radius:inherit}
@media(max-width:800px){.tv-config-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tv-column-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-preview-help{display:grid}.tv-preview-header{grid-template-columns:1fr auto}.tv-preview-header strong{grid-column:1/-1;grid-row:2;text-align:left}.tv-preview-header small{text-align:right}}
@media(max-width:520px){.tv-config-tabs,.tv-column-grid{grid-template-columns:1fr}.tv-config-panel{padding:12px}}

.privacy-form-note{margin:14px 0 18px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);color:var(--muted);font-size:13px;line-height:1.55}.privacy-form-note a{color:var(--primary);font-weight:800;text-decoration:underline;text-underline-offset:3px}

/* 1.16.1 – rychlé ukládání výsledků a stavové odezvy */
.results-sheet-row.is-saving{opacity:.72}.results-sheet-row.is-saving .results-sheet-save{cursor:wait}.results-sheet-row.is-just-saved{animation:resultRowSaved 1.4s ease}.results-sheet-row.is-save-error{box-shadow:inset 4px 0 0 #d92d20}.results-save-state{min-height:12px}.results-async-message{margin:8px 0 12px;padding:9px 12px;border:1px solid #a6d5b8;border-radius:10px;background:#effaf3;color:#176b3a;font-size:13px;font-weight:750}.results-async-message.is-error{border-color:#f3b5ad;background:#fff3f2;color:#b42318}@keyframes resultRowSaved{0%{background:#dff6e8}100%{background:transparent}}

/* 1.16.4 – přímý zápis času min | sek | set */
.results-sheet-value{min-width:190px}.results-time-entry{display:grid;grid-template-columns:minmax(42px,1fr) 10px minmax(42px,1fr) 10px minmax(42px,1fr);align-items:end;gap:4px;min-width:180px}.results-time-entry label{display:grid;gap:2px;margin:0}.results-time-entry label>span{font-size:9px;line-height:1;text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.results-time-entry input{min-width:0!important;text-align:center;font-variant-numeric:tabular-nums;font-weight:800;padding-inline:4px!important}.results-time-entry>b{padding-bottom:8px;text-align:center;color:#667085;font-size:17px;line-height:1}

/* 1.17.0 – režimy výsledků a konfigurovatelná veřejná výsledková listina */
.result-profile-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.result-profile-card{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px solid var(--border);border-radius:13px;background:#f8fafc;color:var(--muted);font-size:12px}.result-profile-card strong{color:var(--text);font-size:13px}.result-profile-card.is-active{border-color:#f2a8a1;background:#fff4f2;box-shadow:inset 3px 0 0 var(--primary)}.result-profile-rule{display:flex;flex-direction:column;gap:4px;margin:0 0 18px;padding:13px 15px;border:1px solid #cfe2f7;border-radius:13px;background:#f4f9ff}.result-profile-rule strong{font-size:14px}.result-profile-rule span{color:#475467;font-size:12px}.results-profile-active-rule{margin-top:-6px}.public-results-display-panel .form-actions{margin-top:0}.public-results-display-panel fieldset{min-width:0}.public-configurable-results-table{font-variant-numeric:tabular-nums}.public-configurable-results-table .public-total-cell{white-space:nowrap}.public-results-density-comfortable .public-configurable-results-table th,.public-results-density-comfortable .public-configurable-results-table td{padding:18px 20px}.public-results-density-normal .public-configurable-results-table th,.public-results-density-normal .public-configurable-results-table td{padding:13px 16px}.public-results-density-compact .public-configurable-results-table th,.public-results-density-compact .public-configurable-results-table td{padding:8px 11px;font-size:13px}.public-podium-row .public-rank-number{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;font-weight:900}.public-podium-1 .public-rank-number{color:#8a6100}.public-podium-2 .public-rank-number{color:#667085}.public-podium-3 .public-rank-number{color:#9a4b18}.podium-style-stripe_number.public-podium-row{box-shadow:inset 4px 0 0 currentColor}.podium-style-cell.public-podium-1 .rank-cell{background:#fff7cf}.podium-style-cell.public-podium-2 .rank-cell{background:#f2f4f7}.podium-style-cell.public-podium-3 .rank-cell{background:#fff0e8}.podium-style-dot .public-entry-name strong:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:1px;background:currentColor}.podium-style-underline .public-entry-name strong{border-bottom:3px solid currentColor;padding-bottom:2px}.public-podium-1{color:#7a5a00}.public-podium-2{color:#475467}.public-podium-3{color:#8a4014}.public-podium-row td:not(.rank-cell):not(.public-entry-name){color:var(--text)}
@media(max-width:980px){.result-profile-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.result-profile-cards{grid-template-columns:1fr}.public-results-display-panel .tv-column-grid{grid-template-columns:1fr 1fr}}

/* 1.17.3 – filtr SDH v prezentaci a startovní listině */
.startlist-participants-head{align-items:flex-end}.startlist-organization-filter-field{min-width:min(340px,100%);margin-left:auto}.startlist-organization-filter-field label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.startlist-organization-filter-field select{min-height:40px}.startlist-organization-filter-field small{color:var(--muted);font-size:11px}.startlist-filter-empty{margin:16px 0 0}@media(max-width:760px){.startlist-participants-head{align-items:stretch;flex-direction:column}.startlist-organization-filter-field{width:100%;min-width:0;margin-left:0}}

/* 1.17.4 – aktivní filtr SDH musí být v prezentaci jednoznačně viditelný */
.startlist-filter-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.startlist-filter-reset{padding:0;color:var(--primary);font-size:11px;font-weight:800}.startlist-organization-filter-field select.is-active-filter{border-color:#f79009;background:#fffaeb;box-shadow:0 0 0 3px rgba(247,144,9,.12)}.startlist-filter-warning{margin:14px 0 16px}.startlist-filter-warning strong{display:inline;margin-right:4px}

/* 1.17.9 – soupisky družstev */
.team-members-section{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:13px;background:#fff}.team-members-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.team-members-head>div{display:grid;gap:2px}.team-members-head small{color:var(--muted);font-size:12px}.team-members-list{display:grid;gap:10px}.team-member-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr) 34px;gap:10px;align-items:end;padding:10px;background:var(--surface-2);border-radius:11px}.team-member-remove{margin-bottom:3px}.team-member-summary{display:grid;gap:7px;margin-top:7px}.team-member-display-list{display:flex;flex-wrap:wrap;gap:7px}.team-member-display-list span{display:inline-flex;align-items:baseline;gap:5px;padding:5px 8px;border-radius:9px;background:var(--surface-2);color:var(--text);font-weight:700}.team-member-display-list small{color:var(--muted);font-weight:600}@media(max-width:680px){.team-members-head{align-items:flex-start;flex-direction:column}.team-member-row{grid-template-columns:1fr 42px}.team-member-row .field:first-child{grid-column:1/-1}.team-member-remove{grid-column:2;grid-row:2}}
/* 1.17.9 – nastavení kategorií družstev a kontrola soupisky */
.team-category-row{grid-template-columns:minmax(210px,1.8fr) minmax(95px,.55fr) minmax(95px,.55fr) minmax(135px,.7fr) 38px}
.team-member-age-status{padding:8px 10px;border-radius:9px;background:#eef1f5;color:var(--muted);font-size:12px;font-weight:700;grid-column:1/-1}
.team-member-age-status.is-success{background:#e7f8ef;color:var(--success)}
.team-member-age-status.is-error{background:#feeceb;color:var(--danger)}
.team-members-count-note{font-weight:800;color:var(--text)}
@media(max-width:900px){.team-category-row{grid-template-columns:1fr 1fr}.team-category-row .age-name{grid-column:1/-1}.team-category-row .category-remove{grid-column:2;justify-self:end}}

/* 1.17.13 – mobilní/tabletová webová aplikace a PWA */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-width:0;overscroll-behavior-y:none}button,.btn,a,input,select,textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.admin-topbar-title{min-width:0}.admin-topbar-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.pwa-install-button[hidden]{display:none!important}.sidebar-backdrop{display:none;border:0;padding:0}.mobile-bottom-nav{display:none}.public-menu-toggle{display:none;border:1px solid var(--border);background:#fff;border-radius:11px;width:44px;height:44px;place-items:center;font-size:20px;cursor:pointer}.touch-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-gutter:stable}.touch-scroll.has-horizontal-overflow{background-image:linear-gradient(to right,rgba(16,24,40,.08),transparent 16px),linear-gradient(to left,rgba(16,24,40,.08),transparent 16px);background-position:left center,right center;background-repeat:no-repeat;background-size:16px 100%}.table-wrap,.results-sheet-wrap{max-width:100%}.data-table{border-collapse:collapse}.competition-tabs,.tv-config-tabs{scroll-behavior:smooth}.pwa-standalone body{padding-top:env(safe-area-inset-top,0)}

@media(max-width:1100px){
  .admin-shell{display:block}.admin-main{grid-column:auto}.sidebar{width:min(86vw,320px);max-width:320px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 48px rgba(0,0,0,.24);padding-top:calc(20px + env(safe-area-inset-top,0));padding-bottom:calc(20px + env(safe-area-inset-bottom,0))}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:29;background:rgba(9,16,28,.52);opacity:0;pointer-events:none;transition:opacity .2s ease}.sidebar.open+.sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar-open{overflow:hidden}.menu-toggle{display:grid;place-items:center;flex:0 0 44px}.admin-topbar{height:auto;min-height:82px;padding:12px 20px;gap:14px}.admin-content{padding:24px 20px 54px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout,.update-grid{grid-template-columns:1fr}.organization-logo-panel{position:static}.detail-sidebar{position:static}.admin-legal-footer{padding-inline:20px}.results-sheet-wrap,.table-wrap{overflow-x:auto}.results-column-picker-panel{max-width:calc(100vw - 40px)}
}

@media(min-width:681px) and (max-width:1100px){
  .form-grid{gap:14px}.content-card,.panel,.sidebar-card{padding:22px}.competition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-entry-form{gap:16px}.discipline-row{grid-template-columns:minmax(180px,1.3fr) minmax(120px,.8fr) minmax(135px,.9fr) minmax(90px,.5fr) 38px}.admin-topbar h1{font-size:24px}.admin-content{max-width:100vw}.tv-config-panel{padding:16px}
}

@media(max-width:820px){
  .header-inner{position:relative;height:auto;min-height:68px;padding:10px 0;gap:10px}.header-inner>.brand{min-width:0}.header-inner>.brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-menu-toggle{display:grid;margin-left:auto}.header-actions[data-public-menu]{display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(320px,calc(100vw - 24px));padding:12px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 20px 50px rgba(16,24,40,.18);align-items:stretch;flex-direction:column}.header-actions[data-public-menu].is-open{display:flex}.header-actions[data-public-menu] .btn,.header-actions[data-public-menu] .public-nav-link{width:100%;min-height:44px;justify-content:center;text-align:center;padding:10px 12px;border-radius:11px}.header-actions[data-public-menu] .public-nav-link{display:grid;place-items:center;background:var(--surface-2);font-weight:750}.hero{padding:52px 0}.hero-grid{gap:24px}.hero-panel{width:100%;min-width:0}.section{padding:36px 0 54px}.detail-layout{grid-template-columns:1fr}.competition-title-row{gap:12px}.competition-title-row h1{font-size:clamp(30px,8vw,46px)}
}

@media(max-width:680px){
  :root{--radius:16px}.container{width:min(100% - 24px,1160px)}body{line-height:1.48}.site-header{padding-top:env(safe-area-inset-top,0)}.brand{gap:9px}.brand-mark.small{width:38px;height:38px}.hero{padding:42px 0}.hero h1{font-size:clamp(36px,11vw,48px)}.hero p{font-size:16px}.hero-panel{padding:22px}.hero-panel strong{font-size:48px}.competition-grid{gap:14px}.competition-card{border-radius:18px}.competition-card-body{padding:18px}.competition-card h3{font-size:20px}.content-card,.panel,.sidebar-card{padding:16px;border-radius:16px}.detail-main{gap:14px}.form-section{padding-bottom:20px;margin-bottom:20px}.form-grid,.info-grid,.admin-info{grid-template-columns:1fr;gap:13px}.span-2{grid-column:auto}.field{gap:6px}.field label{font-size:13px}input,select,textarea{min-height:48px;padding:12px 13px;font-size:16px;border-radius:12px}.check-row input{min-height:0;width:20px;height:20px}.btn{min-height:44px;padding:10px 14px}.btn-small{min-height:42px}.page-actions,.section-head,.section-inline,.panel-head{gap:10px}.page-actions{width:100%}.page-actions>.btn,.page-actions>form,.page-actions>form>.btn{width:100%}.team-block{padding:14px;border-radius:14px}.team-head{align-items:flex-start;gap:10px}.remove-team{width:40px;height:40px;flex:0 0 40px}.team-members-section{padding:12px}.team-member-row{grid-template-columns:1fr 44px;padding:10px}.team-member-row .field:first-child{grid-column:1/-1}.team-member-remove{grid-column:2;grid-row:2;width:42px;height:42px}.age-category-row{padding:12px}.success-card{padding:28px 18px}.auth-shell{place-content:center;padding:calc(18px + env(safe-area-inset-top,0)) 12px calc(18px + env(safe-area-inset-bottom,0))}.auth-card{width:min(100%,460px);padding:24px 18px}.auth-legal-footer{width:100%;padding:0 12px}.admin-topbar{min-height:72px;padding:10px 12px;gap:10px;padding-top:calc(10px + env(safe-area-inset-top,0))}.admin-topbar .eyebrow{font-size:9px;letter-spacing:.1em}.admin-topbar h1{font-size:20px;line-height:1.15}.admin-topbar-actions .pwa-install-button{width:42px;min-width:42px;max-width:42px;padding:0;overflow:hidden;text-indent:-999px;position:relative}.admin-topbar-actions .pwa-install-button::after{content:"↓";position:absolute;inset:0;display:grid;place-items:center;text-indent:0;font-size:18px}.admin-content{padding:14px 12px calc(94px + env(safe-area-inset-bottom,0))}.admin-legal-footer{padding:0 16px calc(94px + env(safe-area-inset-bottom,0));justify-content:center;text-align:center}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:15px}.stat-card strong{font-size:30px}.competition-tabs{flex-wrap:nowrap;overflow-x:auto;margin:0 -12px 14px;padding:7px 12px;border-left:0;border-right:0;border-radius:0;scrollbar-width:none}.competition-tabs::-webkit-scrollbar,.tv-config-tabs::-webkit-scrollbar{display:none}.competition-tabs a{flex:0 0 auto;white-space:nowrap}.tv-config-tabs{display:flex!important;flex-wrap:nowrap;overflow-x:auto;gap:5px;margin-inline:-12px;padding:7px 12px;border-left:0;border-right:0}.tv-config-tab{flex:0 0 auto;white-space:nowrap}.tv-column-grid{grid-template-columns:1fr!important}.table-wrap{margin:0 -16px -16px;overflow-x:auto;padding-bottom:2px}.data-table th,.data-table td{padding:10px 9px;font-size:13px}.results-sheet-head{padding:12px}.results-sheet-wrap{max-width:100vw}.results-column-picker-panel{left:10px!important;right:10px!important;width:auto!important;max-height:70vh}.results-sheet-table input,.results-sheet-table select{font-size:16px}.compact-result-row input,.compact-result-row select{min-height:44px;font-size:16px}.compact-result-save{min-height:44px}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));position:fixed;left:8px;right:8px;bottom:8px;z-index:45;min-height:66px;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0));border:1px solid rgba(215,222,232,.9);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 18px 44px rgba(16,24,40,.2);backdrop-filter:blur(16px)}.mobile-bottom-nav a{display:grid;place-items:center;align-content:center;gap:1px;min-width:0;min-height:52px;padding:5px 4px;border-radius:13px;color:#667085;font-weight:800}.mobile-bottom-nav a>span{font-size:20px;line-height:1}.mobile-bottom-nav a>small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.mobile-bottom-nav a.is-active{background:#fff0ee;color:var(--primary);box-shadow:inset 0 0 0 1px #f4c7c2}.pwa-standalone .mobile-bottom-nav{bottom:max(6px,env(safe-area-inset-bottom,0))}.legal-card{padding:22px 16px}.site-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom,0))}
}

@media(max-width:430px){
  .stats-grid{grid-template-columns:1fr}.admin-topbar-title{max-width:calc(100vw - 120px)}.competition-card-body{padding:16px}.card-footer{align-items:flex-start;flex-direction:column;gap:8px}.code-box strong{font-size:24px}.mobile-bottom-nav{left:6px;right:6px;bottom:6px}.mobile-bottom-nav a>span{font-size:18px}.mobile-bottom-nav a>small{font-size:9px}.team-members-head{align-items:stretch}.team-members-head .btn{width:100%}
}

@media(orientation:landscape) and (max-height:520px) and (max-width:1000px){
  .admin-topbar{min-height:58px;padding-top:8px;padding-bottom:8px}.admin-content{padding-top:10px}.mobile-bottom-nav{min-height:54px}.mobile-bottom-nav a{min-height:42px;grid-template-columns:auto auto;gap:5px}.mobile-bottom-nav a>span{font-size:16px}.sidebar{padding-top:12px}.sidebar-brand{margin-bottom:16px}.sidebar-nav a{padding-block:9px}
}

@media(display-mode:standalone){
  .site-header,.admin-topbar{padding-top:max(10px,env(safe-area-inset-top,0))}.pwa-install-button{display:none!important}
}


/* 1.18.0 – provoz soutěže, šablony, živé výsledky a diplomy */
.management-page-head{margin:20px 0 14px}.management-page-head h1{margin:.2rem 0}.operations-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.operation-stat{padding:18px;display:grid;gap:6px}.operation-stat span{font-size:.8rem;color:var(--muted,#667085);font-weight:750}.operation-stat strong{font-size:clamp(1.7rem,3vw,2.6rem);line-height:1}.operation-stat-success strong{color:#087443}.operation-stat-warning strong{color:#a15c07}.operation-stat-danger strong{color:#b42318}.operations-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}.operation-entry-card{padding:14px 0;border-top:1px solid var(--line,#e4e7ec);display:grid;gap:5px}.operation-entry-card>span,.operation-entry-card small{color:var(--muted,#667085)}.operation-entry-card strong{font-size:1.2rem}.operation-progress-mini{height:7px;border-radius:99px;background:#e4e7ec;overflow:hidden}.operation-progress-mini i{display:block;height:100%;background:#12a66a;border-radius:inherit}.qr-camera-shell{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#091510;margin-bottom:12px}.qr-camera-shell video{width:100%;height:100%;object-fit:cover}.qr-camera-placeholder{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;color:#c6d7cf;text-align:center;padding:24px}.qr-camera-placeholder strong{font-size:3rem}.qr-camera-placeholder[hidden]{display:none}.operation-issue-list,.review-request-list{display:grid;gap:10px}.operation-issue{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:#f8fafc;border-left:4px solid #f59e0b}.operation-issue-danger{border-left-color:#ef4444;background:#fff7f7}.operation-issue strong,.operation-issue small{display:block}.operation-issue small{margin-top:3px;color:var(--muted,#667085)}.operations-status-form{display:flex;gap:6px;align-items:center;min-width:400px}.operations-status-form select{min-width:120px}.operations-status-form input{min-width:130px}.review-request-card{border:1px solid var(--line,#e4e7ec);border-radius:16px;padding:14px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px}.review-request-card strong,.review-request-card small{display:block}.review-request-card small{color:var(--muted,#667085);margin-top:3px}.compact-stack{gap:10px}.template-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}.template-card{border:1px solid var(--line,#e4e7ec);border-radius:16px;padding:16px;display:grid;gap:14px;background:var(--panel,#fff)}.template-card>div>strong,.template-card>div>small{display:block}.template-card>div>small{color:var(--muted,#667085);margin-top:4px}.import-format-help{margin-top:14px}.import-format-help pre{overflow:auto;background:#101828;color:#f2f4f7;padding:12px;border-radius:10px;font-size:.78rem}.diploma-editor-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.6fr);gap:16px;align-items:start}.diploma-settings-card{position:sticky;top:16px}.diploma-fields-title{margin-top:20px}.diploma-field-list{display:grid;gap:8px;margin-bottom:16px}.diploma-field-config{border:1px solid var(--line,#e4e7ec);border-radius:12px;padding:9px 11px}.diploma-field-config summary{cursor:pointer;font-weight:800}.diploma-field-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.diploma-field-controls label{font-size:.76rem;font-weight:750;color:var(--muted,#667085);display:grid;gap:4px}.diploma-field-controls input,.diploma-field-controls select{width:100%}.diploma-canvas{position:relative;aspect-ratio:297/210;width:100%;overflow:hidden;background:#eef2f6;border:1px solid var(--line,#d0d5dd);border-radius:10px;touch-action:none}.diploma-canvas>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.diploma-empty-background{position:absolute;inset:0;display:grid;place-content:center;padding:30px;text-align:center;color:#667085}.diploma-overlay-field{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;cursor:grab;max-width:92%;line-height:1.05;user-select:none;z-index:2}.diploma-overlay-field:active{cursor:grabbing}.result-history-table .history-before{color:var(--muted,#667085);text-decoration:line-through}.result-review-public .public-review-history{margin-top:18px}.public-results-live-toolbar{display:flex;align-items:end;gap:18px;margin-bottom:16px;padding:14px 18px}.public-results-search{display:grid;gap:5px;flex:1;max-width:520px}.public-results-search label{font-size:.76rem;font-weight:800;color:var(--muted,#667085)}.public-results-search input{width:100%}.public-favorites-filter{margin-bottom:10px}.live-results-state{margin-left:auto;align-self:center;font-weight:800;color:#087443;white-space:nowrap}.live-results-state.is-offline{color:#a15c07}.favorite-entry-button{border:0;background:transparent;color:#98a2b3;font-size:1.35rem;line-height:1;cursor:pointer;padding:3px 7px 3px 0;vertical-align:middle}.favorite-entry-button.is-favorite{color:#eab308}.public-entry-name strong{vertical-align:middle}.results-table tr[hidden]{display:none}
@media(max-width:1200px){.operations-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.diploma-editor-layout{grid-template-columns:1fr}.diploma-settings-card{position:static}}
@media(max-width:820px){.operations-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-two-column{grid-template-columns:1fr}.review-request-card{grid-template-columns:1fr}.operations-status-form{min-width:520px}.public-results-live-toolbar{align-items:stretch;flex-direction:column;gap:10px}.public-results-search{max-width:none}.public-favorites-filter{margin:0}.live-results-state{margin-left:0}.diploma-field-controls{grid-template-columns:1fr 1fr}.diploma-canvas{border-radius:8px}}
@media(max-width:520px){.operations-stat-grid{gap:8px}.operation-stat{padding:13px}.operation-stat strong{font-size:1.7rem}.diploma-field-controls{grid-template-columns:1fr}.diploma-preview-card{padding:10px}.diploma-overlay-field{font-size:min(var(--diploma-size,22px),8vw)!important}.template-card-grid{grid-template-columns:1fr}}
.diploma-canvas.diploma-canvas-portrait{aspect-ratio:210/297;max-width:640px;margin-inline:auto}


/* 1.18.1 – optimalizace tisku: kompaktní A4 a přihlášky běžně do 2 stran */
@page{size:A4 portrait;margin:7mm}
@media print{
  html,body{background:#fff!important;color:#111!important;font-size:9pt!important;line-height:1.24!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  h1,h2,h3,p{orphans:2;widows:2}
  table{page-break-inside:auto}
  thead{display:table-header-group}
  tfoot{display:table-footer-group}
  tr,.team-list-item{break-inside:avoid;page-break-inside:avoid}
  .registration-print-exclude{display:none!important}
  .registration-print-hero{padding:5mm 0 4mm!important;border-bottom:1.5pt solid #222!important}
  .registration-print-hero .container{width:100%!important}
  .registration-print-hero .competition-title-row{display:flex!important;flex-direction:row!important;align-items:flex-end!important;justify-content:space-between!important;gap:6mm!important}
  .registration-print-hero .competition-title-row h1{font-size:18pt!important;line-height:1.05!important;margin:1.5mm 0 .8mm!important;letter-spacing:-.02em!important}
  .registration-print-hero .competition-title-row p{font-size:9pt!important;line-height:1.2!important;margin:0!important;color:#333!important}
  .registration-print-hero .badge{font-size:7.5pt!important;padding:1mm 2mm!important}
  .registration-print-page{display:grid!important;gap:3mm!important;padding:4mm 0 0!important}
  .registration-print-page .content-card,
  .registration-print-core .panel{box-shadow:none!important;border:1px solid #aaa!important;border-radius:2mm!important;padding:4mm!important;margin:0!important;background:#fff!important}
  .registration-print-page .registration-print-summary,
  .registration-print-core .registration-print-summary{break-inside:avoid!important;page-break-inside:avoid!important}
  .registration-print-page .registration-print-entries,
  .registration-print-core .registration-print-entries{break-inside:auto!important;page-break-inside:auto!important}
  .registration-print-page h2,
  .registration-print-core h2{font-size:12.5pt!important;line-height:1.1!important;margin:0 0 2.5mm!important}
  .registration-print-page .panel-head,
  .registration-print-core .panel-head{margin:0 0 2mm!important}
  .registration-print-page .panel-head h2,
  .registration-print-core .panel-head h2{margin:.8mm 0 0!important}
  .registration-print-page .eyebrow,
  .registration-print-core .eyebrow{font-size:7pt!important;letter-spacing:.09em!important}
  .registration-print-page .info-grid,
  .registration-print-core .info-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2mm!important;margin:2.5mm 0!important}
  .registration-print-page .info-grid>div,
  .registration-print-core .info-grid>div{padding:2mm 2.5mm!important;border:1px solid #ddd!important;border-radius:1.5mm!important;background:#fff!important;min-width:0}
  .registration-print-page .info-grid span,
  .registration-print-core .info-grid span{font-size:6.8pt!important;line-height:1.05!important;margin-bottom:.8mm!important;color:#555!important}
  .registration-print-page .info-grid strong,
  .registration-print-core .info-grid strong{display:block;font-size:8.5pt!important;line-height:1.15!important;overflow-wrap:anywhere}
  .registration-print-page .note-box,
  .registration-print-core .note-box{padding:2.5mm!important;border-radius:1.5mm!important;background:#fff!important;border:1px solid #ccc!important}
  .registration-print-page .note-box span,
  .registration-print-core .note-box span{font-size:7pt!important;color:#333!important}
  .registration-print-page .note-box p,
  .registration-print-core .note-box p{font-size:8pt!important;line-height:1.2!important;margin:1mm 0 0!important}
  .registration-print-page .team-list,
  .registration-print-core .team-list{grid-template-columns:repeat(auto-fit,minmax(82mm,1fr))!important;gap:2.5mm!important}
  .registration-print-page .team-list-item,
  .registration-print-core .team-list-item{padding:2.5mm!important;border:1px solid #bbb!important;border-radius:1.5mm!important;background:#fff!important;min-width:0}
  .registration-print-page .team-list-item>div:first-child,
  .registration-print-core .team-list-item>div:first-child{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;justify-content:flex-start!important;gap:1mm 2mm!important;margin-bottom:1.5mm!important}
  .registration-print-page .team-list-item>div:first-child strong,
  .registration-print-core .team-list-item>div:first-child strong{font-size:9.5pt!important;line-height:1.1!important}
  .registration-print-page .team-list-item>div:first-child span:not(.entry-type),
  .registration-print-core .team-list-item>div:first-child span:not(.entry-type){font-size:7.5pt!important;color:#333!important}
  .registration-print-page .entry-type,
  .registration-print-core .entry-type{font-size:6.5pt!important;padding:.5mm 1.4mm!important;border:1px solid #bbb!important;background:#fff!important;color:#333!important}
  .registration-print-page .team-member-summary,
  .registration-print-core .team-member-summary{gap:1mm!important;margin-top:1mm!important}
  .registration-print-page .team-member-summary>strong,
  .registration-print-core .team-member-summary>strong{font-size:7.5pt!important}
  .registration-print-page .team-member-display-list,
  .registration-print-core .team-member-display-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.8mm 2.5mm!important}
  .registration-print-page .team-member-display-list span,
  .registration-print-core .team-member-display-list span{display:block!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#111!important;font-size:7.3pt!important;font-weight:700!important;line-height:1.15!important;overflow-wrap:anywhere}
  .registration-print-page .team-member-display-list small,
  .registration-print-core .team-member-display-list small{font-size:6.7pt!important;color:#555!important;white-space:nowrap}
  .registration-print-page .team-list-item p,
  .registration-print-core .team-list-item p{font-size:7.2pt!important;line-height:1.15!important;margin:1mm 0 0!important}
  .registration-print-page .entry-qr-mini,
  .registration-print-core .entry-qr-mini{display:none!important}
  .registration-print-core{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:3mm!important;margin:0!important}
  .registration-print-core+.registration-print-exclude{display:none!important}
  .admin-content>.registration-print-core,
  .portal-content>.registration-print-core{width:100%!important;max-width:none!important}
  .registration-print-core a[href^="tel:"],
  .registration-print-core a[href^="mailto:"],
  .registration-print-page a[href^="tel:"],
  .registration-print-page a[href^="mailto:"]{text-decoration:none!important;color:#111!important}
}

/* 1.18.2 – náhled automatické startovní fronty */
.tv-preview-screen.preview-queue-screen{grid-template-rows:auto minmax(0,1fr) auto}.tv-preview-queue{display:grid;grid-template-rows:1.1fr .9fr;gap:2%;min-height:0}.tv-preview-queue section{min-height:0;padding:1.5%;border:1px solid rgba(128,145,164,.28);border-radius:8px;background:rgba(255,255,255,.04);overflow:hidden}.tv-preview-queue h3{margin:0 0 1%;display:flex;align-items:center;gap:.5em;font-size:1.1em}.tv-preview-queue h3 b{color:#9fb0c5}.tv-preview-queue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18%,1fr));gap:1%;height:78%}.tv-preview-queue-grid>div{display:grid;align-content:center;gap:.25em;min-width:0;padding:.6em;border-radius:6px;background:rgba(255,255,255,.06);border-left:.3em solid #34d399}.tv-preview-queue-grid.prepare>div{border-left-color:#fbbf24}.tv-preview-queue-grid small{color:#9fb0c5}.tv-preview-queue-grid strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95em}

/* 1.18.3 – QR celé přihlášky a rychlá editace při prezenci */
.registration-qr-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;align-items:center;margin-top:16px;padding:12px;border:1px solid var(--border,#d0d5dd);border-radius:14px;background:var(--surface-muted,#f8fafc)}
.registration-qr-card img{width:104px;height:104px;display:block;background:#fff;border-radius:8px;padding:5px}
.registration-qr-card>div{display:grid;gap:4px}.registration-qr-card strong{font-size:1rem}.registration-qr-card small{color:var(--muted,#667085);line-height:1.35}.registration-qr-card code{width:max-content;padding:2px 6px;border-radius:6px;background:#eef2f6;font-size:.72rem}
.registration-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.registration-checkin-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:5px solid #12a66a}.registration-checkin-banner h2{margin:.2rem 0}.registration-organizer-editor{gap:16px}.organizer-entry-list{display:grid;gap:14px}.organizer-entry-card{margin:0}.organizer-entry-card .team-head{align-items:flex-start}.readonly-field{min-height:46px;display:flex;align-items:center;padding:10px 12px;border:1px solid var(--border,#d0d5dd);border-radius:10px;background:#f8fafc;font-weight:750}.registration-organizer-editor .team-member-row{grid-template-columns:minmax(0,1fr) minmax(160px,.48fr) auto}
@media(max-width:760px){.registration-editor-head,.registration-checkin-banner{flex-direction:column;align-items:stretch}.registration-checkin-banner form,.registration-checkin-banner .btn{width:100%}.registration-organizer-editor .team-member-row{grid-template-columns:1fr auto}.registration-organizer-editor .team-member-row .field:nth-child(2){grid-column:1/-1;grid-row:2}.registration-qr-card{grid-template-columns:82px minmax(0,1fr)}.registration-qr-card img{width:82px;height:82px}}
@media print{
  .registration-qr-card{grid-template-columns:29mm minmax(0,1fr)!important;gap:3mm!important;margin-top:2.5mm!important;padding:2mm!important;border:1px solid #bbb!important;border-radius:1.5mm!important;background:#fff!important;break-inside:avoid!important}
  .registration-qr-card img{width:29mm!important;height:29mm!important;padding:1mm!important;border-radius:0!important}
  .registration-qr-card strong{font-size:8.5pt!important}.registration-qr-card small{font-size:6.8pt!important;line-height:1.15!important;color:#333!important}.registration-qr-card code{font-size:6.5pt!important;padding:0!important;background:none!important}
}


/* 1.18.4 – mapa soutěže */
.competition-map-preview,.public-map-image{display:block;overflow:hidden;border-radius:16px;border:1px solid var(--line,#dfe4ec);background:#f5f7fb}.competition-map-preview img,.public-map-image img{display:block;width:100%;max-height:560px;object-fit:contain;background:#fff}.competition-map-preview{margin-bottom:12px}.competition-map-public .section-head{align-items:center}.competition-map-public .muted{margin:12px 0 0}.competition-map-management{grid-column:1/-1}@media(max-width:760px){.competition-map-public .section-head{align-items:flex-start;gap:12px}.competition-map-public .section-head .btn{width:100%}}

/* 1.18.5 – přehlednější veřejná stránka soutěže */
.competition-hero-v2{padding:30px 0 34px;background:radial-gradient(circle at 80% 10%,rgba(180,35,24,.34),transparent 32%),linear-gradient(135deg,#101827,#202d40 60%,#2c3a50);border-bottom:1px solid rgba(255,255,255,.08)}
.competition-hero-v2 .competition-back-link{margin-bottom:20px;color:#d6deea;font-weight:700}
.competition-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:stretch}
.competition-hero-identity{display:flex;align-items:center;gap:22px;min-width:0}
.competition-organizer-logo-large{width:104px;height:104px;flex-basis:104px;border-radius:22px;padding:9px;box-shadow:0 16px 36px rgba(0,0,0,.28)}
.competition-hero-copy{min-width:0}.competition-hero-copy h1{margin:9px 0 4px;font-size:clamp(32px,4.4vw,60px);line-height:1.02;letter-spacing:-.045em;overflow-wrap:anywhere}
.competition-organizer-name{margin:0;color:#cbd5e1;font-size:clamp(14px,1.25vw,18px);font-weight:650}
.competition-hero-badges{display:flex;flex-wrap:wrap;gap:8px}
.competition-hero-date-card{width:210px;min-height:132px;padding:18px 20px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.09);box-shadow:inset 0 1px rgba(255,255,255,.08);display:flex;flex-direction:column;justify-content:center;text-align:right;backdrop-filter:blur(8px)}
.competition-hero-date-card>span{color:#aebbd0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.competition-hero-date-card strong{font-size:34px;line-height:1.05;margin-top:5px}.competition-hero-date-card b{font-size:16px;color:#dbe4f0}.competition-hero-date-card small{display:block;margin-top:9px;color:#cbd5e1;line-height:1.25;overflow-wrap:anywhere}
.competition-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.competition-hero-secondary{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}.competition-hero-secondary:hover{background:rgba(255,255,255,.17)}
.competition-quick-nav{position:sticky;top:72px;z-index:18;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);box-shadow:0 8px 22px rgba(16,24,40,.05);backdrop-filter:blur(12px)}
.competition-quick-nav-inner{display:flex;align-items:center;gap:6px;min-height:56px;overflow-x:auto;scrollbar-width:none}.competition-quick-nav-inner::-webkit-scrollbar{display:none}.competition-quick-nav a{flex:0 0 auto;padding:8px 12px;border-radius:10px;color:#475467;font-size:13px;font-weight:800;white-space:nowrap}.competition-quick-nav a:hover{background:var(--surface-2);color:var(--text)}.competition-quick-nav a.is-primary{margin-left:auto;background:#fff0ee;color:var(--primary-dark)}
.competition-public-layout{grid-template-columns:minmax(0,1fr) 320px;gap:28px;padding-top:30px}.competition-public-main{gap:18px}.competition-public-main>[id],.competition-action-sidebar>[id]{scroll-margin-top:146px}
.competition-card-heading{align-items:flex-start}.competition-card-heading h2{margin:3px 0 0;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.025em}
.competition-overview-card{padding:30px}.competition-status-pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap}.competition-status-success{background:#e7f8ef;color:var(--success)}.competition-status-info{background:#e9f2ff;color:#175cd3}.competition-status-muted{background:#eef1f5;color:#667085}
.competition-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.competition-fact{min-width:0;padding:15px 16px;border:1px solid #e5e9f0;border-radius:14px;background:linear-gradient(180deg,#f9fafc,#f4f6f9)}.competition-fact>span{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.competition-fact>strong{display:block;font-size:15px;line-height:1.3;overflow-wrap:anywhere}.competition-fact>strong>small{display:block;margin-top:2px;color:var(--muted);font-weight:650;font-size:12px}
.competition-description{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.competition-description h3{margin:0 0 8px;font-size:17px}.competition-description .prose{padding:0;border:0;color:#344054}
.competition-resource-grid{display:grid;gap:18px}.competition-resource-grid.has-two{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.competition-resource-grid.has-one{grid-template-columns:1fr}.competition-resource-card{min-width:0;padding:24px}.competition-resource-card .section-head{margin-bottom:14px}.competition-resource-card .public-map-image img{max-height:360px}.competition-resource-note{display:grid;gap:2px;margin:12px 0 0;color:var(--muted);font-size:13px}.competition-resource-note strong{color:var(--text)}
.competition-count-badge{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:900}.public-document-list-compact{gap:8px;margin:0}.public-document-list-compact .public-document-item{padding:11px 12px}.public-document-list-compact .document-extension{min-width:46px}.public-document-list-compact .document-download{font-size:18px;color:var(--primary);font-weight:900}
.competition-age-note{margin:18px 0 4px;padding:11px 13px;border-radius:12px;background:#f7f8fa;color:var(--muted);font-size:13px}.competition-category-section{margin-top:20px}.competition-category-section+ .competition-category-section{padding-top:20px;border-top:1px solid var(--border)}.competition-category-section h3{margin:0 0 10px;font-size:17px}.competition-category-grid{margin-top:0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.competition-category-grid .age-public-card{border:1px solid #e5e9f0;background:#f8fafc}.competition-category-grid .age-public-card strong{font-size:15px}.competition-category-grid .age-public-card small{color:#7b8798;font-size:11px;line-height:1.35}
.competition-registration-card{border-top:4px solid var(--primary);padding-top:26px}.competition-registration-card>.section-head{padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:22px}
.competition-action-sidebar{display:grid;gap:16px;position:sticky;top:146px}.competition-actions-card{gap:9px}.competition-actions-card h3{margin-bottom:4px}.competition-sidebar-actions{display:grid;gap:9px}.competition-sidebar-actions .btn-ghost{border:1px dashed var(--border);color:var(--muted)}
.competition-contact-card{gap:10px}.competition-contact-organizer{font-size:14px}.competition-contact-link{display:grid!important;gap:1px;padding:10px 12px;border-radius:12px;background:var(--surface-2);color:var(--text)!important}.competition-contact-link span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.competition-contact-link strong{font-size:13px;overflow-wrap:anywhere}.competition-privacy-link{font-size:12px!important;color:var(--muted)!important;margin-top:2px}
.competition-public-main .sponsors-public{padding:24px}.competition-public-main .sponsor-logo-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.competition-public-main .sponsor-logo-grid figure{min-height:108px;padding:12px}.competition-public-main .sponsor-logo-grid img{max-height:66px}
@media(max-width:1000px){.competition-public-layout{grid-template-columns:1fr}.competition-action-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.competition-resource-grid.has-two{grid-template-columns:1fr 1fr}.competition-quick-nav a.is-primary{margin-left:0}}
@media(max-width:760px){.competition-hero-v2{padding:22px 0 26px}.competition-hero-v2 .competition-back-link{margin-bottom:14px}.competition-hero-grid{grid-template-columns:1fr;gap:14px}.competition-hero-identity{align-items:flex-start;gap:14px}.competition-organizer-logo-large{display:grid!important;width:76px;height:76px;flex-basis:76px;border-radius:17px}.competition-hero-copy h1{font-size:clamp(29px,9vw,42px);margin-top:7px}.competition-hero-date-card{width:100%;min-height:0;padding:13px 15px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;text-align:left}.competition-hero-date-card>span{grid-column:1/-1}.competition-hero-date-card strong{font-size:25px;margin:0}.competition-hero-date-card b{font-size:14px}.competition-hero-date-card small{margin:0;text-align:right}.competition-hero-actions{margin-top:14px;padding-top:14px}.competition-hero-actions .btn{flex:1 1 145px}.competition-quick-nav{top:68px}.competition-quick-nav-inner{width:100%;padding-inline:12px;min-height:50px}.competition-public-layout{width:100%;padding:16px 12px 52px}.competition-public-main{gap:12px}.competition-public-main>[id],.competition-action-sidebar>[id]{scroll-margin-top:126px}.competition-overview-card{padding:18px}.competition-card-heading{gap:10px}.competition-card-heading .competition-status-pill{align-self:flex-start}.competition-facts-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.competition-fact{padding:12px}.competition-fact>strong{font-size:13px}.competition-resource-grid.has-two{grid-template-columns:1fr}.competition-resource-card{padding:17px}.competition-resource-card .section-head{flex-direction:column;align-items:stretch}.competition-resource-card .section-head .btn{width:100%}.competition-category-grid{grid-template-columns:1fr 1fr}.competition-registration-card{padding:16px;border-top-width:3px}.competition-action-sidebar{grid-template-columns:1fr;gap:12px}.competition-contact-card{order:2}.competition-actions-card{order:1}}
@media(max-width:480px){.competition-hero-identity{display:grid;grid-template-columns:64px minmax(0,1fr)}.competition-organizer-logo-large{width:64px;height:64px;flex-basis:64px}.competition-hero-badges{grid-column:1/-1}.competition-hero-copy h1{font-size:clamp(27px,9vw,36px)}.competition-facts-grid{grid-template-columns:1fr}.competition-category-grid{grid-template-columns:1fr}.competition-hero-date-card{grid-template-columns:auto auto}.competition-hero-date-card small{grid-column:1/-1;text-align:left}.competition-status-pill{display:none}}

/* 1.18.6 – lepší čitelnost tlačítek na stránce soutěže a mobilu */
a.btn,button.btn{color:inherit;text-decoration:none}
.btn-primary,a.btn-primary,button.btn-primary{color:#fff!important;text-shadow:0 1px 0 rgba(0,0,0,.12)}
.btn-primary *,a.btn-primary *,button.btn-primary *{color:inherit!important}
.btn-secondary,a.btn-secondary,button.btn-secondary{color:var(--text)!important}
.btn-ghost,a.btn-ghost,button.btn-ghost{color:var(--text)!important;border:1px solid var(--border);background:#fff}
.competition-sidebar-actions{display:grid;gap:12px;margin-top:18px}
.competition-sidebar-actions .btn{min-height:54px;font-weight:850}
.competition-sidebar-actions .btn-primary{box-shadow:0 10px 24px rgba(180,35,24,.24)}
.competition-action-sidebar .btn-block{width:100%}
@media(max-width:720px){.competition-sidebar-actions .btn{min-height:52px;font-size:1rem}}


/* 1.18.7 – oprava veřejných výsledků + konfigurovatelný tisk */
.public-configurable-results-table .hide-on-screen{display:none}
@page results-portrait{size:A4 portrait;margin:10mm}
@page results-landscape{size:A4 landscape;margin:10mm}
.results-public-page.public-results-print-portrait{page:results-portrait}
.results-public-page.public-results-print-landscape{page:results-landscape}
.field-stack{display:grid;gap:10px}
@media print{
  .hide-on-print{display:none!important}
  .results-public-page{gap:10px}
  .results-public-page .content-card{box-shadow:none!important;border:1px solid #bfc7d1!important;border-radius:0!important;padding:10px 12px!important;background:#fff!important}
  .public-ranking-card{break-inside:auto!important;page-break-inside:auto!important}
  .public-ranking-card .table-wrap{overflow:visible!important}
  .public-configurable-results-table{width:100%!important;min-width:0!important;font-size:9pt!important;border-collapse:collapse}
  .public-results-print-landscape .public-configurable-results-table{font-size:8.6pt!important}
  .public-configurable-results-table th,.public-configurable-results-table td{padding:4px 5px!important;white-space:normal!important;vertical-align:top}
  .public-configurable-results-table .hide-on-screen{display:table-cell!important}
  .public-configurable-results-table .hide-on-print{display:none!important}
  .public-entry-name{min-width:32mm}
  .results-hero{padding:0 0 5mm!important;border-bottom:1.5pt solid #222!important}
  .results-hero .competition-title-row{align-items:flex-end!important}
  .results-hero h1{font-size:20pt!important;line-height:1.05!important;margin:.8mm 0!important}
  .results-hero p{font-size:9pt!important;margin:0!important}
  .results-published-chip{padding:2mm 3mm!important;border:1px solid #8fc9ad!important;background:#eefaf3!important;color:#0a6a42!important}
}


/* 1.18.9 – jemnější sazba tisku a ochrana proti překryvům */
@page results-portrait{size:A4 portrait;margin:8mm 8mm 10mm 8mm}
@page results-landscape{size:A4 landscape;margin:8mm}
@media print{
  .results-public-page{display:grid!important;gap:3.2mm!important;align-content:start}
  .results-public-page>.content-card,
  .results-public-page>.public-ranking-card{min-width:0!important;max-width:100%!important}
  .results-hero{padding:0 0 4mm!important;margin:0 0 2.5mm!important}
  .results-hero .competition-title-row{gap:4mm!important}
  .results-hero h1{font-size:17pt!important;line-height:1.05!important}
  .results-hero p{font-size:8.4pt!important;line-height:1.2!important}
  .results-published-chip{font-size:8pt!important;line-height:1.1!important;white-space:nowrap!important}
  .result-info-card{font-size:8.4pt!important;line-height:1.3!important}

  .public-ranking-card{padding:7px 9px 8px!important;margin:0!important;break-inside:avoid-page!important;page-break-inside:avoid!important}
  .public-ranking-card+.public-ranking-card{margin-top:0!important}
  .public-ranking-card .section-head{margin:0 0 2.4mm!important;align-items:flex-end!important;gap:2mm!important;break-after:avoid-page!important;page-break-after:avoid!important}
  .public-ranking-card .section-head>div{display:grid!important;gap:.4mm!important}
  .public-ranking-card .eyebrow{display:block!important;font-size:6.6pt!important;line-height:1!important;letter-spacing:.08em!important;margin:0!important}
  .public-ranking-card h2{font-size:12.6pt!important;line-height:1.08!important;margin:0!important}
  .public-ranking-card .badge{font-size:7.2pt!important;padding:1mm 1.8mm!important}
  .public-ranking-card .table-wrap{margin:0!important;overflow:visible!important}

  .public-configurable-results-table{width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:8.5pt!important}
  .public-results-print-landscape .public-configurable-results-table{font-size:8pt!important}
  .public-configurable-results-table col.result-col-rank{width:10mm}
  .public-configurable-results-table col.result-col-start{width:11mm}
  .public-configurable-results-table col.result-col-heat{width:12mm}
  .public-configurable-results-table col.result-col-lane{width:12mm}
  .public-configurable-results-table col.result-col-penalty{width:20mm}
  .public-configurable-results-table col.result-col-total{width:22mm}
  .public-configurable-results-table th,.public-configurable-results-table td{padding:1.6mm 1.5mm!important;line-height:1.15!important;vertical-align:top!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .public-configurable-results-table th{font-size:7pt!important;letter-spacing:.03em!important}
  .public-configurable-results-table tbody tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .public-configurable-results-table td strong{line-height:1.12!important}
  .public-entry-name{min-width:0!important}
  .public-entry-name strong{display:block!important;overflow-wrap:anywhere!important}
  .result-col-disciplines,.result-col-sdh,.result-col-category{min-width:0!important}

  .public-startlist-wrap{display:grid!important;gap:3mm!important}
  .public-startlist-category{break-inside:avoid-page!important;page-break-inside:avoid!important;padding:8px 10px!important}
  .public-startlist-category .section-inline{margin-bottom:2mm!important}
  .public-startlist-category h2{font-size:12.4pt!important;line-height:1.08!important;margin:0!important}
  .public-startlist-table{width:100%!important;table-layout:fixed!important;font-size:8.6pt!important}
  .public-startlist-table th,.public-startlist-table td{padding:1.7mm 1.6mm!important;line-height:1.15!important;overflow-wrap:anywhere!important}

  .registration-print-page,.registration-print-core{gap:2.5mm!important}
  .registration-print-page .content-card,.registration-print-core .panel{padding:3.4mm!important}
  .registration-print-page .team-list,.registration-print-core .team-list{gap:2mm!important}
  .registration-print-page .team-list-item,.registration-print-core .team-list-item{padding:2.1mm!important;break-inside:avoid-page!important;page-break-inside:avoid!important}

  .qr-label-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6mm!important}
  .qr-label-card{break-inside:avoid-page!important;page-break-inside:avoid!important}
}

/* 1.18.10 – návštěvnost a bezpečnostní log */
.analytics-filter,.security-filter{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:18px}.analytics-filter .field,.security-filter .field{min-width:150px}.analytics-filter-note{margin-left:auto;color:var(--muted);font-size:13px;padding-bottom:10px}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:18px;margin-bottom:18px}.analytics-chart-panel{min-width:0}.analytics-bars{height:260px;display:flex;align-items:end;gap:5px;overflow-x:auto;padding:18px 6px 2px}.analytics-bar-item{min-width:18px;flex:1;display:grid;grid-template-rows:24px 1fr 22px;gap:4px;align-items:end;text-align:center}.analytics-bar-value{font-size:9px;color:var(--muted);overflow:hidden}.analytics-bar-track{height:190px;border-radius:8px;background:#eef1f5;position:relative;overflow:hidden}.analytics-bar-track i{position:absolute;left:0;right:0;bottom:0;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#d92d20,#8f1c13);min-height:3px}.analytics-bar-item small{font-size:9px;color:var(--muted);white-space:nowrap}.analytics-breakdown{display:grid;gap:16px}.analytics-breakdown-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(110px,1.3fr) 46px;gap:10px;align-items:center}.analytics-breakdown-row>div:first-child{display:grid}.analytics-breakdown-row span{font-size:11px;color:var(--muted)}.analytics-breakdown-row b{text-align:right;font-size:12px}.analytics-meter{height:9px;border-radius:99px;background:#eef1f5;overflow:hidden}.analytics-meter i{display:block;height:100%;background:var(--primary);border-radius:inherit}.analytics-online-card strong{color:var(--success)}
.security-alert-panel{border-left:4px solid #f79009}.security-ip-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.security-ip-list>div{display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.security-ip-list code{font-weight:800}.security-ip-list small{color:var(--muted)}.security-log-table{min-width:980px}.security-time-cell{white-space:nowrap}.security-log-table code{font-size:11px}.security-log-table small{color:var(--muted)}
@media(max-width:900px){.analytics-grid{grid-template-columns:1fr}.analytics-stats-grid,.security-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-filter-note{width:100%;margin-left:0;padding-bottom:0}.analytics-bars{height:230px}.analytics-bar-track{height:160px}}
@media(max-width:560px){.analytics-filter,.security-filter{display:grid;grid-template-columns:1fr 1fr}.analytics-filter .field,.security-filter .field{min-width:0}.security-filter .form-action-field{align-self:end}.analytics-stats-grid,.security-stats-grid{grid-template-columns:1fr 1fr}.analytics-bars{gap:4px;padding-inline:0}.analytics-bar-item{min-width:16px}.analytics-bar-value{display:none}.analytics-breakdown-row{grid-template-columns:minmax(100px,1fr) 1fr 42px}.security-ip-list{grid-template-columns:1fr}}

/* 1.18.11 – párování TV kódem / QR v administraci */
.tv-pairing-management{border-color:#b9c8e6;background:linear-gradient(180deg,#fff,#f8faff)}
.tv-pair-form{align-items:end}.tv-pair-submit-field{justify-content:end}.tv-pair-buttons{display:flex;gap:10px;flex-wrap:wrap}.tv-pair-buttons .btn{min-height:46px}
.tv-pair-scanner{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:rgba(17,24,39,.78);backdrop-filter:blur(5px)}.tv-pair-scanner[hidden]{display:none!important}.tv-pair-scanner-card{width:min(560px,100%);padding:20px;border-radius:20px;background:#fff;border:1px solid var(--border);box-shadow:0 30px 90px rgba(0,0,0,.28)}.tv-pair-scanner-card .panel-head{margin-bottom:14px}.tv-pair-scanner-card h3{margin:2px 0 0;font-size:22px}.tv-pair-scanner video{display:block;width:100%;max-height:62vh;aspect-ratio:1;border-radius:16px;background:#111;object-fit:cover}.tv-pair-scanner p{margin:12px 0 0;text-align:center}
@media(max-width:720px){.tv-pair-form{grid-template-columns:1fr!important}.tv-pair-form .field{grid-column:1!important}.tv-pair-buttons{display:grid;grid-template-columns:1fr 1fr}.tv-pair-buttons .btn{width:100%}.tv-pairing-management .panel-head{align-items:flex-start;flex-direction:column}.tv-pairing-management .panel-head .badge{align-self:flex-start}}

/* 1.19.0 – kontrola soutěže, zámky výsledků, TV provoz a diagnostika */
.results-control-center{margin-bottom:18px;border-left:5px solid #667085}.results-readiness-grid{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(320px,1.3fr);gap:14px;align-items:end}.results-readiness-status{display:grid;gap:4px;padding:14px;border-radius:14px;background:var(--surface-2)}.results-readiness-status strong{font-size:16px}.results-readiness-status small{color:var(--muted)}.results-lock-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:end}.results-category-lock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-top:14px}.results-category-lock-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.7fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px;background:#fff}.results-category-lock-card div{min-width:0}.results-category-lock-card strong,.results-category-lock-card small{display:block}.results-category-lock-card small{color:var(--muted);font-size:11px}.results-category-lock-card input{min-width:0;padding:8px 9px}.readiness-details{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.readiness-details summary{cursor:pointer}.readiness-issue-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.readiness-issue-columns h3{margin:0 0 8px;font-size:14px}.readiness-issue{display:grid;gap:2px;padding:10px 12px;margin:7px 0;border-radius:10px;border-left:4px solid #98a2b3;background:#f8fafc}.readiness-issue.danger{border-left-color:#d92d20;background:#fff7f6}.readiness-issue.warning{border-left-color:#f59e0b;background:#fffaf0}.readiness-issue strong{font-size:13px}.readiness-issue small{font-size:11px;color:var(--muted)}.readiness-summary-strip{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.readiness-summary-strip span{padding:8px 11px;border-radius:10px;background:var(--surface-2);font-size:12px}.readiness-summary-strip strong{font-size:16px;margin-right:3px}.readiness-links{justify-content:flex-start;margin-top:12px}
.tv-status-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tv-screen-quick-controls{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:13px 0;padding:12px;border-radius:12px;background:var(--surface-2)}.tv-quick-mode-form{display:grid;grid-template-columns:auto minmax(170px,260px) auto;align-items:center;gap:8px}.tv-quick-mode-form label{font-size:12px;font-weight:800}.tv-screen-announcement-form{display:grid;grid-template-columns:minmax(220px,1fr) 130px 110px auto;gap:8px;align-items:center;margin:0 0 14px}.tv-announcement-management{border-left:5px solid #f59e0b}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.diagnostic-grid>.span-2{grid-column:span 2}.diagnostic-list{display:grid;gap:8px}.diagnostic-list>div{display:grid;grid-template-columns:auto minmax(130px,.6fr) minmax(0,1fr);gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--border)}.diagnostic-list small{color:var(--muted);overflow-wrap:anywhere}.duplicate-group-list{display:grid;gap:8px}.duplicate-group-list details{padding:10px;border:1px solid var(--border);border-radius:10px}.duplicate-group-list summary{cursor:pointer}.duplicate-group-list code{display:block;margin-top:6px;overflow-wrap:anywhere;font-size:11px}.diagnostic-cleanup-form{margin-top:16px}
@media(max-width:820px){.results-readiness-grid,.readiness-issue-columns,.diagnostic-grid{grid-template-columns:1fr}.diagnostic-grid>.span-2{grid-column:auto}.results-lock-form{grid-template-columns:1fr}.results-category-lock-card{grid-template-columns:1fr auto}.results-category-lock-card input{grid-column:1/-1}.tv-screen-quick-controls{align-items:stretch;flex-direction:column}.tv-quick-mode-form{grid-template-columns:1fr}.tv-screen-announcement-form{grid-template-columns:1fr}.tv-status-badges{justify-content:flex-start}.diagnostic-list>div{grid-template-columns:auto 1fr}.diagnostic-list small{grid-column:2}}

/* 1.19.3 – kompaktní a přehledný tisk přihlášky */
.print-only{display:none!important}
@media print{
  .print-only{display:block!important}
  .print-document-footer{display:flex!important}
  .registration-document .registration-screen-document{display:none!important}
  .registration-document .registration-print-sheet{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important;font-family:Inter,Arial,sans-serif!important;line-height:1.18!important}
  .registration-document{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important}
  .registration-document+.site-footer,.site-footer{display:none!important}
  .registration-print-sheet *{box-sizing:border-box}

  .print-font-small .registration-print-sheet{font-size:7.3pt!important}
  .print-font-normal .registration-print-sheet{font-size:8.1pt!important}
  .print-font-large .registration-print-sheet{font-size:9pt!important}
  .print-spacing-compact .registration-print-sheet{--reg-gap:1.6mm;--reg-pad:1.7mm;--reg-entry-y:1.35mm}
  .print-spacing-normal .registration-print-sheet{--reg-gap:2.5mm;--reg-pad:2.3mm;--reg-entry-y:1.9mm}

  .registration-print-sheet-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:5mm;align-items:end;padding:0 0 3mm;margin:0 0 3mm;border-bottom:1.4pt solid #1f2937;break-inside:avoid;page-break-inside:avoid}
  .registration-print-sheet-title{min-width:0}.registration-print-sheet-kicker{display:block;margin:0 0 .8mm;color:#9b2118;font-size:6.7pt;font-weight:900;text-transform:uppercase;letter-spacing:.11em}
  .registration-print-sheet-title h1{margin:0!important;font-size:17.5pt!important;line-height:1.02!important;letter-spacing:-.025em!important;color:#111827!important}
  .registration-print-sheet-title p{margin:1mm 0 0!important;font-size:8pt!important;color:#475467!important;overflow-wrap:anywhere}
  .registration-print-status{display:grid;gap:.5mm;min-width:28mm;padding:2mm 2.5mm;border:1px solid #c7ccd4;border-radius:1.4mm;text-align:right;background:#f7f8fa!important}
  .registration-print-status span{font-size:6.2pt;color:#667085;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.registration-print-status strong{font-size:9.2pt;color:#111827}

  .registration-print-sheet-meta{display:grid;gap:var(--reg-gap);margin:0 0 3mm;padding:var(--reg-pad);border:1px solid #c7ccd4;border-radius:1.5mm;break-inside:avoid;page-break-inside:avoid;background:#fff!important}
  .registration-print-sheet-meta.has-qr{grid-template-columns:minmax(0,1fr) 66mm;align-items:stretch}
  .registration-print-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2mm}
  .registration-print-meta-grid>div{min-width:0;padding:1.15mm 1.4mm;border-radius:1mm;background:#f6f7f9!important}
  .registration-print-meta-grid span{display:block;margin:0 0 .45mm;font-size:5.9pt;line-height:1;color:#667085;text-transform:uppercase;letter-spacing:.045em;font-weight:800}
  .registration-print-meta-grid strong{display:block;font-size:7.7pt;line-height:1.12;color:#111827;overflow-wrap:anywhere}
  .registration-print-sheet-qr{display:grid;grid-template-columns:32mm minmax(26mm,1fr);gap:2.5mm;align-items:center;padding:1.2mm 1.5mm;border-left:1px solid #d8dde5;overflow:visible}
  .registration-print-sheet-qr img{display:block;width:32mm!important;height:32mm!important;object-fit:contain;padding:.6mm;background:#fff!important}
  .registration-print-sheet-qr>div{display:grid;gap:.7mm;min-width:0;align-content:center}.registration-print-sheet-qr strong{font-size:7.6pt;line-height:1.08;white-space:nowrap}.registration-print-sheet-qr small{font-size:5.9pt;line-height:1.2;color:#667085;overflow-wrap:normal;word-break:normal}.registration-print-sheet-qr code{font-family:ui-monospace,Consolas,monospace;font-size:5.8pt;color:#475467;background:none;padding:0;white-space:nowrap}
  .registration-print-message{grid-column:1/-1;padding:1.3mm 1.5mm;border-top:.5pt solid #d8dde5}.registration-print-message>span{font-size:6pt;text-transform:uppercase;letter-spacing:.05em;color:#667085;font-weight:800}.registration-print-message p{margin:.7mm 0 0!important;font-size:7pt;line-height:1.18}

  .registration-print-sheet-entries{margin:0!important;padding:0!important}
  .registration-print-sheet-section-head{display:flex;align-items:end;justify-content:space-between;gap:4mm;margin:0 0 1.8mm;break-after:avoid;page-break-after:avoid}
  .registration-print-sheet-section-head>div{display:grid;gap:.25mm}.registration-print-sheet-section-head span{font-size:6pt;color:#9b2118;text-transform:uppercase;letter-spacing:.09em;font-weight:900}
  .registration-print-sheet-section-head h2{margin:0!important;font-size:12pt!important;line-height:1.05!important;color:#111827!important}.registration-print-sheet-section-head>strong{font-size:6.7pt;color:#667085;white-space:nowrap}
  .registration-print-entry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2mm 2.5mm;margin:0;padding:0;align-items:start}
  .print-orientation-landscape .registration-print-entry-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .registration-print-entry.is-team{grid-column:1/-1}
  .registration-print-entry{position:relative;display:block;width:100%;margin:0;padding:var(--reg-entry-y) 1.7mm;border:.55pt solid #cdd3dc;border-left:1.6mm solid #b42318;border-radius:1.2mm;background:#fff!important;break-inside:avoid!important;page-break-inside:avoid!important;overflow:hidden}
  .registration-print-entry-head{display:grid;grid-template-columns:5.5mm minmax(0,1fr) auto;gap:1.2mm;align-items:center;min-width:0}
  .registration-print-entry-number{display:grid;place-items:center;width:5mm;height:5mm;border-radius:50%;background:#f2f4f7!important;color:#344054;font-size:6.2pt;font-weight:900}
  .registration-print-entry-name{display:grid;gap:.25mm;min-width:0}.registration-print-entry-name strong{font-size:8pt;line-height:1.05;color:#111827;overflow-wrap:anywhere}.registration-print-entry-name small{font-size:6.25pt;line-height:1.08;color:#667085;overflow-wrap:anywhere}
  .registration-print-entry-type{padding:.45mm .9mm;border:.45pt solid #c7ccd4;border-radius:99px;color:#475467;font-size:5.25pt;font-weight:900;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
  .registration-print-entry-detail{margin:1mm 0 0 6.7mm;font-size:6.35pt;line-height:1.08;color:#9b2118;font-weight:750}
  .registration-print-entry-note{margin:1mm 0 0 6.7mm!important;padding-top:.8mm;border-top:.45pt dashed #d8dde5;font-size:6.1pt;line-height:1.12;color:#475467}
  .registration-print-team-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6mm 1.5mm;margin:1mm 0 0 6.7mm;padding-top:.8mm;border-top:.45pt dashed #d8dde5}
  .registration-print-team-members>span{display:flex;align-items:baseline;justify-content:space-between;gap:1mm;min-width:0;font-size:6.1pt}.registration-print-team-members>span strong{overflow-wrap:anywhere}.registration-print-team-members>span small{color:#667085;white-space:nowrap;font-size:5.55pt}.registration-print-team-members em{grid-column:1/-1;color:#667085;font-size:6pt}
  .registration-print-entry-qr{display:grid;grid-template-columns:12mm 1fr;gap:1.2mm;align-items:center;margin:1mm 0 0 6.7mm;padding-top:.8mm;border-top:.45pt dashed #d8dde5;font-size:5.7pt;color:#667085}.registration-print-entry-qr img{width:12mm!important;height:12mm!important}
  .registration-print-empty{padding:4mm;border:1px dashed #c7ccd4;text-align:center;color:#667085}

  .registration-print-sheet-footer{display:flex!important;justify-content:space-between;gap:3mm;margin-top:2.2mm;padding-top:1.3mm;border-top:.5pt solid #c7ccd4;color:#667085;font-size:5.8pt;break-inside:avoid;page-break-inside:avoid}
}

/* 1.19.4 – Registrátor Scanner + bezdrátové propojení mobilu s PC */
.scanner-pc-pair{border-color:#b9d9d5;background:linear-gradient(180deg,#fff,#f7fbfa)}
.scanner-pc-grid{display:grid;grid-template-columns:minmax(210px,300px) minmax(0,1fr);gap:28px;align-items:center;margin-top:18px}.scanner-pc-qr{aspect-ratio:1;border:1px solid var(--border);border-radius:18px;background:#fff;padding:14px;display:grid;place-items:center}.scanner-pc-qr svg{width:100%;height:100%;display:block}.scanner-pc-copy{display:grid;gap:12px}.scanner-pc-code{font-size:clamp(40px,6vw,70px);letter-spacing:.12em;line-height:1;color:#0f766e}.scanner-pc-copy p{margin:0;color:var(--muted)}.scanner-pc-state{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:12px;background:#eef3f5;color:#475467;font-weight:800}.scanner-pc-state i{width:10px;height:10px;border-radius:50%;background:#98a2b3}.scanner-pc-state[data-state="on"]{background:#e7f8ef;color:#087443}.scanner-pc-state[data-state="on"] i{background:#12b76a;box-shadow:0 0 0 4px #12b76a22}
.scanner-bridge-widget{position:fixed;right:18px;bottom:18px;z-index:95;width:min(350px,calc(100vw - 36px));filter:drop-shadow(0 18px 35px rgba(16,24,40,.18))}.scanner-bridge-widget[hidden]{display:none!important}.scanner-bridge-widget-head{margin-left:auto;display:flex;align-items:center;gap:8px;border:1px solid #b9c9d0;background:#fff;border-radius:999px;padding:9px 13px;font:inherit;font-weight:850;color:#344054;cursor:pointer}.scanner-bridge-widget-head i{width:9px;height:9px;border-radius:50%;background:#f59e0b}.scanner-bridge-widget[data-state="on"] .scanner-bridge-widget-head i{background:#12b76a}.scanner-bridge-widget-head b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#b42318;color:#fff;font-size:11px}.scanner-bridge-widget-head b:empty{display:none}.scanner-bridge-widget-panel{margin-top:8px;border:1px solid #d7e0e6;background:#fff;border-radius:16px;padding:13px;display:grid;gap:10px}.scanner-bridge-widget-panel[hidden]{display:none!important}.scanner-bridge-widget-state{font-size:12px;color:#667085;font-weight:750}.scanner-bridge-widget-panel label{display:grid;gap:4px;font-size:11px;color:#667085;font-weight:800}.scanner-bridge-widget-panel select{padding:8px 9px;font-size:12px}.scanner-bridge-widget-event{display:grid;gap:2px;padding:10px;border-radius:11px;background:#f7f9fb;border:1px solid #e2e8ee;min-height:50px}.scanner-bridge-widget-event strong{font-size:13px}.scanner-bridge-widget-event small{font-size:11px;color:#667085;overflow-wrap:anywhere}.scanner-bridge-widget-actions{display:flex;gap:6px;flex-wrap:wrap}.scanner-bridge-widget-actions button{flex:1;border:1px solid #d0d5dd;background:#fff;border-radius:9px;padding:8px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.scanner-bridge-widget-actions button:first-child{background:#0f766e;border-color:#0f766e;color:#fff}.scanner-bridge-widget-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:720px){.scanner-pc-grid{grid-template-columns:1fr}.scanner-pc-qr{width:min(320px,100%);margin-inline:auto}.scanner-bridge-widget{right:10px;bottom:78px;width:min(340px,calc(100vw - 20px))}}


/* 1.19.5 – zapamatování přihlášení */
.auth-remember-row{margin:0;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);align-items:flex-start}.auth-remember-row>span{display:grid;gap:2px;line-height:1.3}.auth-remember-row strong{font-size:13px}.auth-remember-row small{font-size:11px;color:var(--muted);font-weight:500}.auth-remember-row input{flex:0 0 18px}

/* 1.19.6 – živá oznámení nových přihlášek */
.notification-center{position:relative;display:flex;align-items:center}.notification-bell{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer;font-size:18px}.notification-bell.has-unread{border-color:#efaaa3;background:#fff7f6}.notification-bell b{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:var(--primary);color:#fff;font-size:10px;line-height:1;font-weight:900}.notification-panel{position:absolute;z-index:80;top:calc(100% + 10px);right:0;width:min(390px,calc(100vw - 24px));max-height:min(610px,75vh);overflow:auto;padding:12px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(16,24,40,.22)}.notification-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 4px 10px;border-bottom:1px solid var(--border)}.notification-panel-head>div{display:grid;gap:1px}.notification-panel-head strong{font-size:15px}.notification-mark-all{padding:5px 0;color:var(--primary);font-size:12px;font-weight:800}.notification-permission{width:100%;margin:10px 0 2px}.notification-list{display:grid;gap:4px;padding-top:7px}.notification-item{display:grid;grid-template-columns:9px minmax(0,1fr);gap:9px;padding:10px;border-radius:12px;border:1px solid transparent}.notification-item:hover{background:#f7f8fa}.notification-item.is-unread{background:#fff7f6;border-color:#f6d0cc}.notification-dot{width:7px;height:7px;margin-top:6px;border-radius:50%;background:#c7cdd6}.notification-item.is-unread .notification-dot{background:var(--primary);box-shadow:0 0 0 3px #fce7e5}.notification-item>span:last-child{display:grid;gap:2px;min-width:0}.notification-item strong{font-size:13px;line-height:1.25}.notification-item small{color:#475467;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.notification-item em{color:var(--muted);font-size:10px;font-style:normal}.notification-empty{margin:12px;text-align:center;color:var(--muted);font-size:13px}.notification-toast-stack{position:fixed;z-index:120;top:88px;right:18px;display:grid;gap:9px;width:min(390px,calc(100vw - 24px));pointer-events:none}.notification-toast{pointer-events:auto;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:13px 14px;border:1px solid #b7e4cc;border-radius:14px;background:#f0fbf5;color:#123c28;box-shadow:0 18px 45px rgba(16,24,40,.2);animation:notification-in .24s ease-out}.notification-toast.is-leaving{opacity:0;transform:translateX(18px);transition:.45s}.notification-toast-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#087443;color:#fff;font-weight:950}.notification-toast>span:last-child{display:grid;gap:3px}.notification-toast strong{font-size:13px}.notification-toast small{color:#355f4b;font-size:12px;line-height:1.3}@keyframes notification-in{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:720px){.notification-panel{position:fixed;top:74px;left:12px;right:12px;width:auto;max-height:calc(100vh - 170px)}.notification-toast-stack{top:78px;left:12px;right:12px;width:auto}.notification-bell{width:42px;height:42px}}

/* 1.20.0 – Velín soutěže */
.command-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 24px;margin-bottom:18px;border:1px solid var(--border);border-left:6px solid #16a34a;border-radius:18px;background:#fff}.command-hero.state-paused{border-left-color:#f59e0b}.command-hero.state-finished{border-left-color:#667085}.command-hero h2{margin:3px 0}.command-state-actions{display:grid;gap:10px;justify-items:end}.command-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.command-kpis>div{padding:15px;border:1px solid var(--border);border-radius:14px;background:#fff}.command-kpis span,.command-kpis small{display:block;color:var(--muted);font-size:12px}.command-kpis strong{display:block;font-size:25px;line-height:1.1;margin:4px 0}.command-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin:18px 0}.command-problem-list{display:grid;gap:8px;margin:12px 0}.command-problem{padding:10px 12px;border-radius:10px;background:#eef6ff}.command-problem.warning{background:#fff4e5}.command-problem.danger{background:#feeceb}.checklist-board{display:grid;gap:8px;margin-top:14px}.checklist-board h3{margin:14px 0 2px}.checklist-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:12px}.checklist-item.status-done{opacity:.68;background:#f1fbf5}.checklist-item.status-problem{border-color:#f0aaa3;background:#fff7f6}.checklist-item small{display:block;color:var(--muted)}.checklist-item p{margin:4px 0 0}.command-copy-form{margin:12px 0}.discipline-state-list{display:grid;gap:8px}.discipline-state-row{display:grid;grid-template-columns:minmax(120px,1fr) 150px minmax(120px,1fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--border);border-radius:11px}.command-search{max-width:300px}.command-entry-form{display:grid;grid-template-columns:150px minmax(160px,1fr) auto;gap:7px}.incident-list{display:grid;gap:9px;margin-top:14px}.incident-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;border-left:4px solid #3b82f6;background:#f8fafc;border-radius:10px}.incident-item.severity-warning{border-left-color:#f59e0b}.incident-item.severity-danger{border-left-color:#dc2626}.incident-item.is-resolved{opacity:.55}.incident-item small{display:block;color:var(--muted)}.incident-item p{margin:4px 0 0}@media(max-width:1000px){.command-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.command-grid{grid-template-columns:1fr}.command-hero{align-items:flex-start;flex-direction:column}.command-state-actions{justify-items:start;width:100%}}@media(max-width:720px){.command-kpis{grid-template-columns:1fr 1fr}.discipline-state-row,.command-entry-form{grid-template-columns:1fr}.checklist-item{grid-template-columns:1fr}.command-search{max-width:none;width:100%}}

/* 1.21.0 – App centrum, týmový checklist a sjednocený Velín/Provoz */
.apps-page-head{margin-bottom:18px}.apps-global-panel{margin-bottom:18px}.app-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.app-launch-card{display:grid;gap:7px;padding:18px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);transition:.18s;min-width:0}.app-launch-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(16,24,40,.08);border-color:#c8d0dc}.app-launch-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fff0ee;color:var(--primary);font-size:22px;font-weight:900}.app-launch-card strong{font-size:18px}.app-launch-card small{color:var(--muted);line-height:1.35}.app-launch-card em{font-style:normal;color:var(--primary);font-weight:800;font-size:13px}.competition-app-list{display:grid;gap:16px}.competition-app-card{border:1px solid var(--border);border-radius:17px;overflow:hidden;background:#fff}.competition-app-card>header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:17px 18px;border-bottom:1px solid var(--border);background:#fbfcfe}.competition-app-card h3{margin:3px 0;font-size:20px}.competition-app-card p{margin:0;color:var(--muted);font-size:13px}.competition-app-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.competition-app-buttons>a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px;padding:15px 14px;border-right:1px solid var(--border);min-width:0}.competition-app-buttons>a:last-child{border-right:0}.competition-app-buttons>a:hover{background:#f8fafc}.competition-app-buttons>a>span{grid-row:1/3;align-self:center;font-size:21px;color:var(--primary)}.competition-app-buttons strong{font-size:14px}.competition-app-buttons small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checklist-app-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 22px;margin-bottom:16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,#fff,#f7f9fc)}.checklist-app-hero h1{margin:3px 0 1px;font-size:28px}.checklist-app-hero p{margin:0;color:var(--muted)}.checklist-app-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.checklist-app-stats>div{padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#fff}.checklist-app-stats span{display:block;color:var(--muted);font-size:12px}.checklist-app-stats strong{font-size:27px;line-height:1.1}.checklist-app-create,.checklist-app-board{margin-bottom:16px}.checklist-user-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 12px;padding:10px;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.checklist-user-grid .check-row{margin:0}.checklist-copy-form{margin-top:12px}.checklist-filter-buttons{display:flex;gap:6px;flex-wrap:wrap}.checklist-filter-buttons .is-active{background:#fff0ee!important;color:var(--primary)!important;border-color:#e9b8b2!important}.checklist-app-list{display:grid;gap:10px}.checklist-app-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.65fr);gap:14px;padding:14px;border:1px solid var(--border);border-left:5px solid #98a2b3;border-radius:14px;background:#fff}.checklist-app-item.priority-high{border-left-color:#f59e0b}.checklist-app-item.priority-critical,.checklist-app-item.status-problem{border-left-color:#dc2626}.checklist-app-item.status-done{border-left-color:#16a34a;background:#f7fcf9}.checklist-app-item-title{display:flex;align-items:flex-start;gap:9px}.checklist-app-item-title h3{margin:2px 0 4px;font-size:17px}.checklist-status-dot{display:inline-block;width:10px;height:10px;margin-top:7px;border-radius:50%;background:#98a2b3;flex:0 0 auto}.status-done .checklist-status-dot{background:#16a34a}.status-problem .checklist-status-dot{background:#dc2626}.checklist-item-meta{display:flex;flex-wrap:wrap;gap:6px;margin:5px 0}.checklist-item-meta span{padding:3px 7px;border-radius:999px;background:#eef1f5;color:#475467;font-size:10px;font-weight:800}.checklist-app-item-main>p{margin:6px 0}.checklist-app-item-main>small{display:block;color:var(--muted)}.checklist-quick-form{display:grid;grid-template-columns:130px minmax(130px,1fr) auto;gap:7px;align-content:start}.checklist-item-edit{grid-column:1/-1;border-top:1px dashed var(--border);padding-top:8px}.checklist-item-edit summary{cursor:pointer;color:var(--primary);font-weight:800}.checklist-item-edit>form{margin-top:10px}.checklist-compact-summary{display:grid;grid-template-columns:auto auto auto auto;gap:6px 9px;align-items:baseline;margin:8px 0 12px}.checklist-compact-summary strong,.checklist-compact-summary b{font-size:24px}.checklist-compact-summary span{color:var(--muted);font-size:12px}.checklist-mini-list{display:grid;gap:7px}.checklist-mini-list>div{display:flex;gap:9px;align-items:flex-start;padding:8px;border:1px solid var(--border);border-radius:10px}.checklist-mini-list small{display:block;color:var(--muted)}
.command-kpis-wide{grid-template-columns:repeat(6,minmax(0,1fr))}.command-grid-top{grid-template-columns:1.15fr .85fr}.team-message-list{display:grid;gap:8px;margin-top:12px;max-height:420px;overflow:auto}.team-message{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 12px;border-left:4px solid #94a3b8;border-radius:10px;background:#f8fafc}.team-message.priority-important{border-left-color:#f59e0b}.team-message.priority-urgent{border-left-color:#dc2626;background:#fff7f6}.team-message.is-unread{box-shadow:inset 0 0 0 1px #f2c7c2}.team-message small{display:block;color:var(--muted)}.team-message p{margin:4px 0 0}.command-entry-table form.inline-form{min-width:0}.command-entry-table select{min-width:110px}
@media(max-width:1100px){.app-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.competition-app-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.competition-app-buttons>a:nth-child(3n){border-right:0}.command-kpis-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.checklist-app-item{grid-template-columns:1fr}.checklist-quick-form{grid-template-columns:130px 1fr auto}}
@media(max-width:720px){.apps-page-head,.checklist-app-hero{align-items:stretch;flex-direction:column}.app-card-grid{grid-template-columns:1fr 1fr}.competition-app-card>header{flex-direction:column}.competition-app-buttons{grid-template-columns:1fr 1fr}.competition-app-buttons>a{border-bottom:1px solid var(--border)}.checklist-app-stats,.command-kpis-wide{grid-template-columns:1fr 1fr}.checklist-filter-head{align-items:flex-start;flex-direction:column}.checklist-filter-buttons{width:100%;overflow-x:auto;flex-wrap:nowrap}.checklist-quick-form{grid-template-columns:1fr}.team-message{grid-template-columns:1fr}.command-grid-top{grid-template-columns:1fr}}
@media(max-width:460px){.app-card-grid{grid-template-columns:1fr}.competition-app-buttons{grid-template-columns:1fr}.checklist-app-stats,.command-kpis-wide{grid-template-columns:1fr 1fr}.checklist-app-hero{padding:16px}.checklist-app-item{padding:11px}}

/* 1.21.1 – sjednocení a zpřehlednění celého rozhraní */
:root{
  --bg:#f3f5f8;
  --surface:#ffffff;
  --surface-2:#f7f8fb;
  --border:#d9e0e8;
  --border-strong:#c8d1dc;
  --text:#172033;
  --muted:#687386;
  --radius:16px;
  --shadow:0 8px 28px rgba(16,24,40,.06);
  --shadow-soft:0 3px 12px rgba(16,24,40,.05);
}
body{font-size:15px;letter-spacing:-.005em}
button,input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(180,35,24,.18);outline-offset:2px}

/* Layout administrace a portálu */
.admin-shell{grid-template-columns:252px minmax(0,1fr)}
.sidebar{width:252px;padding:20px 14px;background:linear-gradient(180deg,#111827 0%,#172033 100%)}
.sidebar-brand{margin-bottom:18px;padding:4px 8px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-nav{gap:4px;overflow-y:auto;padding-right:2px}
.sidebar-nav-label{margin:13px 10px 4px;color:#75829a;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.sidebar-nav a{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:9px;min-height:42px;padding:9px 10px;border-radius:10px;color:#c8d0dc;font-size:13px;font-weight:720}
.sidebar-nav a:hover{background:#253247;color:#fff}
.sidebar-nav a.is-active{background:#fff;color:#9c2118;box-shadow:0 5px 18px rgba(0,0,0,.14);font-weight:850}
.sidebar-nav-icon{display:grid;place-items:center;width:22px;height:22px;font-size:15px;line-height:1}
.sidebar-user{padding:15px 9px 0;margin-top:18px;gap:2px}
.admin-main{min-width:0}
.admin-topbar{height:auto;min-height:82px;padding:14px clamp(22px,3vw,38px);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(16,24,40,.02)}
.admin-topbar-title{min-width:0;flex:1}
.admin-topbar-title h1{font-size:clamp(22px,2.2vw,29px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-topbar-actions{display:flex;align-items:center;gap:8px}
.admin-content{width:100%;max-width:1540px;margin:0 auto;padding:26px clamp(20px,3vw,38px) 58px}
.admin-content>*+*{margin-top:18px}
.admin-content>.competition-tabs+*{margin-top:0}
.admin-legal-footer{max-width:1540px;width:100%;margin:0 auto;padding-inline:clamp(20px,3vw,38px)}

/* Karty, nadpisy a akce */
.panel,.content-card,.sidebar-card,.success-card,.auth-card,.install-card{border-color:var(--border);box-shadow:var(--shadow-soft)}
.panel,.content-card,.sidebar-card{padding:22px}
.panel:hover,.content-card:hover{border-color:var(--border-strong)}
.panel-head,.section-head{align-items:flex-start;margin-bottom:16px}
.panel-head>div,.section-head>div{min-width:0}
.panel-head h2,.section-head h2,.panel h2{font-size:clamp(20px,2vw,26px);line-height:1.18;margin:3px 0 0;letter-spacing:-.025em}
.panel-head p,.section-head p{margin:6px 0 0;color:var(--muted);max-width:780px;line-height:1.45}
.eyebrow{font-size:10px;letter-spacing:.12em}
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.action-group,.action-row,.inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.btn{min-height:40px;padding:9px 14px;border-radius:10px;font-size:13px;font-weight:800;box-shadow:none}
.btn-primary{box-shadow:0 4px 12px rgba(180,35,24,.16)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-secondary:hover,.btn-ghost:hover{background:#fff;border-color:#bcc7d4}
.btn-small{min-height:36px;padding:7px 11px;font-size:12px}
.badge{padding:5px 8px;font-size:10px;letter-spacing:.01em}
.alert{position:relative;margin-bottom:14px;padding:12px 14px 12px 16px;border-radius:11px;font-size:13px;line-height:1.45;border-left-width:4px}
.empty-state{padding:44px 22px;border-radius:16px}
.empty-inline{padding:18px;border:1px dashed var(--border-strong);border-radius:12px;background:#fafbfd;color:var(--muted)}

/* Dashboardy */
.stats-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}
.stat-card{min-height:122px;padding:17px 18px;border-radius:14px;box-shadow:none;background:linear-gradient(180deg,#fff,#fbfcfe)}
.stat-card span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.stat-card strong{margin:5px 0;font-size:34px;letter-spacing:-.035em}
.stat-card small{font-size:11px;line-height:1.35}
.stat-card.accent{background:linear-gradient(145deg,#fff4f2,#fff);border-color:#efc0ba}

/* Formuláře */
.form-panel{max-width:1120px}
.form-grid{gap:14px 16px}
.form-section{padding:18px;margin:0 0 16px;border:1px solid var(--border);border-radius:14px;background:#fbfcfe}
.form-section:last-child{margin-bottom:0}
.form-section h3{margin:0 0 14px;font-size:18px}
.field{gap:5px;min-width:0}
.field label{font-size:12px;font-weight:820;color:#344054}
.field small{font-size:11px;line-height:1.4;color:#778296}
input,select,textarea{min-height:42px;border-color:#c9d2dd;border-radius:9px;padding:9px 11px;background:#fff;font-size:14px}
textarea{line-height:1.45}
input:hover,select:hover,textarea:hover{border-color:#aeb9c7}
input:focus,select:focus,textarea:focus{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.09)}
.check-row{gap:8px;margin:12px 0;font-size:13px}
.check-row input{flex:0 0 auto}
.form-actions{margin-top:20px;padding-top:16px;gap:8px}
fieldset{min-width:0;border:1px solid var(--border);border-radius:12px;padding:14px}
fieldset legend{padding:0 7px;font-size:12px;font-weight:850;color:#344054}

/* Tabulky */
.table-wrap,.results-sheet-wrap{margin:14px 0 0;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:auto}
.table-wrap table{min-width:680px}
.table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-top:0;border-bottom:1px solid var(--border);background:#f4f6f9;font-size:10px;letter-spacing:.065em;color:#596579}
.table-wrap td{padding:11px 12px;border-top:1px solid #e8ecf1;font-size:13px;line-height:1.35}
.table-wrap tbody tr:first-child td{border-top:0}
.table-wrap tbody tr:hover td{background:#fafbfd}
.table-wrap td strong{font-weight:800;color:#1b2638}
.table-sub{font-size:11px;line-height:1.3}
.table-actions{gap:5px}
.touch-scroll.has-horizontal-overflow{background-image:none}

/* Navigace uvnitř soutěže */
.competition-tabs{display:flex;align-items:stretch;gap:7px;margin:0 0 18px;padding:7px;border:1px solid var(--border);border-radius:14px;background:#e9edf2;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
.competition-tab-group{display:flex;align-items:center;gap:4px;flex:0 0 auto;padding:3px 4px;border-radius:10px;background:rgba(255,255,255,.42)}
.competition-tab-label{padding:0 5px;color:#778296;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.competition-tabs a{min-height:34px;display:inline-flex;align-items:center;padding:7px 10px;border-radius:8px;color:#475467;font-size:11px;font-weight:800;white-space:nowrap}
.competition-tabs a:hover{background:#fff;color:#9c2118}
.competition-tabs a.is-active{background:#fff;color:#9c2118;box-shadow:0 1px 6px rgba(16,24,40,.12)}

/* Seznamy a dílčí karty */
.stack-list{display:grid;gap:10px}
.subform-card,.team-block,.result-entry-card,.team-list-item{border-color:var(--border);border-radius:12px;background:#fff}
.subform-card{padding:14px}
.team-list{gap:8px}
.team-list-item{padding:12px 14px}
.note-box{padding:13px;border-radius:11px}
.info-grid{gap:10px;margin:14px 0}
.info-grid>div{padding:12px 13px;border:1px solid #e5e9ef;border-radius:10px;background:#f8fafc}
.info-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.045em}
.info-grid strong{font-size:13px}

/* App centrum / checklist / velín */
.app-card-grid{gap:10px}
.app-launch-card{padding:15px;border-radius:13px;box-shadow:none}
.app-launch-card strong{font-size:16px}
.app-launch-icon{width:38px;height:38px;border-radius:10px;font-size:19px}
.competition-app-card{border-radius:14px}
.competition-app-card>header{padding:14px 16px}
.competition-app-buttons>a{padding:12px}
.checklist-app-hero{padding:16px 18px;border-radius:14px;margin-bottom:12px}
.checklist-app-hero h1{font-size:24px}
.checklist-app-stats{gap:8px;margin-bottom:12px}
.checklist-app-stats>div{padding:11px 13px;border-radius:11px}
.checklist-app-stats strong{font-size:23px}
.checklist-app-item{padding:12px;gap:10px;border-radius:11px}
.command-hero{border-radius:14px!important}
.command-kpis,.command-kpis-wide{gap:9px!important}
.command-kpi{border-radius:11px!important;padding:12px!important}
.command-grid{gap:12px!important}
.team-message-list{max-height:360px}

/* Veřejná část */
.site-header{box-shadow:0 1px 0 rgba(16,24,40,.03)}
.header-inner{height:66px}
.public-nav-link{font-size:13px;font-weight:760;color:#475467}
.hero{padding:64px 0}
.hero h1{font-size:clamp(38px,5vw,62px)}
.section{padding:38px 0 54px}
.competition-grid{gap:16px}
.competition-card{border-radius:17px;box-shadow:var(--shadow-soft)}
.competition-card-body{padding:20px}
.competition-card h3{font-size:21px}
.date-badge{width:90px}
.date-badge strong{font-size:31px}
.detail-layout{gap:16px}
.detail-main{gap:14px}
.sidebar-card{gap:9px}
.competition-hero{padding:32px 0 38px}
.competition-title-row h1{font-size:clamp(30px,4vw,48px)}

/* Přihlášení */
.auth-card{padding:28px;border-radius:18px;box-shadow:0 18px 54px rgba(16,24,40,.11)}
.auth-card h1{font-size:25px;line-height:1.15}
.auth-card .stack-form{gap:13px;margin-top:18px}

/* Mobil */
@media(max-width:1100px){
  .admin-content{max-width:none}
  .sidebar{width:min(86vw,300px);max-width:300px}
}
@media(max-width:720px){
  body{font-size:14px}
  .admin-topbar{min-height:66px;padding:9px 11px}
  .admin-topbar h1{font-size:19px}
  .admin-content{padding:12px 10px calc(88px + env(safe-area-inset-bottom,0))}
  .admin-content>*+*{margin-top:12px}
  .panel,.content-card,.sidebar-card{padding:14px;border-radius:13px}
  .panel-head,.section-head{margin-bottom:12px;gap:9px}
  .panel-head h2,.section-head h2,.panel h2{font-size:19px}
  .panel-head p,.section-head p{font-size:12px}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stat-card{min-height:100px;padding:13px}
  .stat-card strong{font-size:27px}
  .page-actions{justify-content:stretch}
  .page-actions>.btn,.page-actions>form{flex:1 1 140px}
  .page-actions>form>.btn{width:100%}
  .competition-tabs{margin:0 -10px 12px;padding:6px 10px;border-left:0;border-right:0;border-radius:0}
  .competition-tab-group{padding:2px 3px}
  .competition-tab-label{font-size:8px}
  .competition-tabs a{min-height:32px;padding:6px 8px;font-size:10px}
  .table-wrap,.results-sheet-wrap{margin:10px -14px -14px;border-left:0;border-right:0;border-radius:0}
  .table-wrap th{padding:8px 9px;font-size:9px}
  .table-wrap td{padding:9px;font-size:12px}
  .form-section{padding:13px}
  input,select,textarea{min-height:46px;font-size:16px}
  .btn{min-height:42px}
  .mobile-bottom-nav{left:6px;right:6px;bottom:6px;border-radius:16px}
  .header-inner{height:60px}
  .section{padding:26px 0 40px}
  .competition-card{border-radius:14px}
}
@media(max-width:430px){
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-card span{font-size:9px}
  .stat-card strong{font-size:24px}
  .sidebar-nav a{min-height:40px}
}
@media print{
  .table-wrap th{position:static}
  .panel,.content-card{box-shadow:none}
}

/* v1.21.8 – kompaktní zápis výsledků bez vodorovného posouvání na běžném desktopu */
@media (min-width:1100px){
  .results-sheet-wrap{overflow-x:hidden}
  .results-sheet-table{width:100%;min-width:0;table-layout:fixed}
  .results-sheet-table th,.results-sheet-table td{padding-left:5px;padding-right:5px}
  .results-sheet-name{width:18%;min-width:0}
  .results-sheet-number{width:4.5%;min-width:0}
  .results-sheet-sdh{width:12.5%;min-width:0}
  .results-sheet-category{width:13%;min-width:0}
  .results-sheet-short{width:4%;min-width:0}
  .results-sheet-lane{width:4%;min-width:0}
  .results-sheet-discipline{width:10%;min-width:0}
  .results-sheet-value{width:16%;min-width:0}
  .results-sheet-penalty{width:7%;min-width:0}
  .results-sheet-status{width:10%;min-width:0}
  .results-sheet-note{width:10%;min-width:0}
  .results-sheet-rank{width:4%;min-width:0}
  .results-sheet-action{width:7%;min-width:0}
  .results-sheet-name,.results-sheet-sdh,.results-sheet-category,.results-sheet-discipline,.results-sheet-note{overflow-wrap:anywhere}
  .results-time-entry{grid-template-columns:minmax(34px,1fr) 7px minmax(38px,1fr) 7px minmax(38px,1fr);gap:2px;min-width:0}
  .results-time-entry input{padding-left:2px!important;padding-right:2px!important}
  .results-sheet-table input,.results-sheet-table select{padding-left:6px;padding-right:6px;font-size:12px}
  .results-sheet-save{padding-left:5px;padding-right:5px}
}


/* v1.21.9 – zápis výsledků nahoře, stav soutěže kompaktně úplně dole */
.results-control-center{margin-top:18px;margin-bottom:0;padding:14px 16px;border-left-width:3px}
.results-control-center .panel-head{margin-bottom:8px;gap:10px}
.results-control-center .panel-head h2{font-size:18px;margin:1px 0 2px}
.results-control-center .panel-head .eyebrow{font-size:10px}
.results-control-center .panel-head p{font-size:12px;line-height:1.35;margin:0;max-width:900px}
.results-control-center .badge{font-size:11px;padding:5px 8px}
.results-control-center .results-readiness-grid{grid-template-columns:minmax(220px,.65fr) minmax(300px,1.35fr);gap:10px}
.results-control-center .results-readiness-status{padding:9px 11px;border-radius:10px}
.results-control-center .results-readiness-status strong{font-size:14px}
.results-control-center .results-readiness-status small{font-size:11px}
.results-control-center .results-lock-form{gap:8px}
.results-control-center .results-lock-form input{padding:8px 10px}
.results-control-center .results-category-lock-grid{gap:7px;margin-top:9px}
.results-control-center .results-category-lock-card{padding:7px 9px}
.results-control-center .readiness-details{margin-top:9px;padding-top:8px}
.results-control-center .readiness-details summary{font-size:12px}
.results-control-center .readiness-issue-columns{gap:9px;margin-top:8px}
.results-control-center .readiness-issue{padding:7px 9px;margin:5px 0}
@media(max-width:820px){.results-control-center{padding:12px}.results-control-center .results-readiness-grid{grid-template-columns:1fr}}
.results-sheet-head-meta{display:flex;align-items:flex-end;flex-direction:column;gap:5px}.results-keyboard-hint{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;color:#475467;font-size:10px;font-weight:750;white-space:nowrap}@media(max-width:900px){.results-keyboard-hint{display:none}}

.category-order-controls{display:flex;gap:6px;align-items:center;margin-bottom:2px}.category-order-controls .icon-button{width:38px;height:38px;flex:0 0 38px}.category-order-controls .category-move:disabled{opacity:.3;cursor:not-allowed}.category-order-controls .category-remove{margin-bottom:0}
@media(max-width:760px){.age-category-row .category-order-controls{grid-column:1/-1;justify-self:end}}

/* Integrované demo */
.demo-banner{display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.55rem 1rem;background:#fff3cd;border-bottom:1px solid #ecd58b;color:#5b4300;font-weight:800;font-size:.88rem;letter-spacing:.01em;text-align:center}
.demo-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;background:#7a5600;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em}

/* v1.21.20 – integrované demo dostupné přímo z veřejného webu */
.demo-banner{flex-wrap:wrap;position:relative;z-index:40}
.demo-banner-form{display:inline-flex;margin:0}
.demo-banner .link-button{padding:0;color:#5b4300;text-decoration:underline;font-weight:900}
.public-demo-link{font-weight:850;color:var(--primary)}
.demo-home-strip{margin-top:24px;margin-bottom:0;padding:18px 22px;border:1px solid #ecd58b;border-radius:18px;background:#fff9df;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 8px 28px rgba(16,24,40,.05)}
.demo-home-strip-copy{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}
.demo-home-strip-copy strong{font-size:18px}.demo-home-strip-copy>span:last-child{color:var(--muted)}
.demo-hero{padding:64px 0}.demo-hero h1{font-size:clamp(38px,5vw,64px)}.demo-hero-panel small{max-width:190px}
.demo-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px}
.demo-choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:270px}
.demo-choice-card h2{margin:0}.demo-choice-card p{color:var(--muted);margin:0;flex:1}.demo-choice-card form{margin:0}
.demo-info-panel{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:30px;align-items:start}
.demo-info-panel h2{margin-top:6px}.demo-info-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.demo-info-list p{margin:0;padding:14px 16px;border-radius:13px;background:var(--surface-2);color:var(--muted)}.demo-info-list strong{display:block;color:var(--text);margin-bottom:4px}
@media(max-width:760px){.demo-home-strip{align-items:flex-start;flex-direction:column}.demo-home-strip .btn{width:100%}.demo-choice-grid,.demo-info-panel,.demo-info-list{grid-template-columns:1fr}.demo-choice-card{min-height:0}.demo-banner{justify-content:flex-start;text-align:left}}
/* Registrátor 1.21.25 – zápis všech disciplín, výběr závodníka a Scanner Bridge ve výsledcích. */
.results-entry-filter-field{margin:0;min-width:min(330px,48vw)}
.results-entry-filter-field label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}
.results-entry-filter-field select{min-height:38px;padding:7px 34px 7px 10px;width:100%}
.results-scanner-bridge-link{align-self:flex-end;min-height:38px;white-space:nowrap}
.results-scanner-hint{margin-top:4px}
.results-scanner-hint.is-active{color:#067647;font-weight:800}
@media(max-width:760px){.results-entry-filter-field{min-width:0;width:100%}.results-scanner-bridge-link{width:100%;align-self:stretch}}
