:root{
    --bg:#f4f6f8;
    --card:#ffffff;
    --text:#1d2939;
    --muted:#667085;
    --line:#d0d5dd;
    --blue:#175cd3;
    --green:#067647;
    --red:#b42318;
    --yellow:#fdb022;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--blue);text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:24px}
.header{background:#101828;color:white}
.header-inner{max-width:1180px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.header a{color:white}.brand{font-size:22px;font-weight:700}.nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 2px 8px rgba(16,24,40,.06)}
h1,h2,h3{margin-top:0}.muted{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:white}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f9fafb;font-weight:700;white-space:nowrap}
.btn{display:inline-block;border:0;border-radius:10px;background:var(--blue);color:white;padding:10px 14px;font-weight:700;cursor:pointer;text-align:center}.btn:hover{filter:brightness(.95)}
.btn.secondary{background:#475467}.btn.green{background:var(--green)}.btn.red{background:var(--red)}.btn.yellow{background:var(--yellow);color:#111827}.btn.small{padding:7px 10px;font-size:13px}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.form-row{margin-bottom:12px}label{display:block;font-weight:700;margin-bottom:5px}input,select{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:white;font-size:15px}.inline-form{display:inline}.error{padding:10px;border-radius:10px;background:#fee4e2;color:#912018;margin-bottom:12px}.success{padding:10px;border-radius:10px;background:#dcfae6;color:#05603a;margin-bottom:12px}
.badge{display:inline-block;border-radius:999px;padding:4px 9px;font-size:13px;font-weight:700}.badge.planned{background:#e0f2fe;color:#075985}.badge.active{background:#dcfae6;color:#05603a}.badge.ended{background:#f2f4f7;color:#344054}.badge.cancelled{background:#fee4e2;color:#912018}
.price{font-size:24px;font-weight:800}.footer{padding:24px;text-align:center;color:var(--muted)}

.brand-wrap{display:flex;align-items:center;gap:12px}
.brand-logo{height:44px;width:auto;background:white;border-radius:8px;padding:4px}

.vehicle-thumb{width:96px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#f2f4f7}
.vehicle-thumb.empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;text-align:center;padding:6px}
.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:10px}
.image-card{border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff}
.image-card img{width:100%;height:110px;object-fit:cover;border-radius:8px;display:block;margin-bottom:6px}
.gallery-main{width:100%;max-height:360px;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:#f2f4f7}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:12px}
.gallery img{width:100%;height:120px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#f2f4f7}
.file-help{font-size:13px;color:var(--muted);margin-top:6px}

/* v1.4 - vozidla jako karty a sprava uzivatelu */
.vehicle-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.vehicle-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(16,24,40,.06);display:flex;flex-direction:column;min-height:100%}
.vehicle-card-photo{width:100%;height:190px;background:#f2f4f7;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px;overflow:hidden}
.vehicle-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.vehicle-card-body{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1}
.vehicle-card-title{font-size:20px;font-weight:800;margin:0;color:var(--text)}
.vehicle-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:14px}
.vehicle-meta div{background:#f9fafb;border:1px solid #eaecf0;border-radius:10px;padding:8px}
.vehicle-meta span{display:block;color:var(--muted);font-size:12px;margin-bottom:2px}
.vehicle-card-actions{padding:14px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.user-role{font-weight:700}
@media(max-width:520px){.vehicle-cards{grid-template-columns:1fr}.vehicle-meta{grid-template-columns:1fr}.header-inner{align-items:flex-start}.nav{justify-content:flex-start}}

.nav a.active{font-weight:800;text-decoration:underline;text-underline-offset:4px}

textarea{width:100%;min-height:140px;padding:10px;border:1px solid var(--line);border-radius:10px;background:white;font-size:15px;font-family:Arial,Helvetica,sans-serif;resize:vertical}
.vehicle-description{white-space:pre-wrap;line-height:1.5;background:#f9fafb;border:1px solid #eaecf0;border-radius:12px;padding:12px;margin-top:12px}


.auction-countdown-wrap{margin:12px 0}
.auction-countdown-label{font-size:13px;color:var(--muted);font-weight:700;margin-bottom:5px}
.auction-countdown{display:inline-block;border-radius:999px;padding:8px 12px;font-weight:900;letter-spacing:.2px;color:#102a1f;background:#dcfae6;transition:background-color .3s,color .3s,box-shadow .3s}
.auction-countdown.countdown-ok{background:#dcfae6;color:#05603a}
.auction-countdown.countdown-soon{background:#fef7c3;color:#854a0e}
.auction-countdown.countdown-warning{background:#fedf89;color:#93370d}
.auction-countdown.countdown-danger{background:#fecdca;color:#912018}
.auction-countdown.countdown-critical{background:#b42318;color:white;box-shadow:0 0 0 4px rgba(180,35,24,.14);animation:countdownPulse 1s infinite alternate}
.auction-countdown.countdown-ended{background:#f2f4f7;color:#344054}
@keyframes countdownPulse{from{filter:brightness(1)}to{filter:brightness(.82)}}
.winner-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#067647;color:white;padding:10px 14px;font-weight:900;margin:10px 0;box-shadow:0 4px 12px rgba(6,118,71,.25)}
.winner-pill:before{content:'🏆'}
.auction-mode-help{font-size:13px;color:var(--muted);margin-top:6px}


.auction-state-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 11px;font-weight:900;font-size:13px;margin:4px 0;color:white}
.auction-state-pill.active{background:#067647}
.auction-state-pill.planned{background:#175cd3}
.leading-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#079455;color:white;padding:10px 14px;font-weight:900;margin:10px 0;box-shadow:0 4px 12px rgba(7,148,85,.22)}
.leading-pill:before{content:'●'}
.archive-note{background:#f9fafb;border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--muted)}


body.lightbox-open{overflow:hidden}
.photo-clickable{cursor:pointer}
.photo-lightbox{position:fixed;inset:0;background:rgba(16,24,40,.88);display:none;align-items:center;justify-content:center;z-index:9999;padding:24px}
.photo-lightbox.open{display:flex}
.photo-lightbox-content{position:relative;width:min(1100px,96vw);height:min(760px,88vh);display:flex;align-items:center;justify-content:center}
.photo-lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:14px;background:#111827;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.photo-lightbox-close,.photo-lightbox-prev,.photo-lightbox-next{position:absolute;border:none;border-radius:999px;background:rgba(255,255,255,.92);color:#101828;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.photo-lightbox-close{top:-10px;right:-10px;width:42px;height:42px;font-size:24px;line-height:42px}
.photo-lightbox-prev,.photo-lightbox-next{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:32px;line-height:52px}
.photo-lightbox-prev{left:-12px}.photo-lightbox-next{right:-12px}
.photo-lightbox-counter{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);color:#fff;font-weight:800;background:rgba(0,0,0,.35);border-radius:999px;padding:6px 12px}
@media(max-width:700px){.photo-lightbox{padding:12px}.photo-lightbox-prev{left:4px}.photo-lightbox-next{right:4px}.photo-lightbox-close{top:8px;right:8px}.photo-lightbox-counter{bottom:10px}}


/* v1.26 - normalni modalni okno pro fotografie */
body.lightbox-open{overflow:hidden!important}
.photo-clickable{cursor:pointer}
.photo-lightbox{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    background:rgba(0,0,0,.50)!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    z-index:999999!important;
    padding:24px!important;
    box-sizing:border-box!important;
}
.photo-lightbox.open{display:flex!important}
.photo-lightbox-content{
    position:relative!important;
    width:min(1000px,92vw)!important;
    height:min(760px,88vh)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
}
.photo-lightbox-image{
    max-width:100%!important;
    max-height:100%!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
    border-radius:12px!important;
    background:#111827!important;
    box-shadow:0 18px 55px rgba(0,0,0,.45)!important;
}
.photo-lightbox-close,
.photo-lightbox-prev,
.photo-lightbox-next{
    position:absolute!important;
    border:none!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.95)!important;
    color:#101828!important;
    font-weight:900!important;
    cursor:pointer!important;
    box-shadow:0 8px 20px rgba(0,0,0,.30)!important;
    z-index:2!important;
}
.photo-lightbox-close{top:-18px!important;right:-18px!important;width:44px!important;height:44px!important;font-size:26px!important;line-height:44px!important}
.photo-lightbox-prev,.photo-lightbox-next{top:50%!important;transform:translateY(-50%)!important;width:52px!important;height:52px!important;font-size:34px!important;line-height:52px!important}
.photo-lightbox-prev{left:12px!important}.photo-lightbox-next{right:12px!important}
.photo-lightbox-counter{
    position:absolute!important;
    left:50%!important;
    bottom:-38px!important;
    transform:translateX(-50%)!important;
    color:white!important;
    font-weight:800!important;
    background:rgba(0,0,0,.45)!important;
    border-radius:999px!important;
    padding:6px 14px!important;
}
@media(max-width:700px){
    .photo-lightbox{padding:12px!important}
    .photo-lightbox-content{width:96vw!important;height:86vh!important}
    .photo-lightbox-prev{left:6px!important}.photo-lightbox-next{right:6px!important}
    .photo-lightbox-close{top:6px!important;right:6px!important}
    .photo-lightbox-counter{bottom:10px!important}
}


/* v1.28 - sjednoceni pisma na tlacitkach a pilulkach */
.btn,
button.btn,
a.btn,
.badge,
.winner-pill,
.leading-pill,
.loser-pill,
.auction-state-pill,
.auction-countdown,
.user-role {
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:700!important;
}

.btn,
button.btn,
a.btn {
    padding:10px 14px!important;
    min-height:39px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    vertical-align:middle!important;
}

.btn.small,
button.btn.small,
a.btn.small {
    font-size:14px!important;
    padding:8px 11px!important;
    min-height:34px!important;
}

.badge,
.winner-pill,
.leading-pill,
.loser-pill,
.auction-state-pill,
.auction-countdown {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:30px!important;
    box-sizing:border-box!important;
}

.badge {
    padding:6px 10px!important;
}

.winner-pill,
.leading-pill,
.loser-pill {
    padding:10px 14px!important;
}

.auction-state-pill {
    padding:7px 11px!important;
}


/* v1.30 - live hidden helper, musi prebit display:inline-flex!important */
.is-hidden,
[hidden] {
    display:none!important;
}


/* v1.33 - pilulka pro neuspesneho prihazujiciho */
.loser-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border-radius:999px;
    background:#475467;
    color:white;
    padding:10px 14px;
    font-weight:700;
    margin:10px 0;
    box-shadow:0 4px 12px rgba(71,84,103,.22);
}
.loser-pill:before{content:'ℹ'}


/* v1.34 - sledovani aukci */
.inline-form{display:inline-flex;align-items:center;gap:6px;margin:0}
.actions .inline-form{display:inline-flex}


/* v1.35 - souhlas s pravidly pri aktivaci uctu */
.rules-consent{
    display:flex;
    align-items:flex-start;
    gap:10px;
    line-height:1.45;
    font-weight:700;
}
.rules-consent input[type="checkbox"]{
    margin-top:3px;
    width:18px;
    height:18px;
    flex:0 0 auto;
}


/* v1.37 - vyraznejsi souhlas s pravidly */
.rules-consent-box{
    background:#fff7e6;
    border:2px solid #fdb022;
    border-radius:14px;
    padding:16px;
    margin-top:12px;
    box-shadow:0 6px 18px rgba(253,176,34,.16);
}
.rules-consent{
    display:flex!important;
    align-items:flex-start!important;
    gap:13px!important;
    line-height:1.45!important;
    font-weight:700!important;
    cursor:pointer;
}
.rules-consent input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    margin:0!important;
    border:3px solid #b54708;
    border-radius:7px;
    background:#fff;
    box-shadow:0 2px 6px rgba(181,71,8,.18);
    position:relative;
    cursor:pointer;
}
.rules-consent input[type="checkbox"]:checked{
    background:#079455;
    border-color:#067647;
}
.rules-consent input[type="checkbox"]:checked:after{
    content:'✓';
    position:absolute;
    left:5px;
    top:-4px;
    color:white;
    font-size:25px;
    font-weight:900;
}
.rules-consent-text{display:flex;flex-direction:column;gap:4px;color:#102a43}
.rules-consent-text strong{font-size:17px;color:#7a2e0e}
.rules-consent-text span{font-size:15px;font-weight:700;color:#111827}
.rules-pdf-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:14px;
    padding:9px 14px;
    border-radius:999px;
    background:#175cd3;
    color:white!important;
    font-weight:800;
    text-decoration:none;
    box-shadow:0 4px 12px rgba(23,92,211,.22);
}
.rules-pdf-pill:before{content:'📄'}
.rules-pdf-pill:hover{filter:brightness(.95)}
.form-actions-left{
    display:flex;
    justify-content:flex-start;
    margin-top:14px;
}


/* v1.39 - atraktivnejsi administrace */
.admin-body{background:linear-gradient(180deg,#eef4ff 0,#f4f6f8 280px)}
.admin-dashboard{padding-top:28px}
.admin-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;background:linear-gradient(135deg,#102a56,#175cd3 58%,#079455);color:white;border-radius:22px;padding:26px;margin-bottom:18px;box-shadow:0 18px 44px rgba(23,92,211,.24);overflow:hidden;position:relative}
.admin-hero:after{content:'';position:absolute;right:-80px;top:-90px;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.14)}
.admin-hero h1{font-size:36px;margin:4px 0 8px;color:white}
.admin-kicker{margin:0 0 4px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900;color:#84caff}
.admin-hero-subtitle{margin:0 0 14px;color:#e0f2fe;font-size:16px}
.admin-hero-meta{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.admin-hero-meta span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:7px 11px;color:white}
.admin-hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.admin-hero-actions .btn{box-shadow:0 8px 20px rgba(0,0,0,.18)}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.admin-stat-card{position:relative;min-height:150px;border-radius:18px;padding:18px;background:white;border:1px solid #dbe7ff;box-shadow:0 10px 28px rgba(16,24,40,.08);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:var(--text)}
.admin-stat-card:after{content:'';position:absolute;right:-32px;top:-34px;width:112px;height:112px;border-radius:999px;background:rgba(23,92,211,.10)}
.admin-stat-icon{width:34px;height:34px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:white;font-size:14px;font-weight:900;background:#175cd3}
.admin-stat-label{color:var(--muted);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-top:8px}
.admin-stat-card strong{font-size:36px;line-height:1;color:#101828;margin-top:8px}
.admin-stat-card small{color:var(--muted);font-weight:700}
.stat-green .admin-stat-icon{background:#067647}.stat-green:after{background:rgba(6,118,71,.10)}
.stat-orange .admin-stat-icon{background:#b54708}.stat-orange:after{background:rgba(245,158,11,.16)}
.stat-slate .admin-stat-icon{background:#475467}.stat-slate:after{background:rgba(71,84,103,.12)}
.admin-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.admin-panel-grid.wide-left{grid-template-columns:1.45fr .9fr}
.admin-panel{margin-bottom:0;border:1px solid #dbe7ff;box-shadow:0 8px 24px rgba(16,24,40,.07)}
.admin-panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.admin-panel-heading h2{margin:0}.admin-panel .admin-kicker{color:#175cd3}
.admin-status-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.admin-status-list div{background:#f8fafc;border:1px solid #e4e7ec;border-radius:14px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.admin-status-list strong{font-size:24px;color:#101828}
.admin-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.admin-action-grid a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;border-radius:14px;background:#f8fafc;border:1px solid #e4e7ec;font-weight:900;color:#175cd3;padding:10px}
.admin-action-grid a:hover{background:#eaf1ff;border-color:#b2ccff}
.admin-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#475467}.admin-table td{vertical-align:middle}.admin-table.compact td{font-size:13px}
@media(max-width:980px){.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-panel-grid,.admin-panel-grid.wide-left{grid-template-columns:1fr}.admin-hero{align-items:flex-start;flex-direction:column}.admin-hero h1{font-size:30px}}
@media(max-width:560px){.admin-stat-grid{grid-template-columns:1fr}.admin-action-grid,.admin-status-list{grid-template-columns:1fr}.admin-hero{padding:20px;border-radius:18px}}


/* v1.40 - rozbalovaci horni menu + firemnejsi barevnost */
:root{
    --ip-blue:#003f7d;
    --ip-blue-2:#005aa8;
    --ip-cyan:#00a3d9;
    --ip-orange:#f28c00;
    --ip-dark:#08345f;
}
.ip-header{
    background:linear-gradient(90deg,var(--ip-dark),var(--ip-blue) 52%,var(--ip-blue-2));
    box-shadow:0 10px 30px rgba(0,63,125,.22);
    border-bottom:4px solid var(--ip-orange);
}
.ip-header .brand{letter-spacing:.01em;color:white}
.ip-header .brand-logo{height:48px;border-radius:10px;background:white;padding:5px;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.dropdown-nav{gap:10px;position:relative}
.nav-dropdown{position:relative;display:inline-flex;align-items:center}
.dropdown-toggle{
    border:1px solid rgba(255,255,255,.24);
    background:rgba(255,255,255,.10);
    color:white;
    border-radius:999px;
    min-height:40px;
    padding:9px 14px;
    font-weight:900;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:8px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.dropdown-toggle:hover,
.dropdown-toggle.active,
.nav-dropdown:focus-within .dropdown-toggle,
.nav-dropdown:hover .dropdown-toggle{
    background:var(--ip-orange);
    border-color:var(--ip-orange);
    color:#101828;
}
.dropdown-menu{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    min-width:230px;
    background:white;
    color:#101828;
    border:1px solid #d0d5dd;
    border-top:4px solid var(--ip-orange);
    border-radius:14px;
    padding:8px;
    box-shadow:0 18px 46px rgba(8,52,95,.22);
    display:none;
    z-index:10000;
}
.dropdown-menu-right{left:auto;right:0}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu{display:block}
.dropdown-link{
    display:flex!important;
    align-items:center;
    width:100%;
    color:#102a43!important;
    padding:10px 12px;
    border-radius:10px;
    font-weight:800;
    white-space:nowrap;
    text-decoration:none!important;
}
.dropdown-link:hover,
.dropdown-link.active{
    background:#eaf6ff;
    color:var(--ip-blue)!important;
}
.dropdown-link.active{
    box-shadow:inset 4px 0 0 var(--ip-orange);
}
.ip-header .nav > a{
    border:1px solid rgba(255,255,255,.24);
    background:rgba(255,255,255,.10);
    border-radius:999px;
    padding:10px 14px;
    font-weight:900;
    text-decoration:none;
}
.ip-header .nav > a:hover,
.ip-header .nav > a.active{
    background:var(--ip-orange);
    color:#101828;
    text-decoration:none;
}
@media(max-width:760px){
    .header-inner{align-items:flex-start;flex-direction:column}
    .dropdown-nav{width:100%;align-items:flex-start;gap:8px}
    .nav-dropdown{width:calc(50% - 4px)}
    .dropdown-toggle{width:100%;justify-content:space-between}
    .dropdown-menu,.dropdown-menu-right{position:static;display:none;width:100%;min-width:0;margin-top:6px;box-shadow:0 10px 24px rgba(8,52,95,.16)}
    .nav-dropdown:hover .dropdown-menu,
    .nav-dropdown:focus-within .dropdown-menu{display:block}
}
@media(max-width:520px){.nav-dropdown{width:100%}}


/* v1.41 - firemni hlavicka IP System */
:root{
    --ip-red:#e21e25;
    --ip-blue:#101840;
    --ip-blue-soft:#18255f;
    --ip-red-dark:#b8171d;
}
.ip-header{
    background:var(--ip-blue)!important;
    border-bottom:10px solid var(--ip-red)!important;
    box-shadow:0 12px 30px rgba(16,24,64,.26)!important;
}
.ip-header .header-inner{
    min-height:74px;
}
.ip-header .brand{
    color:white!important;
    font-weight:900;
    letter-spacing:.02em;
}
.ip-header .brand-logo{
    height:50px;
    background:white;
    border-radius:10px;
    padding:5px;
    box-shadow:0 8px 18px rgba(0,0,0,.22);
}
.dropdown-toggle{
    background:white!important;
    color:var(--ip-blue)!important;
    border:2px solid rgba(255,255,255,.82)!important;
    box-shadow:0 5px 14px rgba(0,0,0,.16)!important;
}
.dropdown-toggle:hover,
.dropdown-toggle.active,
.nav-dropdown:focus-within .dropdown-toggle,
.nav-dropdown:hover .dropdown-toggle{
    background:var(--ip-red)!important;
    border-color:var(--ip-red)!important;
    color:white!important;
}
.dropdown-menu{
    border:1px solid #d0d5dd!important;
    border-top:8px solid var(--ip-red)!important;
    box-shadow:0 18px 46px rgba(16,24,64,.24)!important;
}
.dropdown-link:hover,
.dropdown-link.active{
    background:#fff1f2!important;
    color:var(--ip-red)!important;
}
.dropdown-link.active{
    box-shadow:inset 5px 0 0 var(--ip-red)!important;
}
.ip-header .nav > a{
    background:white!important;
    color:var(--ip-blue)!important;
    border:2px solid rgba(255,255,255,.82)!important;
    box-shadow:0 5px 14px rgba(0,0,0,.14)!important;
}
.ip-header .nav > a:hover,
.ip-header .nav > a.active{
    background:var(--ip-red)!important;
    color:white!important;
    border-color:var(--ip-red)!important;
}
.header:before{
    content:'';
    display:block;
    height:8px;
    background:var(--ip-red);
}
@media(max-width:760px){
    .ip-header .header-inner{min-height:auto}
    .dropdown-toggle{min-height:42px}
}


/* v1.42 - cervena lista a modre spodni oramovani */
.ip-header{
    background:var(--ip-red)!important;
    border-bottom:8px solid var(--ip-blue)!important;
    box-shadow:0 12px 30px rgba(16,24,64,.22)!important;
}
.header:before{
    display:none!important;
    content:none!important;
}
.ip-header .header-inner{
    min-height:76px;
}
.ip-header .brand{
    color:white!important;
    font-weight:900;
}
.dropdown-toggle{
    background:white!important;
    color:var(--ip-blue)!important;
    border:2px solid white!important;
    box-shadow:0 5px 14px rgba(16,24,64,.18)!important;
}
.dropdown-toggle:hover,
.dropdown-toggle.active,
.nav-dropdown:focus-within .dropdown-toggle,
.nav-dropdown:hover .dropdown-toggle{
    background:var(--ip-blue)!important;
    border-color:var(--ip-blue)!important;
    color:white!important;
}
.dropdown-menu{
    border:1px solid #d0d5dd!important;
    border-top:8px solid var(--ip-blue)!important;
    box-shadow:0 18px 46px rgba(16,24,64,.22)!important;
}
.dropdown-link:hover,
.dropdown-link.active{
    background:#eef2ff!important;
    color:var(--ip-blue)!important;
}
.dropdown-link.active{
    box-shadow:inset 5px 0 0 var(--ip-blue)!important;
}
.ip-header .nav > a{
    background:white!important;
    color:var(--ip-blue)!important;
    border:2px solid white!important;
    box-shadow:0 5px 14px rgba(16,24,64,.16)!important;
}
.ip-header .nav > a:hover,
.ip-header .nav > a.active{
    background:var(--ip-blue)!important;
    color:white!important;
    border-color:var(--ip-blue)!important;
}


/* v1.44 - aukce prehled jedna stavova pilulka */
.auction-overview-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    max-width:100%;
    border-radius:999px;
    padding:9px 13px;
    margin:10px 0 12px;
    font-size:14px;
    line-height:1.2;
    font-weight:900;
    box-shadow:0 5px 14px rgba(16,24,40,.10);
}
.auction-overview-pill .auction-countdown{
    display:inline-flex!important;
    min-height:auto!important;
    padding:0!important;
    margin:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:inherit!important;
    box-shadow:none!important;
    animation:none!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:900!important;
}
.auction-overview-pill.planned{
    background:#dff3ff;
    color:#075985;
}
.auction-overview-pill.active{
    background:#dcfae6;
    color:#05603a;
}
.auction-overview-pill.ended{
    background:#f2f4f7;
    color:#344054;
}
.auction-overview-pill.cancelled{
    background:#fee4e2;
    color:#912018;
}
.auction-overview-pill .countdown-soon,
.auction-overview-pill .countdown-warning,
.auction-overview-pill .countdown-danger,
.auction-overview-pill .countdown-critical,
.auction-overview-pill .countdown-ended,
.auction-overview-pill .countdown-ok{
    background:transparent!important;
    color:inherit!important;
    box-shadow:none!important;
    animation:none!important;
}


/* v1.45 - detail aukce prehledne prihazovani */
.auction-detail-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:18px;align-items:start}
.vehicle-detail-card h1{font-size:30px;margin-bottom:16px}
.vehicle-detail-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.vehicle-detail-specs div{background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px;padding:10px}
.vehicle-detail-specs span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:3px;text-transform:uppercase;letter-spacing:.03em}
.vehicle-detail-specs strong{font-size:15px;color:#101828}
.auction-bid-card h2{margin-bottom:10px}
.auction-live-panel{background:white;border:1px solid #e4e7ec;border-radius:16px;padding:14px;box-shadow:0 8px 24px rgba(16,24,40,.07)}
.auction-live-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.auction-bidders-line{font-weight:800;color:#101828;text-decoration:underline;text-underline-offset:3px}
.auction-price-block{text-align:right}.auction-price-label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.auction-price-main{font-size:34px;font-weight:900;color:#101828;letter-spacing:.03em;line-height:1.05}
.auction-time-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:12px 0 18px;color:#101828}.auction-time-row strong{text-align:right;white-space:nowrap}.auction-countdown-inline{background:transparent!important;color:#101828!important;padding:0!important;border-radius:0!important;box-shadow:none!important;animation:none!important;font-size:16px!important;line-height:1.2!important}
.auction-user-status{background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px;padding:10px;margin:10px 0}
.bid-label{display:block;color:#667085;font-size:14px;font-weight:800;margin-bottom:6px}.bid-input-row{display:grid;grid-template-columns:126px 1fr;gap:8px;align-items:stretch}.bid-input-wrap{display:flex;align-items:center;border:1px solid #d0d5dd;border-radius:8px;background:white;overflow:hidden}.bid-input-wrap input{border:0;border-radius:0;padding:12px 8px;font-size:16px}.bid-input-wrap span{padding:0 10px;font-weight:800;color:#101828}.bid-submit-main{width:100%;border-radius:8px;font-size:16px;background:#1f40c9!important;color:white!important;display:flex;align-items:center;justify-content:center}.bid-preview-line{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:7px;font-size:13px}.watch-form-modern{margin-top:10px}.watch-button-modern{width:100%;border:0;border-radius:8px;background:#e6e7ed;color:#101828;padding:13px 16px;font-weight:900;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.watch-button-modern span{margin-left:auto;font-size:14px}.auction-meta-box{margin-top:14px;background:#f8fafc;border:1px solid #e4e7ec;border-radius:14px;padding:12px}.auction-meta-box p{margin:7px 0}
@media(max-width:900px){.auction-detail-grid{grid-template-columns:1fr}.bid-input-row{grid-template-columns:1fr}.auction-live-top,.auction-time-row{flex-direction:column}.auction-price-block{text-align:left}.auction-time-row strong{text-align:left}.vehicle-detail-specs{grid-template-columns:1fr}}


/* v1.47 sticky header and detail cleanup */
.header.ip-header{
    position:sticky!important;
    top:0;
    z-index:9990;
    transition:min-height .22s ease, box-shadow .22s ease;
}
.header.ip-header .header-inner,
.header.ip-header .brand-logo,
.header.ip-header .brand,
.header.ip-header .dropdown-toggle,
.header.ip-header .nav > a{
    transition:all .22s ease;
}
body.header-shrink .header.ip-header .header-inner{
    min-height:57px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
}
body.header-shrink .header.ip-header .brand-logo{
    height:38px!important;
    padding:3px!important;
}
body.header-shrink .header.ip-header .brand{
    font-size:18px!important;
}
body.header-shrink .header.ip-header .dropdown-toggle,
body.header-shrink .header.ip-header .nav > a{
    padding-top:7px!important;
    padding-bottom:7px!important;
}
.vehicle-photo-link{display:block;width:100%;height:100%}
.vehicle-photo-link img{transition:transform .22s ease, filter .22s ease}
.vehicle-photo-link:hover img{transform:scale(1.03);filter:brightness(.96)}
.image-manage-card{display:flex;flex-direction:column;gap:6px;font-weight:700}
.image-manage-card span{font-size:13px;color:#344054}
.auction-time-row-single{display:block;margin:8px 0 16px}
.auction-countdown-detail{font-size:16px!important;padding:10px 14px!important;box-shadow:0 5px 14px rgba(16,24,40,.12)}
.bid-input-wrap input[type=number]{appearance:auto;-moz-appearance:auto}


/* v1.48 auto-dismiss system messages */
.success,
.error,
.system-message,
.flash-message,
.notice-message{
    position:relative;
    overflow:hidden;
}
.auto-dismiss-message::after{
    content:'';
    position:absolute;
    left:0;
    bottom:0;
    height:3px;
    width:100%;
    background:rgba(16,24,40,.22);
    transform-origin:left center;
    animation:messageLifeBar 10s linear forwards;
}
.auto-dismiss-message.is-hiding{
    pointer-events:none;
    animation:messageFadeSlideOut .7s ease forwards;
}
@keyframes messageLifeBar{
    from{transform:scaleX(1)}
    to{transform:scaleX(0)}
}
@keyframes messageFadeSlideOut{
    0%{opacity:1;transform:translateY(0);max-height:220px;margin-bottom:12px;padding-top:10px;padding-bottom:10px}
    65%{opacity:0;transform:translateY(-8px);max-height:220px;margin-bottom:12px;padding-top:10px;padding-bottom:10px}
    100%{opacity:0;transform:translateY(-8px);max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-width:0}
}


/* v1.50 reminder settings and bidding page */
.vehicle-detail-card h3{
    margin-top:34px!important;
}
.reminder-settings-box{
    margin-top:16px;
    padding:13px;
    border:1px solid #e4e7ec;
    border-radius:14px;
    background:#f8fafc;
}
.reminder-checkboxes{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:10px 0;
}
.reminder-checkboxes label{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin:0;
    padding:7px 10px;
    border:1px solid #d0d5dd;
    border-radius:999px;
    background:white;
    font-size:13px;
    font-weight:800;
}
.reminder-checkboxes input{width:auto}
.bid-user-summary{
    margin:12px 0;
    padding:12px;
    border:1px solid #e4e7ec;
    border-radius:14px;
    background:#f8fafc;
}


/* v1.51 reminder UX and hover menu */
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
}
.nav-dropdown:hover .dropdown-toggle,
.nav-dropdown:focus-within .dropdown-toggle{
    filter:brightness(.96);
}
.auction-detail-reminder-box{
    margin-top:12px;
}
.small-note{
    font-size:12px;
    margin:6px 0 10px;
}
.watched-auction-card .auction-overview-pill{
    margin-top:8px;
}


/* v1.52 dropdown hover bridge - menu zustane rozbalene pri prejezdu mysi */
.nav-dropdown{
    padding-bottom:12px!important;
    margin-bottom:-12px!important;
}
.nav-dropdown::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:14px;
    z-index:9999;
}
.dropdown-menu{
    top:calc(100% + 2px)!important;
}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu{
    display:block!important;
}
@media(max-width:760px){
    .nav-dropdown{
        padding-bottom:0!important;
        margin-bottom:0!important;
    }
    .nav-dropdown::after{
        display:none!important;
    }
    .dropdown-menu,
    .dropdown-menu-right{
        top:auto!important;
    }
}


/* v1.53 public footer text */
.public-footer{
    text-align:center!important;
    color:#667085;
    font-weight:700;
    padding:18px 12px;
}
.public-footer .admin-version{
    display:inline-flex;
    margin-left:8px;
    padding:3px 8px;
    border-radius:999px;
    background:#eef2ff;
    color:#101840;
    font-size:12px;
    vertical-align:middle;
}
.full-width{
    grid-column:1 / -1;
}


/* v1.55 auction cancellation */
.badge.cancelled,
.auction-state-pill.cancelled,
.auction-overview-pill.cancelled{
    background:#344054!important;
    color:#ffffff!important;
}
.auction-cancelled-box{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:12px;
    padding:12px 14px;
    border-radius:14px;
    background:#344054;
    color:white;
    font-weight:800;
}
.auction-cancelled-box span{
    font-weight:600;
    opacity:.92;
}
.admin-cancel-auction-box{
    margin-top:14px;
    padding:13px;
    border:1px solid #fecdca;
    border-radius:14px;
    background:#fff5f5;
    display:grid;
    gap:8px;
}
.admin-cancel-auction-box label{
    font-weight:900;
    color:#912018;
}
.admin-cancel-auction-box input{
    width:100%;
}


/* v1.68 first bid confirm */
.first-bid-confirm-box{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin:10px 0 12px;
    padding:14px 16px;
    border:1px solid #d0d5dd;
    border-radius:16px;
    background:#f2f4f7;
}
.first-bid-confirm-box strong{
    color:#101840;
    font-size:14px;
}
.first-bid-confirm-box span{
    color:#101840;
    font-weight:900;
    font-size:24px;
    line-height:30px;
}
.first-bid-confirm-box p{
    margin:0;
}


/* v1.128 - mobilní detail aukce: aukční blok nahoře, menší neukotvené záhlaví */
.mobile-auction-title{
    display:none;
}
@media(max-width:760px){
    body{
        overflow-x:hidden;
    }
    .container.auction-detail-page{
        padding:12px 10px;
    }
    .mobile-auction-title{
        display:block;
        margin:0 0 10px;
        padding:10px 12px;
        border:1px solid #e4e7ec;
        border-radius:12px;
        background:#ffffff;
        color:#101840;
        font-size:18px;
        line-height:1.15;
        font-weight:900;
        text-transform:uppercase;
        box-shadow:0 2px 8px rgba(16,24,40,.05);
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .auction-detail-grid{
        display:flex!important;
        flex-direction:column!important;
        gap:12px!important;
    }
    .auction-bid-card{
        order:1;
        margin-bottom:12px!important;
    }
    .vehicle-detail-card{
        order:2;
    }
    .auction-detail-page > .card,
    .auction-detail-page .table-wrap{
        margin-bottom:12px;
    }
    .auction-bid-card h2{
        margin-bottom:8px;
        font-size:20px;
    }
    .auction-live-panel{
        padding:12px!important;
        border-radius:14px!important;
    }
    .auction-live-top{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
        margin-bottom:8px!important;
    }
    .auction-price-block{
        text-align:left!important;
    }
    .auction-price-main{
        font-size:30px!important;
    }
    .auction-time-row-single{
        margin:8px 0 10px!important;
    }
    .auction-countdown-detail{
        width:100%;
        justify-content:center!important;
        font-size:15px!important;
        padding:9px 12px!important;
    }
    .auction-user-status{
        margin:8px 0!important;
        padding:9px!important;
    }
    .first-bid-confirm-box{
        margin:8px 0!important;
        padding:12px!important;
    }
    .bid-input-row{
        grid-template-columns:1fr!important;
        gap:8px!important;
    }
    .bid-submit-main,
    .watch-button-modern,
    .auction-bid-form-modern .btn{
        min-height:46px!important;
        font-size:16px!important;
    }
    .reminder-settings-box{
        margin-top:10px!important;
        padding:11px!important;
    }
    .reminder-checkboxes{
        gap:6px!important;
    }
    .reminder-checkboxes label{
        flex:1 1 auto;
        justify-content:center;
        padding:8px 10px!important;
    }
    .auction-meta-box{
        margin-top:10px!important;
        padding:10px!important;
    }
    .auto-extend-highlight{
        padding:10px 12px!important;
        border-radius:12px!important;
    }
    .vehicle-detail-card h1{
        font-size:24px!important;
        margin-bottom:12px!important;
    }
    .gallery-main{
        max-height:260px!important;
        border-radius:12px!important;
    }
    .vehicle-detail-specs{
        grid-template-columns:1fr!important;
        gap:8px!important;
        margin-top:12px!important;
    }
    .vehicle-detail-specs div{
        padding:9px!important;
        border-radius:11px!important;
    }
    .vehicle-detail-card h3{
        margin-top:22px!important;
    }
}


/* v1.138 - teploměr automatického prodlužování aukce */
.auto-extend-thermometer{
    margin:10px 0 12px;
    padding:12px 14px;
    border:1px solid #fed7aa;
    border-left:4px solid #e21e25;
    border-radius:14px;
    background:#fff7ed;
    box-shadow:0 5px 14px rgba(16,24,40,.08);
}
.auto-extend-thermometer-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    margin-bottom:8px;
    color:#101840;
}
.auto-extend-thermometer-head strong{
    font-size:14px;
    line-height:1.25;
}
.auto-extend-thermometer-head span{
    font-size:13px;
    line-height:1.25;
    font-weight:900;
    color:#e21e25;
    white-space:nowrap;
}
.auto-extend-thermometer-track{
    position:relative;
    height:7px;
    border-radius:999px;
    overflow:hidden;
    background:#ffe4d5;
}
.auto-extend-thermometer-bar{
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#067647,#fdb022,#e21e25);
    transition:width .35s linear;
}
.auto-extend-thermometer-bar.is-warning{
    background:#f79009;
}
.auto-extend-thermometer-bar.is-critical{
    background:#e21e25;
    animation:countdownPulse 1s infinite alternate;
}
.auto-extend-thermometer-note{
    margin-top:7px;
    font-size:12px;
    line-height:1.35;
    color:#7c2d12;
    font-weight:700;
}
@media(max-width:760px){
    .auto-extend-thermometer-head{
        flex-direction:column;
        gap:4px;
    }
    .auto-extend-thermometer-head span{
        white-space:normal;
    }
}


/* v1.138h - finální kompaktní grafický teploměr automatického prodlužování */
.auto-extend-thermometer{
    display:none!important;
    width:100%!important;
    height:8px!important;
    margin:2px 0 9px!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    overflow:hidden!important;
    background:transparent!important;
    box-shadow:none!important;
}
.auto-extend-thermometer.is-visible{display:block!important}
.auto-extend-thermometer-track{
    position:relative!important;
    width:100%!important;
    height:100%!important;
    border-radius:999px!important;
    overflow:hidden!important;
    background:transparent!important;
}
.auto-extend-thermometer-bar{
    position:absolute!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:100%;
    min-width:3px;
    border-radius:999px!important;
    background:var(--thermo-color,#067647)!important;
    transition:background-color .12s linear, background .12s linear!important;
    box-shadow:0 3px 8px rgba(226,30,37,.18)!important;
}
.auto-extend-thermometer-head,.auto-extend-thermometer-note{display:none!important}


/* v1.150 | 2026-08-18 08:45 Europe/Prague | Přepínač ANO/NE pro uživatelský účet. */
.yesno-switch{
    display:inline-flex;
    align-items:center;
    gap:0;
    border:1px solid rgba(16,24,64,.22);
    border-radius:999px;
    padding:3px;
    background:#f4f6fb;
    box-shadow:inset 0 1px 2px rgba(16,24,64,.08);
}
.yesno-switch input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.yesno-switch label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:54px;
    min-height:32px;
    padding:0 14px;
    border-radius:999px;
    color:#101840;
    font-size:13px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    user-select:none;
    transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
.yesno-switch input:checked + label{
    background:#101840;
    color:#fff;
    box-shadow:0 2px 8px rgba(16,24,64,.22);
}
.yesno-switch input[value="1"]:checked + label{
    background:#047857;
}
.yesno-switch input[value="0"]:checked + label{
    background:#991b1b;
}
.yesno-switch label:hover{
    background:rgba(16,24,64,.08);
}
.yesno-switch input:focus-visible + label{
    outline:2px solid #e21e25;
    outline-offset:2px;
}
