:root{
  --kzs-green:#0f6b3a;
  --kzs-green-dark:#094525;
  --kzs-green-soft:#e7f4ec;
  --kzs-gold:#c99a2e;
  --kzs-gold-soft:#fff6df;
  --danger:#b21f2d;
  --danger-soft:#fff0f1;
  --ink:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;
  --card:#ffffff;
  --bg:#f4f6f5;
  --blue:#2563eb;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px}
a{color:inherit}.container{max-width:1020px;margin:0 auto;padding:14px}.narrow{max-width:440px}.appHeader{background:linear-gradient(135deg,var(--kzs-green-dark),var(--kzs-green));color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 3px 12px rgba(0,0,0,.18)}.appHeaderInner{max-width:1020px;margin:0 auto;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brandMark{width:40px;height:40px;border-radius:50%;background:var(--kzs-gold);color:var(--kzs-green-dark);display:flex;align-items:center;justify-content:center;font-weight:900}.brandText{min-width:0}.brandTitle{font-size:22px;font-weight:800;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brandSub{font-size:13px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.btn,.linkbtn,button{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;border:0;border-radius:12px;background:var(--kzs-green);color:#fff;font-weight:800;padding:11px 14px;font-size:16px;cursor:pointer;min-height:42px}.btn.gold,.linkbtn.gold{background:var(--kzs-gold);color:#1f2937}.btn.secondary,.linkbtn.secondary{background:#fff;color:var(--kzs-green-dark);border:1px solid rgba(255,255,255,.35)}.btn.danger,.linkbtn.danger{background:var(--danger);color:#fff}.btn.small,.linkbtn.small{font-size:14px;padding:8px 10px;min-height:34px;border-radius:10px}.btn.disabled,button:disabled{background:#d1d5db!important;color:#6b7280!important;cursor:not-allowed;box-shadow:none}.roleBar{max-width:1020px;margin:0 auto;padding:0 14px 12px;display:flex;gap:8px;overflow-x:auto}.rolePill{display:inline-flex;white-space:nowrap;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;text-decoration:none;font-weight:700;border:1px solid rgba(255,255,255,.22)}.rolePill.active{background:#fff;color:var(--kzs-green-dark)}h1,h2,h3{margin:0 0 8px}h1{font-size:28px}h2{font-size:22px;margin-top:20px}.muted{color:var(--muted);font-size:14px}.box,.card,.noticeBox,.formCard{background:var(--card);border-radius:18px;box-shadow:0 3px 12px rgba(0,0,0,.08);padding:16px}.noticeBox{background:var(--kzs-gold-soft);border-left:8px solid var(--kzs-gold);margin:14px 0}.msg{padding:12px 14px;border-radius:14px;margin:12px 0;font-weight:800}.okmsg{background:var(--kzs-green-soft);color:var(--kzs-green-dark)}.errmsg,.error{background:var(--danger-soft);color:var(--danger)}label{display:block;margin-top:12px;font-weight:800}input,select,textarea{width:100%;border:1px solid #cfd6dd;border-radius:12px;padding:12px;font-size:17px;background:#fff;margin-top:6px}textarea{min-height:90px}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.horseHero{background:#fff;border-radius:0 0 28px 28px;box-shadow:0 4px 14px rgba(0,0,0,.12);padding:18px;margin:0 -14px 16px}.horseHeroTop{display:flex;gap:16px;align-items:center}.horseAvatar{width:82px;height:82px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:42px;color:#8b8f97;flex:0 0 auto}.horseName{font-size:24px;font-weight:900;color:var(--kzs-green-dark);text-transform:uppercase}.healthOk{font-weight:900;color:#43a047}.healthBad{font-weight:900;color:var(--danger)}.horseDashGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.horseCard{position:relative;display:block;text-decoration:none;color:inherit;background:#fff;border-radius:24px;padding:18px;border-left:8px solid var(--kzs-green);box-shadow:0 3px 12px rgba(0,0,0,.08);overflow:hidden}.horseCard.active{outline:3px solid rgba(15,107,58,.25)}.horseCard.missing{border-left-color:var(--kzs-gold)}.horseCard.alarm{border-left-color:var(--danger);background:#fff8f8}.horseCardHead{display:flex;align-items:center;gap:12px}.miniAvatar{width:56px;height:56px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:26px;color:#8b8f97;flex:0 0 auto}.progressRing{width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--kzs-green) calc(var(--pct)*1%),#e5e7eb 0);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.progressRing::after{content:attr(data-pct) '%';width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900}.progressBar{height:9px;background:#e5e7eb;border-radius:99px;overflow:hidden;margin:10px 0}.progressFill{height:100%;background:var(--kzs-green)}.horseCard.missing .progressFill{background:var(--kzs-gold)}.horseCard.alarm .progressFill{background:var(--danger)}.actionButtons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.bigTermBtn{border-radius:18px;padding:18px 12px;background:#3182ce;color:#fff;font-size:20px;min-height:84px;box-shadow:0 4px 12px rgba(49,130,206,.25)}.bigTermBtn .icon{font-size:30px}.bigTermBtn.disabled{background:#d1d5db;color:#6b7280;cursor:not-allowed}.calendarCard{background:#fff;border-radius:20px;padding:14px;box-shadow:0 3px 12px rgba(0,0,0,.08)}.calendarHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dayList{display:grid;gap:10px}.dayBlock{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.dayTitle{padding:11px 12px;font-weight:900;background:#fafafa;border-bottom:1px solid var(--line)}.termRow{display:grid;grid-template-columns:95px 1fr;gap:10px;align-items:start;padding:12px;border-top:1px solid #f1f2f4}.termRow:first-of-type{border-top:0}.badge{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;font-weight:900;font-size:13px;margin:2px 4px 2px 0}.badge.ok{background:var(--kzs-green-soft);color:var(--kzs-green-dark)}.badge.alarm{background:var(--danger-soft);color:var(--danger)}.badge.missing{background:var(--kzs-gold-soft);color:#815f00}.badge.locked{background:#eee;color:#555}.badge.edit{background:#e8f0ff;color:#1d4ed8}.note{margin-top:8px;background:#f2f3f4;padding:10px;border-radius:12px}.editToggle{width:auto;min-height:0;padding:5px 8px;border-radius:9px;background:#e8f0ff;color:#1d4ed8;margin:0}.editBox{display:none;margin-top:12px;background:#f8fafc;border:1px solid #dbe3ec;border-radius:16px;padding:14px}.editRow{display:flex;gap:10px;align-items:end}.editRow input{max-width:120px}.editRow button{width:auto}.modalBackdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:50;align-items:flex-end;justify-content:center}.modalBackdrop.show{display:flex}.modalPanel{background:#fff;width:100%;max-width:520px;border-radius:26px 26px 0 0;padding:18px;box-shadow:0 -6px 28px rgba(0,0,0,.25)}.modalHandle{width:56px;height:5px;border-radius:999px;background:#d1d5db;margin:0 auto 14px}.modalTitle{font-size:22px;font-weight:900;color:var(--kzs-green-dark)}.formInline{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.formInline>*{flex:1 1 180px}.peopleGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.personRow{display:grid;grid-template-columns:1fr 160px auto auto;gap:8px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.personRow:first-child{border-top:0}.personName{font-weight:900}.addPersonBox{background:#f8fafc;border:1px solid #dbe3ec;border-radius:16px;padding:14px;margin-top:14px}.userList{display:grid;gap:12px}.userItem{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:#fff;border-radius:16px;padding:14px;box-shadow:0 3px 12px rgba(0,0,0,.08)}.loginLogo{text-align:center;margin:28px 0 16px}.loginMark{width:82px;height:82px;border-radius:50%;background:var(--kzs-green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:36px;font-weight:900;border:6px solid var(--kzs-gold)}.loginTitle{font-size:30px;font-weight:900;color:var(--kzs-green-dark);margin-top:8px}.bottomNav{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);display:none;grid-template-columns:repeat(4,1fr);padding:6px;box-shadow:0 -4px 14px rgba(0,0,0,.08);z-index:30}.bottomNav a{text-decoration:none;color:var(--muted);text-align:center;font-size:12px;font-weight:800;padding:6px}.bottomNav b{display:block;font-size:20px;color:var(--kzs-green)}@media(max-width:720px){.container{padding:12px}.appHeaderInner{align-items:flex-start}.brandTitle{font-size:20px}.topActions .linkText.hideMobile{display:none}.topActions .btn,.topActions .linkbtn{padding:9px 10px;min-height:38px}.grid.two{grid-template-columns:1fr}.horseDashGrid{grid-template-columns:1fr}.actionButtons{grid-template-columns:1fr}.termRow{grid-template-columns:1fr}.personRow{grid-template-columns:1fr;align-items:stretch}.personRow .btn{width:100%}.userItem{grid-template-columns:1fr}.bottomNav{display:grid}body{padding-bottom:68px}.modalPanel{max-height:88vh;overflow:auto}.horseHeroTop{align-items:flex-start}.horseAvatar{width:68px;height:68px;font-size:34px}.horseName{font-size:20px}}

/* --- KZS UI cleanup / faza 1.1 --- */
:root{
  --kzs-blue:#06335f;
  --kzs-red:#d71920;
  --kzs-light:#f3f6f9;
  --kzs-border:#dbe3ea;
  --kzs-green:#20783a;
}
body{background:var(--kzs-light);}
.appHeader{background:#fff;border-bottom:4px solid var(--kzs-blue);box-shadow:0 2px 10px rgba(6,51,95,.12);}
.brandMark.kzsMark,.brandMark{background:#fff;color:var(--kzs-blue);border:2px solid var(--kzs-blue);box-shadow:inset 0 -3px 0 var(--kzs-red);}
.brandTitle{color:var(--kzs-blue);}
.hamburgerBtn{border:0;background:var(--kzs-blue);color:#fff;border-radius:12px;font-size:28px;line-height:1;padding:10px 14px;cursor:pointer;font-weight:800;}
.sideMenu{position:fixed;right:-320px;top:0;width:300px;max-width:86vw;height:100vh;background:#fff;z-index:1000;box-shadow:-10px 0 35px rgba(0,0,0,.22);padding:22px;transition:right .2s ease;display:flex;flex-direction:column;gap:8px;}
.sideMenu.show{right:0;}
.sideMenu a{display:block;padding:14px 12px;border-radius:12px;text-decoration:none;color:var(--kzs-blue);font-weight:800;background:#f7f9fb;}
.sideMenu a:hover{background:#edf3f8;}
.sideMenu .dangerText{color:var(--kzs-red);}
.menuTitle{font-size:24px;font-weight:900;color:var(--kzs-blue);margin-bottom:6px;}
.menuClose{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:34px;color:var(--kzs-blue);cursor:pointer;}
.menuBackdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.28);z-index:999;}
.menuBackdrop.show{display:block;}
.roleBar{display:none!important;}
.linkbtn,.btn,button{border-radius:12px;}
.noticeBox{border-left-color:var(--kzs-red)!important;background:#fff;border-top:1px solid #f0d9d9;}
.horseCard.active,.accordionCard[open]{border-left-color:var(--kzs-red);}
.horseCard,.card,.formCard,.accordionCard,.calendarCard,.horseHero,.box{border:1px solid var(--kzs-border);box-shadow:0 3px 14px rgba(6,51,95,.08);}
.progressFill{background:var(--kzs-blue)!important;}
.healthOk{color:var(--kzs-green);}.healthBad{color:var(--kzs-red);}
.bigTermBtn{background:#fff;border:2px solid var(--kzs-blue);color:var(--kzs-blue);}
.bigTermBtn:not(.disabled):hover{background:#edf3f8;}
.bigTermBtn.disabled{border-color:#d5dce3;color:#8795a1;background:#f6f7f8;}
.badge.ok{background:#e6f4ea;color:var(--kzs-green)}.badge.alarm{background:#fdeaea;color:var(--kzs-red)}.badge.missing{background:#fff3cd;color:#8a5b00}.badge.edit{background:#e9f1fb;color:var(--kzs-blue)}
.bottomNav{border-top:1px solid var(--kzs-border);box-shadow:0 -5px 18px rgba(6,51,95,.08);}
.bottomNav a{color:var(--kzs-blue);}
.bottomNav b{font-size:22px;line-height:1;}
.accordionList{display:grid;gap:12px;}
.accordionCard{background:#fff;border-radius:18px;overflow:hidden;border-left:7px solid var(--kzs-blue);}
.accordionCard summary{list-style:none;cursor:pointer;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.accordionCard summary::-webkit-details-marker{display:none;}
.accordionCard summary strong{display:block;font-size:19px;color:#111;}
.accordionCard summary small{display:block;color:#5b6670;margin-top:3px;}
.accordionCard .chev{font-size:30px;color:#7c8790;transition:transform .2s ease;}
.accordionCard[open] .chev{transform:rotate(90deg);}
.accordionBody{padding:0 18px 18px;border-top:1px solid var(--kzs-border);}
.sectionTitleRow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;}
.roundPlus{width:42px;height:42px;border-radius:50%;background:var(--kzs-blue);color:#fff;border:0;font-size:28px;font-weight:900;line-height:1;cursor:pointer;}
.personCompact,.personManageRow{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f7f9fb;border:1px solid var(--kzs-border);border-radius:14px;padding:12px;margin:8px 0;}
.personCompact strong,.personManageRow strong{display:block;}.personCompact small,.personManageRow small{display:block;color:#5b6670;}
.roleBadge{background:#e9f1fb;color:var(--kzs-blue);border-radius:20px;padding:5px 10px;font-weight:800;font-size:13px;white-space:nowrap;}
.personManageRow{flex-wrap:wrap;}.personMain{min-width:170px;flex:1}.roleMiniForm{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.roleMiniForm select{min-width:150px;}
.addPersonBox.collapsed,.formCard.collapsed{display:none;}
.addPersonBox{background:#f9fbfd;border:1px solid var(--kzs-border);border-radius:16px;padding:14px;margin-top:12px;}
.stackForm{display:grid;gap:10px;}.formCard.compact{padding:16px;margin-bottom:14px;}
.userAccordion summary{align-items:center;}
.roleSelectPage{min-height:100vh;padding:32px 18px;max-width:760px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;gap:22px;}
.kzsLoginLogo{display:flex;align-items:center;gap:16px;justify-content:center;text-align:left;color:var(--kzs-blue);}.kzsLoginLogo h1{margin:0}.kzsLoginLogo p{margin:4px 0 0;color:#5b6670}.kzsHorseMark{width:78px;height:78px;border:3px solid var(--kzs-blue);border-radius:20px;display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--kzs-blue);box-shadow:inset 0 -6px 0 var(--kzs-red);background:#fff;}
.roleSelectGrid{display:grid;gap:14px;}.roleSelectCard{display:flex;align-items:center;gap:16px;text-align:left;background:#fff;color:var(--kzs-blue);border:2px solid var(--kzs-border);padding:18px;border-radius:18px;box-shadow:0 4px 16px rgba(6,51,95,.08);}.roleSelectCard strong{display:block;font-size:21px}.roleSelectCard small{display:block;color:#5b6670;margin-top:3px}.roleIcon{width:54px;height:54px;border-radius:16px;background:var(--kzs-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;flex:0 0 auto;}.logoutPlain{text-align:center;color:var(--kzs-red);font-weight:800;text-decoration:none;}
.calendarCard .dayList{display:grid;gap:12px;}.dayBlock{background:#fff;border:1px solid var(--kzs-border);border-radius:14px;padding:12px;}.dayTitle{font-weight:900;color:var(--kzs-blue);margin-bottom:8px;}.termRow{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:start;padding:10px 0;border-top:1px solid #edf1f4;}.termRow:first-of-type{border-top:0;}
@media(max-width:760px){
  .appHeaderInner{padding:10px 14px}.brandTitle{font-size:20px}.brandSub{font-size:12px}.hamburgerBtn{font-size:24px;padding:9px 12px}.topActions{display:none!important}.container{padding-bottom:86px}.horseDashGrid{grid-template-columns:1fr!important}.peopleGrid{grid-template-columns:1fr!important}.termRow{grid-template-columns:1fr}.personManageRow{display:grid;grid-template-columns:1fr;}.roleMiniForm{display:grid;grid-template-columns:1fr auto;}.roleMiniForm select{width:100%;}.kzsLoginLogo{justify-content:flex-start}.bottomNav{display:flex;}
}

/* ===== FEI/KZS calendar history ===== */
.compactHeader .appHeaderInner{grid-template-columns:54px 1fr 54px;display:grid;align-items:center;gap:8px}
.backBtn{font-size:42px;line-height:1;text-decoration:none;color:var(--kzs-blue,#0b2e59);font-weight:700;text-align:left}
.centerTitle{text-align:center}.calendarApp{max-width:720px;margin:0 auto 90px;background:#f7f7f8;min-height:100vh}.horseMiniHeader{display:flex;gap:14px;align-items:center;background:#fff;border-radius:0 0 26px 26px;padding:18px 20px;box-shadow:0 6px 18px rgba(0,0,0,.12)}.smallAvatar{width:70px;height:70px;font-size:34px}.smallName{font-size:22px}.monthCalendar{background:#fff;margin-top:10px;padding:18px 10px 12px;border-bottom:1px solid #ddd}.monthNav,.selectedDayNav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;text-align:center}.monthTitle{font-size:30px;font-weight:800;color:#111}.monthArrow{font-size:42px;line-height:1;text-decoration:none;color:#111;font-weight:800}.weekHead{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;color:#999;font-weight:800;font-size:18px;margin:22px 0 10px}.calendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calDay{min-height:68px;text-decoration:none;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid transparent;border-radius:8px}.calDay.empty{pointer-events:none}.calDay.selected{border-color:var(--kzs-blue,#0b2e59);background:#fff}.calDay.hasAlarm .dayNum{color:#b00020}.dayNum{font-size:24px;margin-bottom:8px}.termLines{width:80%;display:flex;flex-direction:column;gap:5px}.line{display:inline-block;height:5px;border-radius:10px;background:#aaa}.line.green{background:#65c829}.line.red{background:#c62828}.line.gray{background:#c9c9c9}.calendarLegend{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:18px;color:#666;font-size:13px}.calendarLegend span{display:flex;align-items:center;gap:6px}.calendarLegend .line{width:30px}.selectedDayPanel{background:#fff;margin-top:8px;border-top:1px solid #ddd}.selectedDayTitle{font-size:22px;font-weight:800}.dayTempRow{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:center;padding:20px 24px;border-top:1px solid #eee}.amPmIcon{width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(#ffd463,#3b93e6);color:#fff;font-size:28px;font-weight:900;box-shadow:0 3px 8px rgba(0,0,0,.12)}.amPmIcon.pm{background:linear-gradient(#ffb347,#4aa3ff)}.dayTempContent strong{font-size:20px}.bigTemp{font-size:30px;font-weight:900;margin-top:4px}.greenText{color:#65c829}.redText{color:#c62828}@media(max-width:600px){.calendarApp{max-width:none}.horseMiniHeader{border-radius:0 0 22px 22px}.monthTitle{font-size:26px}.weekHead{font-size:16px}.calDay{min-height:62px}.dayNum{font-size:22px}.dayTempRow{grid-template-columns:78px 1fr;padding:18px 16px}.amPmIcon{width:64px;height:64px;font-size:24px}.bigTemp{font-size:26px}.bottomNav{font-size:12px}}


/* ===== Konji.php scanner + compact fixes ===== */
.compactKzsHeader .appHeaderInner{min-height:72px}
.headerIconActions{display:flex;align-items:center;gap:10px}
.iconBtn{width:44px;height:44px;min-height:44px;padding:0;border-radius:12px;border:0;display:inline-flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;cursor:pointer;text-decoration:none}
.iconBtn.blue{background:var(--kzs-blue,#06335f);color:#fff}.iconBtn.close{background:#f1f3f5;color:var(--kzs-blue,#06335f);font-size:30px}.appHeader img,.brand img,.appLogo,.logoPodkev{max-height:72px!important;max-width:180px!important;width:auto!important;object-fit:contain!important}.horsesPage{padding-top:14px}.summaryMain{min-width:0}.summaryRight{display:flex;align-items:center;gap:10px;flex:0 0 auto}.horseWarningTriangle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#fff3cd;color:#9a6200;font-size:20px;font-weight:900;border:1px solid #f0d38a}.horseOkDot{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#e7f5ec;color:#20783a;font-weight:900}.accordionCard.hasWarning{border-left-color:#d71920}.miniWarning{background:#fff3cd;color:#7a4d00;border-left:5px solid #f0a000;border-radius:12px;padding:10px 12px;margin:12px 0;font-weight:800}.horseActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.secondaryBtn{background:#eef4fa!important;color:var(--kzs-blue,#06335f)!important}.flashFound{outline:4px solid rgba(215,25,32,.35);animation:flashFound 1.5s ease}@keyframes flashFound{0%,100%{transform:none}50%{transform:scale(1.015)}}
.scannerModal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2000;align-items:flex-end;justify-content:center}.scannerModal.show{display:flex}.scannerPanel{width:100%;max-width:560px;background:#fff;border-radius:24px 24px 0 0;padding:16px;box-shadow:0 -8px 30px rgba(0,0,0,.25)}.scannerTop{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.scannerTop strong{display:block;font-size:20px;color:var(--kzs-blue,#06335f)}.scannerTop small{display:block;color:#5b6670;margin-top:2px}.scannerPanel video{display:block;width:100%;max-height:52vh;background:#111;border-radius:16px;object-fit:cover}.scannerStatus{margin:10px 0;color:#5b6670;font-weight:700}.manualScan{display:flex;gap:8px;align-items:center}.manualScan input{margin-top:0}.manualScan button{white-space:nowrap}.scanOrphan,.ocrBox,#ocrBox,#scanBox,.skeniranjeBox{display:none!important}@media(max-width:760px){.compactKzsHeader .appHeaderInner{min-height:62px}.iconBtn{width:40px;height:40px;min-height:40px;font-size:22px}.appHeader img,.brand img,.appLogo,.logoPodkev{max-height:56px!important;max-width:140px!important}.scannerPanel{max-height:90vh;overflow:auto}.manualScan{display:grid;grid-template-columns:1fr auto}.horseWarningTriangle{width:32px;height:32px}}

/* ===== Konji.php restore: logo + horse identifier editor ===== */
.podkevHeader{background:#fff!important;color:var(--kzs-blue,#06335f)!important;border-bottom:4px solid var(--kzs-blue,#06335f);box-shadow:0 2px 10px rgba(6,51,95,.08)}
.podkevHeader .appHeaderInner{min-height:112px;align-items:center}.podkevBrand{gap:18px}.podkevLogo{display:block;max-height:104px!important;max-width:220px!important;width:auto!important;object-fit:contain!important}.podkevFallback{font-weight:950;font-size:30px;letter-spacing:1px;color:var(--kzs-blue,#06335f)}
.podkevHeader .brandTitle{color:var(--kzs-blue,#06335f)}.podkevHeader .brandSub{color:#5b6670}.podkevHeader .hamburgerBtn{background:var(--kzs-blue,#06335f)!important;color:#fff!important}.headerIconActions{display:flex;gap:8px;align-items:center}.smallIconBtn{width:36px;height:36px;min-height:36px;padding:0;border-radius:10px;background:#eef4fa;color:var(--kzs-blue,#06335f);font-size:18px}.horseDataHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px}.horseMetaGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:14px}.horseMetaGrid>div{background:#f7f9fc;border:1px solid #dbe3ec;border-radius:12px;padding:10px}.horseMetaGrid span{display:block;font-size:12px;color:#64748b;font-weight:800;text-transform:uppercase}.horseMetaGrid strong{display:block;font-size:15px;color:#111827;word-break:break-word}.horseEditBox{background:#f7f9fc;border:1px solid #dbe3ec;border-radius:14px;padding:12px;margin:10px 0 16px}.horseEditGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:10px}.horseEditGrid label{margin-top:0}.horseEditGrid input{font-size:16px;padding:10px}.accordionCard summary small{line-height:1.35}.scannerModal{display:none!important}.scannerModal.show{display:flex!important}.scanOrphan,.ocrBox,#ocrBox,#scanBox,.skeniranjeBox,.scanBox,.ocrPanel{display:none!important}
@media(max-width:760px){.podkevHeader .appHeaderInner{min-height:86px}.podkevLogo{max-height:74px!important;max-width:150px!important}.podkevBrand{gap:10px}.podkevHeader .brandSub{display:none}.horseMetaGrid{grid-template-columns:1fr 1fr}.horseEditGrid{grid-template-columns:1fr}.smallIconBtn{width:34px;height:34px;min-height:34px}}


/* ===== Scanner fix from working scan_fix_upload ===== */
.scanRow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.scanRow input{flex:1;min-width:180px}
.scanRow .scanBtn,.scanRow .ocrBtn{width:auto;white-space:nowrap;padding:10px 12px;border-radius:12px;border:0;font-weight:800;cursor:pointer}
.scanRow .scanBtn{background:var(--primary,#0b4f8a);color:#fff}
.scanRow .ocrBtn{background:#eef4ff;color:var(--primary,#0b4f8a);border:1px solid #c7d9f5}
.scanModal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.55)}
.scanModal.show{display:flex}
.scanPanel{width:min(560px,100%);background:#fff;border-radius:22px;box-shadow:0 18px 50px rgba(0,0,0,.35);overflow:hidden}
.scanHead{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#075aa7,#0b7fd3);color:#fff}
.scanHead h3{margin:0;font-size:18px}.scanClose{background:rgba(255,255,255,.18);color:#fff;border:0;border-radius:12px;font-size:24px;width:42px;height:42px;cursor:pointer}
.scanBody{padding:14px}.scanHint{margin:0 0 10px;color:#4b5563;font-size:14px;line-height:1.35}.scanReader{width:100%;border-radius:16px;overflow:hidden;background:#000}.scanReader video{border-radius:16px}
.ocrBox{display:none}.ocrVideo{width:100%;max-height:55vh;background:#000;border-radius:16px;object-fit:cover}.ocrActions{display:flex;gap:10px;margin-top:10px}.ocrActions button{flex:1}.scanResult{margin-top:10px;padding:10px;border-radius:12px;background:#eef4ff;color:#0b4f8a;font-weight:700;display:none}
@media(max-width:520px){.scanRow{display:grid;grid-template-columns:1fr 46px 46px;gap:6px}.scanRow input{min-width:0}.scanRow .scanBtn,.scanRow .ocrBtn{padding:10px 8px;font-size:0}.scanRow .scanBtn::before{content:'▦';font-size:20px}.scanRow .ocrBtn::before{content:'OCR';font-size:12px}.scanPanel{border-radius:18px}.scanModal{padding:8px}}


/* Scanner override: current stylesheet previously hid OCR elements globally. */
#scanModal.show #ocrBox{display:block!important;}
#scanModal.show #reader{display:block!important;}
#scanModal .scanReader{min-height:260px;}
.brandLogo,.podkevLoginLogo,.roleLogo{object-fit:contain;max-height:58px;width:auto;}
.appHeader .brandLogo{max-width:150px;}

/* === scanner modal fix - only scanner UI, no global color reset === */
.scanModal{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
  background:rgba(0,0,0,.72)!important;
}
.scanModal.show{display:flex!important;}
.scanPanel{
  width:min(720px,100%)!important;
  max-height:94vh!important;
  overflow:auto!important;
  background:#fff!important;
  border-radius:20px!important;
  box-shadow:0 18px 50px rgba(0,0,0,.38)!important;
}
.scanHead{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:14px 16px!important;
  background:var(--kzs-blue,#06335f)!important;
  color:#fff!important;
}
.scanHead h3{margin:0!important;color:#fff!important;font-size:18px!important;}
.scanClose{
  width:40px!important;height:40px!important;min-height:40px!important;
  border:0!important;border-radius:12px!important;background:rgba(255,255,255,.15)!important;
  color:#fff!important;font-size:26px!important;line-height:1!important;padding:0!important;
}
.scanBody{padding:14px!important;}
.scanHint{margin:0 0 12px!important;color:#475569!important;font-size:14px!important;line-height:1.35!important;}
.scanReader{display:none;width:100%!important;min-height:320px!important;border-radius:16px!important;overflow:hidden!important;background:#000!important;}
.scanReader video{width:100%!important;border-radius:16px!important;}
.ocrBox{display:none;}
.ocrVideo{width:100%!important;max-height:62vh!important;background:#000!important;border-radius:16px!important;object-fit:cover!important;}
.ocrActions{display:flex!important;gap:10px!important;margin-top:12px!important;}
.ocrActions .btn{flex:1!important;}
.scanResult{margin-top:12px!important;padding:10px 12px!important;border-radius:12px!important;background:#fff7df!important;color:#7a4d00!important;font-weight:800!important;display:none;}
.scanResult.ok{background:#e8f5ee!important;color:#176f3d!important;}
#scanModal.show #reader[style*="block"]{display:block!important;}
#scanModal.show #ocrBox[style*="block"]{display:block!important;}
.scanOrphan,#scanBox,.skeniranjeBox,.scanBox,.ocrPanel,.scannerModal{display:none!important;}
@media(max-width:520px){
  .scanModal{padding:8px!important;align-items:center!important;}
  .scanPanel{border-radius:18px!important;}
  .scanReader{min-height:260px!important;}
  .scanRow{display:grid!important;grid-template-columns:1fr 48px 48px!important;gap:8px!important;align-items:center!important;}
  .scanRow input{min-width:0!important;}
  .scanRow .scanBtn,.scanRow .ocrBtn{width:48px!important;height:48px!important;padding:0!important;font-size:0!important;border-radius:14px!important;}
  .scanRow .scanBtn::before{content:'📷';font-size:19px!important;}
  .scanRow .ocrBtn::before{content:'OCR';font-size:11px!important;font-weight:900!important;}
}

/* Search/filter boxes */
.searchBox{
  display:flex;
  align-items:center;
  gap:8px;
  margin:12px 0 16px;
  background:#fff;
  border:1px solid #d9e3ee;
  border-radius:18px;
  padding:8px 10px;
  box-shadow:0 6px 18px rgba(0,43,92,.08);
}
.searchBox::before{
  content:'🔎';
  font-size:18px;
  opacity:.75;
}
.searchBox input{
  flex:1;
  border:0;
  outline:0;
  background:transparent;
  font-size:16px;
  padding:10px 4px;
  min-width:0;
}
.clearSearchBtn{
  width:36px;
  height:36px;
  border:0;
  border-radius:12px;
  background:#eef3f8;
  color:#003b71;
  font-size:22px;
  line-height:1;
  font-weight:800;
}
.clearSearchBtn:active{transform:scale(.96);}

/* Dogodki / spremljanja */
.eventLayout{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:16px;align-items:start}.eventItems{display:grid;gap:10px}.eventItem{display:block;text-decoration:none;color:inherit;border:1px solid #e5e7eb;border-radius:16px;padding:12px;background:#fff}.eventItem.active{border-color:#0d4d8b;box-shadow:0 0 0 3px rgba(13,77,139,.12)}.eventItem strong{display:block;font-size:16px}.eventItem span,.eventItem small{display:block;color:#6b7280;margin-top:4px}.roundPlus{width:38px;height:38px;border-radius:999px;border:0;background:#0d4d8b;color:#fff;font-size:24px;line-height:1}.collapsiblePanel{margin:10px 0 14px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #e5e7eb}.formGrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkInline{display:flex!important;align-items:center;gap:8px}.checkInline input{width:auto}.eventForm label,.horseAssignForm label{font-weight:700;margin-top:10px}.compactEventForm{background:#f8fafc;border-radius:16px;padding:12px}.divider{height:1px;background:#e5e7eb;margin:18px 0}.assignHorseList{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;max-height:430px;overflow:auto;padding:4px}.assignHorse{display:flex!important;gap:10px;align-items:flex-start;border:1px solid #e5e7eb;border-radius:14px;padding:10px;background:#fff;margin:0!important}.assignHorse input{width:auto;margin-top:4px}.assignHorse small{display:block;color:#6b7280;font-weight:400;margin-top:3px}.miniActions{display:flex;gap:8px;flex-wrap:wrap}.copyForm{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px;margin-bottom:14px}.deleteEventForm{margin-top:16px}.eventSelectForm select{font-size:16px;border-radius:14px}.compactBox{padding:14px!important}.brandLogo{height:42px;max-width:120px;object-fit:contain}.searchWrap{margin:10px 0}.searchWrap input{width:100%}@media(max-width:800px){.eventLayout{grid-template-columns:1fr}.eventListBox{order:1}.eventDetailBox{order:2}.formGrid2{grid-template-columns:1fr}.assignHorseList{grid-template-columns:1fr;max-height:none}.eventItem{padding:14px}.eventSelectForm select{font-size:15px}}


/* Registracija / potrjevanje uporabnikov */
.passwordRules{
    margin:8px 0 12px 0;
    padding:12px 14px;
    border-radius:14px;
    background:#f4f7fb;
    border:1px solid #dce5ef;
    font-size:14px;
    line-height:1.45;
}
.ruleOk{ color:#187c3a; font-weight:700; }
.ruleBad{ color:#9a1c1c; }
.warnmsg{
    background:#fff6da;
    border-left:6px solid #f2a900;
    color:#4a3500;
}
.pendingUser{
    border-left-color:#f2a900 !important;
}
.badge.warn{
    background:#fff1c7;
    color:#735000;
}
.approvalActions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:14px;
}
.approvalActions form{ margin:0; }
.dangerBtn{
    background:#a71919 !important;
    color:#fff !important;
}
.menuBadge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:22px;
    height:22px;
    padding:0 7px;
    margin-left:8px;
    border-radius:999px;
    background:#f2a900;
    color:#102a43;
    font-size:13px;
}
.smallText{ font-size:13px; }

/* === Mobilne izboljsave: celozaslonski skener + vecje tap-tarce === */
@media (max-width: 760px){
  /* Celozaslonski skener (vec prostora za kamero = lazje branje kode) */
  .scanModal{padding:0 !important;}
  .scanPanel{width:100% !important; height:100vh !important; height:100dvh !important; max-width:none !important; border-radius:0 !important; display:flex !important; flex-direction:column !important;}
  .scanBody{flex:1 1 auto !important; overflow:auto !important;}
  .scanReader{min-height:50vh !important;}
  .scanReader video, #reader video{width:100% !important;}
  .ocrVideo{max-height:none !important; height:52vh !important;}
  .ocrActions .btn, .ocrActions button{min-height:54px !important; font-size:17px !important;}
  .scanClose{width:48px !important; height:48px !important; font-size:28px !important;}

  /* Vecje tap-tarce na dotik */
  .btn, .linkbtn, button{min-height:48px;}
  .bottomNav a{padding:10px 6px;}
  .bottomNav{padding-bottom: calc(6px + env(safe-area-inset-bottom)) !important;}
  .hactions a, .thumbs a, .repActions a{min-height:44px; display:inline-flex; align-items:center;}
  .editDet summary{padding:8px 0;}
}

/* === Meni: drsenje pri veliko postavkah === */
.sideMenu{height:100dvh; max-height:100dvh; overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch; padding:16px 18px; gap:6px; padding-bottom:28px;}
.sideMenu>*{flex:0 0 auto;}
.sideMenu a{padding:10px 12px; font-size:15px;}
.sideMenu .menuTitle{margin-bottom:2px;}
@media (max-height:780px){ .sideMenu{padding:12px 16px; gap:4px; padding-bottom:22px;} .sideMenu a{padding:8px 12px; font-size:14px;} .sideMenu .menuTitle{font-size:18px;} }

/* Izbirnik temperature (enak kot pri veterinarju) */
.tPicker{margin-top:8px}
.tDisplay{font-size:46px;font-weight:900;text-align:center;color:#16407a;margin:4px 0 12px;line-height:1}
.tDisplay.hot{color:#dc2626}
.tScale{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.tScaleSub{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin-top:8px}
.tScale button,.tScaleSub button{min-height:54px;border:1px solid #cfd6dd;background:#fff;border-radius:12px;font-weight:800;color:#111;cursor:pointer;padding:0;font-size:20px}
.tScaleSub button{min-height:46px;font-size:15px}
.tScale button.sel,.tScaleSub button.sel{background:#16407a;color:#fff;border-color:#16407a}
.tScale button.sel.hot,.tScaleSub button.sel.hot{background:#dc2626;border-color:#dc2626}
@media(max-width:540px){.tDisplay{font-size:40px}.tScale button{font-size:18px;min-height:50px}.tScaleSub button{min-height:44px}}
