:root{--red:#c4161c;--dark:#171821;--muted:#6b7280;--line:#e5e7eb;--bg:#f6f7fb;--card:#fff;--ok:#0f766e;--warn:#b45309;--danger:#b91c1c}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;background:var(--bg);color:var(--dark)}a{color:inherit}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 28px;position:sticky;top:0;z-index:10}.brand{font-weight:800;font-size:22px;color:var(--red)}nav{display:flex;gap:10px;flex:1}nav a{padding:10px 12px;text-decoration:none;border-radius:12px;color:#374151}nav a:hover{background:#f3f4f6}.userbox{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:14px}.container{max-width:1240px;margin:0 auto;padding:28px}.hero,.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 8px 26px rgba(17,24,39,.06)}.hero h1{margin:0 0 8px;font-size:34px}.hero p{color:var(--muted);margin-bottom:22px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}.kpi{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.kpi span{font-size:34px;font-weight:800;color:var(--red);display:block}.kpi small{color:var(--muted)}.btn,button{border:0;border-radius:12px;padding:11px 16px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn.primary,button{background:var(--red);color:#fff}.btn.secondary{background:#f3f4f6;color:#111827}.btn.danger{background:var(--danger);color:#fff}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line)}.table th,.table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.table th{background:#fafafa;color:#4b5563;font-weight:800}.table tr:last-child td{border-bottom:0}.badge{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#eef2ff}.badge.waiting_economy{background:#fef3c7;color:#92400e}.badge.processed_economy{background:#d1fae5;color:#065f46}.badge.returned{background:#fee2e2;color:#991b1b}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid .full{grid-column:1/-1}label{display:block;font-weight:800;margin:0 0 6px;color:#374151}input,select,textarea{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:11px 12px;font-size:15px;background:#fff}textarea{min-height:110px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.summary div{background:#f9fafb;border:1px solid var(--line);border-radius:16px;padding:14px}.summary strong{display:block;font-size:20px}.flash,.alert{padding:12px 14px;border-radius:14px;margin-bottom:16px}.flash{background:#d1fae5;color:#065f46}.alert{background:#fee2e2;color:#991b1b}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#fff 0,#f3f4f6 45%,#e5e7eb 100%)}.login-card{width:380px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:32px;box-shadow:0 20px 55px rgba(17,24,39,.12)}.login-card h1{margin:0;color:var(--red)}.login-card p{color:var(--muted);margin-bottom:22px}.login-card label{margin-top:14px}.login-card button{width:100%;justify-content:center;margin-top:20px}.photos{display:flex;gap:12px;flex-wrap:wrap}.photos img{width:180px;height:130px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}@media(max-width:900px){.topbar{height:auto;align-items:flex-start;flex-direction:column;padding:16px}.container{padding:16px}.kpi-grid,.form-grid,.summary{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}.table{display:block;overflow-x:auto}}
.alert{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:16px;padding:12px 14px;margin:0 0 16px;font-weight:700}.checkline{display:flex;align-items:center;gap:8px;font-weight:600;margin-top:10px}.checkline input{width:auto}.table form button.btn{padding:8px 10px}.card h2{margin-top:0}.form-grid input[type=checkbox]{width:auto}
.section-title{font-weight:900;color:var(--red);font-size:18px;border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.badge.needs_decision{background:#e0e7ff;color:#3730a3}.badge.waiting_driver_notification{background:#fef9c3;color:#854d0e}.badge.company_cost{background:#e5e7eb;color:#374151}.badge.cancelled{background:#f3f4f6;color:#6b7280}.badge.new{background:#dbeafe;color:#1d4ed8}
/* v1.5 přehledy a filtry */
.kpi-grid.compact{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.kpi.link{text-decoration:none;transition:.15s transform,.15s box-shadow}.kpi.link:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(17,24,39,.08)}.kpi.link small{display:block}.filter-card{margin-bottom:16px}.filter-card h2{margin-top:0}.form-grid.four{grid-template-columns:repeat(4,1fr)}.form-grid .wide{grid-column:span 2}.filter-actions{display:flex;gap:10px;align-items:end}.summary-4{grid-template-columns:repeat(4,1fr);margin:16px 0}.table-wrap{overflow-x:auto;border-radius:18px}.table small{color:var(--muted)}button.btn.danger{background:var(--danger);color:#fff}@media(max-width:1100px){.form-grid.four{grid-template-columns:repeat(2,1fr)}.summary-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.form-grid.four,.summary-4,.kpi-grid.compact{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.filter-actions{align-items:stretch;flex-direction:column}}

/* v1.6 - správa fotek a editace protokolu */
.photos.managed {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px;
}
.photo-card {
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    padding: 10px;
    background: rgba(255,255,255,.72);
}
.photo-card img {
    width: 100%;
    height: 130px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
    margin-bottom: 8px;
}
.photo-card small {
    display: block;
    color: #666;
    line-height: 1.35;
    margin-bottom: 8px;
}
.btn.small, button.small {
    padding: 6px 10px;
    font-size: 12px;
}
.section-title {
    font-weight: 800;
    color: #8b0000;
    padding-top: 10px;
    border-top: 1px solid rgba(0,0,0,.08);
}

/* v1.7 - hezčí stránka bez oprávnění */
.access-denied-page{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:28px 0}.access-denied-card{width:min(980px,100%);position:relative;overflow:hidden;display:grid;grid-template-columns:190px 1fr;gap:28px;align-items:center;background:radial-gradient(circle at 5% 5%,rgba(196,22,28,.16),transparent 32%),linear-gradient(135deg,#ffffff 0%,#fff7f7 42%,#f8fafc 100%);border:1px solid rgba(196,22,28,.18);border-radius:30px;padding:34px;box-shadow:0 24px 70px rgba(17,24,39,.12)}.access-denied-card::after{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:999px;background:rgba(196,22,28,.08)}.denied-icon{width:150px;height:150px;border-radius:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--red),#7f1015);color:#fff;box-shadow:0 18px 40px rgba(196,22,28,.34);transform:rotate(-3deg)}.denied-icon span{width:70px;height:70px;border-radius:999px;border:5px solid rgba(255,255,255,.88);display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:900;line-height:1}.denied-content{position:relative;z-index:1}.denied-content .eyebrow{display:inline-flex;margin:0 0 12px;padding:6px 11px;border-radius:999px;background:rgba(196,22,28,.1);color:var(--red);font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.denied-content h1{margin:0 0 12px;font-size:clamp(28px,4vw,44px);line-height:1.05;color:#111827}.denied-content .lead{max-width:720px;margin:0 0 22px;color:#4b5563;font-size:16px;line-height:1.6}.denied-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 22px}.denied-info-grid div{background:rgba(255,255,255,.78);border:1px solid rgba(229,231,235,.9);border-radius:18px;padding:14px 16px}.denied-info-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.denied-info-grid strong{display:block;color:#111827;overflow-wrap:anywhere}.denied-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:760px){.access-denied-card{grid-template-columns:1fr;padding:24px;text-align:left}.denied-icon{width:110px;height:110px;border-radius:28px}.denied-icon span{width:54px;height:54px;font-size:34px;border-width:4px}.denied-info-grid{grid-template-columns:1fr}}

/* v1.8 - správa uživatelů */
.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.role-card{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;font-weight:600;margin:0}.role-card input{width:auto;margin-top:3px}.role-card strong{display:block;color:#111827}.role-card small{display:block;color:var(--muted);font-weight:500;line-height:1.4;margin-top:3px}@media(max-width:800px){.role-grid{grid-template-columns:1fr}}

/* v1.10 - statistiky */
.stats-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px}.stats-filter{display:grid;grid-template-columns:150px 150px auto auto;gap:10px;align-items:end}.stats-filter label{margin:0;font-size:13px;color:var(--muted)}.stats-filter input{margin-top:5px}.stats-grid{display:grid;gap:18px}.stats-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.bar-list{display:flex;flex-direction:column;gap:14px}.bar-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px}.bar-head span{color:var(--muted);font-weight:800;font-size:13px;white-space:nowrap}.bar-track{height:12px;background:#f3f4f6;border-radius:999px;overflow:hidden;border:1px solid #e5e7eb}.bar-fill{height:100%;background:linear-gradient(90deg,var(--red),#ef4444);border-radius:999px}.monthly-bars{min-height:240px;display:flex;gap:12px;align-items:flex-end;overflow-x:auto;padding:16px 4px 4px}.month-col{min-width:58px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}.month-bar{width:34px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,var(--red),#991b1b);box-shadow:0 8px 20px rgba(196,22,28,.18)}.month-col strong{font-size:13px}.month-col small,.muted{color:var(--muted)}
@media(max-width:1100px){.stats-hero{align-items:stretch;flex-direction:column}.stats-filter{grid-template-columns:repeat(2,1fr)}.stats-grid.three{grid-template-columns:1fr}.stats-grid.two{grid-template-columns:1fr}}
@media(max-width:650px){.stats-filter{grid-template-columns:1fr}.bar-head{align-items:flex-start;flex-direction:column}.bar-head span{white-space:normal}}

/* v1.11 - globální filtr střediska */
.center-switch{display:flex;align-items:center;gap:8px;background:#f9fafb;border:1px solid var(--line);border-radius:14px;padding:7px 9px;white-space:nowrap}.center-switch span{font-size:12px;font-weight:900;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.center-switch select{width:auto;min-width:180px;padding:8px 10px;border-radius:10px;font-size:13px;background:#fff}.muted{color:var(--muted)}.filter-note{align-self:end;color:var(--muted);font-size:13px;font-weight:700;padding:10px 0}@media(max-width:900px){.center-switch{width:100%;align-items:flex-start;flex-direction:column}.center-switch select{width:100%}}

/* v1.13 - export pro ekonomiku */
.actions-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.export-panel{margin:16px 0}.export-panel p{color:var(--muted);margin-top:0}.export-panel h2{margin-bottom:8px}
@media(max-width:700px){.actions-row{width:100%;align-items:stretch;flex-direction:column}.actions-row .btn{justify-content:center}}

/* v1.14 modulová navigace */
.topbar-v2{gap:16px;min-height:72px;height:auto;flex-wrap:nowrap}.brand-wrap{display:flex;flex-direction:column;gap:2px;min-width:172px}.brand-wrap .brand{text-decoration:none;line-height:1}.brand-subtitle{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.main-nav{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.main-nav .nav-link,.nav-trigger{height:42px;padding:0 13px;border-radius:14px;display:inline-flex;align-items:center;gap:7px;background:transparent;color:#374151;text-decoration:none;font-weight:800;font-size:14px;white-space:nowrap}.nav-trigger{border:0;cursor:default}.main-nav .nav-link:hover,.nav-group:hover .nav-trigger,.nav-group:focus-within .nav-trigger{background:#f3f4f6;color:#111827}.nav-group{position:relative}.nav-trigger span{font-size:11px;color:#9ca3af}.nav-dropdown{position:absolute;top:calc(100%);left:0;min-width:245px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 22px 55px rgba(17,24,39,.14);display:none;z-index:40}.nav-dropdown-right{right:0;left:auto}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{display:block}.nav-dropdown a{display:flex;padding:11px 12px;border-radius:12px;text-decoration:none;color:#374151;font-weight:800;font-size:14px}.nav-dropdown a:hover{background:#fff1f2;color:var(--red)}.topbar-tools{display:flex;align-items:center;gap:12px;margin-left:auto}.topbar-tools .userbox{border-left:1px solid var(--line);padding-left:12px}.topbar-tools .userbox span{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-v2 .center-switch{max-width:310px}.topbar-v2 .center-switch select{max-width:210px}
@media(max-width:1100px){.topbar-v2{align-items:flex-start;flex-wrap:wrap}.brand-wrap{min-width:auto}.main-nav{order:3;width:100%;overflow-x:auto;padding-bottom:4px}.topbar-tools{margin-left:auto}.nav-dropdown{position:fixed;top:auto;left:16px;right:16px;min-width:0}.nav-dropdown-right{right:16px;left:16px}}
@media(max-width:760px){.topbar-v2{padding:14px;gap:12px}.brand-wrap{width:100%}.main-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:visible}.main-nav .nav-link,.nav-trigger{width:100%;justify-content:center;background:#f9fafb;border:1px solid var(--line)}.nav-group{width:100%}.nav-dropdown{position:static;margin-top:8px;box-shadow:none;border-radius:14px}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{display:block}.topbar-tools{width:100%;flex-direction:column;align-items:stretch}.topbar-v2 .center-switch{max-width:none}.topbar-v2 .center-switch select{max-width:none}.topbar-tools .userbox{border-left:0;border-top:1px solid var(--line);padding:10px 0 0;justify-content:space-between}}


.danger-zone{border:1px solid rgba(220,38,38,.28);background:linear-gradient(180deg,#fff,#fff7f7)}
.danger-zone h2{color:#991b1b}
.badge.cancelled{background:#fee2e2;color:#991b1b;border-color:#fecaca}

/* v1.16 - filtrování číselníku pneumatik */
.filter-grid{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1fr auto;gap:12px;align-items:end}.filter-grid label{margin-bottom:6px}.filter-grid .filter-actions{display:flex;gap:10px;align-items:end;white-space:nowrap}.badge.ok{background:#d1fae5;color:#065f46}.badge.muted-badge{background:#f3f4f6;color:#6b7280}
@media(max-width:1100px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid .filter-actions{grid-column:1/-1}}
@media(max-width:700px){.filter-grid{grid-template-columns:1fr}.filter-grid .filter-actions{flex-direction:column;align-items:stretch}.filter-grid .filter-actions .btn,.filter-grid .filter-actions button{justify-content:center}}

/* v1.17 - interní notifikace */
.notification-pill{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 10px;
    border-radius:999px;
    color:#fff;
    text-decoration:none;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    font-size:13px;
    white-space:nowrap;
}
.notification-pill:hover{background:rgba(255,255,255,.18)}
.notification-pill strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:#fff;
    color:#b80000;
    font-size:12px;
    font-weight:800;
}
.notification-bell{font-size:15px;line-height:1}
.notification-list{display:grid;gap:12px}
.notification-card{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:16px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.04);
}
.notification-card.unread{
    border-color:rgba(184,0,0,.18);
    background:linear-gradient(135deg,#fff,#fff7f7);
}
.notification-card-title{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.notification-card p{margin:0;color:#374151;line-height:1.45}
.notification-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;color:#6b7280;font-size:12px}
.notification-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.inline-form{display:inline-flex;margin:0}
.empty-state{text-align:center;padding:34px 18px;color:#6b7280}
.empty-state h2{margin:0 0 8px;color:#111827}
.kpi-grid.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:16px}
@media(max-width:900px){
    .notification-card{flex-direction:column}
    .notification-card-actions{justify-content:flex-start}
    .notification-pill span:not(.notification-bell){display:none}
}

/* v1.17.1 - hezčí notifikační prvek v horní liště */
.notification-button{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:42px;
    padding:0 14px;
    border-radius:16px;
    text-decoration:none;
    color:#374151;
    background:linear-gradient(135deg,#ffffff,#f8fafc);
    border:1px solid rgba(229,231,235,.95);
    box-shadow:0 8px 22px rgba(17,24,39,.06);
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.notification-button:hover{
    transform:translateY(-1px);
    border-color:rgba(196,22,28,.22);
    background:linear-gradient(135deg,#fff7f7,#ffffff);
    box-shadow:0 14px 30px rgba(17,24,39,.10);
}
.notification-button-icon{
    width:25px;
    height:25px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#fff1f2;
    color:var(--red);
    font-size:14px;
    line-height:1;
}
.notification-button-text{letter-spacing:.01em}
.notification-button-count{
    position:absolute;
    top:-7px;
    right:-7px;
    min-width:22px;
    height:22px;
    padding:0 6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--red);
    color:#fff;
    border:2px solid #fff;
    box-shadow:0 8px 18px rgba(196,22,28,.35);
    font-size:11px;
    font-weight:950;
}
.notification-button.has-unread .notification-button-icon{
    background:linear-gradient(135deg,var(--red),#991b1b);
    color:#fff;
    box-shadow:0 8px 18px rgba(196,22,28,.25);
}
.notification-button.has-unread::after{
    content:"";
    position:absolute;
    inset:-3px;
    border-radius:19px;
    border:1px solid rgba(196,22,28,.16);
    pointer-events:none;
}
@media(max-width:1180px){
    .notification-button{width:44px;padding:0;border-radius:15px}
    .notification-button-text{display:none}
}
@media(max-width:760px){
    .notification-button{width:100%;justify-content:flex-start;padding:0 14px}
    .notification-button-text{display:inline}
    .notification-button-count{top:8px;right:10px}
}

/* v1.18 - e-mail queue */
.table-card{overflow:auto}.table-card table{width:100%;border-collapse:collapse}.table-card th,.table-card td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}.table-card th{background:#fafafa;color:#4b5563;font-weight:900}.small-text{max-width:320px;font-size:12px;color:#6b7280;white-space:normal}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;background:#eef2ff;color:#3730a3}.status-pending{background:#fef3c7;color:#92400e}.status-failed{background:#fee2e2;color:#991b1b}.status-sent{background:#d1fae5;color:#065f46}.status-cancelled{background:#f3f4f6;color:#6b7280}.badge.warn{background:#fef3c7;color:#92400e}.compact{grid-template-columns:1.5fr 1fr auto}.btn.tiny{padding:7px 10px;border-radius:10px;font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.stat-card strong{display:block;font-size:28px;color:var(--red)}.stat-card span{color:#6b7280;font-size:13px;font-weight:700}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.page-head h1{margin:0}.page-head p{margin:6px 0 0}.muted{color:#6b7280}.grid{display:grid}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.stats-grid{grid-template-columns:1fr}}


/* v1.18.2 – cleaner spacing for the e-mail queue page */
.email-queue-page{display:flex;flex-direction:column;gap:14px}
.email-queue-page .page-head{margin-bottom:4px}
.email-queue-page .stats-grid{margin-bottom:2px}
.email-queue-page .card{margin:0}
.email-queue-page .email-panel{padding:20px 22px}
.email-queue-page .email-panel h2{margin:0 0 14px}
.email-queue-page .email-panel p{margin:8px 0}
.email-panel-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.email-panel-action{margin-top:4px}
.email-queue-page .filter-grid.compact{gap:12px;align-items:end}
.email-queue-page .filter-actions{padding-top:0}
.email-queue-page .table-card{margin-top:2px;padding:0;overflow:hidden}
.email-queue-page .table-card table{border-radius:0}
@media(max-width:900px){.email-panel-row{align-items:flex-start;flex-direction:column}.email-panel-action,.email-panel-action .btn{width:100%;justify-content:center}.email-queue-page .email-panel{padding:18px}}

/* v1.19 - notification e-mail rules */
.notification-rules-page{display:flex;flex-direction:column;gap:14px}
.notification-rules-info{padding:20px 22px}
.notification-rules-info h2{margin:0 0 10px}
.notification-rules-info p{margin:7px 0;color:#374151}
.notification-rules-list{display:flex;flex-direction:column;gap:12px}
.notification-rule-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}
.notification-rule-main h2{margin:0 0 7px;font-size:18px}
.notification-rule-main p{margin:0;color:#4b5563;line-height:1.45}
.notification-rule-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;color:#6b7280;font-size:12px;font-weight:700}
.switch-row{display:flex;align-items:center;gap:10px;font-weight:900;color:#374151;white-space:nowrap}
.switch-row input{position:absolute;opacity:0;pointer-events:none}
.switch-ui{width:54px;height:30px;border-radius:999px;background:#e5e7eb;position:relative;display:inline-flex;transition:.18s ease;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
.switch-ui::after{content:"";width:24px;height:24px;border-radius:999px;background:#fff;position:absolute;left:3px;top:3px;box-shadow:0 3px 10px rgba(0,0,0,.18);transition:.18s ease}
.switch-row input:checked + .switch-ui{background:linear-gradient(135deg,var(--red),#991b1b)}
.switch-row input:checked + .switch-ui::after{transform:translateX(24px)}
.sticky-actions{position:sticky;bottom:14px;background:rgba(245,246,250,.88);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 12px 32px rgba(17,24,39,.10)}
@media(max-width:760px){.notification-rule-card{align-items:flex-start;flex-direction:column}.switch-row{width:100%;justify-content:space-between}.sticky-actions{position:static}}

/* v1.20 - rozhodnutí o zavinění + časová osa protokolu */
.decision-card {
    border: 1px solid rgba(196, 22, 28, .18);
    box-shadow: 0 18px 45px rgba(30, 41, 59, .08);
}
.decision-card h2 {
    display: flex;
    align-items: center;
    gap: 10px;
}
.decision-card h2::before {
    content: "⚖";
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(196, 22, 28, .10);
    color: #c4161c;
}
.timeline-card h2 { margin-bottom: 16px; }
.timeline {
    position: relative;
    display: grid;
    gap: 14px;
    margin-top: 8px;
}
.timeline::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 10px;
    bottom: 10px;
    width: 2px;
    background: linear-gradient(180deg, rgba(196,22,28,.45), rgba(148,163,184,.25));
}
.timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: 14px;
}
.timeline-dot {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: #c4161c;
    border: 3px solid #fff;
    box-shadow: 0 0 0 4px rgba(196,22,28,.12);
    margin: 7px 0 0 8px;
    z-index: 1;
}
.timeline-content {
    border: 1px solid rgba(148, 163, 184, .25);
    background: rgba(255,255,255,.78);
    border-radius: 18px;
    padding: 14px 16px;
}
.timeline-top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}
.timeline-top strong { color: #0f172a; }
.timeline-top span,
.timeline-meta {
    color: #64748b;
    font-size: .88rem;
}
.timeline-note {
    margin-top: 8px;
    color: #334155;
    line-height: 1.45;
}
@media (max-width: 720px) {
    .timeline-top { flex-direction: column; gap: 4px; }
    .timeline-item { grid-template-columns: 26px 1fr; gap: 10px; }
    .timeline::before { left: 12px; }
    .timeline-dot { margin-left: 6px; }
}

/* v1.20.1 - prémiová grafická časová osa protokolu */
.timeline-card-premium {
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .22);
    background:
        radial-gradient(circle at top left, rgba(196,22,28,.08), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,252,.92));
}
.timeline-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(148,163,184,.18);
}
.timeline-head h2 { margin: 2px 0 0; }
.eyebrow {
    color: #c4161c;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.timeline-count {
    flex: 0 0 auto;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(15,23,42,.06);
    color: #475569;
    font-size: .84rem;
    font-weight: 800;
}
.empty-state.soft {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 18px;
    border: 1px dashed rgba(148,163,184,.38);
    background: rgba(255,255,255,.62);
    border-radius: 18px;
}
.empty-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(196,22,28,.10);
    color: #c4161c;
    font-size: 1.25rem;
}
.timeline-premium {
    gap: 0;
    margin-top: 0;
}
.timeline-premium::before { display: none; }
.timeline-premium .timeline-item {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 14px;
    min-height: 82px;
}
.timeline-rail {
    position: relative;
    display: flex;
    justify-content: center;
}
.timeline-rail::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(148,163,184,.22), rgba(148,163,184,.10));
}
.timeline-premium .timeline-item:first-child .timeline-rail::before { top: 24px; }
.timeline-premium .timeline-item:last-child .timeline-rail::before { bottom: calc(100% - 28px); }
.timeline-premium .timeline-dot {
    position: relative;
    z-index: 2;
    width: 38px;
    height: 38px;
    margin: 2px 0 0;
    border: 4px solid #fff;
    box-shadow: 0 10px 26px rgba(15,23,42,.12), 0 0 0 5px rgba(148,163,184,.14);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .82rem;
    font-weight: 900;
    color: #fff;
    background: #64748b;
}
.timeline-premium .timeline-dot span { line-height: 1; }
.timeline-premium .timeline-content {
    position: relative;
    margin-bottom: 14px;
    padding: 16px 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(148,163,184,.20);
    box-shadow: 0 12px 28px rgba(15,23,42,.06);
}
.timeline-premium .timeline-content::before {
    content: "";
    position: absolute;
    left: -7px;
    top: 16px;
    width: 14px;
    height: 14px;
    transform: rotate(45deg);
    background: inherit;
    border-left: 1px solid rgba(148,163,184,.20);
    border-bottom: 1px solid rgba(148,163,184,.20);
}
.timeline-premium .timeline-top {
    align-items: flex-start;
}
.timeline-title {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: -.01em;
}
.timeline-premium .timeline-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    margin-top: 5px;
    color: #64748b;
    font-size: .86rem;
}
.timeline-badge {
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(196,22,28,.10);
    color: #c4161c;
    font-size: .74rem;
    font-weight: 900;
    white-space: nowrap;
}
.timeline-premium .timeline-note {
    margin-top: 12px;
    padding: 12px 13px;
    border-radius: 14px;
    color: #334155;
    background: rgba(248,250,252,.88);
    border: 1px solid rgba(148,163,184,.14);
}
.timeline-premium .is-latest .timeline-content {
    border-color: rgba(196,22,28,.28);
    box-shadow: 0 18px 42px rgba(196,22,28,.08), 0 14px 30px rgba(15,23,42,.06);
}
.timeline-info .timeline-dot { background: #2563eb; box-shadow: 0 10px 26px rgba(37,99,235,.15), 0 0 0 5px rgba(37,99,235,.12); }
.timeline-warning .timeline-dot { background: #f59e0b; box-shadow: 0 10px 26px rgba(245,158,11,.16), 0 0 0 5px rgba(245,158,11,.14); }
.timeline-economy .timeline-dot { background: #7c3aed; box-shadow: 0 10px 26px rgba(124,58,237,.16), 0 0 0 5px rgba(124,58,237,.13); font-size: .72rem; }
.timeline-success .timeline-dot { background: #16a34a; box-shadow: 0 10px 26px rgba(22,163,74,.16), 0 0 0 5px rgba(22,163,74,.13); }
.timeline-company .timeline-dot { background: #0891b2; box-shadow: 0 10px 26px rgba(8,145,178,.16), 0 0 0 5px rgba(8,145,178,.13); }
.timeline-returned .timeline-dot { background: #ea580c; box-shadow: 0 10px 26px rgba(234,88,12,.16), 0 0 0 5px rgba(234,88,12,.13); }
.timeline-danger .timeline-dot { background: #dc2626; box-shadow: 0 10px 26px rgba(220,38,38,.16), 0 0 0 5px rgba(220,38,38,.13); }
@media (max-width: 720px) {
    .timeline-head { flex-direction: column; }
    .timeline-premium .timeline-item { grid-template-columns: 44px 1fr; gap: 10px; }
    .timeline-premium .timeline-dot { width: 32px; height: 32px; font-size: .72rem; }
    .timeline-premium .timeline-content { padding: 14px; }
    .timeline-premium .timeline-top { gap: 10px; }
}

/* v1.21 - uzamčení zpracovaných/stornovaných protokolů */
.lock-banner {
    margin: 0 0 16px 0;
    padding: 16px 18px;
    border-radius: 18px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.06), rgba(196, 22, 28, 0.08));
    border: 1px solid rgba(15, 23, 42, 0.10);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
}
.lock-banner .lock-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: #111827;
    color: #fff;
    box-shadow: 0 10px 22px rgba(17, 24, 39, 0.18);
    flex: 0 0 auto;
}
.lock-banner strong {
    display: block;
    font-size: 16px;
    margin-bottom: 4px;
    color: #111827;
}
.lock-banner p {
    margin: 0;
    color: #4b5563;
    line-height: 1.45;
}

/* v1.23 - driver lookup autocomplete */
.driver-lookup-block input[list] {
    width: 100%;
}
.lookup-status {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f3f4f6;
    color: #6b7280;
    font-size: 12px;
    font-weight: 700;
}
.lookup-status.is-selected {
    background: #dcfce7;
    color: #166534;
}
.hint-card {
    min-height: 44px;
    padding: 12px 14px;
    border: 1px dashed #d1d5db;
    border-radius: 14px;
    background: #fafafa;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.45;
}
@media (max-width: 760px) {
    .driver-lookup-hint { display: none; }
}

/* v1.23.1 – polished driver lookup in new tyre damage report */
.liability-select-card,
.driver-picker-card,
.driver-manual-card,
.driver-informed-card{
    border:1px solid rgba(229,231,235,.95);
    border-radius:20px;
    background:linear-gradient(180deg,#fff,#fbfcff);
    padding:16px;
    box-shadow:0 10px 26px rgba(17,24,39,.045);
}
.liability-select-card select{margin-bottom:8px}
.liability-select-card small{display:block;line-height:1.45}
.driver-picker-card{
    border-color:rgba(196,22,28,.16);
    background:radial-gradient(circle at top right,rgba(196,22,28,.08),transparent 36%),linear-gradient(180deg,#fff,#fffafa);
}
.driver-picker-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:13px}
.driver-picker-head label{margin:0;font-size:18px;color:#111827}
.driver-picker-head small{display:block;color:#6b7280;font-size:13px;line-height:1.35;margin-top:3px}
.driver-picker-icon{
    width:38px;height:38px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--red),#991b1b);color:#fff;box-shadow:0 10px 22px rgba(196,22,28,.24);font-size:18px;flex:0 0 auto
}
.driver-search-wrap{position:relative;margin-bottom:12px}
.driver-search-wrap input{padding-left:43px;font-weight:750;background:#fff;border-radius:16px;min-height:48px}
.driver-search-wrap input:focus{outline:none;border-color:rgba(196,22,28,.45);box-shadow:0 0 0 4px rgba(196,22,28,.08)}
.driver-search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:20px;color:#9ca3af;z-index:1;font-weight:900}
.driver-selected-card{
    display:flex;align-items:flex-start;gap:10px;border:1px solid #e5e7eb;border-radius:16px;padding:12px;background:#f9fafb;color:#374151;
}
.driver-selected-card strong{display:block;font-size:14px;color:#374151;margin-bottom:2px}
.driver-selected-card small{display:block;color:#6b7280;line-height:1.35;font-size:12px}
.driver-selected-dot{width:11px;height:11px;border-radius:999px;background:#9ca3af;margin-top:4px;box-shadow:0 0 0 4px rgba(156,163,175,.12);flex:0 0 auto}
.driver-selected-card.is-selected{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.driver-selected-card.is-selected strong{color:#065f46}
.driver-selected-card.is-selected .driver-selected-dot{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.15)}
.driver-manual-card{background:linear-gradient(180deg,#fff,#f8fafc)}
.driver-manual-card p{margin:0;color:#6b7280;line-height:1.45;font-size:14px}
.driver-informed-card{display:flex;flex-direction:column;justify-content:center;gap:8px;background:#fff}
.pretty-check{display:flex!important;align-items:center;gap:10px;margin:0!important;cursor:pointer}
.pretty-check input{display:none}
.pretty-check span{width:24px;height:24px;border-radius:9px;border:2px solid #d1d5db;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.pretty-check span::after{content:"";width:10px;height:6px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg);opacity:0;margin-top:-2px}
.pretty-check input:checked + span{background:var(--red);border-color:var(--red);box-shadow:0 8px 18px rgba(196,22,28,.20)}
.pretty-check input:checked + span::after{opacity:1}
.pretty-check strong{color:#111827;font-size:15px}
.driver-informed-card small{display:block;color:#6b7280;line-height:1.4;font-size:13px;padding-left:34px}
@media(max-width:900px){.driver-picker-card,.liability-select-card,.driver-manual-card,.driver-informed-card{padding:14px}.driver-picker-head label{font-size:16px}.driver-informed-card small{padding-left:0}}

/* v1.24 - našeptávač vozidel */
.lookup-card{
  border:1px solid rgba(148,163,184,.28);
  background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.lookup-card label{font-weight:800;color:#1f2937;margin-bottom:8px;display:block}
.lookup-card input[list]{
  width:100%;
  border:1px solid #d1d5db;
  border-radius:13px;
  padding:13px 14px;
  font-size:15px;
  background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.lookup-card input[list]:focus{
  outline:none;
  border-color:#c4161c;
  box-shadow:0 0 0 4px rgba(196,22,28,.10);
}
.lookup-card small{display:block;margin-top:8px;color:#64748b;font-size:13px}
.lookup-card small.lookup-ok{color:#047857;font-weight:700}
.lookup-card small.lookup-warn{color:#b45309;font-weight:700}


/* v1.24.1 - unified asset picker for damaged unit */
.asset-picker-card{
  border:1px solid rgba(196,22,28,.16);
  border-radius:22px;
  padding:18px;
  background:radial-gradient(circle at top right,rgba(196,22,28,.08),transparent 34%),linear-gradient(180deg,#fff,#fffafa);
  box-shadow:0 14px 34px rgba(17,24,39,.055);
}
.asset-picker-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:14px}
.asset-picker-head label{margin:0;font-size:19px;color:#111827;font-weight:900;letter-spacing:-.01em}
.asset-picker-head small{display:block;color:#6b7280;font-size:13px;line-height:1.4;margin-top:4px}
.asset-picker-icon{
  width:42px;height:42px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--red),#991b1b);color:#fff;box-shadow:0 10px 24px rgba(196,22,28,.24);font-size:19px;flex:0 0 auto
}
.asset-search-wrap{position:relative;margin-bottom:12px}
.asset-search-wrap input{padding-left:45px!important;font-weight:800;background:#fff;border-radius:16px;min-height:50px;width:100%}
.asset-search-wrap input:focus{outline:none;border-color:rgba(196,22,28,.48);box-shadow:0 0 0 4px rgba(196,22,28,.085)}
.asset-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:20px;color:#9ca3af;z-index:1;font-weight:900}
.asset-selected-card{
  display:flex;align-items:flex-start;gap:10px;border:1px solid #e5e7eb;border-radius:16px;padding:12px;background:#f9fafb;color:#374151;
}
.asset-selected-card strong{display:block;font-size:14px;color:#374151;margin-bottom:2px}
.asset-selected-card small{display:block;color:#6b7280;line-height:1.35;font-size:12px}
.asset-selected-dot{width:11px;height:11px;border-radius:999px;background:#9ca3af;margin-top:4px;box-shadow:0 0 0 4px rgba(156,163,175,.12);flex:0 0 auto}
.asset-selected-card.is-selected{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.asset-selected-card.is-selected strong{color:#065f46}
.asset-selected-card.is-selected .asset-selected-dot{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.15)}
.asset-selected-card.is-warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.asset-selected-card.is-warn strong{color:#9a3412}
.asset-selected-card.is-warn .asset-selected-dot{background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.15)}
@media(max-width:900px){.asset-picker-card{padding:15px}.asset-picker-head label{font-size:17px}}

/* v1.25 - polished tyre lookup in new tyre damage report */
.tyre-picker-card{
  border:1px solid rgba(31,41,55,.10);
  border-radius:24px;
  padding:18px;
  background:
    radial-gradient(circle at top right,rgba(17,24,39,.08),transparent 34%),
    radial-gradient(circle at bottom left,rgba(196,22,28,.07),transparent 30%),
    linear-gradient(180deg,#ffffff,#fbfcff);
  box-shadow:0 16px 38px rgba(15,23,42,.065);
}
.tyre-picker-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:14px}
.tyre-picker-head label{margin:0;font-size:19px;color:#111827;font-weight:900;letter-spacing:-.01em}
.tyre-picker-head small{display:block;color:#6b7280;font-size:13px;line-height:1.42;margin-top:4px}
.tyre-picker-icon{
  width:42px;height:42px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#111827,#374151);color:#fff;box-shadow:0 10px 24px rgba(17,24,39,.22);font-size:20px;flex:0 0 auto
}
.tyre-search-wrap{position:relative;margin-bottom:12px}
.tyre-search-wrap input{padding-left:45px!important;font-weight:850;background:#fff;border-radius:16px;min-height:50px;width:100%}
.tyre-search-wrap input:focus{outline:none;border-color:rgba(17,24,39,.42);box-shadow:0 0 0 4px rgba(17,24,39,.07)}
.tyre-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:20px;color:#9ca3af;z-index:1;font-weight:900}
.tyre-selected-card{
  display:flex;align-items:flex-start;gap:10px;border:1px solid #e5e7eb;border-radius:16px;padding:12px;background:#f9fafb;color:#374151;
}
.tyre-selected-card strong{display:block;font-size:14px;color:#374151;margin-bottom:2px}
.tyre-selected-card small{display:block;color:#6b7280;line-height:1.35;font-size:12px}
.tyre-selected-dot{width:11px;height:11px;border-radius:999px;background:#9ca3af;margin-top:4px;box-shadow:0 0 0 4px rgba(156,163,175,.12);flex:0 0 auto}
.tyre-selected-card.is-selected{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.tyre-selected-card.is-selected strong{color:#065f46}
.tyre-selected-card.is-selected .tyre-selected-dot{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.15)}
.tyre-selected-card.is-warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.tyre-selected-card.is-warn strong{color:#9a3412}
.tyre-selected-card.is-warn .tyre-selected-dot{background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.15)}
.tyre-spec-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
.tyre-spec-grid > div{
  border:1px solid rgba(229,231,235,.95);
  background:linear-gradient(180deg,#fff,#f8fafc);
  border-radius:15px;
  padding:11px 12px;
  min-height:58px;
}
.tyre-spec-grid small{display:block;color:#6b7280;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;margin-bottom:4px}
.tyre-spec-grid strong{display:block;color:#111827;font-size:14px;font-weight:900;line-height:1.2}
.life-stage-card{
  border:1px solid rgba(229,231,235,.95);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  padding:16px;
  box-shadow:0 10px 26px rgba(17,24,39,.045);
}
.life-stage-card select{margin-bottom:8px}
.life-stage-card small{display:block;line-height:1.45}
@media(max-width:1100px){.tyre-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.tyre-picker-card{padding:15px}.tyre-picker-head label{font-size:17px}.tyre-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.29 - pracovní dashboard podle role */
.dashboard-hero-v129{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;background:radial-gradient(circle at top right,rgba(196,22,28,.08),transparent 35%),linear-gradient(180deg,#fff,#fbfcff)}
.dashboard-hero-v129 .eyebrow{margin:0 0 8px;color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.dashboard-hero-v129 h1{margin-bottom:8px}.dashboard-hero-v129 p{max-width:920px}.work-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.work-kpi-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 28px rgba(17,24,39,.055);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;min-height:128px}.work-kpi-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(17,24,39,.085);border-color:rgba(196,22,28,.20)}.work-kpi-card span{display:block;color:var(--red);font-size:30px;font-weight:950;line-height:1.1;margin-bottom:10px;letter-spacing:-.03em}.work-kpi-card strong{display:block;color:#111827;font-size:16px;margin-bottom:5px}.work-kpi-card small{display:block;color:#6b7280;line-height:1.35}.work-kpi-card.urgent{background:linear-gradient(180deg,#fff,#fff7f7);border-color:rgba(196,22,28,.18)}.work-kpi-card.warn{background:linear-gradient(180deg,#fff,#fffbeb);border-color:#fde68a}.work-kpi-card.warn span{color:#b45309}.work-kpi-card.danger{background:linear-gradient(180deg,#fff,#fef2f2);border-color:#fecaca}.work-kpi-card.danger span{color:#b91c1c}.work-kpi-card.neutral span{color:#374151}.dashboard-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-sections .full-width{grid-column:1/-1}.work-card{padding:20px}.work-card .toolbar{margin-bottom:12px}.work-card h2{margin:0}.compact-table th,.compact-table td{font-size:13px;padding:11px 12px}.compact-table small{color:#6b7280}.compact-table .btn.small{padding:7px 10px;border-radius:10px;font-size:12px}@media(max-width:1150px){.work-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-sections{grid-template-columns:1fr}}@media(max-width:650px){.work-kpi-grid{grid-template-columns:1fr}.dashboard-hero-v129 .actions-row{flex-direction:column;align-items:stretch}.dashboard-hero-v129 .actions-row .btn{justify-content:center}.compact-table{display:block;overflow-x:auto}}


/* v1.30 - správa středisek a typů vozidel */
.admin-dictionary-card h2{margin-top:0}
.admin-table-card{padding:0;overflow:hidden}
.admin-table-card table{margin:0}
.admin-table-card .actions-row{gap:8px;flex-wrap:nowrap}
.admin-table-card .inline-form{display:inline-flex}
@media(max-width:760px){.admin-table-card .actions-row{flex-direction:column;align-items:stretch}.admin-table-card .actions-row .btn,.admin-table-card .actions-row button{justify-content:center;width:100%}}

/* v1.31 - statistiky podle řidičů */
.driver-stats-hero{align-items:flex-start}.driver-stats-filter{grid-template-columns:145px 145px minmax(220px,1fr) auto auto;align-items:end}.driver-stats-search{min-width:240px}.driver-kpi-grid .kpi span{font-size:clamp(21px,2.3vw,34px)}.driver-ranking-card{overflow:hidden}.driver-rank-list{display:flex;flex-direction:column;gap:13px}.driver-rank-item{border:1px solid rgba(229,231,235,.95);border-radius:18px;padding:14px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 8px 22px rgba(17,24,39,.035)}.driver-rank-top{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center}.driver-avatar{width:42px;height:42px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--red),#991b1b);color:#fff;font-weight:950;box-shadow:0 10px 22px rgba(196,22,28,.22)}.driver-rank-main strong{display:block;font-size:15px;color:#111827}.driver-rank-main small{display:block;color:#6b7280;line-height:1.35;margin-top:2px}.driver-rank-value{text-align:right}.driver-rank-value strong{display:block;color:#111827}.driver-rank-value small{color:#6b7280;font-weight:800}.driver-rank-bar{height:10px;border-radius:999px;background:#eef2f7;overflow:hidden;margin-top:12px;border:1px solid #e5e7eb}.driver-rank-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--red),#ef4444)}.driver-rank-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.driver-rank-meta span{font-size:12px;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:5px 8px;font-weight:800}@media(max-width:1100px){.driver-stats-filter{grid-template-columns:repeat(2,1fr)}.driver-stats-search{grid-column:1/-1}.driver-stats-filter .btn{justify-content:center}}@media(max-width:700px){.driver-stats-filter{grid-template-columns:1fr}.driver-rank-top{grid-template-columns:38px 1fr}.driver-rank-value{grid-column:1/-1;text-align:left;display:flex;gap:8px;align-items:baseline}.driver-avatar{width:38px;height:38px}}

/* v1.31.1 - modernější audit změn */
.audit-page{display:flex;flex-direction:column;gap:18px}
.audit-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;background:radial-gradient(circle at top left,rgba(196,22,28,.10),transparent 34%),linear-gradient(180deg,#fff,#fbfcff)}
.audit-hero h1{margin:4px 0 8px;font-size:34px;letter-spacing:-.03em}
.audit-total-card{min-width:150px;border:1px solid rgba(196,22,28,.16);background:#fff7f7;border-radius:22px;padding:18px;text-align:center;box-shadow:0 14px 32px rgba(196,22,28,.08)}
.audit-total-card span,.audit-total-card small{display:block;color:#6b7280;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.audit-total-card strong{display:block;margin:4px 0;font-size:38px;line-height:1;color:var(--red)}
.audit-filter-card{padding:20px}.audit-filter-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.audit-filter-head h2{margin:0}
.audit-filter-modern{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.audit-filter-modern label{font-size:13px;color:#475569}.audit-search-field{grid-column:span 2}.audit-filter-submit button{width:100%;justify-content:center;min-height:44px}
.audit-timeline-list{position:relative;display:flex;flex-direction:column;gap:14px}.audit-event{display:grid;grid-template-columns:56px 1fr;gap:0;position:relative}.audit-event:not(:last-child)::before{content:"";position:absolute;left:27px;top:54px;bottom:-14px;width:2px;background:linear-gradient(180deg,rgba(148,163,184,.28),rgba(148,163,184,.12));border-radius:999px}.audit-event-rail{display:flex;justify-content:center;padding-top:14px}.audit-event-icon{width:42px;height:42px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#111827;color:#fff;border:4px solid #fff;box-shadow:0 12px 28px rgba(15,23,42,.16);z-index:1}.audit-event-card{border:1px solid rgba(148,163,184,.22);background:rgba(255,255,255,.92);border-radius:24px;padding:18px 20px;box-shadow:0 14px 34px rgba(15,23,42,.055)}.audit-event-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.audit-event-top h2{margin:7px 0 0;font-size:19px;line-height:1.15}.audit-event-top time{color:#64748b;font-size:13px;font-weight:900;white-space:nowrap}.audit-action-badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:950}.audit-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.audit-pills span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:#f8fafc;border:1px solid #e5e7eb;color:#475569;font-size:12px;font-weight:850}.audit-report-link{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;border-radius:16px;background:#fff1f2;border:1px solid rgba(196,22,28,.16);text-decoration:none;color:#991b1b}.audit-report-link strong{font-size:14px}.audit-report-link span{color:#64748b;font-weight:850}.audit-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:13px}.audit-summary-grid div{border:1px solid #e5e7eb;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:15px;padding:10px 12px;min-width:0}.audit-summary-grid small{display:block;color:#6b7280;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.audit-summary-grid strong{display:block;color:#111827;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.audit-details-modern summary{display:inline-flex;align-items:center;margin-top:13px;padding:9px 12px;border-radius:12px;background:#f3f4f6;color:#111827;font-size:13px;font-weight:950}.audit-details-modern summary:hover{background:#e5e7eb}.audit-action-danger .audit-event-icon{background:#dc2626;box-shadow:0 12px 28px rgba(220,38,38,.18)}.audit-action-danger .audit-action-badge{background:#fee2e2;color:#991b1b}.audit-action-purple .audit-event-icon{background:#7c3aed;box-shadow:0 12px 28px rgba(124,58,237,.18)}.audit-action-purple .audit-action-badge{background:#ede9fe;color:#5b21b6}.audit-action-success .audit-event-icon{background:#16a34a;box-shadow:0 12px 28px rgba(22,163,74,.18)}.audit-action-success .audit-action-badge{background:#dcfce7;color:#166534}.audit-action-warn .audit-event-icon{background:#f59e0b;box-shadow:0 12px 28px rgba(245,158,11,.18)}.audit-action-warn .audit-action-badge{background:#fef3c7;color:#92400e}.audit-action-blue .audit-event-icon{background:#2563eb;box-shadow:0 12px 28px rgba(37,99,235,.18)}.audit-action-blue .audit-action-badge{background:#dbeafe;color:#1d4ed8}.audit-action-red .audit-event-icon{background:var(--red);box-shadow:0 12px 28px rgba(196,22,28,.18)}.audit-action-red .audit-action-badge{background:#ffe4e6;color:#be123c}
@media(max-width:1100px){.audit-filter-modern{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-search-field{grid-column:span 2}.audit-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.audit-hero{align-items:flex-start;flex-direction:column}.audit-total-card{width:100%;text-align:left}.audit-filter-head{align-items:flex-start;flex-direction:column}.audit-filter-modern{grid-template-columns:1fr}.audit-search-field{grid-column:auto}.audit-event{grid-template-columns:1fr}.audit-event::before{display:none!important}.audit-event-rail{display:none}.audit-event-top{flex-direction:column;gap:6px}.audit-event-top time{white-space:normal}.audit-summary-grid{grid-template-columns:1fr}.audit-report-link{align-items:flex-start;flex-direction:column;gap:3px}}


/* v1.32 - polished drivers administration */
.drivers-page{display:flex;flex-direction:column;gap:16px}
.drivers-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;overflow:hidden;position:relative;background:radial-gradient(circle at top right,rgba(196,22,28,.08),transparent 34%),linear-gradient(180deg,#fff,#fbfcff)}
.drivers-hero h1{margin:8px 0 8px;font-size:38px;letter-spacing:-.03em}.drivers-hero p{margin:0;color:#64748b;font-size:16px;line-height:1.55}.drivers-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:10px;min-width:330px}.drivers-hero-stats div{border:1px solid rgba(229,231,235,.95);border-radius:18px;background:rgba(255,255,255,.72);padding:14px 16px;box-shadow:0 10px 26px rgba(17,24,39,.045)}.drivers-hero-stats strong{display:block;color:var(--red);font-size:28px;line-height:1;font-weight:950}.drivers-hero-stats span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-top:6px}
.drivers-filter-card{padding:18px 20px}.drivers-filter-grid{display:grid;grid-template-columns:2fr 1.2fr 1fr auto;gap:12px;align-items:end}.drivers-filter-actions{display:flex;gap:10px;align-items:center;white-space:nowrap}.driver-search-wrap.slim{margin:0}.driver-search-wrap.slim input{min-height:46px;font-weight:700}.driver-search-wrap.slim .driver-search-icon{font-size:18px;color:#94a3b8}
.driver-editor-card{padding:22px;background:radial-gradient(circle at top left,rgba(196,22,28,.07),transparent 28%),linear-gradient(180deg,#fff,#fbfcff)}.driver-editor-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,.18)}.driver-editor-head h2{margin:2px 0 6px;font-size:26px;letter-spacing:-.02em}.driver-editor-head p{margin:0;color:#64748b;line-height:1.45}.driver-avatar-preview{width:58px;height:58px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--red),#991b1b);color:#fff;font-weight:950;font-size:22px;box-shadow:0 14px 30px rgba(196,22,28,.24);flex:0 0 auto}.driver-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.driver-form-grid .full{grid-column:1/-1}.driver-field-highlight input{font-weight:850}.driver-active-box{border:1px solid rgba(229,231,235,.95);border-radius:18px;background:#fff;padding:14px 15px;display:flex;flex-direction:column;justify-content:center;gap:8px}.driver-active-box small{color:#64748b;line-height:1.4}.drivers-form-actions{display:flex;align-items:center;gap:10px;margin-top:18px;flex-wrap:wrap}
.drivers-list-card{padding:22px}.driver-count-pill{display:inline-flex;align-items:center;border-radius:999px;background:#f3f4f6;color:#475569;font-weight:900;padding:8px 12px}.drivers-grid-list{display:flex;flex-direction:column;gap:12px}.driver-card-row{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;border:1px solid rgba(229,231,235,.95);border-radius:20px;background:linear-gradient(180deg,#fff,#fbfcff);padding:15px 16px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.driver-card-row:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(15,23,42,.075);border-color:rgba(196,22,28,.16)}.driver-card-row.is-inactive{opacity:.72;background:#fafafa}.driver-card-avatar{width:48px;height:48px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#fff1f2;color:var(--red);font-weight:950;border:1px solid rgba(196,22,28,.16)}.driver-card-row.is-inactive .driver-card-avatar{background:#f3f4f6;color:#64748b;border-color:#e5e7eb}.driver-card-main{min-width:0}.driver-card-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.driver-card-top h3{margin:0;font-size:18px;letter-spacing:-.01em}.driver-chip-row{display:flex;flex-wrap:wrap;gap:7px}.driver-chip-row span{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border-radius:999px;background:#f8fafc;border:1px solid rgba(226,232,240,.9);color:#475569;font-size:12px;font-weight:800}.driver-card-main p{margin:10px 0 0;color:#64748b;line-height:1.45}.driver-card-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-wrap:wrap}.status-pill.success{background:#d1fae5;color:#065f46}.status-pill.muted{background:#f3f4f6;color:#64748b}
@media(max-width:1100px){.drivers-hero{align-items:stretch;flex-direction:column}.drivers-hero-stats{min-width:0;width:100%}.drivers-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drivers-filter-actions{grid-column:1/-1}.driver-card-row{grid-template-columns:48px 1fr}.driver-card-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:720px){.drivers-hero h1{font-size:32px}.drivers-hero-stats{grid-template-columns:1fr}.drivers-filter-grid,.driver-form-grid{grid-template-columns:1fr}.drivers-filter-actions{flex-direction:column;align-items:stretch}.drivers-filter-actions .btn,.drivers-filter-actions button,.drivers-form-actions .btn,.drivers-form-actions button{justify-content:center}.driver-editor-head{flex-direction:column}.driver-card-row{grid-template-columns:1fr}.driver-card-avatar{width:52px;height:52px}.driver-card-actions{grid-column:auto}}

/* v1.33 - detail řidiče */
.driver-detail-page{display:flex;flex-direction:column;gap:18px}.driver-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;background:radial-gradient(circle at top right,rgba(196,22,28,.08),transparent 34%),linear-gradient(180deg,#fff,#fbfcff)}.driver-profile-left{display:flex;align-items:center;gap:18px}.driver-profile-avatar{width:76px;height:76px;border-radius:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--red),#991b1b);color:#fff;font-weight:950;font-size:28px;box-shadow:0 18px 36px rgba(196,22,28,.26);flex:0 0 auto}.driver-profile-hero h1{margin:5px 0 10px;font-size:40px;letter-spacing:-.035em}.driver-profile-tags{display:flex;flex-wrap:wrap;gap:8px}.driver-profile-tags span{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;background:#f8fafc;border:1px solid rgba(226,232,240,.95);color:#475569;font-size:12px;font-weight:900}.driver-profile-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.driver-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.driver-contact-card h2,.driver-period-card h2{margin-top:0}.driver-contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.driver-contact-list div,.driver-note-box,.driver-breakdown-list div{border:1px solid rgba(229,231,235,.95);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);padding:13px 14px}.driver-contact-list small,.driver-note-box small{display:block;color:#6b7280;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.driver-contact-list strong{display:block;color:#111827;overflow-wrap:anywhere}.driver-note-box{margin-top:12px}.driver-note-box p{margin:0;color:#475569;line-height:1.45}.driver-period-form{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:end}.driver-period-form label{font-size:13px;color:#475569}.driver-period-form input{margin-top:5px}.driver-detail-kpis .kpi span{font-size:clamp(21px,2.3vw,34px)}.driver-breakdown-list{display:flex;flex-direction:column;gap:10px}.driver-breakdown-list div{display:flex;align-items:center;justify-content:space-between;gap:12px}.driver-breakdown-list span{color:#64748b;font-weight:850}.driver-breakdown-list strong{text-align:right;color:#111827}.driver-inline-link{text-decoration:none;color:inherit}.driver-inline-link:hover{color:var(--red);text-decoration:underline}
@media(max-width:1000px){.driver-profile-hero{align-items:flex-start;flex-direction:column}.driver-profile-actions{justify-content:flex-start}.driver-detail-grid{grid-template-columns:1fr}.driver-period-form{grid-template-columns:1fr 1fr}.driver-period-form button,.driver-period-form .btn{justify-content:center}}
@media(max-width:650px){.driver-profile-left{align-items:flex-start;flex-direction:column}.driver-profile-avatar{width:64px;height:64px;border-radius:22px;font-size:24px}.driver-profile-hero h1{font-size:32px}.driver-contact-list{grid-template-columns:1fr}.driver-period-form{grid-template-columns:1fr}.driver-breakdown-list div{align-items:flex-start;flex-direction:column}.driver-breakdown-list strong{text-align:left}}

/* v1.33.1 - polished driver detail page */
.premium-driver-detail{display:flex;flex-direction:column;gap:18px}.driver-profile-hero-v2{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;background:radial-gradient(circle at 8% 8%,rgba(196,22,28,.12),transparent 30%),linear-gradient(135deg,#fff,#fbfcff)}.driver-hero-bg{position:absolute;right:-80px;top:-120px;width:360px;height:360px;border-radius:999px;background:rgba(196,22,28,.07);pointer-events:none}.driver-profile-main{position:relative;z-index:1;display:flex;align-items:center;gap:20px}.driver-profile-avatar-v2{width:92px;height:92px;border-radius:30px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--red),#8f1116);color:#fff;font-size:30px;font-weight:950;letter-spacing:.04em;box-shadow:0 20px 44px rgba(196,22,28,.25)}.driver-profile-copy h1{margin:6px 0 10px;font-size:clamp(32px,4vw,50px);line-height:1;letter-spacing:-.04em}.driver-profile-subline{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#374151;font-weight:800}.driver-profile-subline>span:not(.status-pill){padding:7px 10px;border-radius:999px;background:#f8fafc;border:1px solid rgba(229,231,235,.9)}.driver-profile-actions-v2{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.driver-top-layout,.driver-analytics-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:18px}.card-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.card-title-row h2{margin:2px 0 0}.driver-contact-grid-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.driver-contact-item{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-decoration:none;border:1px solid rgba(229,231,235,.95);border-radius:18px;padding:13px;background:linear-gradient(180deg,#fff,#f8fafc);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.driver-contact-item:hover{transform:translateY(-1px);border-color:rgba(196,22,28,.2);box-shadow:0 12px 24px rgba(17,24,39,.07)}.driver-contact-item.is-empty{opacity:.72}.driver-contact-icon{grid-row:1/3;width:38px;height:38px;border-radius:14px;background:#fff1f2;color:var(--red);display:flex;align-items:center;justify-content:center;font-weight:950}.driver-contact-item small{color:#6b7280;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.driver-contact-item strong{color:#111827;overflow-wrap:anywhere}.driver-note-box-v2{margin-top:13px;border:1px dashed rgba(148,163,184,.45);border-radius:18px;padding:14px;background:#fff}.driver-note-box-v2 small{display:block;color:#6b7280;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.04em;margin-bottom:6px}.driver-note-box-v2 p{margin:0;color:#374151;line-height:1.5}.driver-period-panel{background:radial-gradient(circle at top right,rgba(196,22,28,.07),transparent 32%),#fff}.driver-period-form-v2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.driver-period-form-v2 label{margin:0}.driver-period-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center}.driver-period-actions .btn,.driver-period-actions button{justify-content:center}.driver-period-note{margin-top:14px;color:#6b7280;line-height:1.45;background:#f8fafc;border:1px solid #eef2f7;border-radius:16px;padding:12px}.driver-kpi-panel{padding:22px}.driver-kpi-grid-v2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.driver-kpi-card{position:relative;overflow:hidden;border:1px solid rgba(229,231,235,.95);border-radius:20px;padding:17px;background:linear-gradient(180deg,#fff,#f8fafc);min-height:132px}.driver-kpi-card::after{content:"";position:absolute;right:-28px;bottom:-35px;width:110px;height:110px;border-radius:999px;background:rgba(148,163,184,.10)}.driver-kpi-card small{display:block;color:#6b7280;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:9px}.driver-kpi-card strong{display:block;color:#111827;font-size:clamp(20px,2vw,29px);line-height:1.08;letter-spacing:-.03em;position:relative;z-index:1}.driver-kpi-card span{display:block;margin-top:8px;color:#6b7280;font-size:12px;font-weight:700;position:relative;z-index:1}.driver-kpi-card.primary{background:linear-gradient(135deg,#fff,#fff1f2);border-color:rgba(196,22,28,.18)}.driver-kpi-card.primary strong,.driver-kpi-card.danger strong{color:var(--red)}.driver-kpi-card.danger{background:radial-gradient(circle at top right,rgba(196,22,28,.10),transparent 35%),#fff;border-color:rgba(196,22,28,.16)}.driver-status-card,.driver-breakdown-card-v2{min-height:100%}.enhanced-bars{gap:16px}.enhanced-bar-row{padding:12px;border:1px solid #eef2f7;border-radius:16px;background:#fbfcff}.driver-breakdown-list-v2{display:grid;gap:12px}.driver-breakdown-list-v2 div{border:1px solid rgba(229,231,235,.95);border-radius:18px;padding:15px;background:linear-gradient(180deg,#fff,#f8fafc)}.driver-breakdown-list-v2 span{display:block;color:#6b7280;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.04em}.driver-breakdown-list-v2 strong{display:block;font-size:28px;color:#111827;margin-top:4px}.driver-breakdown-list-v2 em{display:block;font-style:normal;color:var(--red);font-weight:900;margin-top:4px}.driver-history-card{margin-top:0}.driver-history-toolbar h2{margin:2px 0 4px}.driver-history-table td,.driver-history-table th{vertical-align:middle}.driver-history-table tr:hover td{background:#fafafa}@media(max-width:1100px){.driver-profile-hero-v2{align-items:flex-start;flex-direction:column}.driver-profile-actions-v2{justify-content:flex-start}.driver-top-layout,.driver-analytics-layout{grid-template-columns:1fr}.driver-kpi-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.driver-profile-main{align-items:flex-start;flex-direction:column}.driver-profile-avatar-v2{width:74px;height:74px;border-radius:24px;font-size:24px}.driver-contact-grid-v2,.driver-period-form-v2,.driver-kpi-grid-v2{grid-template-columns:1fr}.driver-period-actions{flex-direction:column;align-items:stretch}.driver-profile-actions-v2,.driver-profile-actions-v2 .btn{width:100%;justify-content:center}.driver-profile-hero-v2{padding:22px}.driver-contact-item{grid-template-columns:34px 1fr}.driver-contact-icon{width:34px;height:34px}}

/* v1.35 - fotodokumentace protokolu */
.photo-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:22px 0 14px;padding-top:18px;border-top:1px solid rgba(148,163,184,.18)}
.photo-section-head h2{margin:4px 0 6px;font-size:26px;letter-spacing:-.02em}.photo-section-head p{margin:0}.photo-count-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border-radius:999px;background:#f3f4f6;color:#475569;font-weight:950;white-space:nowrap}.photo-gallery-v2{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.photo-card-v2{overflow:hidden;border:1px solid rgba(229,231,235,.95);border-radius:22px;background:linear-gradient(180deg,#fff,#fbfcff);box-shadow:0 14px 34px rgba(15,23,42,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.photo-card-v2:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(15,23,42,.09);border-color:rgba(196,22,28,.18)}.photo-preview-button{position:relative;width:100%;height:190px;padding:0;border:0;border-radius:0;background:#111827;display:block;overflow:hidden;cursor:zoom-in}.photo-preview-button img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .22s ease,opacity .22s ease}.photo-preview-button:hover img{transform:scale(1.035);opacity:.92}.photo-zoom-badge{position:absolute;right:10px;bottom:10px;padding:7px 10px;border-radius:999px;background:rgba(17,24,39,.78);color:#fff;font-size:12px;font-weight:950;backdrop-filter:blur(8px)}.photo-card-body{padding:14px}.photo-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.photo-card-title-row small{color:#64748b;font-size:12px;font-weight:800;white-space:nowrap}.photo-type-badge{display:inline-flex;align-items:center;min-height:27px;padding:6px 9px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.035em}.photo-type-damage_detail{background:#ffe4e6;color:#be123c}.photo-type-overview{background:#dbeafe;color:#1d4ed8}.photo-type-dot{background:#fef3c7;color:#92400e}.photo-type-position{background:#dcfce7;color:#166534}.photo-type-other{background:#f3f4f6;color:#475569}.photo-type-none{background:#f3f4f6;color:#6b7280}.photo-note-text{min-height:38px;margin:0 0 11px;color:#334155;line-height:1.45}.photo-note-text.is-empty{color:#94a3b8;font-style:italic}.photo-meta-line{display:flex;flex-direction:column;gap:3px;color:#64748b;font-size:12px;border-top:1px solid #eef2f7;padding-top:10px}.photo-edit-details{margin-top:12px}.photo-edit-details summary{display:inline-flex;align-items:center;padding:8px 10px;border-radius:12px;background:#f3f4f6;color:#111827;font-size:12px;font-weight:950;cursor:pointer}.photo-edit-details summary:hover{background:#e5e7eb}.photo-meta-form{display:grid;gap:9px;margin-top:10px;padding:12px;border:1px solid #eef2f7;border-radius:16px;background:#f8fafc}.photo-meta-form label{margin:0;font-size:12px;color:#475569}.photo-meta-form textarea{min-height:76px}.photo-actions-row{display:flex;justify-content:flex-end}.photo-delete-form{margin-top:9px}.photo-delete-form .btn{width:100%;justify-content:center}.photo-upload-card{background:radial-gradient(circle at top right,rgba(196,22,28,.07),transparent 32%),linear-gradient(180deg,#fff,#fbfcff)}.photo-upload-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.photo-upload-head h2{margin:4px 0 6px}.photo-upload-head p{margin:0}.photo-upload-icon{width:52px;height:52px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#fff1f2;color:var(--red);font-size:24px;border:1px solid rgba(196,22,28,.14);box-shadow:0 12px 26px rgba(196,22,28,.10)}.photo-lightbox[hidden]{display:none}.photo-lightbox{position:fixed;inset:0;z-index:200;background:rgba(15,23,42,.88);display:flex;align-items:center;justify-content:center;padding:28px}.photo-lightbox-inner{max-width:min(1100px,94vw);max-height:92vh;display:flex;flex-direction:column;gap:10px;align-items:center}.photo-lightbox img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.35);background:#111827}.photo-lightbox-title{color:#fff;font-weight:900}.photo-lightbox-close{position:fixed;top:20px;right:22px;width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.has-lightbox-open{overflow:hidden}
@media(max-width:760px){.photo-section-head,.photo-upload-head{flex-direction:column}.photo-gallery-v2{grid-template-columns:1fr}.photo-preview-button{height:230px}.photo-lightbox{padding:14px}.photo-lightbox-close{top:12px;right:12px}}

/* v1.35.1 - restore polished driver e-mail action card */
.driver-email-card{
  margin-top:18px;
  border:1px solid rgba(196,22,28,.16);
  border-radius:24px;
  padding:18px;
  background:radial-gradient(circle at top right,rgba(196,22,28,.08),transparent 34%),linear-gradient(180deg,#fff,#fffafa);
  box-shadow:0 14px 34px rgba(17,24,39,.055);
}
.driver-email-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:14px}
.driver-email-icon{width:42px;height:42px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--red),#991b1b);color:#fff;box-shadow:0 10px 24px rgba(196,22,28,.24);font-size:20px;flex:0 0 auto}
.driver-email-head h3{margin:0 0 4px;font-size:20px;color:#111827;letter-spacing:-.01em}
.driver-email-head p{margin:0;color:#6b7280;line-height:1.45}
.driver-email-target{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:12px 14px;margin-bottom:14px}
.driver-email-target strong{color:#111827}.driver-email-target span{color:#374151;font-weight:800}.driver-email-target em{font-style:normal;color:#065f46;background:#dcfce7;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}
.driver-email-form{display:grid;gap:10px;margin:0}.driver-email-form textarea{min-height:80px;border-radius:16px;background:#fff}.driver-email-form button{justify-self:start}
@media(max-width:760px){.driver-email-head{flex-direction:column}.driver-email-form button{width:100%;justify-content:center}}

/* v1.36 - pracovní dispečink protokolů */
.protocol-dispatch-toolbar{align-items:flex-start;margin-bottom:16px}.protocol-dispatch-toolbar h1{margin:2px 0 6px;letter-spacing:-.03em}.protocol-dispatch-toolbar .muted{margin:0;max-width:760px}.dispatch-tabs{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px;margin:14px 0 16px}.dispatch-tab{display:flex;flex-direction:column;gap:3px;min-height:70px;padding:13px 14px;border:1px solid rgba(229,231,235,.95);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 10px 24px rgba(15,23,42,.045);text-decoration:none;color:#111827;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.dispatch-tab:hover{transform:translateY(-1px);box-shadow:0 15px 32px rgba(15,23,42,.07);border-color:rgba(196,22,28,.18)}.dispatch-tab strong{font-size:14px;font-weight:950}.dispatch-tab small{font-size:11px;color:#64748b;font-weight:750}.dispatch-tab.active{background:radial-gradient(circle at top right,rgba(196,22,28,.11),transparent 35%),linear-gradient(180deg,#fff,#fff7f7);border-color:rgba(196,22,28,.28);box-shadow:0 16px 36px rgba(196,22,28,.09)}.dispatch-tab.active strong{color:var(--red)}.dispatch-kpis{margin-bottom:16px}.dispatch-kpis .danger-soft{background:linear-gradient(180deg,#fff,#fff1f2);border-color:rgba(196,22,28,.18)}.dispatch-kpis .danger-soft span{color:var(--red)}.dispatch-filter-card{margin-bottom:14px}.filter-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.filter-card-head h2{margin:0 0 4px}.filter-card-head p{margin:0;color:#64748b}.dispatch-summary{margin:14px 0}.dispatch-table-wrap{border-radius:24px;box-shadow:0 18px 44px rgba(15,23,42,.06)}.dispatch-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;white-space:nowrap}.dispatch-table td{vertical-align:middle}.dispatch-row.sla-row-overdue td{background:#fff7f7}.dispatch-row.sla-row-warning td{background:#fffdf4}.dispatch-row.sla-row-overdue td:first-child{box-shadow:inset 5px 0 0 #dc2626}.dispatch-row.sla-row-warning td:first-child{box-shadow:inset 5px 0 0 #f59e0b}.dispatch-row.sla-row-overdue:hover td{background:#fff1f1}.dispatch-row.sla-row-warning:hover td{background:#fff8e7}.owner-pill,.sla-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:950;white-space:nowrap}.owner-service{background:#eef2ff;color:#3730a3}.owner-mechanic{background:#fff7ed;color:#9a3412}.owner-economy{background:#ecfeff;color:#155e75}.owner-done{background:#dcfce7;color:#166534}.owner-cancelled{background:#f3f4f6;color:#6b7280}.owner-neutral{background:#f8fafc;color:#475569}.sla-ok{background:#dcfce7;color:#166534}.sla-warning{background:#fef3c7;color:#92400e}.sla-overdue{background:#fee2e2;color:#991b1b}.sla-done{background:#e0f2fe;color:#075985}.sla-cancelled,.sla-neutral{background:#f3f4f6;color:#64748b}.compact-table .btn.small,.dispatch-table .btn{white-space:nowrap}@media(max-width:1250px){.dispatch-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.dispatch-table{min-width:1120px}}@media(max-width:760px){.protocol-dispatch-toolbar{flex-direction:column}.dispatch-tabs{grid-template-columns:1fr 1fr}.filter-card-head{flex-direction:column}.filter-card-head .btn{width:100%;justify-content:center}.dispatch-summary.summary-4{grid-template-columns:1fr 1fr}.dispatch-tab{min-height:64px}.dispatch-table{min-width:1040px}}

/* v1.37 - profesionální statistiky a manažerské přehledy */
.pro-stats-page{display:flex;flex-direction:column;gap:18px}.pro-stat-surface{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfcff);border:1px solid rgba(226,232,240,.96);border-radius:28px;padding:24px;box-shadow:0 18px 48px rgba(15,23,42,.065)}.pro-stat-surface::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(196,22,28,.07),transparent 34%);pointer-events:none}.pro-stat-surface>*{position:relative;z-index:1}.pro-stats-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:24px;align-items:stretch}.pro-hero-copy{display:flex;flex-direction:column;justify-content:center}.pro-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 9px;color:var(--red);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.pro-stats-hero h1{margin:0 0 10px;font-size:clamp(30px,4vw,46px);line-height:1.02;letter-spacing:-.045em;color:#0f172a}.pro-stats-hero p{max-width:900px;margin:0;color:#475569;font-size:15px;line-height:1.62}.pro-chip-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.pro-chip{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:7px 11px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:12px;font-weight:850}.pro-chip strong{color:#111827}.pro-chip-red{background:#fff1f2;border-color:rgba(196,22,28,.18);color:#991b1b}.pro-filter-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:end;background:rgba(255,255,255,.72);border:1px solid rgba(226,232,240,.9);border-radius:24px;padding:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.pro-filter-panel label{margin:0;color:#475569;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.045em}.pro-filter-panel input{margin-top:7px;background:#fff;border-radius:15px}.pro-filter-actions{grid-column:1/-1;display:flex;gap:10px}.pro-filter-actions .btn{flex:1;justify-content:center}.pro-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pro-kpi-card{position:relative;overflow:hidden;min-height:154px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(226,232,240,.98);border-radius:26px;padding:18px 18px 17px;box-shadow:0 14px 34px rgba(15,23,42,.055)}.pro-kpi-card::after{content:"";position:absolute;right:-42px;top:-42px;width:130px;height:130px;border-radius:999px;background:rgba(196,22,28,.06)}.pro-kpi-icon{position:relative;z-index:1;width:38px;height:38px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#fff1f2;color:var(--red);font-weight:950;box-shadow:0 10px 22px rgba(196,22,28,.12);margin-bottom:13px}.pro-kpi-card span,.pro-kpi-card strong,.pro-kpi-card small{position:relative;z-index:1;display:block}.pro-kpi-card span{color:#64748b;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.045em}.pro-kpi-card strong{margin:6px 0 7px;color:#0f172a;font-size:clamp(23px,2.7vw,36px);line-height:1.06;letter-spacing:-.045em}.pro-kpi-card small{color:#64748b;font-size:12px;line-height:1.4;font-weight:750}.pro-kpi-card.primary{background:radial-gradient(circle at top right,rgba(196,22,28,.10),transparent 37%),linear-gradient(180deg,#fff,#fff7f7);border-color:rgba(196,22,28,.18)}.pro-kpi-card.primary strong,.pro-kpi-card.primary .pro-kpi-icon{color:var(--red)}.pro-kpi-card.warning{background:linear-gradient(180deg,#fff,#fffbeb);border-color:#fde68a}.pro-kpi-card.warning .pro-kpi-icon{background:#fef3c7;color:#92400e}.pro-kpi-card.warning strong{color:#92400e}.pro-kpi-card.danger-soft{background:linear-gradient(180deg,#fff,#fff1f2);border-color:#fecdd3}.pro-kpi-card.danger-soft .pro-kpi-icon{background:#ffe4e6;color:#be123c}.pro-split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pro-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pro-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.pro-section-head h2{margin:0;color:#0f172a;font-size:clamp(21px,2vw,28px);letter-spacing:-.03em}.pro-big-percent{display:inline-flex;align-items:center;justify-content:center;min-width:92px;min-height:44px;padding:9px 12px;border-radius:999px;background:#fff1f2;color:var(--red);border:1px solid rgba(196,22,28,.18);font-size:20px;font-weight:950}.pro-bar-list{display:flex;flex-direction:column;gap:14px}.pro-bar-row{padding:13px;border:1px solid #eef2f7;border-radius:18px;background:rgba(255,255,255,.75)}.pro-bar-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.pro-bar-head strong{color:#111827}.pro-bar-head span{color:#64748b;font-size:13px;font-weight:900;text-align:right}.pro-bar-track{height:10px;border-radius:999px;background:#eef2f7;border:1px solid #e2e8f0;overflow:hidden}.pro-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--red),#ef4444)}.pro-bar-fill.accent{background:linear-gradient(90deg,#111827,var(--red))}.pro-workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pro-workflow-card{display:block;text-decoration:none;color:#111827;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(226,232,240,.98);border-radius:24px;padding:17px;box-shadow:0 12px 30px rgba(15,23,42,.05);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.pro-workflow-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(15,23,42,.08);border-color:rgba(196,22,28,.20)}.pro-workflow-card span{display:block;color:#64748b;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.pro-workflow-card strong{display:block;margin:7px 0;color:var(--red);font-size:clamp(24px,2.6vw,34px);letter-spacing:-.035em}.pro-workflow-card small{display:block;color:#64748b;font-size:12px;font-weight:750}.pro-workflow-card.neutral strong{color:#0f172a}.pro-month-card{padding-bottom:20px}.pro-monthly-bars{min-height:280px;display:flex;align-items:flex-end;gap:12px;padding:14px 4px 0;overflow-x:auto}.pro-month-col{min-width:74px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}.pro-month-value{height:34px;color:#64748b;font-size:11px;font-weight:900;text-align:center;line-height:1.15}.pro-month-bar{width:36px;border-radius:999px 999px 8px 8px;background:linear-gradient(180deg,var(--red),#991b1b);box-shadow:0 12px 24px rgba(196,22,28,.22)}.pro-month-col strong{font-size:13px;color:#0f172a}.pro-month-col small{color:#64748b;font-size:11px;font-weight:850}.pro-ranking-list{display:flex;flex-direction:column;gap:10px}.pro-rank-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:10px;align-items:center;min-height:54px;border:1px solid #eef2f7;border-radius:18px;background:rgba(255,255,255,.78);padding:10px 12px}.pro-rank-item>span{width:30px;height:30px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#475569;font-weight:950}.pro-rank-item strong{min-width:0;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pro-rank-item strong em{display:block;color:#64748b;font-size:12px;font-style:normal;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pro-rank-item small{color:#64748b;font-weight:900;white-space:nowrap}.pro-rank-item b{color:var(--red);font-size:13px;white-space:nowrap}.pro-table-card .pro-section-head{align-items:center}.pro-table th{font-size:11px;text-transform:uppercase;letter-spacing:.045em;color:#64748b}.pro-table td{vertical-align:middle}.driver-pro-filter{grid-template-columns:135px 135px minmax(210px,1fr);align-content:end}.driver-pro-filter .wide{grid-column:auto}.driver-main-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}.driver-pro-list{display:flex;flex-direction:column;gap:13px}.driver-pro-item{display:grid;grid-template-columns:34px 48px minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px;border:1px solid #e2e8f0;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 10px 26px rgba(15,23,42,.045)}.driver-pro-rank{width:32px;height:32px;border-radius:13px;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:950}.driver-pro-avatar{width:48px;height:48px;border-radius:17px;background:linear-gradient(135deg,var(--red),#991b1b);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950;font-size:18px;box-shadow:0 12px 26px rgba(196,22,28,.22)}.driver-pro-main{min-width:0}.driver-pro-main strong{display:block;color:#0f172a}.driver-pro-main small{display:block;color:#64748b;font-size:12px;margin-top:2px}.driver-pro-bar{height:9px;border-radius:999px;background:#eef2f7;border:1px solid #e2e8f0;overflow:hidden;margin-top:10px}.driver-pro-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--red),#ef4444)}.driver-pro-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.driver-pro-meta span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;font-size:11px;font-weight:850}.driver-pro-meta span.warn{background:#fef3c7;border-color:#fde68a;color:#92400e}.driver-pro-value{text-align:right}.driver-pro-value strong{display:block;color:var(--red);white-space:nowrap}.driver-pro-value small{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.driver-inline-link{text-decoration:none;color:#111827}.driver-inline-link:hover{color:var(--red)}
@media(max-width:1200px){.pro-stats-hero{grid-template-columns:1fr}.pro-kpi-grid,.pro-workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-top-grid,.driver-main-grid{grid-template-columns:1fr}.driver-pro-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-pro-filter .wide{grid-column:1/-1}}
@media(max-width:760px){.pro-stat-surface{padding:18px;border-radius:24px}.pro-kpi-grid,.pro-workflow-grid,.pro-split-grid,.pro-top-grid{grid-template-columns:1fr}.pro-filter-panel,.driver-pro-filter{grid-template-columns:1fr}.pro-filter-actions{flex-direction:column}.pro-section-head{flex-direction:column;align-items:flex-start}.pro-rank-item{grid-template-columns:32px minmax(0,1fr);align-items:start}.pro-rank-item small,.pro-rank-item b{grid-column:2}.pro-month-col{min-width:66px}.driver-pro-item{grid-template-columns:38px minmax(0,1fr);align-items:start}.driver-pro-rank{width:34px;height:34px}.driver-pro-avatar{display:none}.driver-pro-value{grid-column:2;text-align:left}.pro-table{min-width:850px}}

/* v1.34 - obnovení profesionálního designu SLA panelu v dashboardu */
.management-panel-v1{margin:22px 0;display:grid;gap:16px}.management-head{background:radial-gradient(circle at top right,rgba(196,22,28,.09),transparent 34%),linear-gradient(180deg,#fff,#fbfcff);border:1px solid rgba(229,231,235,.95);border-radius:26px;padding:22px;box-shadow:0 14px 34px rgba(15,23,42,.055);display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.management-head h2{margin:4px 0 8px;font-size:26px;letter-spacing:-.02em}.management-head .eyebrow{margin:0;color:var(--red);font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.management-head p:not(.eyebrow){margin:0;color:#64748b;line-height:1.55;max-width:900px}.sla-legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.sla-legend span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #e5e7eb;color:#475569;font-size:12px;font-weight:900}.sla-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.sla-legend i.ok{background:#16a34a}.sla-legend i.warning{background:#f59e0b}.sla-legend i.overdue{background:#dc2626}.management-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.management-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.055)}.management-kpi strong{display:block;font-size:31px;line-height:1.05;color:var(--red);letter-spacing:-.04em}.management-kpi span{display:block;margin-top:8px;font-weight:950;color:#111827}.management-kpi small{display:block;margin-top:5px;color:#64748b;line-height:1.35}.management-kpi.warn{background:linear-gradient(180deg,#fff,#fffbeb);border-color:#fde68a}.management-kpi.warn strong{color:#b45309}.management-kpi.danger{background:linear-gradient(180deg,#fff,#fff7f7);border-color:#fecaca}.management-kpi.danger strong{color:#b91c1c}.management-kpi.neutral strong{color:#374151}.queue-owner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.queue-owner-card{border:1px solid rgba(229,231,235,.95);border-radius:20px;background:linear-gradient(180deg,#fff,#f8fafc);padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.045)}.queue-owner-card strong{display:block;font-size:16px;color:#111827}.queue-owner-card span{display:block;margin-top:7px;font-size:24px;font-weight:950;color:var(--red)}.queue-owner-card small{display:block;margin-top:4px;color:#64748b;font-weight:800}.management-dashboard-sections{margin-top:0}.sla-chip{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:950;border:1px solid transparent;white-space:nowrap}.sla-chip.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.sla-chip.warning{background:#fef3c7;color:#92400e;border-color:#fde68a}.sla-chip.overdue{background:#fee2e2;color:#991b1b;border-color:#fecaca}@media(max-width:1050px){.management-head{flex-direction:column}.sla-legend{justify-content:flex-start}.management-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-owner-grid{grid-template-columns:1fr}}@media(max-width:620px){.management-kpi-grid{grid-template-columns:1fr}}

/* Vehicles professional page */
.vehicles-page{display:flex;flex-direction:column;gap:22px}.vehicles-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:32px;border:1px solid rgba(206,31,36,.14);border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,246,246,.86));box-shadow:0 24px 60px rgba(15,23,42,.08)}.vehicles-hero:after{content:"";position:absolute;right:-90px;top:-120px;width:300px;height:300px;border-radius:999px;background:radial-gradient(circle,rgba(206,31,36,.18),rgba(206,31,36,0) 68%);pointer-events:none}.vehicles-hero h1{font-size:42px;line-height:1.05;margin:4px 0 10px}.hero-lead{max-width:780px;color:#667085;font-size:16px;line-height:1.55;margin:0}.vehicles-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1}.vehicles-alert{margin:0}.vehicles-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.vehicle-kpi-card{padding:22px;border:1px solid rgba(34,197,94,.22);border-radius:22px;background:linear-gradient(135deg,#fff,rgba(240,253,244,.72));box-shadow:0 18px 45px rgba(15,23,42,.07)}.vehicle-kpi-card span{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#667085}.vehicle-kpi-card strong{display:block;font-size:34px;line-height:1;margin:10px 0;color:#101828}.vehicle-kpi-card small{color:#667085;font-weight:700}.vehicle-kpi-card.warn{border-color:rgba(245,158,11,.28);background:linear-gradient(135deg,#fff,rgba(255,251,235,.82))}.vehicle-kpi-card.muted{border-color:rgba(100,116,139,.22);background:linear-gradient(135deg,#fff,rgba(248,250,252,.86))}.vehicle-kpi-card.info{border-color:rgba(206,31,36,.22);background:linear-gradient(135deg,#fff,rgba(255,241,242,.72))}.vehicles-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(300px,.8fr);gap:18px;align-items:start}.vehicle-panel{border:1px solid rgba(226,232,240,.95);border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 22px 55px rgba(15,23,42,.08);padding:24px}.panel-title-row,.vehicle-list-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.vehicle-panel h2{font-size:24px;margin:3px 0 0}.vehicle-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.vehicle-form-grid .field.full,.vehicle-form-grid .form-actions.full{grid-column:1/-1}.vehicle-form-grid .field.strong-field input{font-size:22px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.vehicle-form-grid label,.vehicle-filterbar label{display:block;margin:0 0 7px;font-size:13px;font-weight:900;color:#344054}.vehicle-form-grid input,.vehicle-form-grid select,.vehicle-form-grid textarea,.vehicle-filterbar input,.vehicle-filterbar select{width:100%;border:1px solid #d8e0ec;border-radius:14px;background:#fff;padding:12px 14px;outline:none;transition:.18s ease}.vehicle-form-grid input:focus,.vehicle-form-grid select:focus,.vehicle-form-grid textarea:focus,.vehicle-filterbar input:focus,.vehicle-filterbar select:focus{border-color:rgba(206,31,36,.55);box-shadow:0 0 0 4px rgba(206,31,36,.08)}.vehicle-form-grid textarea{min-height:90px;resize:vertical}.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.vehicle-tips-panel{background:linear-gradient(180deg,#111827,#0f172a);color:#fff;border-color:rgba(255,255,255,.1)}.vehicle-tips-panel .eyebrow,.vehicle-tips-panel h2{color:#fff}.vehicle-tips-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}.vehicle-tips-list li{padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.06)}.vehicle-tips-list strong{display:block;margin-bottom:5px}.vehicle-tips-list span{display:block;color:rgba(255,255,255,.72);line-height:1.4}.vehicle-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.vehicle-tab{display:inline-flex;gap:8px;align-items:center;text-decoration:none;color:#344054;background:#f2f4f7;border:1px solid transparent;border-radius:999px;padding:10px 13px;font-weight:900}.vehicle-tab span{display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:#fff;color:#667085;font-size:12px}.vehicle-tab.active{color:#b42318;background:#fff1f1;border-color:rgba(206,31,36,.24)}.vehicle-filterbar{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:18px;padding:16px;border-radius:20px;background:#f8fafc;border:1px solid #edf1f7}.filter-actions{display:flex;gap:9px;align-items:center}.vehicle-table-wrap{overflow:auto}.vehicle-table{min-width:980px}.vehicle-table th{white-space:nowrap}.vehicle-table td{vertical-align:middle}.vehicle-row{transition:.18s ease}.vehicle-row:hover{background:#fffafa}.vehicle-main-cell strong{display:block;font-size:20px;letter-spacing:.02em}.vehicle-main-cell span,.vehicle-meta-stack small,.vehicle-damage-cell small{display:block;color:#667085;margin-top:4px}.vehicle-meta-stack span{font-weight:800;color:#344054}.vehicle-damage-cell strong{font-size:20px}.vehicle-damage-cell span{display:block;color:#344054;font-weight:800;margin-top:2px}.vehicle-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px;border:1px solid #e4e7ec;background:#f2f4f7;color:#475467;white-space:nowrap}.vehicle-status-pill.ok{background:#ecfdf3;border-color:#abefc6;color:#067647}.vehicle-status-pill.warn{background:#fffaeb;border-color:#fedf89;color:#b54708}.vehicle-status-pill.muted{background:#f2f4f7;border-color:#d0d5dd;color:#667085}.vehicle-actions{display:flex;gap:8px;flex-wrap:wrap}.vehicle-actions form{display:inline}.vehicle-empty{padding:22px;text-align:center;color:#667085;font-weight:800}.eyebrow{margin:0;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;color:#ce1f24}@media(max-width:1100px){.vehicles-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicles-layout{grid-template-columns:1fr}.vehicle-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-filterbar{grid-template-columns:1fr 1fr}}@media(max-width:720px){.vehicles-hero,.panel-title-row,.vehicle-list-head{flex-direction:column}.vehicles-hero{padding:24px}.vehicles-hero h1{font-size:34px}.vehicles-kpis{grid-template-columns:1fr}.vehicle-form-grid,.vehicle-filterbar{grid-template-columns:1fr}.filter-actions{align-items:stretch}.filter-actions .btn,.filter-actions button{width:100%}.vehicle-tabs{justify-content:flex-start}}

/* Tickets module */
.ticket-button{width:42px;height:42px;border:1px solid #e5e7eb;border-radius:15px;background:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:18px;box-shadow:0 8px 20px rgba(15,23,42,.05);transition:.16s ease}.ticket-button:hover{background:#fff1f2;border-color:rgba(196,22,28,.25);transform:translateY(-1px)}.ticket-button-list{font-size:15px}.ticket-kpis .kpi span{color:#c4161c}.ticket-filter-grid{grid-template-columns:1.5fr 1fr 1fr 1fr auto}.ticket-table td{vertical-align:top}.ticket-title-link{font-weight:900;text-decoration:none;color:#111827}.ticket-title-link:hover{color:var(--red)}.ticket-table small{display:block;color:#64748b;margin-top:4px}.ticket-badge-bug{background:#fee2e2;color:#991b1b}.ticket-badge-change{background:#e0e7ff;color:#3730a3}.ticket-badge-feature{background:#dbeafe;color:#1d4ed8}.ticket-badge-design{background:#fce7f3;color:#9d174d}.ticket-badge-workflow{background:#ffedd5;color:#9a3412}.ticket-badge-data_export{background:#ecfdf5;color:#047857}.ticket-badge-other{background:#f1f5f9;color:#475569}.ticket-badge-priority_low{background:#f1f5f9;color:#475569}.ticket-badge-priority_normal{background:#dbeafe;color:#1d4ed8}.ticket-badge-priority_high{background:#fef3c7;color:#92400e}.ticket-badge-priority_critical{background:#fee2e2;color:#991b1b}.ticket-badge-status_new{background:#dbeafe;color:#1d4ed8}.ticket-badge-status_accepted{background:#e0e7ff;color:#3730a3}.ticket-badge-status_in_progress{background:#fef3c7;color:#92400e}.ticket-badge-status_waiting_test{background:#ede9fe;color:#5b21b6}.ticket-badge-status_returned{background:#ffedd5;color:#9a3412}.ticket-badge-status_done{background:#d1fae5;color:#065f46}.ticket-badge-status_postponed{background:#f3f4f6;color:#6b7280}.ticket-badge-status_rejected{background:#fee2e2;color:#991b1b}.ticket-badge-internal{background:#111827;color:#fff}.ticket-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.ticket-detail-layout.secondary-layout{margin-top:18px;grid-template-columns:minmax(0,1fr) 380px}.ticket-main-card h2{margin-top:0;font-size:28px}.ticket-detail-head{display:flex;justify-content:space-between;gap:18px}.ticket-badge-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}.ticket-description{margin-top:18px;padding:18px;border:1px solid #edf2f7;border-radius:18px;background:#f8fafc;line-height:1.6;color:#111827}.ticket-summary-grid{grid-template-columns:repeat(3,1fr)}.ticket-summary-grid small{display:block;color:#64748b;font-weight:850;margin-bottom:5px}.ticket-summary-grid strong{font-size:14px;word-break:break-word}.ticket-side-card label{margin-top:12px}.ticket-comments{display:flex;flex-direction:column;gap:12px;margin:12px 0 18px}.ticket-comment{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff}.ticket-comment.internal{background:#111827;color:#fff;border-color:#111827}.ticket-comment.internal .ticket-comment-meta span{color:#d1d5db}.ticket-comment p{margin:10px 0 0;line-height:1.55}.ticket-comment-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ticket-comment-meta span{color:#64748b;font-size:12px;font-weight:800}.ticket-comment-form{border-top:1px solid #e5e7eb;padding-top:16px;margin-top:12px}.ticket-attachments{display:flex;flex-direction:column;gap:10px}.ticket-attachment{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:12px;border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;text-decoration:none}.ticket-attachment:hover{background:#fff1f2;border-color:rgba(196,22,28,.22)}.ticket-attachment span{grid-row:span 2}.ticket-attachment strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-attachment small{color:#64748b}.ticket-history{display:flex;flex-direction:column;gap:8px}.ticket-history-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #eef2f7;border-radius:14px;background:#f8fafc}.ticket-history-row span{color:#64748b;font-size:12px;font-weight:800}.small-text{font-size:12px}.ticket-form-card textarea{min-height:160px}@media(max-width:1050px){.ticket-detail-layout,.ticket-detail-layout.secondary-layout{grid-template-columns:1fr}.ticket-filter-grid{grid-template-columns:1fr 1fr}.ticket-summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.ticket-filter-grid,.ticket-summary-grid{grid-template-columns:1fr}.ticket-history-row{flex-direction:column}.ticket-button{width:100%;justify-content:flex-start;padding:0 14px}.ticket-button:after{content:'Tickets';font-size:13px;font-weight:900;margin-left:6px;color:#374151}}


/* v1.34 - polished header + locked tickets */
.topbar.topbar-v2{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,232,240,.9);box-shadow:0 12px 34px rgba(15,23,42,.06)}
.topbar-v2 .brand-wrap{padding-right:10px}.topbar-v2 .brand{font-size:22px;letter-spacing:-.04em}.topbar-tools{gap:10px;align-items:center}.topbar-tools .notification-button,.topbar-action{height:44px;border:1px solid rgba(226,232,240,.95);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 10px 26px rgba(15,23,42,.05);display:inline-flex;align-items:center;gap:9px;padding:0 14px;color:#334155;text-decoration:none;font-weight:950;white-space:nowrap}.topbar-tools .notification-button:hover,.topbar-action:hover{border-color:rgba(206,31,36,.24);background:#fff1f2;color:#991b1b}.topbar-action{cursor:pointer}.topbar-action-icon{width:24px;height:24px;border-radius:999px;background:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(226,232,240,.9)}.topbar-action-caret{font-size:11px;color:#94a3b8}.ticket-menu{display:inline-flex}.ticket-menu .nav-dropdown{top:calc(100% + 10px);min-width:190px}.ticket-menu .nav-dropdown a{gap:8px}.ticket-menu .nav-dropdown a:first-child:before{content:'＋';color:#ce1f24;font-weight:950}.ticket-menu .nav-dropdown a:last-child:before{content:'☰';color:#64748b;font-weight:950}.topbar-v2 .center-switch{height:50px;border:1px solid rgba(226,232,240,.95);border-radius:20px;background:#fff;padding:5px 8px 5px 13px;box-shadow:0 10px 26px rgba(15,23,42,.04);display:flex;align-items:center;gap:10px}.topbar-v2 .center-switch span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:950}.topbar-v2 .center-switch select{height:38px;border-radius:14px;border-color:#dbe3ee;padding:0 36px 0 12px;font-weight:800}.topbar-tools .userbox{height:44px;border-left:0;padding-left:0;display:flex;align-items:center;gap:12px;color:#64748b}.topbar-tools .userbox a{font-weight:850;color:#475569;text-decoration:underline;text-underline-offset:3px}.topbar-tools .userbox span{font-weight:900;color:#334155}.ticket-locked-notice{border:1px solid rgba(16,185,129,.28);background:linear-gradient(135deg,#ecfdf5,#f8fafc);color:#065f46;font-weight:850}.ticket-side-card.locked{opacity:.75}.ticket-button{display:none}
@media(max-width:1180px){.topbar-action-text,.notification-button-text{display:none}.topbar-tools .notification-button,.topbar-action{width:44px;padding:0;justify-content:center}.topbar-action-caret{display:none}.topbar-v2 .center-switch{max-width:260px}.topbar-tools .userbox span{display:none}}
@media(max-width:760px){.topbar-tools .notification-button,.topbar-action{width:100%;padding:0 14px;justify-content:flex-start}.topbar-action-text,.notification-button-text{display:inline}.topbar-v2 .center-switch{width:100%;max-width:none}.topbar-tools .userbox span{display:inline}.ticket-menu{width:100%}.ticket-menu .nav-dropdown{position:static;margin-top:8px;box-shadow:none}}

/* v1.35 - responsive header for iPad/tablet */
.topbar-v2{
    max-width:100vw;
    overflow:visible;
}
.topbar-v2 .brand-wrap{
    flex:0 0 auto;
}
.topbar-v2 .main-nav{
    flex:1 1 auto;
    min-width:260px;
}
.topbar-v2 .topbar-tools{
    flex:0 1 auto;
    min-width:0;
}
.user-menu{display:inline-flex;flex:0 0 auto;}
.topbar-user-trigger{
    height:44px;
    border:1px solid rgba(226,232,240,.95);
    border-radius:18px;
    background:linear-gradient(180deg,#fff,#f8fafc);
    box-shadow:0 10px 26px rgba(15,23,42,.05);
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:0 12px 0 8px;
    color:#334155;
    font-weight:950;
    white-space:nowrap;
}
.topbar-user-trigger:hover,
.user-menu:hover .topbar-user-trigger,
.user-menu:focus-within .topbar-user-trigger{
    border-color:rgba(206,31,36,.24);
    background:#fff1f2;
    color:#991b1b;
}
.topbar-user-avatar{
    width:28px;
    height:28px;
    border-radius:999px;
    background:#fff1f2;
    color:#be123c;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:950;
    box-shadow:inset 0 0 0 1px rgba(254,202,202,.95);
}
.topbar-user-name{
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.topbar-user-caret{font-size:11px;color:#94a3b8;}
.user-menu-dropdown{min-width:170px;}
.user-menu-dropdown a:first-child:before{content:'👤';margin-right:8px;}
.user-menu-dropdown a:last-child:before{content:'↪';margin-right:8px;color:#ce1f24;font-weight:950;}

@media(max-width:1360px){
    .topbar.topbar-v2{padding-left:18px;padding-right:18px;gap:12px;}
    .topbar-v2 .brand-wrap{min-width:150px;}
    .topbar-v2 .brand{font-size:19px;}
    .brand-subtitle{font-size:9px;letter-spacing:.07em;}
    .main-nav .nav-link,.nav-trigger{padding-left:10px;padding-right:10px;font-size:13px;}
    .topbar-v2 .center-switch{max-width:230px;}
    .topbar-v2 .center-switch span{display:none;}
    .topbar-v2 .center-switch select{max-width:210px;}
    .topbar-user-name{max-width:115px;}
}

@media(max-width:1180px){
    .topbar-user-name,.topbar-user-caret{display:none;}
    .topbar-user-trigger{width:44px;padding:0;justify-content:center;}
    .topbar-v2 .center-switch{max-width:210px;}
    .topbar-v2 .center-switch select{max-width:190px;}
}

@media(max-width:980px){
    .topbar.topbar-v2{align-items:flex-start;flex-wrap:wrap;}
    .topbar-v2 .brand-wrap{min-width:auto;}
    .topbar-v2 .main-nav{order:3;width:100%;min-width:0;overflow-x:auto;padding-bottom:5px;}
    .topbar-v2 .topbar-tools{margin-left:auto;}
    .topbar-v2 .main-nav::-webkit-scrollbar{height:4px;}
    .topbar-v2 .main-nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;}
}

@media(max-width:760px){
    .topbar-user-trigger{width:100%;padding:0 14px;justify-content:flex-start;}
    .topbar-user-name,.topbar-user-caret{display:inline;}
    .user-menu{width:100%;}
    .user-menu-dropdown{position:static;margin-top:8px;box-shadow:none;}
}

/* v1.36 - iPad header collision fix */
@media (max-width: 1280px) {
    .topbar.topbar-v2 {
        flex-wrap: wrap;
        align-items: center;
        row-gap: 8px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .topbar-v2 .brand-wrap {
        order: 1;
        flex: 0 0 auto;
        min-width: 150px;
    }

    .topbar-v2 .topbar-tools {
        order: 2;
        margin-left: auto;
        flex: 0 1 auto;
        min-width: 0;
        gap: 8px;
        justify-content: flex-end;
    }

    .topbar-v2 .main-nav {
        order: 3;
        width: 100%;
        flex: 0 0 100%;
        min-width: 0;
        overflow-x: auto;
        overflow-y: visible;
        padding-bottom: 4px;
        scrollbar-width: thin;
    }

    .topbar-v2 .main-nav::-webkit-scrollbar { height: 4px; }
    .topbar-v2 .main-nav::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 999px; }

    .topbar-tools .notification-button,
    .topbar-action,
    .topbar-user-trigger {
        width: 44px;
        min-width: 44px;
        padding: 0;
        justify-content: center;
    }

    .notification-button-text,
    .topbar-action-text,
    .topbar-action-caret,
    .topbar-user-name,
    .topbar-user-caret,
    .topbar-v2 .center-switch span {
        display: none !important;
    }

    .topbar-v2 .center-switch {
        max-width: 205px;
        min-width: 168px;
        height: 44px;
        padding: 4px 7px;
        border-radius: 18px;
    }

    .topbar-v2 .center-switch select {
        height: 34px;
        max-width: 185px;
        font-size: 13px;
    }

    .main-nav .nav-link,
    .nav-trigger {
        height: 38px;
        padding-left: 11px;
        padding-right: 11px;
        font-size: 13px;
    }
}

@media (max-width: 900px) {
    .topbar.topbar-v2 {
        padding-left: 12px;
        padding-right: 12px;
    }

    .topbar-v2 .brand-wrap {
        min-width: 132px;
    }

    .topbar-v2 .brand {
        font-size: 18px;
    }

    .brand-subtitle {
        display: none;
    }

    .topbar-v2 .topbar-tools {
        gap: 6px;
    }

    .topbar-v2 .center-switch {
        min-width: 145px;
        max-width: 165px;
    }

    .topbar-v2 .center-switch select {
        max-width: 150px;
        padding-left: 8px;
        padding-right: 28px;
    }
}

@media (max-width: 640px) {
    .topbar-v2 .topbar-tools {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .topbar-v2 .center-switch {
        flex: 1 1 180px;
        max-width: none;
    }

    .topbar-v2 .center-switch select {
        max-width: none;
        width: 100%;
    }
}

/* v1.37 - definitive iPad header split
   The previous flex-wrap could keep the navigation on the first row on iPad Safari
   when the viewport was wider than the breakpoint. Grid forces a clean two-line header. */
@media (max-width: 1500px) {
    .topbar.topbar-v2 {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-areas:
            "brand tools"
            "nav nav";
        align-items: center;
        column-gap: 14px;
        row-gap: 8px;
        min-height: auto;
        padding-top: 10px;
        padding-bottom: 9px;
        overflow: visible;
    }

    .topbar-v2 .brand-wrap {
        grid-area: brand;
        min-width: 170px;
        width: auto;
    }

    .topbar-v2 .topbar-tools {
        grid-area: tools;
        width: auto;
        min-width: 0;
        margin-left: 0 !important;
        justify-self: end;
        justify-content: flex-end;
        flex-wrap: nowrap;
        overflow: visible;
    }

    .topbar-v2 .main-nav {
        grid-area: nav;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100%;
        margin-left: 0 !important;
        justify-self: stretch;
        flex: none !important;
        order: initial !important;
        display: flex;
        justify-content: flex-start;
        overflow-x: auto;
        overflow-y: visible;
        padding-top: 2px;
        padding-bottom: 5px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .topbar-v2 .main-nav .nav-link,
    .topbar-v2 .main-nav .nav-trigger {
        flex: 0 0 auto;
    }
}

@media (max-width: 980px) {
    .topbar.topbar-v2 {
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "tools"
            "nav";
    }

    .topbar-v2 .brand-wrap,
    .topbar-v2 .topbar-tools,
    .topbar-v2 .main-nav {
        justify-self: stretch;
        width: 100%;
    }

    .topbar-v2 .topbar-tools {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .topbar-v2 .topbar-tools {
        flex-direction: column;
        align-items: stretch;
    }

    .topbar-v2 .main-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        overflow: visible;
    }
}

/* =========================================================
   ServiceControl responsive header v3 - tablet/mobile drawer
   ========================================================= */
.topbar-menu-check,
.topbar-menu-toggle{display:none;}

@media (min-width:1181px){
  .topbar.topbar-v2{overflow:visible;}
}

@media (max-width:1180px){
  .topbar.topbar-v2{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:12px !important;
    min-height:72px !important;
    height:auto !important;
    padding:12px 18px !important;
    overflow:visible !important;
  }

  .topbar-v2 .brand-wrap{
    grid-column:1 !important;
    grid-row:1 !important;
    min-width:0 !important;
    width:auto !important;
  }

  .topbar-v2 .brand{font-size:21px !important;}
  .topbar-v2 .brand-subtitle{font-size:10px !important;}

  .topbar-menu-toggle{
    grid-column:2 !important;
    grid-row:1 !important;
    width:46px;
    height:46px;
    border-radius:16px;
    border:1px solid rgba(226,232,240,.95);
    background:linear-gradient(180deg,#fff,#f8fafc);
    box-shadow:0 10px 26px rgba(15,23,42,.06);
    display:inline-flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }

  .topbar-menu-toggle span{
    width:19px;
    height:2px;
    border-radius:999px;
    background:#111827;
    transition:transform .18s ease, opacity .18s ease;
  }

  .topbar-menu-check:checked + .topbar-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .topbar-menu-check:checked + .topbar-menu-toggle span:nth-child(2){opacity:0;}
  .topbar-menu-check:checked + .topbar-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .topbar-v2 .main-nav,
  .topbar-v2 .topbar-tools{
    display:none !important;
  }

  .topbar-menu-check:checked ~ .topbar-tools,
  .topbar-menu-check:checked ~ .main-nav{
    display:flex !important;
  }

  .topbar-v2 .topbar-tools{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:100% !important;
    margin-left:0 !important;
    padding:12px !important;
    border:1px solid rgba(226,232,240,.95);
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 42px rgba(15,23,42,.08);
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }

  .topbar-v2 .main-nav{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:12px !important;
    border:1px solid rgba(226,232,240,.95);
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 42px rgba(15,23,42,.08);
    overflow:visible !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
  }

  .topbar-tools .notification-button,
  .topbar-action,
  .topbar-user-trigger,
  .topbar-v2 .main-nav .nav-link,
  .topbar-v2 .main-nav .nav-trigger{
    width:100% !important;
    min-height:46px !important;
    height:46px !important;
    justify-content:flex-start !important;
    padding:0 14px !important;
    border-radius:16px !important;
    font-size:14px !important;
  }

  .notification-button-text,
  .topbar-action-text,
  .topbar-action-caret,
  .topbar-user-name,
  .topbar-user-caret{
    display:inline !important;
  }

  .topbar-user-avatar{flex:0 0 auto;}
  .topbar-user-name{
    max-width:none !important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .ticket-menu,
  .user-menu,
  .nav-group{width:100% !important;}

  .topbar-v2 .center-switch{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:50px !important;
    padding:7px 10px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
  }

  .topbar-v2 .center-switch span{
    display:inline !important;
    flex:0 0 auto;
  }

  .topbar-v2 .center-switch select{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }

  .topbar-v2 .nav-dropdown,
  .topbar-v2 .nav-dropdown-right,
  .ticket-menu .nav-dropdown,
  .user-menu-dropdown{
    position:static !important;
    inset:auto !important;
    min-width:0 !important;
    width:100% !important;
    margin-top:8px !important;
    box-shadow:none !important;
    border-radius:16px !important;
  }

  .topbar-v2 .nav-group:hover .nav-dropdown,
  .topbar-v2 .nav-group:focus-within .nav-dropdown{
    display:block !important;
  }

  .container{padding-top:24px !important;}
}

@media (max-width:640px){
  .topbar.topbar-v2{
    padding:12px 14px !important;
  }
  .topbar-v2 .brand{font-size:19px !important;}
  .topbar-v2 .brand-subtitle{display:none !important;}
  .topbar-v2 .center-switch{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .topbar-v2 .center-switch span{display:none !important;}
  .topbar-v2 .main-nav{
    gap:9px !important;
  }
}

/* =========================================================
   ServiceControl header final fix
   Desktop above 1440px stays classic. Tablet/iPad/mobile use hamburger drawer.
   This block intentionally overrides earlier responsive attempts.
   ========================================================= */
.topbar.topbar-v2 .topbar-menu-check{display:none!important;position:absolute!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;}
.topbar.topbar-v2 .topbar-menu-toggle{display:none!important;}

/* Desktop / wide notebook: keep the original horizontal header. */
@media (min-width:1341px){
  .topbar.topbar-v2{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:18px!important;
    min-height:74px!important;
    height:auto!important;
    padding:0 24px!important;
    overflow:visible!important;
  }
  .topbar-v2 .brand-wrap{
    order:0!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:185px!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .topbar-v2 .main-nav{
    order:1!important;
    display:flex!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:360px!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .topbar-v2 .topbar-tools{
    order:2!important;
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    margin-left:auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .topbar-v2 .nav-group{width:auto!important;}
  .topbar-v2 .main-nav .nav-link,
  .topbar-v2 .main-nav .nav-trigger{
    width:auto!important;
    min-height:42px!important;
    height:42px!important;
    justify-content:center!important;
    padding:0 13px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    white-space:nowrap!important;
  }
  .topbar-v2 .topbar-tools .notification-button,
  .topbar-v2 .topbar-action,
  .topbar-v2 .topbar-user-trigger{
    width:auto!important;
    min-height:44px!important;
    height:44px!important;
    justify-content:center!important;
    padding:0 14px!important;
    white-space:nowrap!important;
  }
  .topbar-v2 .notification-button-text,
  .topbar-v2 .topbar-action-text,
  .topbar-v2 .topbar-action-caret,
  .topbar-v2 .topbar-user-name,
  .topbar-v2 .topbar-user-caret{
    display:inline!important;
  }
  .topbar-v2 .center-switch{
    width:auto!important;
    max-width:330px!important;
    min-height:50px!important;
    height:50px!important;
    padding:5px 8px 5px 13px!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  .topbar-v2 .center-switch span{display:inline!important;}
  .topbar-v2 .center-switch select{width:auto!important;max-width:210px!important;min-width:160px!important;}
  .topbar-v2 .nav-dropdown{
    position:absolute!important;
    top:calc(100%)!important;
    left:0!important;
    right:auto!important;
    min-width:245px!important;
    width:auto!important;
    margin-top:0!important;
    box-shadow:0 22px 55px rgba(17,24,39,.14)!important;
    border-radius:18px!important;
    display:none!important;
  }
  .topbar-v2 .nav-dropdown-right{right:0!important;left:auto!important;}
  .topbar-v2 .nav-group:hover .nav-dropdown,
  .topbar-v2 .nav-group:focus-within .nav-dropdown{display:block!important;}
}

/* Tablet + mobile drawer. Everything up to 1440px uses hamburger. */
@media (max-width:1340px){
  .topbar.topbar-v2{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    min-height:72px!important;
    height:auto!important;
    padding:12px 18px!important;
    overflow:visible!important;
  }
  .topbar-v2 .brand-wrap{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
    width:auto!important;
    padding:0!important;
  }
  .topbar-v2 .brand{font-size:21px!important;line-height:1!important;}
  .topbar-v2 .brand-subtitle{font-size:10px!important;line-height:1.1!important;}
  .topbar.topbar-v2 .topbar-menu-toggle{
    grid-column:2!important;
    grid-row:1!important;
    width:46px!important;
    height:46px!important;
    border-radius:16px!important;
    border:1px solid rgba(226,232,240,.95)!important;
    background:linear-gradient(180deg,#fff,#f8fafc)!important;
    box-shadow:0 10px 26px rgba(15,23,42,.06)!important;
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .topbar-menu-toggle span{width:19px!important;height:2px!important;border-radius:999px!important;background:#111827!important;transition:transform .18s ease,opacity .18s ease!important;}
  .topbar-menu-check:checked + .topbar-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)!important;}
  .topbar-menu-check:checked + .topbar-menu-toggle span:nth-child(2){opacity:0!important;}
  .topbar-menu-check:checked + .topbar-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important;}

  .topbar-v2 .main-nav,
  .topbar-v2 .topbar-tools{display:none!important;}
  .topbar-menu-check:checked ~ .topbar-tools,
  .topbar-menu-check:checked ~ .main-nav{display:flex!important;}

  .topbar-v2 .topbar-tools{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:12px!important;
    border:1px solid rgba(226,232,240,.95)!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 18px 42px rgba(15,23,42,.08)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }
  .topbar-v2 .main-nav{
    grid-column:1 / -1!important;
    grid-row:3!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:12px!important;
    border:1px solid rgba(226,232,240,.95)!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 18px 42px rgba(15,23,42,.08)!important;
    overflow:visible!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
  }
  .topbar-v2 .topbar-tools .notification-button,
  .topbar-v2 .topbar-action,
  .topbar-v2 .topbar-user-trigger,
  .topbar-v2 .main-nav .nav-link,
  .topbar-v2 .main-nav .nav-trigger{
    width:100%!important;
    min-height:46px!important;
    height:46px!important;
    justify-content:flex-start!important;
    padding:0 14px!important;
    border-radius:16px!important;
    font-size:14px!important;
  }
  .topbar-v2 .notification-button-text,
  .topbar-v2 .topbar-action-text,
  .topbar-v2 .topbar-action-caret,
  .topbar-v2 .topbar-user-name,
  .topbar-v2 .topbar-user-caret{display:inline!important;}
  .topbar-v2 .ticket-menu,
  .topbar-v2 .user-menu,
  .topbar-v2 .nav-group{width:100%!important;}
  .topbar-v2 .center-switch{
    width:100%!important;
    max-width:none!important;
    min-height:50px!important;
    height:auto!important;
    padding:7px 10px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:10px!important;
    border-radius:18px!important;
  }
  .topbar-v2 .center-switch span{display:inline!important;flex:0 0 auto!important;}
  .topbar-v2 .center-switch select{width:100%!important;max-width:none!important;min-width:0!important;height:38px!important;}
  .topbar-v2 .nav-dropdown,
  .topbar-v2 .nav-dropdown-right,
  .ticket-menu .nav-dropdown,
  .user-menu-dropdown{
    position:static!important;
    inset:auto!important;
    min-width:0!important;
    width:100%!important;
    margin-top:8px!important;
    box-shadow:none!important;
    border-radius:16px!important;
    display:none!important;
  }
  .topbar-v2 .nav-group:hover .nav-dropdown,
  .topbar-v2 .nav-group:focus-within .nav-dropdown{display:block!important;}
}

@media (max-width:640px){
  .topbar.topbar-v2{padding:12px 14px!important;}
  .topbar-v2 .brand{font-size:19px!important;}
  .topbar-v2 .brand-subtitle{display:none!important;}
  .topbar-v2 .center-switch{flex-direction:column!important;align-items:stretch!important;min-height:0!important;}
  .topbar-v2 .center-switch span{display:none!important;}
  .topbar-v2 .main-nav{gap:9px!important;}
  .container{padding-top:20px!important;}
}

/* Tyres v1 - evidence konkrétních pneumatik */
.tyres-page{max-width:1680px;margin:0 auto;padding:10px 0 34px}.tyres-hero,.tyres-detail-hero{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:30px 34px;border:1px solid #dbe3ef;border-radius:28px;background:linear-gradient(135deg,#fff 0%,#fff 58%,#fff1f1 100%);box-shadow:0 24px 70px rgba(15,23,42,.07);margin-bottom:22px}.tyres-eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#c8171d;margin-bottom:8px}.tyres-hero h1,.tyres-detail-hero h1{font-size:40px;line-height:1.05;margin:0 0 10px;color:#111827}.tyres-hero p,.tyres-detail-hero p{margin:0;color:#66738a;font-size:16px}.tyres-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.tyres-kpis .kpi span{font-size:26px}.tyre-filter-grid{grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(260px,1.4fr) minmax(150px,.8fr) auto}.tyres-table td{vertical-align:middle}.tyre-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;background:#eef2f7;color:#334155;white-space:nowrap}.tyre-status-stock{background:#eef2ff;color:#3730a3}.tyre-status-mounted{background:#e9f9ef;color:#166534}.tyre-status-service{background:#eff6ff;color:#1d4ed8}.tyre-status-repair,.tyre-status-damaged{background:#fff7ed;color:#c2410c}.tyre-status-retired{background:#f1f5f9;color:#475569}.tyre-status-lost{background:#fef2f2;color:#b91c1c}.warn-text{color:#b91c1c;font-weight:800}.small{font-size:12px}.danger-card{border-color:#fecaca;background:#fff7f7;color:#7f1d1d}.warning-card{border-color:#fde68a;background:#fffbeb;color:#78350f}.tyres-create-grid,.tyres-detail-grid{align-items:start}.stacked-form{display:flex;flex-direction:column;gap:10px}.stacked-form label{font-weight:800;color:#334155;font-size:13px}.stacked-form input,.stacked-form select,.stacked-form textarea{width:100%;border:1px solid #d9e2ee;border-radius:14px;padding:11px 12px;background:#fff;font:inherit}.form-row{display:grid;gap:10px}.form-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.tyre-id-preview{display:grid;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:12px}.tyre-id-preview span{display:block;color:#64748b;font-size:12px}.similar-list{display:grid;gap:10px}.similar-item{display:block;text-decoration:none;color:#111827;border:1px solid #e2e8f0;border-radius:18px;padding:12px;background:#fff}.similar-item:hover{border-color:#c8171d;box-shadow:0 12px 30px rgba(15,23,42,.08)}.similar-item span,.similar-item small{display:block;color:#64748b;margin-top:3px}.detail-list{display:grid;grid-template-columns:170px 1fr;gap:10px 16px}.detail-list dt{font-weight:900;color:#64748b}.detail-list dd{margin:0;color:#111827}.tyre-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.tyre-stat-grid div{border:1px solid #e2e8f0;border-radius:18px;padding:14px;background:#f8fafc}.tyre-stat-grid strong{display:block;font-size:24px;color:#111827}.tyre-stat-grid span{display:block;font-size:12px;color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.tyres-action-grid{align-items:start}.tyre-timeline{position:relative;display:grid;gap:12px}.tyre-timeline-item{display:grid;grid-template-columns:22px 1fr;gap:10px}.tyre-timeline-dot{width:12px;height:12px;border-radius:99px;background:#c8171d;margin:8px 0 0 5px;box-shadow:0 0 0 5px rgba(200,23,29,.1)}.tyre-timeline-body{border:1px solid #e2e8f0;border-radius:18px;padding:14px;background:#fff}.tyre-timeline-head{display:flex;justify-content:space-between;gap:12px}.tyre-timeline-head span{color:#64748b;font-size:12px;font-weight:800}.tyre-timeline-body p{margin:8px 0 0}.grid.three-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:1180px){.tyres-hero,.tyres-detail-hero{flex-direction:column;padding:24px}.tyre-filter-grid{grid-template-columns:1fr}.grid.two-cols,.grid.three-cols{grid-template-columns:1fr}.form-row.two,.form-row.three{grid-template-columns:1fr}.detail-list{grid-template-columns:1fr}.tyre-timeline-head{flex-direction:column}.tyres-table{min-width:980px}.tyres-list-card{overflow:auto}}

/* Tyres v1.1 – cleaned status/location model and polished forms */
.tyres-form-toolbar{align-items:flex-start;margin-bottom:18px}
.tyres-form-toolbar h1{font-size:38px;line-height:1.05;margin:4px 0 8px;color:#111827}
.tyres-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}
.tyres-form-card{padding:28px 30px;border-radius:28px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.tyre-side-panel{display:grid;gap:16px;position:sticky;top:92px}
.tyre-modern-form{gap:18px}.form-section{border:1px solid #e7edf5;border-radius:22px;background:#fff;padding:18px;box-shadow:0 12px 34px rgba(15,23,42,.035)}
.form-section.soft-section{background:linear-gradient(135deg,#fbfdff 0%,#fff7f7 100%);border-color:#e1e8f2}
.section-headline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-headline h3{margin:0;font-size:18px}.section-headline span{display:inline-flex;border-radius:999px;padding:6px 10px;background:#eef2f7;color:#475569;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.field-help{margin:6px 0 0;color:#64748b;font-size:12px;line-height:1.35}.wide-action{width:100%;justify-content:center;padding:14px 18px;border-radius:18px}.tyre-tread-row input{text-align:center;font-size:18px;font-weight:800}.info-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)}.explain-pair{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:12px;border:1px solid #e7edf5;border-radius:16px;background:#fff;margin-top:10px}.explain-pair strong{color:#c8171d}.explain-pair span{color:#475569}.tyre-vehicle-fields{margin-top:10px}.tyre-action-grid-v2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}.tyre-action-card{height:100%}.tyre-location-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#eef2f7;color:#334155;font-size:12px;font-weight:900}.tyre-status-ok{background:#e9f9ef;color:#166534}.tyre-status-watch{background:#fff7ed;color:#c2410c}.tyre-status-low_tread,.tyre-status-uneven_wear{background:#fffbeb;color:#a16207}.tyre-status-damaged,.tyre-status-repair{background:#fef2f2;color:#b91c1c}.tyre-status-retired{background:#f1f5f9;color:#475569}.tyre-status-mismatch{background:#fee2e2;color:#991b1b}.tyre-status-stock{background:#e9f9ef;color:#166534}.tyre-status-mounted{background:#e9f9ef;color:#166534}.tyre-status-service{background:#eff6ff;color:#1d4ed8}.tyre-status-lost{background:#fee2e2;color:#991b1b}
@media(max-width:1440px){.tyres-create-layout{grid-template-columns:1fr}.tyre-side-panel{position:static}.tyre-action-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tyres-form-toolbar h1{font-size:30px}.tyres-form-card{padding:20px}.form-section{padding:14px;border-radius:18px}.section-headline{align-items:flex-start;flex-direction:column}.explain-pair{grid-template-columns:1fr}.tyre-action-grid-v2{grid-template-columns:1fr}}

/* Tyres v1.2 – premium ServiceControl design */
.tyres-polished{max-width:1580px;padding:22px 22px 48px}
.tyres-shell-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:0 0 22px;padding:34px 38px;border:1px solid rgba(203,213,225,.9);border-radius:32px;background:radial-gradient(circle at 92% 8%,rgba(200,23,29,.10),transparent 34%),linear-gradient(135deg,#fff 0%,#fff 52%,#fff7f7 100%);box-shadow:0 26px 80px rgba(15,23,42,.08)}
.tyres-shell-copy h1{margin:0 0 10px;font-size:46px;line-height:1.02;letter-spacing:-.04em;color:#111827}.tyres-shell-copy p{max-width:820px;margin:0;color:#64748b;font-size:16px;line-height:1.55}.tyres-shell-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.tyres-eyebrow{color:#c8171d;font-weight:950;letter-spacing:.18em;text-transform:uppercase;font-size:12px;margin-bottom:10px}
.tyre-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.tyre-metric-card{position:relative;overflow:hidden;border:1px solid #e1e8f2;border-radius:26px;background:#fff;padding:22px 22px 20px;box-shadow:0 18px 50px rgba(15,23,42,.06)}.tyre-metric-card:after{content:"";position:absolute;right:-34px;top:-48px;width:120px;height:120px;border-radius:50%;background:#f1f5f9}.tyre-metric-card span{display:block;position:relative;z-index:1;font-size:34px;line-height:1;font-weight:950;color:#c8171d}.tyre-metric-card strong{display:block;position:relative;z-index:1;margin-top:10px;color:#111827;font-size:15px}.tyre-metric-card small{display:block;position:relative;z-index:1;margin-top:4px;color:#64748b;font-weight:700}.tyre-metric-warning:after{background:#fff7d6}.tyre-metric-warning span{color:#b45309}.tyre-metric-danger:after{background:#fee2e2}.tyre-metric-danger span{color:#b91c1c}
.tyre-filter-panel{border:1px solid #e1e8f2;border-radius:26px;background:rgba(255,255,255,.88);box-shadow:0 18px 50px rgba(15,23,42,.05);padding:16px;margin-bottom:18px}.tyre-filter-modern{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(170px,.75fr) minmax(260px,1.15fr) minmax(170px,.75fr) auto;gap:12px;align-items:end}.tyre-filter-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.tyre-field{display:flex;flex-direction:column;gap:7px}.tyre-field label{font-size:12px;line-height:1;font-weight:950;color:#475569;text-transform:uppercase;letter-spacing:.06em}.tyre-field input,.tyre-field select,.tyre-field textarea{width:100%;min-height:48px;border:1px solid #d8e1ed;border-radius:17px;background:linear-gradient(180deg,#fff,#fbfdff);padding:11px 14px;font:inherit;color:#111827;box-shadow:inset 0 1px 0 rgba(255,255,255,.9);outline:none;transition:border-color .16s,box-shadow .16s,background .16s}.tyre-field textarea{min-height:100px;resize:vertical}.tyre-field input:focus,.tyre-field select:focus,.tyre-field textarea:focus{border-color:#c8171d;box-shadow:0 0 0 4px rgba(200,23,29,.10)}.tyre-field small{color:#64748b;font-size:12px;line-height:1.45}.search-field input{font-weight:800}
.tyre-card-list{display:grid;gap:12px}.tyre-list-item{display:grid;grid-template-columns:minmax(310px,1.5fr) minmax(150px,.75fr) minmax(190px,.8fr) minmax(190px,.9fr) minmax(130px,.65fr) auto;align-items:center;gap:16px;border:1px solid #e1e8f2;border-radius:26px;background:#fff;padding:16px 18px;box-shadow:0 16px 44px rgba(15,23,42,.045);transition:transform .16s,border-color .16s,box-shadow .16s}.tyre-list-item:hover{transform:translateY(-1px);border-color:#cbd5e1;box-shadow:0 22px 60px rgba(15,23,42,.075)}.tyre-list-main{display:flex;align-items:center;gap:14px}.tyre-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,#fff1f2,#f8fafc);border:1px solid #fee2e2;font-size:24px;flex:0 0 auto}.tyre-code-link{font-size:18px;font-weight:950;text-decoration:none;color:#111827}.tyre-code-link:hover{color:#c8171d}.tyre-subline{margin-top:3px;color:#475569;font-weight:800}.tyre-mini-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tyre-mini-tags span{display:inline-flex;border-radius:999px;background:#f1f5f9;color:#475569;padding:5px 8px;font-size:11px;font-weight:900}.tyre-list-status{display:grid;gap:6px}.tyre-list-location small,.tyre-list-tread small,.tyre-list-value small{display:block;color:#64748b;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.tyre-list-location strong,.tyre-list-tread strong,.tyre-list-value strong{display:block;color:#111827}.tyre-list-tread span{display:block;margin-top:3px;color:#64748b;font-size:12px;font-weight:800}.tyre-list-action{text-align:right}.tyre-empty-state{border:1px dashed #cbd5e1;border-radius:28px;background:#fff;padding:40px;text-align:center;color:#64748b}.tyre-empty-state h2{margin:0 0 8px;color:#111827}
.tyre-entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.tyre-entry-main{display:grid;gap:16px}.tyre-panel{border:1px solid #e1e8f2;border-radius:28px;background:#fff;padding:24px;box-shadow:0 18px 54px rgba(15,23,42,.055)}.tyre-panel-primary{background:radial-gradient(circle at 100% 0,rgba(200,23,29,.08),transparent 34%),#fff}.tyre-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.tyre-panel-head h2{margin:5px 0 0;font-size:24px;letter-spacing:-.02em;color:#111827}.tyre-panel-head p{max-width:540px;margin:2px 0 0;color:#64748b;line-height:1.45}.tyre-step{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#c8171d;color:#fff;width:36px;height:26px;font-size:12px;font-weight:950;letter-spacing:.08em}.tyre-id-field input{min-height:58px;font-size:22px;font-weight:950;letter-spacing:.02em}.tyre-form-grid{display:grid;gap:14px}.tyre-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tyre-definition-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.tyre-definition-strip div{border:1px solid #e7edf5;border-radius:18px;background:#f8fafc;padding:13px}.tyre-definition-strip strong{display:block;color:#c8171d;margin-bottom:4px}.tyre-definition-strip span{color:#475569;font-size:13px}.tyre-vehicle-box{margin-top:16px;border:1px dashed #cbd5e1;border-radius:20px;background:#f8fafc;padding:14px}.tyre-tread-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tyre-tread-cards label{display:flex;flex-direction:column;gap:8px;border:1px solid #e1e8f2;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfdff);padding:16px}.tyre-tread-cards span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:950;color:#64748b}.tyre-tread-cards input{border:0;background:transparent;font-size:32px;font-weight:950;color:#111827;outline:0;text-align:center}.tyre-entry-aside{position:sticky;top:96px;display:grid;gap:16px}.tyre-summary-card{border-radius:30px;background:linear-gradient(135deg,#111827,#263244);color:#fff;padding:26px;box-shadow:0 26px 70px rgba(15,23,42,.20)}.tyre-summary-card h3{margin:8px 0 8px;font-size:23px}.tyre-summary-card p{margin:0 0 20px;color:#cbd5e1;line-height:1.5}.tyre-summary-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:20px;background:rgba(255,255,255,.10);font-size:30px}.tyre-summary-card .btn.primary{background:#c8171d;color:#fff;border-color:#c8171d}.tyre-id-preview-polished{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.tyre-risk{grid-column:1/-1;border-radius:14px;background:#fff7ed;color:#c2410c;padding:10px 12px;font-weight:900}.tyre-alert{border-radius:24px;padding:16px 18px;margin-bottom:18px}.tyre-alert ul{margin:8px 0 0}.tyre-alert-danger{border:1px solid #fecaca;background:#fff7f7;color:#7f1d1d}.tyre-similar-panel h3{margin-top:0}
.tyre-status-pill{border:1px solid rgba(148,163,184,.2)}.tyre-status-ok{background:#dcfce7;color:#166534}.tyre-status-watch{background:#fff7ed;color:#c2410c}.tyre-status-low_tread,.tyre-status-uneven_wear{background:#fef3c7;color:#92400e}.tyre-status-damaged,.tyre-status-repair{background:#fee2e2;color:#991b1b}.tyre-status-retired{background:#f1f5f9;color:#475569}.tyre-status-mismatch{background:#fecaca;color:#7f1d1d}
@media(max-width:1440px){.tyres-polished{padding:18px}.tyres-shell-hero{padding:28px}.tyre-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tyre-filter-modern{grid-template-columns:1fr 1fr}.tyre-filter-actions{justify-content:flex-start}.tyre-list-item{grid-template-columns:1fr 1fr}.tyre-list-main{grid-column:1/-1}.tyre-list-action{text-align:left}.tyre-entry-layout{grid-template-columns:1fr}.tyre-entry-aside{position:static}}
@media(max-width:760px){.tyres-polished{padding:14px}.tyres-shell-hero{padding:22px;border-radius:26px}.tyres-shell-copy h1{font-size:34px}.tyres-shell-actions{justify-content:flex-start}.tyre-dashboard-grid,.tyre-filter-modern,.tyre-list-item,.tyre-form-grid.two,.tyre-definition-strip,.tyre-tread-cards{grid-template-columns:1fr}.tyre-panel{padding:18px;border-radius:24px}.tyre-panel-head{display:block}.tyre-tread-cards input{font-size:28px}.tyre-id-preview-polished{grid-template-columns:1fr}}

/* Tyres v1.3 – compact inventory mode for thousands of tyres */
.tyres-compact-index{max-width:1720px}
.tyres-shell-hero-compact{padding:24px 28px;border-radius:28px;margin-bottom:16px}
.tyres-shell-hero-compact .tyres-shell-copy h1{font-size:40px}
.tyres-shell-hero-compact .tyres-shell-copy p{max-width:930px;font-size:15px}
.tyre-dashboard-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.tyre-dashboard-grid-compact .tyre-metric-card{display:block;text-decoration:none;color:inherit;padding:16px 18px;border-radius:22px;min-height:116px}
.tyre-dashboard-grid-compact .tyre-metric-card span{font-size:28px}
.tyre-dashboard-grid-compact .tyre-metric-card strong{font-size:14px;margin-top:7px}
.tyre-dashboard-grid-compact .tyre-metric-card.is-active{border-color:#c8171d;box-shadow:0 0 0 4px rgba(200,23,29,.08),0 16px 44px rgba(15,23,42,.06)}
.tyre-quickbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:10px;border:1px solid #e1e8f2;border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.04)}
.tyre-chip{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:12px;font-weight:950;text-decoration:none;letter-spacing:.01em}
.tyre-chip:hover{border-color:#cbd5e1;background:#fff;color:#111827}
.tyre-chip.active{background:#c8171d;color:#fff;border-color:#c8171d;box-shadow:0 10px 24px rgba(200,23,29,.18)}
.tyre-filter-panel-compact{padding:12px;border-radius:22px;margin-bottom:12px}
.tyre-filter-compact{grid-template-columns:minmax(260px,1.25fr) minmax(160px,.65fr) minmax(260px,1fr) minmax(150px,.55fr) minmax(120px,.4fr) auto;gap:10px}
.tyre-filter-compact .tyre-field input,.tyre-filter-compact .tyre-field select{min-height:42px;border-radius:14px;padding:8px 11px;font-size:13px}
.tyre-filter-compact .tyre-field label{font-size:10px}
.tyre-filter-compact .btn{min-height:42px;padding-top:9px;padding-bottom:9px}
.tyre-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 10px;padding:10px 14px;border:1px solid #e1e8f2;border-radius:18px;background:#fff;color:#64748b;box-shadow:0 10px 28px rgba(15,23,42,.035)}
.tyre-list-toolbar strong{display:inline-block;margin-right:8px;color:#111827;font-size:14px}
.tyre-list-toolbar span{font-size:13px;font-weight:800}
.tyre-view-switch{display:inline-flex;border:1px solid #e2e8f0;background:#f8fafc;border-radius:999px;padding:3px;gap:3px}
.tyre-view-switch a{display:inline-flex;align-items:center;min-height:30px;padding:6px 12px;border-radius:999px;color:#64748b;text-decoration:none;font-size:12px;font-weight:950}
.tyre-view-switch a.active{background:#fff;color:#c8171d;box-shadow:0 6px 18px rgba(15,23,42,.08)}
.tyre-table-shell{overflow:auto;border:1px solid #dfe7f1;border-radius:22px;background:#fff;box-shadow:0 18px 54px rgba(15,23,42,.055)}
.tyre-compact-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1180px;font-size:13px}
.tyre-compact-table thead th{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#f8fafc,#f1f5f9);color:#475569;text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:950;padding:10px 12px;border-bottom:1px solid #dfe7f1;white-space:nowrap}
.tyre-compact-table tbody td{padding:9px 12px;border-bottom:1px solid #eef2f7;vertical-align:middle;color:#334155}
.tyre-compact-table tbody tr:hover td{background:#fff7f7}
.tyre-compact-table tbody tr:last-child td{border-bottom:0}
.tyre-table-id a{display:block;color:#111827;text-decoration:none;font-weight:950;font-size:13.5px;line-height:1.15}
.tyre-table-id a:hover{color:#c8171d}
.tyre-table-id small{display:block;margin-top:3px;color:#94a3b8;font-size:10.5px;font-weight:900}
.tyre-compact-table .tyre-status-pill{font-size:11px;padding:5px 8px;white-space:nowrap}
.tyre-compact-table .table-warn{display:block;margin-top:4px;color:#b45309;font-size:10.5px;font-weight:950}
.tyre-compact-table .nowrap{white-space:nowrap}
.tyre-compact-table .right{text-align:right}
.tyre-compact-table .btn.small{min-height:30px;padding:6px 10px;font-size:12px;border-radius:12px}
.tyre-row-state-damaged td,.tyre-row-state-repair td,.tyre-row-state-mismatch td{background:#fffafa}
.tyre-row-state-low_tread td,.tyre-row-state-uneven_wear td,.has-uneven-wear td{background:#fffdf4}
.tyre-row-state-retired td{color:#94a3b8;background:#f8fafc}
.tyre-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;color:#64748b;font-weight:900}
.tyre-pagination .disabled{opacity:.45;pointer-events:none}
@media(max-width:1440px){
  .tyre-filter-compact{grid-template-columns:1fr 1fr 1fr}
  .tyre-dashboard-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .tyres-shell-hero-compact .tyres-shell-copy h1{font-size:32px}
  .tyre-filter-compact{grid-template-columns:1fr}
  .tyre-dashboard-grid-compact{grid-template-columns:1fr 1fr}
  .tyre-dashboard-grid-compact .tyre-metric-card{padding:14px;min-height:104px}
  .tyre-list-toolbar{align-items:flex-start;flex-direction:column}
  .tyre-table-shell{border-radius:18px}
}

/* Tyres v1.4 – warehouses and bulk transfers */
.tyre-bulk-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    margin: 14px 0;
    border: 1px solid rgba(148, 163, 184, .32);
    border-radius: 18px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 16px 42px rgba(15,23,42,.06);
}
.tyre-bulk-bar strong { display:block; color:#0f172a; font-weight: 800; }
.tyre-bulk-bar span { display:block; color:#64748b; font-size: 12px; margin-top: 2px; }
.select-col { width: 34px; text-align: center !important; }
.select-col input[type="checkbox"], .tyre-select-box input[type="checkbox"] { width: 16px; height: 16px; accent-color: #ce1f24; }
.tyre-select-box {
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    min-width:34px;
}
.tyre-select-box input[disabled], .select-col input[disabled] { opacity: .25; cursor: not-allowed; }
.tyre-bulk-summary {
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:10px;
    margin: 12px 0 16px;
}
.tyre-bulk-summary > div {
    border:1px solid rgba(148,163,184,.28);
    border-radius:16px;
    padding:12px;
    background: rgba(248,250,252,.9);
}
.tyre-bulk-summary strong { display:block; font-size:24px; line-height:1; color:#0f172a; }
.tyre-bulk-summary span { display:block; color:#64748b; font-size:12px; margin-top:6px; }
.tyre-bulk-list {
    display:flex;
    flex-direction:column;
    gap:8px;
    max-height:420px;
    overflow:auto;
    padding-right:4px;
}
.tyre-bulk-item {
    border:1px solid rgba(148,163,184,.24);
    border-radius:14px;
    padding:10px 12px;
    background:#fff;
}
.tyre-bulk-item strong { display:block; color:#0f172a; }
.tyre-bulk-item span, .tyre-bulk-item small { display:block; color:#64748b; font-size:12px; margin-top:3px; }
.tyre-bulk-item.is-disabled { opacity:.58; background:#f8fafc; }
.tyre-warehouse-field { transition: .18s ease; }
.tyres-bulk-transfer-page .card { overflow: hidden; }
@media (max-width: 760px) {
    .tyre-bulk-bar { align-items: stretch; flex-direction: column; }
    .tyre-bulk-summary { grid-template-columns: 1fr; }
    .select-col { width: 28px; }
}

/* Tyres v2 detail, import, inventory, vehicle layout */
.tyres-detail-v2 .premium-hero{background:linear-gradient(135deg,rgba(206,31,36,.10),rgba(255,255,255,.92));border:1px solid rgba(206,31,36,.16);}
.tyre-alert-strip{display:grid;gap:10px;margin:16px 0}.tyre-alert{padding:12px 14px;border-radius:16px;font-weight:700;border:1px solid #e5e7eb;background:#fff}.tyre-alert-warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.tyre-alert-danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.tyre-alert-muted{background:#f8fafc;color:#475569}
.tyre-chart-card canvas{max-height:280px}.tyre-mini-table-wrap{overflow:auto}.tyre-mini-table{width:100%;border-collapse:collapse;font-size:13px}.tyre-mini-table th,.tyre-mini-table td{padding:9px 10px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}.tyre-mini-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc}.tyre-timeline-v2 .tyre-timeline-item{position:relative}.tyre-event-mounted .tyre-timeline-dot{background:#16a34a}.tyre-event-removed .tyre-timeline-dot{background:#f97316}.tyre-event-warehouse_transfer .tyre-timeline-dot{background:#2563eb}.tyre-event-measured .tyre-timeline-dot{background:#7c3aed}.tyre-event-damaged .tyre-timeline-dot{background:#dc2626}.tyre-code-sample{background:#0f172a;color:#e2e8f0;border-radius:16px;padding:16px;overflow:auto}.tyre-import-errors{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:12px 18px}.checkline{display:flex!important;gap:10px;align-items:center}.checkline input{width:auto!important}.tyre-inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.tyre-inline-form select{min-width:260px}.tyre-vehicle-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:18px}.tyre-position-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.tyre-position-card.filled{border-color:rgba(22,163,74,.25)}.tyre-position-card.empty{background:#f8fafc}.tyre-position-head{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.tyre-position-card h3{margin:10px 0 4px;font-size:20px}.tyre-position-card p{margin:4px 0;color:#475569}.tyre-position-tread{margin:10px 0;padding:10px;border-radius:14px;background:#f1f5f9;font-weight:800}.tyre-position-actions{margin-top:12px;border-top:1px solid #e5e7eb;padding-top:10px}.tyre-position-actions summary{cursor:pointer;font-weight:800;color:#ce1f24}.stacked-form.compact{gap:8px;margin-top:10px}.stacked-form.compact input,.stacked-form.compact select{min-height:36px}.btn.danger{background:#dc2626;color:#fff;border-color:#dc2626}.four-cols{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.four-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.tyre-inline-form{display:block}.tyre-inline-form select,.tyre-inline-form button{width:100%;margin-top:8px}}

/* Tyres v2.1 – bezpečnější aktuální obutí vozidla */
.tyres-fitment-v2{display:flex;flex-direction:column;gap:18px}.tyres-fitment-v2 .tyres-fitment-hero{align-items:center}.tyre-fitment-search-card{padding:18px}.tyre-fitment-picker{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:12px;align-items:end}.tyre-fitment-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tyre-mini-kpi{border:1px solid rgba(226,232,240,.95);border-radius:22px;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 16px 38px rgba(15,23,42,.06);padding:16px}.tyre-mini-kpi small{display:block;text-transform:uppercase;letter-spacing:.08em;color:#667085;font-size:11px;font-weight:900}.tyre-mini-kpi strong{display:block;margin-top:6px;font-size:28px;line-height:1;color:#101828}.tyre-mini-kpi span{display:block;margin-top:5px;color:#667085;font-weight:750;font-size:13px}.tyre-mini-kpi.ok{border-color:rgba(22,163,74,.18);background:linear-gradient(135deg,#fff,#f0fdf4)}.tyre-mini-kpi.warn{border-color:rgba(245,158,11,.26);background:linear-gradient(135deg,#fff,#fffbeb)}.tyre-fitment-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}.tyre-fitment-card{border-radius:26px}.tyre-section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.tyre-section-title-row h2{margin:2px 0 0;font-size:22px}.tyre-vehicle-layout-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tyre-position-card-v2{border:1px solid rgba(226,232,240,.95);border-radius:24px;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.06);padding:16px;position:relative;overflow:hidden}.tyre-position-card-v2:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#cbd5e1}.tyre-position-card-v2.ok:before{background:#16a34a}.tyre-position-card-v2.warning:before{background:#f59e0b}.tyre-position-card-v2.danger:before{background:#dc2626}.tyre-position-card-v2.empty{background:linear-gradient(135deg,#fff,#f8fafc)}.tyre-position-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.tyre-position-topline strong{display:block;color:#101828;font-size:15px}.tyre-position-topline span{display:block;color:#667085;font-weight:900;font-size:12px;margin-top:2px}.tyre-position-topline em{font-style:normal;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#475467;font-weight:900;font-size:11px;padding:5px 8px;white-space:nowrap}.tyre-mounted-main{margin-bottom:12px}.tyre-code-link{font-size:21px;font-weight:950;color:#101828;text-decoration:none}.tyre-code-link:hover{color:#ce1f24}.tyre-mounted-main p{margin:4px 0 0;color:#667085;font-weight:750}.tyre-tread-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0}.tyre-tread-strip span,.tyre-tread-strip strong{display:flex;align-items:center;justify-content:center;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;min-height:38px;font-size:12px;font-weight:900;color:#334155;text-align:center}.tyre-tread-strip strong{background:#101828;color:#fff;border-color:#101828}.tyre-position-meta-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.tyre-mini-alerts{display:flex;flex-direction:column;gap:6px;margin-top:10px}.tyre-mini-alerts span{display:block;border-radius:14px;background:#fffbeb;border:1px solid #fed7aa;color:#92400e;padding:8px 10px;font-size:12px;font-weight:800}.tyre-empty-position{min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc;color:#667085;text-align:center}.tyre-empty-position strong{font-size:16px;color:#334155}.tyre-empty-position span{margin-top:3px}.tyre-position-actions-v2{margin-top:13px;border-top:1px solid #eef2f7;padding-top:10px}.tyre-position-actions-v2 summary{cursor:pointer;font-weight:950;color:#ce1f24;list-style:none}.tyre-position-actions-v2 summary::-webkit-details-marker{display:none}.tyre-fitment-form{margin-top:12px;padding:12px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.tyre-fitment-form + .tyre-fitment-form{margin-top:12px}.tyre-fitment-side{display:flex;flex-direction:column;gap:18px}.tyre-rules-form{gap:10px}.tyre-rule-row{display:grid;grid-template-columns:1fr;gap:6px;padding:10px;border:1px solid #edf1f7;border-radius:16px;background:#f8fafc}.tyre-rule-row label{font-weight:950;color:#101828}.tyre-rule-row label small{display:block;color:#667085;font-weight:750;margin-top:2px}.tyre-fitment-timeline{display:flex;flex-direction:column;gap:10px}.tyre-fitment-event{border:1px solid #edf1f7;border-radius:18px;background:#fff;padding:12px}.tyre-fitment-event small{display:block;color:#667085;font-weight:800;font-size:11px}.tyre-fitment-event strong{display:block;margin-top:4px;color:#101828}.tyre-fitment-event span{display:block;margin-top:3px;color:#667085}.tyre-alert-stack{display:flex;flex-direction:column;gap:8px}.tyre-alert-item{border-radius:18px;padding:12px 14px;font-weight:850;border:1px solid #fed7aa;background:#fffbeb;color:#92400e}.tyre-alert-item.danger{border-color:#fecaca;background:#fff1f2;color:#991b1b}@media(max-width:1180px){.tyre-fitment-main-grid{grid-template-columns:1fr}.tyre-fitment-side{order:2}.tyre-fitment-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tyre-vehicle-layout-v2{grid-template-columns:1fr}}@media(max-width:720px){.tyre-fitment-picker{grid-template-columns:1fr}.tyre-fitment-kpis{grid-template-columns:1fr}.tyre-tread-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tyre-section-title-row{flex-direction:column}}

/* Tyres v2.2 - central templates, odometer, helicopter view, suggestions */
.tyre-alert-item.info {
    border-color: rgba(59, 130, 246, .24);
    background: linear-gradient(135deg, rgba(239, 246, 255, .96), rgba(255,255,255,.96));
    color: #1e3a8a;
}

.tyre-heli-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 8px auto 14px;
    width: min(520px, 100%);
    padding: 10px 14px;
    border: 1px dashed rgba(148, 163, 184, .65);
    border-radius: 999px;
    color: #64748b;
    font-weight: 900;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .12em;
    background: rgba(248, 250, 252, .75);
}
.tyre-heli-label.rear { margin-top: 14px; margin-bottom: 0; }

.tyre-helicopter-view {
    position: relative;
    max-width: 920px;
    margin: 0 auto;
    padding: 22px min(36px, 4vw);
    border-radius: 32px;
    border: 1px solid rgba(226, 232, 240, .95);
    background:
        linear-gradient(90deg, rgba(255,255,255,.65) 0 15%, rgba(248,250,252,.65) 15% 85%, rgba(255,255,255,.65) 85% 100%),
        radial-gradient(circle at 50% 8%, rgba(206, 31, 36, .07), transparent 34%),
        rgba(255,255,255,.74);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.7), 0 18px 45px rgba(15, 23, 42, .05);
}
.tyre-helicopter-view::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 50%;
    width: 2px;
    transform: translateX(-50%);
    background: linear-gradient(to bottom, transparent, rgba(148, 163, 184, .38), transparent);
    pointer-events: auto;
}

body.tyre-modal-open .tyre-position-card-v2:not(.tyre-card-modal-active) {
    pointer-events: none !important;
}

body.tyre-modal-open .tyre-position-card-v2:hover {
    transform: none !important;
}

.tyre-helicopter-view .tyre-position-card-v2 {
    position: relative;
    z-index: 1;
    min-height: 220px;
}

.tyre-autocomplete-help {
    margin-top: -2px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
}
.tyre-code-autocomplete {
    font-weight: 900;
    letter-spacing: .02em;
}

.tyres-position-templates-page .tyre-template-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.tyre-template-position-card {
    padding: 16px;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 22px;
    background: linear-gradient(180deg, #fff, #f8fafc);
    box-shadow: 0 10px 22px rgba(15, 23, 42, .04);
}
.tyre-template-position-card label {
    display: block;
    margin: 12px 0 6px;
    font-size: 12px;
    font-weight: 900;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.tyre-template-position-card input {
    width: 100%;
}
.tyre-template-picker {
    align-items: end;
}
.tyre-template-picker select {
    min-width: 320px;
}
.tyre-template-form .form-actions {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 900px) {
    .tyres-position-templates-page .tyre-template-grid,
    .tyre-helicopter-view {
        grid-template-columns: 1fr !important;
    }
    .tyre-helicopter-view::before { display: none; }
    .tyre-template-picker select { min-width: 0; width: 100%; }
}

/* Tyres v2.3 - better fitment workflow */
.tyre-odometer-panel{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,420px);
    gap:18px;
    align-items:center;
    margin:16px 0;
    border:1px solid rgba(206,31,36,.12);
    background:linear-gradient(135deg,rgba(206,31,36,.06),rgba(255,255,255,.92));
}
.tyre-odometer-panel h2{margin:0 0 6px;font-size:20px;}
.tyre-odometer-panel p{margin:0;color:#64748b;line-height:1.45;}
.tyre-odometer-controls{display:grid;gap:8px;}
.tyre-odometer-controls label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#475569;}
.tyre-odometer-controls input[type="number"]{font-size:22px;font-weight:900;padding:12px 14px;border-radius:16px;border:1px solid #e2e8f0;background:#fff;}
.tyre-odometer-controls small{color:#64748b;}
.tyre-replace-form{border-top:1px dashed #e2e8f0;margin-top:12px;padding-top:12px;}
.tyre-replace-form h4{margin:0 0 8px;font-size:14px;color:#0f172a;}
.tyre-bulk-measure-card{background:linear-gradient(180deg,#fff,#f8fafc);}
.tyre-bulk-measure-list{display:grid;gap:8px;max-height:440px;overflow:auto;padding-right:4px;}
.tyre-bulk-measure-row{display:grid;grid-template-columns:52px minmax(90px,1fr) 54px 54px 54px;gap:6px;align-items:center;padding:8px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;}
.tyre-bulk-measure-row strong{font-size:12px;color:#ce1f24;}
.tyre-bulk-measure-row span{font-size:12px;font-weight:800;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tyre-bulk-measure-row input{min-width:0;padding:8px;border-radius:10px;border:1px solid #e2e8f0;}
@media (max-width: 900px){
    .tyre-odometer-panel{grid-template-columns:1fr;}
    .tyre-bulk-measure-row{grid-template-columns:48px 1fr 48px 48px 48px;}
}


/* Tyres v2.4 - polished vehicle fitment view */
.tyres-fitment-v2 .tyres-shell-hero {
    border: 1px solid rgba(226, 232, 240, .9);
    background:
        radial-gradient(circle at 12% 0%, rgba(206,31,36,.11), transparent 35%),
        linear-gradient(135deg, rgba(255,255,255,.94), rgba(248,250,252,.86));
    box-shadow: 0 22px 55px rgba(15, 23, 42, .08);
}
.tyre-fitment-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.tyre-fitment-legend span{display:inline-flex;align-items:center;gap:6px;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;color:#475569;white-space:nowrap}
.tyre-fitment-legend i{width:9px;height:9px;border-radius:999px;display:inline-block;background:#cbd5e1}.tyre-fitment-legend i.ok{background:#16a34a}.tyre-fitment-legend i.warn{background:#f59e0b}.tyre-fitment-legend i.bad{background:#dc2626}.tyre-fitment-legend i.empty{background:#94a3b8}
.tyre-odometer-panel{position:sticky;top:10px;z-index:20;backdrop-filter: blur(12px);}
.tyre-helicopter-view-v24{
    display:grid !important;
    grid-template-columns:minmax(230px,1fr) 96px minmax(230px,1fr) !important;
    gap:18px 22px !important;
    align-items:stretch;
    padding:34px min(42px,4vw) !important;
    min-height:420px;
}
.tyre-helicopter-view-v24::before{display:none !important;}
.tyre-vehicle-body-spine{
    grid-column:2;grid-row:1 / 99;align-self:stretch;justify-self:center;width:84px;border-radius:38px;
    border:1px solid rgba(148,163,184,.28);
    background:linear-gradient(180deg,rgba(248,250,252,.95),rgba(226,232,240,.78));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.86), 0 16px 38px rgba(15,23,42,.06);
    display:flex;align-items:center;justify-content:center;position:relative;min-height:360px;
}
.tyre-vehicle-body-spine:before,.tyre-vehicle-body-spine:after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:44px;height:10px;border-radius:999px;background:rgba(148,163,184,.55)}
.tyre-vehicle-body-spine:before{top:22px}.tyre-vehicle-body-spine:after{bottom:22px}.tyre-vehicle-body-spine span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase;color:#64748b}
.tyre-position-card-v2{min-height:0 !important;padding:14px !important;border-radius:22px !important;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;}
.tyre-position-card-v2:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(15,23,42,.10)}
.tyre-position-side-left{margin-right:0}.tyre-position-side-right{margin-left:0}
.tyre-position-card-v2.empty{border-style:dashed;background:linear-gradient(135deg,#fff,#f8fafc)}
.tyre-position-topline{margin-bottom:10px}.tyre-position-topline strong{font-size:14px}.tyre-position-topline span{font-size:11px}.tyre-position-topline em{font-size:10px;padding:4px 7px;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.tyre-code-link{font-size:18px}.tyre-mounted-main p{font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tyre-tread-strip{gap:5px;margin:10px 0}.tyre-tread-strip span,.tyre-tread-strip strong{min-height:32px;border-radius:12px;font-size:11px}.tyre-position-meta-row{font-size:12px}.tyre-mini-alerts span{padding:7px 9px;font-size:11px}.tyre-empty-position{min-height:120px}.tyre-empty-position small{display:block;margin-top:8px;color:#94a3b8;font-weight:850}
.tyre-position-actions-v2{border-top:0;margin-top:12px;padding-top:0}.tyre-position-actions-v2 summary{display:flex;align-items:center;justify-content:center;border-radius:14px;padding:10px 12px;background:#ce1f24;color:#fff;font-weight:950;box-shadow:0 10px 24px rgba(206,31,36,.18)}.tyre-position-actions-v2 summary:hover{background:#a91519}.tyre-position-actions-v2.empty summary{background:#0f172a}
.tyre-position-actions-v2[open] summary{position:relative;z-index:101;border-bottom-left-radius:0;border-bottom-right-radius:0}
.tyre-position-actions-v2[open]::before{content:"";position:fixed;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(5px);z-index:100}.tyre-action-panel{display:none}.tyre-position-actions-v2[open] .tyre-action-panel{display:block;position:fixed;z-index:102;left:50%;top:50%;transform:translate(-50%,-50%);width:min(920px,calc(100vw - 28px));max-height:calc(100vh - 36px);overflow:auto;border-radius:28px;background:#fff;border:1px solid rgba(226,232,240,.95);box-shadow:0 35px 90px rgba(15,23,42,.28);padding:18px}.tyre-action-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:6px 6px 16px;border-bottom:1px solid #eef2f7;margin-bottom:14px}.tyre-action-panel-head small{display:block;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-size:11px;font-weight:900}.tyre-action-panel-head strong{display:block;margin-top:3px;color:#0f172a;font-size:22px}.tyre-action-close{border:1px solid #e2e8f0;background:#f8fafc;border-radius:999px;padding:9px 13px;font-weight:900;color:#334155;cursor:pointer}.tyre-action-close:hover{background:#fff1f2;color:#ce1f24;border-color:#fecaca}.tyre-action-panel .tyre-fitment-form{box-shadow:none;border-radius:20px}.tyre-action-panel .tyre-fitment-form + .tyre-fitment-form{margin-top:14px}.tyre-replace-form{background:linear-gradient(135deg,#fff,#f8fafc)!important;border-color:rgba(206,31,36,.18)!important}
.tyre-fitment-side .card{border-radius:24px}.tyre-bulk-measure-list{max-height:520px}.tyre-fitment-event{position:relative;padding-left:16px}.tyre-fitment-event:before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:999px;background:#ce1f24}
@media(max-width:1180px){.tyre-helicopter-view-v24{grid-template-columns:1fr 72px 1fr !important;gap:14px !important;padding:24px 16px !important}.tyre-vehicle-body-spine{width:64px}.tyre-position-topline{flex-direction:column}.tyre-position-topline em{max-width:none}.tyre-action-panel-head strong{font-size:18px}}
@media(max-width:760px){.tyre-helicopter-view-v24{grid-template-columns:1fr !important}.tyre-vehicle-body-spine{display:none}.tyre-position-card-v2{grid-column:1!important;grid-row:auto!important}.tyre-position-actions-v2[open] .tyre-action-panel{width:calc(100vw - 18px);max-height:calc(100vh - 18px);border-radius:22px;padding:14px}.tyre-action-panel-head{align-items:flex-start}.tyre-fitment-legend{justify-content:flex-start}.tyre-odometer-panel{position:relative;top:auto}}

/* Tyres v2.4.1 - robust modal layering fix */
body.tyre-modal-open {
    overflow: hidden;
}

.tyre-position-actions-v2[open] {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    pointer-events: auto;
}

body.tyre-modal-open .tyre-position-card-v2:not(.tyre-card-modal-active) {
    pointer-events: none !important;
}

body.tyre-modal-open .tyre-position-card-v2:hover {
    transform: none !important;
}


.tyre-position-actions-v2[open] summary {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    padding: 0 !important;
    margin: -1px !important;
    border: 0 !important;
}

.tyre-position-actions-v2[open]::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0 !important;
    background: rgba(15, 23, 42, .68);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    pointer-events: auto;
}

.tyre-position-actions-v2[open] .tyre-action-panel {
    display: block !important;
    position: fixed !important;
    z-index: 1 !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(980px, calc(100vw - 42px)) !important;
    max-height: calc(100dvh - 56px) !important;
    overflow: auto !important;
    overscroll-behavior: contain;
    border-radius: 28px;
    background: #fff;
    border: 1px solid rgba(226, 232, 240, .95);
    box-shadow: 0 45px 120px rgba(15, 23, 42, .38);
    padding: 20px;
    pointer-events: auto;
}

.tyre-action-panel-head {
    position: sticky;
    top: -20px;
    z-index: 2;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    margin: -20px -20px 16px;
    padding: 18px 20px 16px;
}

@media (max-width: 760px) {
    .tyre-position-actions-v2[open] .tyre-action-panel {
        width: calc(100vw - 18px) !important;
        max-height: calc(100dvh - 18px) !important;
        border-radius: 22px;
        padding: 14px;
    }
    .tyre-action-panel-head {
        top: -14px;
        margin: -14px -14px 14px;
        padding: 14px;
    }
}

/* Tyres v2.4.2 - modal moved to body to avoid fixed/transform stacking bugs */
body.tyre-modal-open {
    overflow: hidden !important;
}

body.tyre-modal-open .tyre-position-card-v2 {
    pointer-events: none !important;
}

body.tyre-modal-open .tyre-position-card-v2:hover {
    transform: none !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.06) !important;
}

.tyre-position-actions-v2[open] {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    margin-top: 12px !important;
    padding-top: 0 !important;
    background: transparent !important;
}

.tyre-position-actions-v2[open]::before {
    display: none !important;
    content: none !important;
}

.tyre-position-actions-v2[open] .tyre-action-panel:not(.tyre-action-panel-mounted) {
    display: none !important;
}

.tyre-fitment-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2147483200;
    background: rgba(15, 23, 42, .70);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.tyre-action-panel-mounted {
    display: block !important;
    position: fixed !important;
    z-index: 2147483201 !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(980px, calc(100vw - 42px)) !important;
    max-height: calc(100dvh - 56px) !important;
    overflow: auto !important;
    overscroll-behavior: contain;
    border-radius: 28px !important;
    background: #fff !important;
    border: 1px solid rgba(226, 232, 240, .95) !important;
    box-shadow: 0 45px 120px rgba(15, 23, 42, .42) !important;
    padding: 20px !important;
    pointer-events: auto !important;
}

.tyre-action-panel-mounted .tyre-action-panel-head {
    position: sticky;
    top: -20px;
    z-index: 2;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    margin: -20px -20px 16px;
    padding: 18px 20px 16px;
}

@media (max-width: 760px) {
    .tyre-action-panel-mounted {
        width: calc(100vw - 18px) !important;
        max-height: calc(100dvh - 18px) !important;
        border-radius: 22px !important;
        padding: 14px !important;
    }

    .tyre-action-panel-mounted .tyre-action-panel-head {
        top: -14px;
        margin: -14px -14px 14px;
        padding: 14px;
    }
}

/* Tyres v2.4.1: rozměry pozic se nespravují na provozní obrazovce obutí */
.tyre-fitment-settings-hint {
  border-color: rgba(245, 158, 11, .28) !important;
  background: linear-gradient(135deg, #fff, #fffbeb) !important;
}
.tyre-fitment-settings-hint .btn {
  margin-top: 10px;
}
@media (min-width: 1181px) {
  .tyre-fitment-main-grid {
    grid-template-columns: minmax(0, 1fr) 340px;
  }
}

/* Tyres detail value breakdown - restored after v2.6 */
.tyre-value-breakdown-card {
    margin: 18px 0;
}
.tyre-value-breakdown-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.tyre-value-breakdown-grid > div {
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.9));
    padding: 14px 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}
.tyre-value-breakdown-grid small {
    display: block;
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 8px;
}
.tyre-value-breakdown-grid strong {
    display: block;
    color: #111827;
    font-size: 20px;
    line-height: 1.1;
    margin-bottom: 6px;
}
.tyre-value-breakdown-grid span {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
}
@media (max-width: 900px) {
    .tyre-value-breakdown-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .tyre-value-breakdown-grid { grid-template-columns: 1fr; }
}

/* Tyres v2.7 – axle control and recommended tyre picker */
.tyre-axle-control-card { overflow: hidden; }
.tyre-axle-control-list { display: grid; gap: 10px; }
.tyre-axle-control-item {
    border: 1px solid rgba(148, 163, 184, .24);
    background: rgba(255,255,255,.78);
    border-radius: 18px;
    padding: 12px 14px;
    box-shadow: 0 10px 26px rgba(15,23,42,.04);
}
.tyre-axle-control-item strong { display: block; font-size: 14px; color: #0f172a; margin-bottom: 3px; }
.tyre-axle-control-item > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
    border-radius: 999px;
    padding: 4px 9px;
    margin-bottom: 6px;
}
.tyre-axle-control-item.ok > span { background: #dcfce7; color: #166534; }
.tyre-axle-control-item.warning > span { background: #fef3c7; color: #92400e; }
.tyre-axle-control-item.danger > span { background: #fee2e2; color: #991b1b; }
.tyre-axle-control-item.muted > span { background: #f1f5f9; color: #64748b; }
.tyre-axle-control-item ul { margin: 2px 0 0 0; padding-left: 17px; color: #64748b; font-size: 12px; line-height: 1.35; }
.tyre-axle-control-item li + li { margin-top: 2px; }

.tyre-recommend-box {
    display: grid;
    gap: 8px;
    padding: 12px;
    margin: 6px 0 12px;
    border: 1px solid rgba(206, 31, 36, .14);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(206,31,36,.06), rgba(255,255,255,.92));
}
.tyre-recommend-box > strong {
    font-size: 13px;
    color: #0f172a;
}
.tyre-recommend-pick {
    width: 100%;
    border: 1px solid rgba(148, 163, 184, .30);
    background: rgba(255,255,255,.86);
    border-radius: 14px;
    padding: 10px 11px;
    text-align: left;
    cursor: pointer;
    display: grid;
    gap: 3px;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.tyre-recommend-pick:hover {
    transform: translateY(-1px);
    border-color: rgba(206,31,36,.35);
    box-shadow: 0 10px 24px rgba(15,23,42,.08);
}
.tyre-recommend-pick span { font-weight: 900; color: #ce1f24; font-size: 14px; }
.tyre-recommend-pick small { color: #334155; font-weight: 700; font-size: 12px; }
.tyre-recommend-pick em { color: #64748b; font-size: 11px; font-style: normal; }

@media (max-width: 900px) {
    .tyre-recommend-box { padding: 10px; }
    .tyre-axle-control-list { grid-template-columns: 1fr; }
}
.badge.draft{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.owner-pill.owner-draft{background:#fff7ed;color:#9a3412;border-color:#fed7aa}

/* ServiceControl maintenance/read-only mode */
.maintenance-banner {
    position: sticky;
    top: 0;
    z-index: 60;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 10px 18px;
    border-bottom: 1px solid rgba(127, 29, 29, .18);
    background: linear-gradient(135deg, rgba(127, 29, 29, .94), rgba(206, 31, 36, .92));
    color: #fff;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .16);
    font-size: 13px;
}
.maintenance-banner.admin-write {
    background: linear-gradient(135deg, rgba(146, 64, 14, .94), rgba(245, 158, 11, .92));
}
.maintenance-banner strong {
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 12px;
}
.maintenance-banner span { opacity: .96; }
.maintenance-banner a {
    color: #fff;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.maintenance-hero {
    margin-bottom: 18px;
}
.maintenance-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr);
    gap: 18px;
    margin-bottom: 18px;
}
.maintenance-card {
    display: grid;
    gap: 16px;
}
.maintenance-state {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(245, 158, 11, .28);
    background: linear-gradient(135deg, rgba(255, 247, 237, .96), rgba(255,255,255,.88));
}
.maintenance-state.is-locked {
    border-color: rgba(206,31,36,.24);
    background: linear-gradient(135deg, rgba(254,242,242,.98), rgba(255,255,255,.9));
}
.maintenance-state-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(206,31,36,.11);
    font-size: 25px;
}
.maintenance-state strong {
    display: block;
    color: #111827;
    font-size: 16px;
    margin-bottom: 4px;
}
.maintenance-state p {
    margin: 0 0 5px;
    color: #334155;
    font-weight: 700;
}
.maintenance-state small,
.maintenance-check small,
.maintenance-note {
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}
.maintenance-check {
    align-items: flex-start;
    gap: 12px;
    margin: 14px 0;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: rgba(248, 250, 252, .72);
}
.maintenance-check strong { display: block; color: #111827; margin-bottom: 2px; }
.maintenance-note {
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(248, 250, 252, .86);
    border: 1px solid rgba(148, 163, 184, .20);
}
.maintenance-table form { margin: 0; }
.maintenance-form-disabled {
    position: relative;
    opacity: .72;
}
.maintenance-action-disabled {
    opacity: .48 !important;
    pointer-events: auto;
    cursor: not-allowed !important;
}
.maintenance-readonly .btn:not([data-maintenance-allowed]),
.maintenance-readonly button:not([data-maintenance-allowed]) {
    cursor: not-allowed;
}
.status-pill.danger { background: #fee2e2; color: #991b1b; border-color: #fecaca; }
.status-pill.success { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.flash.success { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.flash.danger { background: #fee2e2; color: #991b1b; border-color: #fecaca; }
.text-right { text-align: right; }
@media (max-width: 980px) {
    .maintenance-grid { grid-template-columns: 1fr; }
    .maintenance-banner { align-items: flex-start; flex-direction: column; gap: 4px; }
}
