*{box-sizing:border-box}

:root{
--bg:#090e15;
--sidebar:#0d141e;
--surface:#121b27;
--surface2:#172231;
--border:#233147;
--border2:#30435f;
--text:#f3f6fb;
--muted:#8795a9;
--muted2:#607086;
--accent:#77a3ff;
--accent2:#9bbcff;
--accentSoft:rgba(119,163,255,.12);
--success:#5bd49c;
--danger:#ff7d89;
--warning:#f0c46e;
--shadow:0 18px 55px rgba(0,0,0,.24)
}

html,body{min-height:100%}

body{
margin:0;
background:
radial-gradient(circle at 82% 2%,rgba(87,127,211,.08),transparent 28%),
var(--bg);
color:var(--text);
font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif
}

a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}

/* SIDEBAR */

.sidebar{
position:fixed;
left:0;
top:0;
bottom:0;
z-index:40;
width:270px;
padding:28px 17px 18px;
display:flex;
flex-direction:column;
background:linear-gradient(180deg,#0f1722,#0a1018);
border-right:1px solid rgba(255,255,255,.05)
}

.brand{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:0;
width:100%;
padding:2px 13px 29px;
text-align:center
}

.brand-logo{
width:70px !important;
height:70px !important;
min-width:70px !important;
min-height:70px !important;
max-width:70px !important;
max-height:70px !important;
flex:0 0 70px !important;
display:block;
margin:0 auto 7px;
overflow:hidden
}

.brand-logo svg{
display:block !important;
width:70px !important;
height:70px !important;
min-width:70px !important;
min-height:70px !important;
max-width:70px !important;
max-height:70px !important;
margin:0 auto
}

.brand-name{
display:block;
width:100%;
font-size:24px;
font-weight:900;
letter-spacing:.055em;
line-height:1.05;
text-align:center
}

.brand-subtitle{
display:block;
width:100%;
margin-top:5px;
color:#728095;
font-size:10px;
text-align:center
}

.navigation{
display:flex;
flex-direction:column;
gap:5px
}

.nav-divider{
height:1px;
margin:15px 8px 8px;
background:rgba(255,255,255,.06)
}

.nav-section-label{
padding:5px 13px 6px;
color:#58677b;
font-size:9px;
font-weight:850;
text-transform:uppercase;
letter-spacing:.11em
}

.nav-item{
display:flex;
align-items:center;
gap:12px;
padding:11px 13px;
border-radius:11px;
color:#94a1b4;
font-size:13px;
font-weight:700;
transition:.15s ease
}

.nav-item:hover{
background:rgba(255,255,255,.04);
color:#fff
}

.nav-item.active{
color:#fff;
background:linear-gradient(90deg,#19283e,#142136);
box-shadow:inset 3px 0 0 var(--accent)
}

.nav-icon{
width:21px;
height:21px;
display:grid;
place-items:center;
color:#72839a;
flex:0 0 21px
}

.nav-icon svg{
width:18px;
height:18px;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round
}

.nav-item.active .nav-icon{
color:var(--accent2)
}

.sidebar-bottom{
margin-top:auto;
padding:16px 7px 0;
border-top:1px solid rgba(255,255,255,.06)
}

.logged-user{
display:flex;
align-items:center;
gap:10px;
padding:4px 3px 12px
}

.avatar{
width:38px;
height:38px;
border-radius:12px;
display:grid;
place-items:center;
background:#18273b;
border:1px solid #2b3c54;
color:#b9ceff;
font-size:13px;
font-weight:900
}

.logged-name{
font-size:12px;
font-weight:800
}

.logged-status{
margin-top:2px;
color:#6d7b90;
font-size:10px
}

.logout-link{
display:block;
padding:9px 3px;
color:#6c7b90;
font-size:11px
}

.logout-link:hover{
color:#fff
}

/* TOP BAR */

.topbar{
position:fixed;
top:0;
left:270px;
right:0;
z-index:20;
height:76px;
display:flex;
align-items:center;
justify-content:flex-end;
padding:0 42px;
background:#0a1624;
border-bottom:1px solid rgba(113,158,207,.12);
box-shadow:0 8px 28px rgba(0,0,0,.14)
}

.topbar-logout{
display:inline-flex;
align-items:center;
justify-content:center;
gap:9px;
min-height:42px;
padding:0 17px;
border-radius:10px;
border:1px solid rgba(255,91,105,.38);
background:rgba(255,91,105,.06);
color:#ff6d7b;
font-size:11px;
font-weight:850;
letter-spacing:.01em;
transition:.15s ease
}

.topbar-logout:hover{
background:rgba(255,91,105,.12);
border-color:rgba(255,91,105,.55);
color:#ff9ba4
}

.topbar-logout-icon{
width:20px;
height:20px;
display:grid;
place-items:center
}

.topbar-logout-icon svg{
width:19px;
height:19px;
stroke:currentColor;
stroke-width:1.9;
stroke-linecap:round;
stroke-linejoin:round
}


.sidebar-profile-card{
display:flex;
align-items:center;
gap:11px;
padding:13px;
border-radius:13px;
border:1px solid #2a3d54;
background:linear-gradient(180deg,#142131,#101a27);
box-shadow:0 12px 28px rgba(0,0,0,.18)
}

.sidebar-profile-avatar{
width:48px;
height:48px;
flex:0 0 48px;
display:grid;
place-items:center;
border-radius:50%;
background:linear-gradient(145deg,#1f4f8f,#17365f);
border:1px solid #2c5c9d;
color:#fff;
font-size:13px;
font-weight:900;
letter-spacing:.02em
}

.sidebar-profile-copy{
min-width:0
}

.sidebar-profile-role{
color:#f2f6fb;
font-size:11px;
font-weight:850;
white-space:nowrap
}

.sidebar-profile-title{
margin-top:3px;
color:#8e9cad;
font-size:9px;
font-weight:650
}

.sidebar-profile-online{
display:flex;
align-items:center;
gap:5px;
margin-top:6px;
color:#51df8b;
font-size:9px;
font-weight:750
}

.online-indicator{
width:6px;
height:6px;
border-radius:50%;
background:#48db7e;
box-shadow:0 0 0 3px rgba(72,219,126,.08)
}

/* CONTENT */

.main{
margin-left:270px;
min-height:100vh;
padding:114px 42px 38px
}

.page{
max-width:1360px;
margin:0 auto
}

.page-header{
display:flex;
justify-content:space-between;
align-items:flex-end;
gap:20px;
margin-bottom:28px
}

.eyebrow{
margin-bottom:7px;
color:var(--accent);
font-size:10px;
font-weight:850;
letter-spacing:.11em;
text-transform:uppercase
}

.page-title{
margin:0;
font-size:29px;
font-weight:850;
letter-spacing:-.035em
}

.page-description{
margin:7px 0 0;
color:var(--muted);
font-size:12px
}

.card{
background:linear-gradient(180deg,#151f2c,#111923);
border:1px solid var(--border);
border-radius:16px;
box-shadow:var(--shadow)
}

.cards{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:15px
}

.stat-card{padding:20px}

.stat-label{
font-size:11px;
color:var(--muted);
font-weight:700
}

.stat-value{
margin-top:8px;
font-size:31px;
font-weight:860
}

.stat-meta{
margin-top:6px;
color:var(--muted2);
font-size:10px
}

.section{margin-top:23px}

.section-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:12px
}

.section-title{
margin:0;
font-size:16px;
font-weight:850
}

.section-subtitle{
margin-top:4px;
color:var(--muted2);
font-size:10px
}

.module-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:14px
}

.module-card{
min-height:102px;
padding:18px;
display:flex;
align-items:center;
gap:15px;
transition:.15s ease
}

.module-card:hover{
transform:translateY(-2px);
border-color:#344968;
background:linear-gradient(180deg,#192534,#131d2a)
}

.module-icon{
width:42px;
height:42px;
flex-shrink:0;
display:grid;
place-items:center;
border-radius:12px;
background:#15253b;
border:1px solid #27405f;
color:#aec6ff
}

.module-icon svg{
width:20px;
height:20px;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round
}

.module-name{
font-size:13px;
font-weight:820
}

.module-desc{
margin-top:4px;
color:var(--muted);
font-size:10px
}

/* TABLE */

.panel{padding:22px}

.table-card{overflow:hidden}

.table-wrap{overflow:auto}

table{
width:100%;
border-collapse:collapse
}

th,td{
padding:13px 15px;
border-bottom:1px solid #202c3f;
text-align:left;
white-space:nowrap
}

th{
background:#0f1722;
color:#65758b;
font-size:9px;
text-transform:uppercase;
letter-spacing:.08em
}

td{
font-size:12px;
color:#d9e1ec
}

.badge{
display:inline-flex;
padding:5px 8px;
border-radius:999px;
font-size:9px;
font-weight:850
}

.badge-ok{
color:#8de3b8;
background:rgba(91,212,156,.09);
border:1px solid rgba(91,212,156,.17)
}

.badge-off{
color:#ff9ca6;
background:rgba(255,125,137,.08);
border:1px solid rgba(255,125,137,.16)
}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:7px;
padding:10px 14px;
border:1px solid #30415a;
border-radius:10px;
background:#162233;
color:#dce5f1;
font-size:11px;
font-weight:820;
cursor:pointer
}

.btn-primary{
border-color:transparent;
background:linear-gradient(135deg,#77a3ff,#547fd8);
color:#fff
}

/* FORM */

.form-card{
max-width:860px;
padding:24px
}

.form-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:16px
}

.field{
display:flex;
flex-direction:column;
gap:7px
}

.field.full{
grid-column:1/-1
}

.field label{
color:#aeb9c8;
font-size:11px;
font-weight:750
}

.field input,
.field select,
.field textarea{
width:100%;
padding:12px 13px;
border:1px solid #2a394e;
border-radius:10px;
background:#09111a;
color:#fff;
outline:none
}

.field input:focus,
.field select:focus,
.field textarea:focus{
border-color:var(--accent);
box-shadow:0 0 0 3px var(--accentSoft)
}

.field textarea{
min-height:110px;
resize:vertical
}

.form-actions{
display:flex;
gap:10px;
margin-top:18px;
flex-wrap:wrap
}

/* LOGIN */

.login-body{
min-height:100vh;
display:grid;
place-items:center;
padding:24px
}

.login-shell{
width:100%;
max-width:470px
}

.login-brand{
display:flex;
align-items:center;
justify-content:center;
gap:11px;
margin-bottom:27px
}

.login-brand-logo{
width:44px;
height:44px
}

.login-brand-logo svg{
width:44px;
height:44px
}

.login-brand-name{
font-size:28px;
font-weight:900;
letter-spacing:.055em
}

.login-brand-subtitle{
margin-top:4px;
color:var(--muted);
font-size:10px
}

.login-card{padding:31px}

.login-card h1{
margin:0;
font-size:21px;
font-weight:820
}

.login-card p{
margin:7px 0 24px;
color:var(--muted);
font-size:12px
}

.login-role-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
margin-bottom:22px
}

.login-role-option input{
position:absolute;
opacity:0
}

.login-role-card{
min-height:96px;
padding:16px;
border-radius:13px;
border:1px solid var(--border);
background:#0d151f;
cursor:pointer;
display:flex;
align-items:center;
gap:12px;
transition:.15s ease
}

.login-role-card:hover{
border-color:#344861;
transform:translateY(-1px)
}

.login-role-option input:checked+.login-role-card{
border-color:var(--accent);
background:linear-gradient(145deg,#16263d,#122136);
box-shadow:0 0 0 3px var(--accentSoft)
}

.login-role-icon{
width:38px;
height:38px;
display:grid;
place-items:center;
border-radius:11px;
background:#17253a;
border:1px solid #29405f;
color:#abc4ff
}

.login-role-icon svg{
width:19px;
height:19px;
stroke:currentColor;
stroke-width:1.8
}

.login-role-name{
font-size:13px;
font-weight:850
}

.login-role-desc{
margin-top:3px;
color:var(--muted);
font-size:10px
}

.login-submit{
width:100%;
margin-top:20px
}

.alert{
padding:11px 13px;
margin-bottom:17px;
border-radius:10px;
font-size:11px
}

.alert-error{
color:#ffb7bf;
border:1px solid rgba(255,125,137,.2);
background:rgba(120,34,45,.18)
}

/* MOBILE */

.mobile-header,
.sidebar-overlay{
display:none
}

@media(max-width:1050px){

.cards{
grid-template-columns:repeat(2,minmax(0,1fr))
}

.module-grid{
grid-template-columns:repeat(2,minmax(0,1fr))
}

}

@media(max-width:760px){

.topbar{
display:none
}

.sidebar{
transform:translateX(-100%);
transition:.2s
}

.sidebar-open .sidebar{
transform:translateX(0)
}

.sidebar-overlay{
display:block;
position:fixed;
inset:0;
z-index:30;
background:rgba(0,0,0,.46);
opacity:0;
visibility:hidden;
pointer-events:none
}

.sidebar-open .sidebar-overlay{
opacity:1;
visibility:visible;
pointer-events:auto
}

.mobile-header{
display:flex;
position:sticky;
top:0;
z-index:25;
align-items:center;
justify-content:space-between;
padding:13px 16px;
background:#0f1722;
border-bottom:1px solid var(--border)
}

.mobile-header>div>div{
font-size:9px;
color:#718096;
margin-top:2px
}

.mobile-menu-button{
width:38px;
height:38px;
border:1px solid #2a3a50;
border-radius:9px;
background:#152238;
color:#fff
}

.main{
margin-left:0;
padding:24px 16px
}

.page-header{
align-items:flex-start;
flex-direction:column
}

.module-grid{
grid-template-columns:1fr
}

.form-grid{
grid-template-columns:1fr
}

.field.full{
grid-column:auto
}

}

@media(max-width:500px){

.cards{
grid-template-columns:1fr
}

.login-role-grid{
grid-template-columns:1fr
}

.login-card{
padding:24px 20px
}

}


/* DASHBOARD CARD REFRESH */

.cards{
gap:18px
}

.stat-card{
position:relative;
overflow:hidden;
padding:22px 22px 20px;
background:
linear-gradient(145deg,rgba(28,44,63,.94),rgba(15,25,37,.98));
border:1px solid rgba(113,163,218,.14);
border-radius:18px;
box-shadow:0 14px 34px rgba(0,0,0,.16);
transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}

.stat-card:before{
content:"";
position:absolute;
left:0;
top:18px;
bottom:18px;
width:3px;
border-radius:0 4px 4px 0;
background:linear-gradient(180deg,#72a6ff,#3dd4bd);
opacity:.8
}

.stat-card:hover{
transform:translateY(-2px);
border-color:rgba(113,163,218,.27);
box-shadow:0 18px 40px rgba(0,0,0,.22)
}

.stat-label{
color:#91a1b5;
font-size:10px;
font-weight:750;
letter-spacing:.025em
}

.stat-value{
margin-top:9px;
font-size:30px;
font-weight:880;
letter-spacing:-.035em
}

.stat-meta{
margin-top:7px;
color:#627389;
font-size:9px
}

.module-grid{
gap:16px
}

.module-card{
position:relative;
min-height:112px;
padding:19px 20px;
border-radius:18px;
background:
linear-gradient(145deg,rgba(24,39,56,.96),rgba(15,25,37,.98));
border:1px solid rgba(113,163,218,.13);
box-shadow:0 12px 30px rgba(0,0,0,.14);
overflow:hidden
}

.module-card:after{
content:"›";
position:absolute;
right:18px;
top:50%;
transform:translateY(-50%);
color:#50647d;
font-size:22px;
font-weight:300;
transition:.18s ease
}

.module-card:hover{
transform:translateY(-3px);
border-color:rgba(119,163,255,.32);
background:linear-gradient(145deg,#1b2c40,#121f2e);
box-shadow:0 18px 38px rgba(0,0,0,.2)
}

.module-card:hover:after{
right:15px;
color:#9dbaff
}

.module-icon{
width:46px;
height:46px;
flex:0 0 46px;
border-radius:14px;
background:linear-gradient(145deg,#19304b,#13263d);
border:1px solid rgba(111,163,226,.22);
color:#a9c5ff;
box-shadow:inset 0 1px 0 rgba(255,255,255,.035)
}

.module-name{
font-size:13px;
font-weight:850;
letter-spacing:-.01em
}

.module-desc{
max-width:80%;
margin-top:5px;
color:#78899e;
font-size:10px;
line-height:1.45
}

.page-header{
margin-bottom:30px
}

.page-title{
font-size:31px;
letter-spacing:-.04em
}

.page-description{
margin-top:8px;
color:#7f90a5;
font-size:11px
}


/* FRESH SIDEBAR REFRESH */

.sidebar{
background:
linear-gradient(180deg,#0d1825 0%,#0a121b 100%);
border-right:1px solid rgba(121,167,214,.10);
box-shadow:10px 0 32px rgba(0,0,0,.12)
}

.brand{
padding-bottom:24px
}

.brand-logo{
filter:drop-shadow(0 0 14px rgba(57,195,232,.12))
}

.navigation{
gap:7px
}

.nav-item{
position:relative;
min-height:46px;
padding:0 14px;
border-radius:13px;
border:1px solid transparent;
color:#93a2b4;
font-size:12px;
font-weight:680;
letter-spacing:.005em;
transition:
background .16s ease,
border-color .16s ease,
color .16s ease,
transform .16s ease
}

.nav-item:hover{
background:rgba(255,255,255,.035);
border-color:rgba(116,159,211,.08);
color:#f7fbff;
transform:translateX(2px)
}

.nav-item.active{
background:
linear-gradient(90deg,rgba(55,132,218,.18),rgba(42,91,148,.08));
border-color:rgba(104,160,229,.18);
box-shadow:
inset 3px 0 0 #62a7ff,
0 7px 18px rgba(0,0,0,.08);
color:#ffffff
}

.nav-item.active:after{
content:"";
position:absolute;
right:12px;
width:6px;
height:6px;
border-radius:50%;
background:#62a7ff;
box-shadow:0 0 0 4px rgba(98,167,255,.08)
}

.nav-icon{
width:22px;
height:22px;
flex:0 0 22px;
border-radius:7px;
display:grid;
place-items:center;
color:#73859b;
transition:.16s ease
}

.nav-item:hover .nav-icon{
color:#9bb8d8
}

.nav-item.active .nav-icon{
color:#89b8ff
}

.nav-icon svg{
width:17px;
height:17px;
stroke-width:1.85
}

.nav-divider{
margin:16px 8px 9px;
background:linear-gradient(
90deg,
transparent,
rgba(255,255,255,.08),
transparent
)
}

.nav-section-label{
padding-left:14px;
color:#526377;
font-size:8px;
letter-spacing:.15em
}

.sidebar-profile-card{
border-radius:15px;
border:1px solid rgba(101,145,194,.18);
background:
linear-gradient(145deg,rgba(24,40,58,.94),rgba(15,26,38,.98));
box-shadow:
0 12px 26px rgba(0,0,0,.16),
inset 0 1px 0 rgba(255,255,255,.025)
}

.sidebar-profile-avatar{
background:
linear-gradient(145deg,#1e5799,#173f70);
border-color:#2b639f;
box-shadow:0 7px 18px rgba(14,69,126,.20)
}

.sidebar-profile-role{
font-size:10.5px
}

.sidebar-profile-title{
color:#78899d
}

.sidebar-profile-online{
color:#58df8d
}


/* TOPBAR PAGE CONTEXT */

.topbar{
justify-content:space-between
}

.topbar-page{
display:flex;
align-items:center;
gap:10px
}

.topbar-page-icon{
width:34px;
height:34px;
display:grid;
place-items:center;
border-radius:10px;
background:rgba(99,157,225,.08);
border:1px solid rgba(112,168,231,.14);
color:#8ebcff
}

.topbar-page-icon svg{
width:17px;
height:17px;
stroke:currentColor;
stroke-width:1.9;
stroke-linecap:round;
stroke-linejoin:round
}

.topbar-page-title{
color:#edf4fc;
font-size:13px;
font-weight:820;
letter-spacing:.01em
}


/* TOPBAR PAGE TITLE V2 */

.topbar-page{
display:flex;
align-items:center;
gap:13px
}

.topbar-page-icon{
width:26px;
height:26px;
display:grid;
place-items:center;
border:0;
border-radius:0;
background:transparent;
color:#78a9ed
}

.topbar-page-icon svg{
width:23px;
height:23px;
stroke:currentColor;
stroke-width:1.75;
stroke-linecap:round;
stroke-linejoin:round
}

.topbar-page-title{
color:#f4f7fb;
font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
font-size:18px;
line-height:1;
font-weight:650;
letter-spacing:-.025em
}


/* SIDEBAR PROFILE V2 - CLEAN, NO BUBBLE */

.sidebar-bottom{
padding:18px 10px 2px;
border-top:1px solid rgba(255,255,255,.055)
}

.sidebar-profile-card{
display:flex;
align-items:center;
gap:12px;
padding:4px 2px;
border:0;
border-radius:0;
background:transparent;
box-shadow:none
}

.sidebar-profile-avatar{
width:46px;
height:46px;
flex:0 0 46px;
display:grid;
place-items:center;
border-radius:50%;
background:linear-gradient(145deg,#1d5799,#173c6b);
border:1px solid rgba(104,165,231,.34);
color:#d8e8ff;
box-shadow:0 7px 18px rgba(12,58,105,.18)
}

.sidebar-profile-avatar svg{
width:22px;
height:22px;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round
}

.sidebar-profile-role{
color:#f2f6fb;
font-size:11px;
font-weight:800
}

.sidebar-profile-title{
margin-top:3px;
color:#78899d;
font-size:9px
}

.sidebar-profile-online{
margin-top:5px
}


/* TODAY ARRIVALS */

.cards{
grid-template-columns:minmax(420px,1.8fr) repeat(3,minmax(0,1fr));
align-items:stretch
}

.arrivals-card{
padding:18px 18px 14px
}

.arrivals-card:before{
display:none
}

.arrivals-header{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:14px;
padding-bottom:13px;
border-bottom:1px solid rgba(255,255,255,.055)
}

.arrivals-subtitle{
margin-top:4px;
color:#65768b;
font-size:9px
}

.arrivals-count{
min-width:30px;
height:30px;
display:grid;
place-items:center;
border-radius:9px;
background:rgba(103,160,225,.08);
color:#9ec5f4;
font-size:11px;
font-weight:850
}

.arrivals-list{
display:flex;
flex-direction:column;
margin-top:4px
}

.arrival-row{
display:grid;
grid-template-columns:8px minmax(0,1fr) 58px 72px;
align-items:center;
gap:10px;
min-height:52px;
padding:8px 2px;
border-bottom:1px solid rgba(255,255,255,.045)
}

.arrival-row:last-child{
border-bottom:0
}

.arrival-dot{
width:7px;
height:7px;
border-radius:50%;
background:#7b8796;
box-shadow:0 0 0 3px rgba(123,135,150,.08)
}

.arrival-person{
min-width:0
}

.arrival-name{
overflow:hidden;
color:#e8eef6;
font-size:10.5px;
font-weight:800;
text-overflow:ellipsis;
white-space:nowrap
}

.arrival-position{
margin-top:3px;
overflow:hidden;
color:#718297;
font-size:8.5px;
text-overflow:ellipsis;
white-space:nowrap
}

.arrival-time{
display:flex;
flex-direction:column;
align-items:flex-end
}

.arrival-time-label{
margin-bottom:2px;
color:#56677b;
font-size:7.5px;
text-transform:uppercase;
letter-spacing:.06em
}

.arrival-time strong{
color:#dce5ef;
font-size:10px
}

.arrival-state{
justify-self:end;
font-size:8px;
font-weight:800;
white-space:nowrap
}

.arrival-row.is-present .arrival-dot{
background:#50db89;
box-shadow:0 0 0 3px rgba(80,219,137,.09)
}

.arrival-row.is-present .arrival-state{
color:#5de195
}

.arrival-row.is-absent .arrival-dot{
background:#ff6977;
box-shadow:0 0 0 3px rgba(255,105,119,.09)
}

.arrival-row.is-absent .arrival-state{
color:#ff7d89
}

.arrival-row.is-waiting .arrival-dot{
background:#7b8796
}

.arrival-row.is-waiting .arrival-state{
color:#7f8b9a
}

.arrivals-empty{
padding:22px 4px 12px;
color:#69798d;
font-size:9.5px;
line-height:1.5
}

@media(max-width:1200px){
.cards{
grid-template-columns:repeat(2,minmax(0,1fr))
}
.arrivals-card{
grid-column:1/-1
}
}

@media(max-width:600px){
.arrival-row{
grid-template-columns:8px minmax(0,1fr) 48px;
}
.arrival-state{
grid-column:2/4;
justify-self:start;
margin-top:-4px
}
}


/* ARRIVAL ROWS V2 - TRANSPARENT + STATUS LINE */

.arrival-row{
position:relative;
margin:5px 0;
padding:10px 9px 13px;
border:1px solid rgba(255,255,255,.045);
border-bottom:1px solid rgba(255,255,255,.045);
border-radius:11px;
background:rgba(255,255,255,.018);
overflow:hidden
}

.arrival-row:after{
content:"";
position:absolute;
left:10px;
right:10px;
bottom:0;
height:2px;
border-radius:3px 3px 0 0;
background:#778392;
opacity:.85
}

.arrival-row.is-present{
background:rgba(80,219,137,.025);
border-color:rgba(80,219,137,.075)
}

.arrival-row.is-present:after{
background:#50db89
}

.arrival-row.is-absent{
background:rgba(255,105,119,.022);
border-color:rgba(255,105,119,.07)
}

.arrival-row.is-absent:after{
background:#ff6977
}

.arrival-row.is-waiting{
background:rgba(130,143,158,.018);
border-color:rgba(130,143,158,.055)
}

.arrival-row.is-waiting:after{
background:#778392
}

.arrivals-card{
background:rgba(18,29,42,.58);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
border-color:rgba(112,157,207,.10)
}

.arrivals-count{
background:rgba(103,160,225,.045);
border:1px solid rgba(103,160,225,.08)
}


/* DASHBOARD GLASS CARDS + INDIVIDUAL COLOR LINES */

.cards > .card,
.module-grid > .card{
position:relative;
overflow:hidden;
background:rgba(18,29,42,.52);
border-color:rgba(122,162,204,.10);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
box-shadow:0 12px 30px rgba(0,0,0,.12)
}

.cards > .card:after,
.module-grid > .card:before{
content:"";
position:absolute;
left:14px;
right:14px;
bottom:0;
height:3px;
border-radius:3px 3px 0 0
}

.cards > .card:nth-child(1):after{background:#45d892}
.cards > .card:nth-child(2):after{background:#f2b84b}
.cards > .card:nth-child(3):after{background:#9d77ff}
.cards > .card:nth-child(4):after{background:#f36d7d}

.module-grid > .card:nth-child(1):before{background:#4ca6ff}
.module-grid > .card:nth-child(2):before{background:#55d19a}
.module-grid > .card:nth-child(3):before{background:#a778ff}
.module-grid > .card:nth-child(4):before{background:#f0a94b}
.module-grid > .card:nth-child(5):before{background:#42c8c8}
.module-grid > .card:nth-child(6):before{background:#ef7189}

/* IMPORTANT TASKS */

.tasks-card{
padding:18px 18px 14px
}

.tasks-card:before{
display:none
}

.tasks-header{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:12px;
padding-bottom:11px
}

.tasks-subtitle{
margin-top:4px;
color:#66778b;
font-size:9px
}

.tasks-count{
min-width:29px;
height:29px;
display:grid;
place-items:center;
border-radius:9px;
background:rgba(242,184,75,.06);
border:1px solid rgba(242,184,75,.11);
color:#f1c265;
font-size:10px;
font-weight:850
}

.task-add-form{
display:grid;
grid-template-columns:minmax(0,1fr) 34px;
gap:8px;
margin-top:3px
}

.task-input{
width:100%;
min-width:0;
height:34px;
padding:0 10px;
border-radius:9px;
border:1px solid rgba(255,255,255,.065);
background:rgba(6,12,19,.38);
color:#e7edf5;
outline:none;
font-size:9.5px
}

.task-input::placeholder{
color:#58697c
}

.task-input:focus{
border-color:rgba(242,184,75,.28);
box-shadow:0 0 0 3px rgba(242,184,75,.05)
}

.task-add-button{
width:34px;
height:34px;
border-radius:9px;
border:1px solid rgba(242,184,75,.18);
background:rgba(242,184,75,.07);
color:#f2c66d;
font-size:18px;
line-height:1;
cursor:pointer
}

.task-add-button:hover{
background:rgba(242,184,75,.13)
}

.tasks-list{
display:flex;
flex-direction:column;
margin-top:8px
}

.task-row{
display:grid;
grid-template-columns:7px minmax(0,1fr) 24px;
align-items:center;
gap:8px;
min-height:35px;
padding:6px 0;
border-top:1px solid rgba(255,255,255,.04)
}

.task-bullet{
width:6px;
height:6px;
border-radius:50%;
background:#f2b84b;
box-shadow:0 0 0 3px rgba(242,184,75,.06)
}

.task-text{
min-width:0;
overflow:hidden;
color:#dce5ef;
font-size:9.5px;
line-height:1.35;
text-overflow:ellipsis
}

.task-delete{
width:24px;
height:24px;
border:0;
border-radius:7px;
background:transparent;
color:#7b899a;
font-size:17px;
line-height:1;
cursor:pointer
}

.task-delete:hover{
background:rgba(243,109,125,.08);
color:#f36d7d
}

.tasks-empty{
padding:12px 1px 4px;
color:#657588;
font-size:9px
}

/* more transparent arrivals too */

.arrivals-card{
background:rgba(18,29,42,.46)
}

.arrival-row{
background:rgba(255,255,255,.012)
}

.arrival-row.is-present{
background:rgba(80,219,137,.018)
}

.arrival-row.is-absent{
background:rgba(255,105,119,.016)
}

.arrival-row.is-waiting{
background:rgba(130,143,158,.012)
}


/* DASHBOARD HANDOVER CARD */

.handover-card{
padding:18px 18px 14px
}

.handover-card:before{
display:none
}

.handover-card-header{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:10px;
padding-bottom:10px;
border-bottom:1px solid rgba(255,255,255,.045)
}

.handover-card-subtitle{
margin-top:4px;
color:#66778b;
font-size:9px
}

.handover-card-link{
color:#b899ff;
font-size:8.5px;
font-weight:800
}

.handover-card-list{
display:flex;
flex-direction:column;
margin-top:4px
}

.handover-card-row{
display:grid;
grid-template-columns:34px minmax(0,1fr);
gap:9px;
padding:8px 0;
border-bottom:1px solid rgba(255,255,255,.04)
}

.handover-card-row:last-child{
border-bottom:0
}

.handover-card-time{
color:#6f8094;
font-size:8px;
font-weight:750
}

.handover-card-copy{
min-width:0
}

.handover-card-author{
color:#a987ff;
font-size:8px;
font-weight:850
}

.handover-card-text{
margin-top:3px;
display:-webkit-box;
overflow:hidden;
color:#d9e2ed;
font-size:9px;
line-height:1.35;
-webkit-line-clamp:2;
-webkit-box-orient:vertical
}

.handover-card-empty{
padding:16px 0 5px;
color:#657588;
font-size:9px;
line-height:1.45
}

/* HANDOVER PAGE */

.handover-page-grid{
display:grid;
grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
gap:18px;
align-items:start
}

.handover-compose-card,
.handover-history-card{
padding:22px;
background:rgba(18,29,42,.52);
border-color:rgba(122,162,204,.10);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px)
}

.handover-compose-card{
position:relative;
overflow:hidden
}

.handover-compose-card:after{
content:"";
position:absolute;
left:16px;
right:16px;
bottom:0;
height:3px;
border-radius:3px 3px 0 0;
background:#a778ff
}

.handover-section-title{
font-size:13px;
font-weight:850
}

.handover-compose-meta,
.handover-history-subtitle{
margin-top:4px;
color:#6c7d91;
font-size:9px
}

.handover-textarea{
width:100%;
min-height:180px;
margin-top:16px;
padding:14px;
border-radius:12px;
border:1px solid rgba(255,255,255,.07);
background:rgba(5,11,18,.38);
color:#e8eef6;
outline:none;
resize:vertical;
font-size:11px;
line-height:1.55
}

.handover-textarea:focus{
border-color:rgba(167,120,255,.32);
box-shadow:0 0 0 3px rgba(167,120,255,.055)
}

.handover-textarea::placeholder{
color:#58697c
}

.handover-form-actions{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
margin-top:12px
}

.handover-form-actions span{
color:#657588;
font-size:8.5px
}

.handover-section-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding-bottom:13px;
border-bottom:1px solid rgba(255,255,255,.05)
}

.handover-history-count{
min-width:30px;
height:30px;
display:grid;
place-items:center;
border-radius:9px;
background:rgba(167,120,255,.06);
border:1px solid rgba(167,120,255,.11);
color:#b99bff;
font-size:10px;
font-weight:850
}

.handover-history-list{
display:flex;
flex-direction:column
}

.handover-history-item{
position:relative;
padding:15px 0 15px 12px;
border-bottom:1px solid rgba(255,255,255,.045)
}

.handover-history-item:before{
content:"";
position:absolute;
left:0;
top:17px;
bottom:17px;
width:2px;
border-radius:2px;
background:#a778ff
}

.handover-history-top{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px
}

.handover-history-author{
color:#b697ff;
font-size:9px;
font-weight:850
}

.handover-history-top time{
color:#647589;
font-size:8px
}

.handover-history-content{
margin-top:7px;
color:#dce5ef;
font-size:10px;
line-height:1.55
}

.handover-history-empty{
padding:22px 0 4px;
color:#657588;
font-size:9px
}

@media(max-width:900px){
.handover-page-grid{
grid-template-columns:1fr
}
}


/* DASHBOARD FIRST ROW V2 - EXACTLY THREE PRIMARY CARDS */

.cards{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:18px;
align-items:stretch
}

/* If a fourth legacy stat card is still present, move it below the first row. */
.cards > .card:nth-child(n+4){
grid-column:auto
}

/* Better readability across the three primary cards */

.cards > .card:nth-child(-n+3){
min-height:270px;
padding:22px 22px 18px
}

.cards > .card:nth-child(-n+3) .stat-label{
font-size:13px;
line-height:1.25;
font-weight:850;
color:#eef4fb
}

.arrivals-subtitle,
.tasks-subtitle,
.handover-card-subtitle{
margin-top:6px;
font-size:10.5px;
line-height:1.4;
color:#7f90a5
}

/* Arrivals */

.arrival-row{
min-height:59px;
padding:10px 9px 14px
}

.arrival-name{
font-size:12px;
line-height:1.25
}

.arrival-position{
margin-top:4px;
font-size:9.5px;
line-height:1.3
}

.arrival-time-label{
font-size:8px
}

.arrival-time strong{
font-size:11px
}

.arrival-state{
font-size:9px
}

/* Important tasks */

.task-input{
height:39px;
padding:0 12px;
font-size:10.5px
}

.task-add-button{
width:39px;
height:39px;
font-size:20px
}

.task-add-form{
grid-template-columns:minmax(0,1fr) 39px
}

.task-row{
min-height:41px;
padding:8px 0
}

.task-text{
font-size:10.5px;
line-height:1.45
}

.task-delete{
font-size:19px
}

.tasks-empty{
font-size:10px;
line-height:1.5
}

/* Shift handover */

.handover-card-row{
grid-template-columns:40px minmax(0,1fr);
gap:10px;
padding:10px 0
}

.handover-card-time{
font-size:9px
}

.handover-card-author{
font-size:9px
}

.handover-card-text{
margin-top:4px;
font-size:10.5px;
line-height:1.45
}

.handover-card-link{
font-size:9.5px
}

.handover-card-empty{
font-size:10px;
line-height:1.5
}

@media(max-width:1180px){
.cards{
grid-template-columns:1fr
}
.cards > .card:nth-child(-n+3){
min-height:auto
}
}


/* OUTLOOK ICS CALENDAR */

.calendar-section{margin-top:25px}
.calendar-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}
.calendar-section-head h2{margin:0;font-size:17px;font-weight:850;letter-spacing:-.025em}
.calendar-section-head p{margin:5px 0 0;color:#6f8094;font-size:10px}
.calendar-month-label{color:#9db1c8;font-size:11px;font-weight:750}

.calendar-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:16px}
.calendar-card,.calendar-agenda{position:relative;overflow:hidden;background:rgba(18,29,42,.48);border-color:rgba(122,162,204,.10);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.calendar-card{padding:17px}
.calendar-card:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:#4ca6ff}
.calendar-agenda{padding:19px}
.calendar-agenda:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:#42c8c8}

.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays span{padding:0 7px 9px;color:#5f7186;font-size:8px;font-weight:850;text-align:right;text-transform:uppercase}
.calendar-day{position:relative;min-height:76px;padding:8px;border-top:1px solid rgba(255,255,255,.045);border-left:1px solid rgba(255,255,255,.035);background:rgba(255,255,255,.008)}
.calendar-day:nth-child(7n){border-right:1px solid rgba(255,255,255,.035)}
.calendar-day.is-empty{background:transparent}
.calendar-day-number{display:block;color:#8292a5;font-size:9px;text-align:right}
.calendar-day.is-today{background:rgba(76,166,255,.055)}
.calendar-day.is-today .calendar-day-number{display:grid;place-items:center;margin-left:auto;width:24px;height:24px;border-radius:50%;background:#4c9ee9;color:white;font-weight:850}
.calendar-event-dots{display:flex;gap:3px;margin-top:8px}
.calendar-event-dots span{width:5px;height:5px;border-radius:50%;background:#42c8c8}
.calendar-day-preview{margin-top:6px;overflow:hidden;color:#aebed0;font-size:8px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}

.calendar-agenda-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.05)}
.calendar-agenda-head strong{display:block;font-size:12px}
.calendar-agenda-head span{display:block;margin-top:4px;color:#6e8094;font-size:9px}
.calendar-agenda-count{min-width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:rgba(66,200,200,.055);border:1px solid rgba(66,200,200,.1);color:#72d6d6;font-size:10px;font-weight:850}
.calendar-agenda-list{display:flex;flex-direction:column;margin-top:5px}
.calendar-agenda-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.045)}
.calendar-agenda-item time{color:#63c8cb;font-size:9px;font-weight:800}
.calendar-agenda-item strong{display:block;color:#dce6f0;font-size:10px;line-height:1.4}
.calendar-agenda-item span{display:block;margin-top:4px;color:#687a8f;font-size:8.5px}
.calendar-connect-state{padding:25px 0 8px}
.calendar-connect-state strong{color:#cbd7e4;font-size:11px}
.calendar-connect-state p{margin:7px 0 0;color:#718297;font-size:9px;line-height:1.55}
.calendar-connect-state code{color:#8fb9eb}
.calendar-connect-state.is-error strong{color:#ff8490}

@media(max-width:1050px){.calendar-layout{grid-template-columns:1fr}}
@media(max-width:650px){
.calendar-day{min-height:54px;padding:6px}
.calendar-day-preview{display:none}
.calendar-event-dots{margin-top:5px}
.calendar-weekdays span{padding-right:4px}
}


/* COMPACT CALENDAR - approximately three rows visually smaller */

.calendar-card{
padding:14px
}

.calendar-weekdays span{
padding-bottom:6px
}

.calendar-day{
min-height:43px;
padding:5px 6px
}

.calendar-day-number{
font-size:8.5px
}

.calendar-day.is-today .calendar-day-number{
width:21px;
height:21px
}

.calendar-event-dots{
margin-top:4px
}

.calendar-event-dots span{
width:4px;
height:4px
}

.calendar-day-preview{
display:none
}

.calendar-agenda{
padding:16px 18px
}

.calendar-agenda-item{
padding:8px 0
}

@media(max-width:650px){
.calendar-day{
min-height:39px
}
}


/* EMPLOYEES V2 */

.employee-form-card{
max-width:760px;
padding:24px;
background:rgba(18,29,42,.50);
border-color:rgba(122,162,204,.10);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px)
}

.employee-form-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:16px
}

.employee-form-grid .full{
grid-column:1/-1
}

.employee-form-actions{
display:flex;
align-items:center;
gap:10px;
margin-top:20px
}

.employee-active-check{
display:flex;
align-items:center;
gap:9px;
font-size:10px;
color:#aeb9c8;
cursor:pointer
}

.employee-active-check input{
width:auto;
margin:0
}

@media(max-width:700px){
.employee-form-grid{
grid-template-columns:1fr
}
.employee-form-grid .full{
grid-column:auto
}
}


/* EMPLOYEE SCHEDULE V3 */

.employee-header-actions{
display:flex;
align-items:center;
gap:9px;
flex-wrap:wrap
}

.schedule-layout{
display:grid;
grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
gap:18px;
align-items:start
}

.schedule-create-card,
.schedule-day-card{
padding:22px;
background:rgba(18,29,42,.50);
border-color:rgba(122,162,204,.10);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px)
}

.schedule-card-title{
font-size:14px;
font-weight:850;
color:#edf4fb
}

.schedule-card-subtitle{
margin-top:5px;
color:#74869a;
font-size:10px;
line-height:1.45
}

.schedule-form{
display:grid;
gap:14px;
margin-top:19px
}

.schedule-submit{
margin-top:2px
}

.schedule-day-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:14px;
padding-bottom:14px;
border-bottom:1px solid rgba(255,255,255,.05)
}

.schedule-day-nav{
display:flex;
align-items:center;
gap:6px
}

.schedule-day-nav a{
min-width:34px;
height:34px;
display:grid;
place-items:center;
border-radius:9px;
border:1px solid rgba(255,255,255,.065);
background:rgba(255,255,255,.025);
color:#93a8bf;
font-size:18px
}

.schedule-day-nav .schedule-today{
width:auto;
padding:0 10px;
font-size:9px;
font-weight:800
}

.schedule-list{
display:flex;
flex-direction:column;
margin-top:5px
}

.schedule-row{
display:grid;
grid-template-columns:92px minmax(0,1fr) 72px 28px;
align-items:center;
gap:12px;
min-height:62px;
padding:10px 0;
border-bottom:1px solid rgba(255,255,255,.045)
}

.schedule-row:last-child{
border-bottom:0
}

.schedule-time strong{
display:inline;
color:#e4edf6;
font-size:11px
}

.schedule-time span{
color:#6f8195;
font-size:9px
}

.schedule-person{
min-width:0
}

.schedule-person strong{
display:block;
overflow:hidden;
color:#e5edf6;
font-size:11px;
font-weight:800;
text-overflow:ellipsis;
white-space:nowrap
}

.schedule-person span{
display:block;
margin-top:4px;
overflow:hidden;
color:#74869a;
font-size:9px;
text-overflow:ellipsis;
white-space:nowrap
}

.schedule-attendance{
justify-self:end;
color:#8595a8;
font-size:8.5px;
font-weight:800
}

.schedule-delete{
width:28px;
height:28px;
border:0;
border-radius:8px;
background:transparent;
color:#6f7f91;
font-size:18px;
cursor:pointer
}

.schedule-delete:hover{
background:rgba(243,109,125,.08);
color:#f36d7d
}

.schedule-empty{
padding:25px 0 7px;
color:#6c7d91;
font-size:10px
}

.schedule-success{
color:#8ee4b8;
border:1px solid rgba(91,212,156,.18);
background:rgba(91,212,156,.07)
}

.attendance-date-form{
display:flex;
align-items:center;
gap:8px
}

.attendance-date-form input{
height:38px;
padding:0 10px;
border:1px solid #2a394e;
border-radius:9px;
background:#09111a;
color:#fff
}

@media(max-width:980px){
.schedule-layout{
grid-template-columns:1fr
}
}

@media(max-width:650px){
.schedule-row{
grid-template-columns:78px minmax(0,1fr) 28px
}
.schedule-attendance{
grid-column:2/3;
justify-self:start
}
.attendance-date-form{
width:100%
}
}


/* WORD EXPORT */

.schedule-header-actions{
display:flex;
align-items:center;
gap:9px;
flex-wrap:wrap
}

.schedule-word-button{
border-color:rgba(74,129,201,.25);
background:rgba(53,105,171,.08);
color:#a9c9ee
}

.schedule-word-button:hover{
border-color:rgba(74,129,201,.42);
background:rgba(53,105,171,.14);
color:#d3e6fb
}

.schedule-word-icon{
width:18px;
height:18px;
display:grid;
place-items:center
}

.schedule-word-icon svg{
width:17px;
height:17px;
stroke:currentColor;
stroke-width:1.7;
stroke-linecap:round;
stroke-linejoin:round
}

/* SUB contractor badge */
.badge-info{
color:#9fc5ff;
background:rgba(76,145,235,.10);
border:1px solid rgba(76,145,235,.18)
}


/* EMPLOYEE PROFILE V7 */

.employee-row-actions{
display:flex;
align-items:center;
gap:7px
}

.employee-profile-link{
border-color:rgba(83,154,231,.18);
color:#a9c9ee
}

.employee-profile-hero{
display:flex;
align-items:center;
gap:17px;
padding:21px 23px;
background:rgba(18,29,42,.50);
border-color:rgba(122,162,204,.10)
}

.employee-profile-avatar{
width:58px;
height:58px;
flex:0 0 58px;
display:grid;
place-items:center;
border-radius:17px;
background:rgba(71,132,204,.10);
border:1px solid rgba(91,153,226,.17);
color:#b7d4f5;
font-size:16px;
font-weight:900
}

.employee-profile-main{
min-width:0
}

.employee-profile-main h2{
margin:0;
font-size:19px;
letter-spacing:-.025em
}

.employee-profile-meta{
display:flex;
align-items:center;
gap:7px;
margin-top:6px;
color:#778a9f;
font-size:10px
}

.employee-profile-badges{
margin-left:auto;
display:flex;
align-items:center;
gap:7px
}

.employee-profile-stats{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:12px;
margin-top:15px
}

.employee-profile-stat{
padding:16px 18px;
background:rgba(18,29,42,.40);
border-color:rgba(122,162,204,.08)
}

.employee-profile-stat span{
display:block;
color:#718398;
font-size:9px
}

.employee-profile-stat strong{
display:block;
margin-top:7px;
font-size:22px
}

.employee-profile-grid{
display:grid;
grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
gap:15px;
margin-top:15px
}

.employee-profile-panel{
padding:20px;
background:rgba(18,29,42,.44);
border-color:rgba(122,162,204,.09)
}

.employee-profile-panel-head h3{
margin:0;
font-size:13px
}

.employee-profile-panel-head p{
margin:4px 0 0;
color:#708297;
font-size:9px
}

.employee-profile-shifts{
margin-top:13px
}

.employee-profile-shift{
display:grid;
grid-template-columns:48px minmax(0,1fr) 80px;
gap:12px;
align-items:center;
padding:10px 0;
border-bottom:1px solid rgba(255,255,255,.045)
}

.employee-profile-shift:last-child{
border-bottom:0
}

.employee-profile-shift-date strong,
.employee-profile-shift>div:nth-child(2)>strong{
display:block;
color:#dfe9f3;
font-size:10px
}

.employee-profile-shift-date span,
.employee-profile-shift>div:nth-child(2)>span{
display:block;
margin-top:3px;
color:#718397;
font-size:8.5px
}

.employee-profile-shift-status{
justify-self:end;
color:#8da0b5;
font-size:8.5px;
font-weight:800
}

.employee-profile-empty{
padding:25px 0 6px;
color:#6e8095;
font-size:10px
}

.employee-profile-future-list{
display:flex;
flex-direction:column;
margin-top:12px
}

.employee-profile-future-list>div{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding:10px 0;
border-bottom:1px solid rgba(255,255,255,.04)
}

.employee-profile-future-list>div:last-child{
border-bottom:0
}

.employee-profile-future-list span{
color:#8b9bae;
font-size:9.5px
}

.employee-profile-future-list strong{
color:#6f879e;
font-size:8px;
font-weight:800;
text-transform:uppercase;
letter-spacing:.04em
}

@media(max-width:950px){
.employee-profile-stats{
grid-template-columns:repeat(2,minmax(0,1fr))
}
.employee-profile-grid{
grid-template-columns:1fr
}
}

@media(max-width:600px){
.employee-profile-hero{
align-items:flex-start;
flex-wrap:wrap
}
.employee-profile-badges{
width:100%;
margin-left:75px
}
.employee-profile-stats{
grid-template-columns:1fr 1fr
}
.employee-row-actions{
flex-direction:column;
align-items:stretch
}
}


/* EMPLOYEE PROFILE V8 - MODERN */

.employee-profile-topbar{
display:flex;
align-items:flex-end;
justify-content:space-between;
gap:18px;
margin-bottom:22px
}

.employee-profile-modern-hero{
display:grid;
grid-template-columns:72px minmax(0,1fr) auto;
align-items:center;
gap:18px;
padding:23px 0 25px;
border-bottom:1px solid rgba(255,255,255,.055)
}

.employee-profile-modern-avatar{
width:64px;
height:64px;
display:grid;
place-items:center;
border-radius:50%;
background:
linear-gradient(145deg,rgba(43,91,149,.88),rgba(23,53,90,.94));
border:1px solid rgba(102,164,229,.26);
color:#f0f6ff;
font-size:17px;
font-weight:900;
letter-spacing:.03em;
box-shadow:0 12px 28px rgba(0,0,0,.16)
}

.employee-profile-modern-copy{
min-width:0
}

.employee-profile-modern-name{
font-size:24px;
font-weight:850;
letter-spacing:-.035em;
color:#f2f6fb
}

.employee-profile-modern-details{
display:flex;
align-items:center;
gap:8px;
margin-top:7px;
color:#7e90a5;
font-size:10.5px;
flex-wrap:wrap
}

.profile-separator{
color:#44576c
}

.employee-profile-modern-status{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
justify-content:flex-end
}

.profile-active-state{
display:inline-flex;
align-items:center;
gap:6px;
color:#7e8fa3;
font-size:9px;
font-weight:800
}

.profile-active-state>span{
width:7px;
height:7px;
border-radius:50%
}

.profile-active-state.is-active{
color:#63dc98
}

.profile-active-state.is-active>span{
background:#51dc8d;
box-shadow:0 0 0 4px rgba(81,220,141,.07)
}

.profile-active-state.is-inactive{
color:#f0818d
}

.profile-active-state.is-inactive>span{
background:#f36d7d
}

.employee-profile-summary{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:0;
margin:20px 0 27px;
border-top:1px solid rgba(255,255,255,.045);
border-bottom:1px solid rgba(255,255,255,.045)
}

.profile-summary-item{
padding:17px 20px;
border-right:1px solid rgba(255,255,255,.045)
}

.profile-summary-item:last-child{
border-right:0
}

.profile-summary-item span{
display:block;
color:#6f8195;
font-size:9px
}

.profile-summary-item strong{
display:block;
margin-top:6px;
color:#edf4fb;
font-size:24px;
font-weight:850;
letter-spacing:-.03em
}

.employee-profile-modern-grid{
display:grid;
grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr);
gap:26px;
align-items:start
}

.employee-profile-section-head{
display:flex;
align-items:flex-end;
justify-content:space-between;
gap:14px;
margin-bottom:13px
}

.employee-profile-section-head h2{
margin:0;
font-size:15px;
font-weight:850;
letter-spacing:-.02em
}

.employee-profile-section-head p{
margin:5px 0 0;
color:#6f8093;
font-size:9.5px;
line-height:1.45
}

.employee-profile-timeline{
display:flex;
flex-direction:column
}

.employee-profile-timeline-row{
display:grid;
grid-template-columns:52px 18px minmax(0,1fr) 78px;
align-items:center;
gap:10px;
min-height:62px;
padding:6px 0;
border-bottom:1px solid rgba(255,255,255,.042)
}

.employee-profile-timeline-row:last-child{
border-bottom:0
}

.profile-timeline-date strong{
display:block;
color:#dfe8f1;
font-size:10px
}

.profile-timeline-date span{
display:block;
margin-top:3px;
color:#647589;
font-size:8px
}

.profile-timeline-line{
position:relative;
height:100%;
display:flex;
justify-content:center
}

.profile-timeline-line:before{
content:"";
position:absolute;
top:0;
bottom:0;
width:1px;
background:rgba(255,255,255,.055)
}

.profile-timeline-line span{
position:relative;
z-index:1;
width:8px;
height:8px;
margin-top:27px;
border-radius:50%;
background:#708197;
box-shadow:0 0 0 4px #090e15
}

.profile-timeline-line span.is-present{background:#52d98d}
.profile-timeline-line span.is-late{background:#efb94d}
.profile-timeline-line span.is-absent{background:#f36d7d}
.profile-timeline-line span.is-excused{background:#8797aa}
.profile-timeline-line span.is-planned{background:#5e9ee9}

.profile-timeline-content{
min-width:0
}

.profile-timeline-content strong{
display:block;
overflow:hidden;
color:#e3ecf5;
font-size:10.5px;
font-weight:800;
text-overflow:ellipsis;
white-space:nowrap
}

.profile-timeline-content span{
display:block;
margin-top:4px;
color:#708296;
font-size:8.5px
}

.profile-timeline-status{
justify-self:end;
font-size:8.5px;
font-weight:800
}

.profile-timeline-status.is-present{color:#57dc92}
.profile-timeline-status.is-late{color:#efc266}
.profile-timeline-status.is-absent{color:#f17b88}
.profile-timeline-status.is-excused{color:#8494a7}
.profile-timeline-status.is-planned{color:#75a9e8}

.employee-profile-side-column{
padding-left:4px
}

.profile-data-list{
display:flex;
flex-direction:column
}

.profile-data-row{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
padding:13px 0;
border-bottom:1px solid rgba(255,255,255,.042)
}

.profile-data-row:last-child{
border-bottom:0
}

.profile-data-row>div{
min-width:0
}

.profile-data-row strong{
display:block;
color:#dce5ef;
font-size:10px
}

.profile-data-row span:not(.profile-data-state){
display:block;
margin-top:4px;
color:#66788c;
font-size:8.5px
}

.profile-data-state{
flex:0 0 auto;
color:#66798e;
font-size:7.5px;
font-weight:850;
text-transform:uppercase;
letter-spacing:.06em
}

.profile-data-state.is-connected{
color:#5ed997
}

.employee-profile-empty{
padding:28px 0;
color:#6c7e92;
font-size:10px
}

@media(max-width:980px){
.employee-profile-modern-grid{
grid-template-columns:1fr
}
.employee-profile-side-column{
padding-left:0
}
}

@media(max-width:700px){
.employee-profile-topbar{
align-items:flex-start;
flex-direction:column
}
.employee-profile-modern-hero{
grid-template-columns:58px minmax(0,1fr);
align-items:start
}
.employee-profile-modern-avatar{
width:52px;
height:52px;
font-size:14px
}
.employee-profile-modern-status{
grid-column:2;
justify-content:flex-start
}
.employee-profile-summary{
grid-template-columns:repeat(2,minmax(0,1fr))
}
.profile-summary-item:nth-child(2){
border-right:0
}
.profile-summary-item:nth-child(-n+2){
border-bottom:1px solid rgba(255,255,255,.045)
}
.employee-profile-timeline-row{
grid-template-columns:46px 14px minmax(0,1fr)
}
.profile-timeline-status{
grid-column:3;
justify-self:start;
margin-top:-10px
}
}


/* EMPLOYEE LIST V9 - FRESH */

.employee-list-card{
overflow:hidden;
background:rgba(16,27,40,.42);
border:1px solid rgba(121,160,202,.08);
border-radius:18px;
box-shadow:0 18px 50px rgba(0,0,0,.13);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px)
}

.employee-list-card .table-wrap{
overflow-x:auto
}

.employee-list-card table{
border-collapse:separate;
border-spacing:0
}

.employee-list-card th{
padding:12px 17px;
background:rgba(8,16,25,.32);
border-bottom:1px solid rgba(255,255,255,.045);
color:#5f748b;
font-size:8px;
font-weight:850;
letter-spacing:.095em
}

.employee-list-card td{
padding:14px 17px;
border-bottom:1px solid rgba(255,255,255,.038);
color:#cfd9e4;
font-size:10.5px;
vertical-align:middle
}

.employee-list-card tbody tr{
transition:background .14s ease
}

.employee-list-card tbody tr:hover{
background:rgba(82,139,201,.035)
}

.employee-list-card tbody tr:last-child td{
border-bottom:0
}

.employee-list-card td:first-child{
font-weight:800;
color:#e5edf5
}

.employee-list-card .badge{
padding:4px 7px;
font-size:7.5px;
letter-spacing:.025em
}

.employee-row-actions{
display:flex;
justify-content:flex-end;
align-items:center
}

.employee-profile-link-fresh{
display:inline-flex;
align-items:center;
justify-content:flex-end;
gap:8px;
padding:6px 2px 6px 9px;
color:#7794b4;
font-size:9px;
font-weight:800;
transition:color .14s ease
}

.employee-profile-link-fresh:hover{
color:#b8d4f3
}

.employee-profile-arrow{
width:22px;
height:22px;
display:grid;
place-items:center;
border-radius:50%;
background:rgba(76,139,207,.07);
border:1px solid rgba(88,150,218,.11);
color:#75a9df;
font-size:11px;
transition:transform .14s ease,background .14s ease
}

.employee-profile-link-fresh:hover .employee-profile-arrow{
transform:translateX(2px);
background:rgba(76,139,207,.12)
}

@media(max-width:760px){
.employee-list-card{
border-radius:14px
}
.employee-list-card th,
.employee-list-card td{
padding-left:13px;
padding-right:13px
}
}


/* SCHEDULE V10 - MODERN */

.schedule-layout-modern{
grid-template-columns:minmax(320px,.68fr) minmax(0,1.32fr);
gap:22px
}

.schedule-panel-modern{
position:relative;
overflow:hidden;
background:rgba(16,27,40,.43);
border:1px solid rgba(118,158,202,.085);
border-radius:18px;
box-shadow:0 18px 48px rgba(0,0,0,.12);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px)
}

.schedule-panel-modern:after{
content:"";
position:absolute;
left:18px;
right:18px;
bottom:0;
height:3px;
border-radius:3px 3px 0 0;
opacity:.95
}

.schedule-create-card:after{
background:linear-gradient(90deg,#4ca6ff,#58c9dc)
}

.schedule-day-card:after{
background:linear-gradient(90deg,#7e8cff,#a878ff)
}

.schedule-create-card{
padding:24px
}

.schedule-day-card{
padding:22px 24px
}

.schedule-card-title{
font-size:15px;
font-weight:850;
letter-spacing:-.02em;
color:#f0f5fb
}

.schedule-card-subtitle{
margin-top:6px;
color:#75879c;
font-size:10px;
line-height:1.5
}

.schedule-form{
display:grid;
gap:16px;
margin-top:22px
}

.schedule-form .field{
gap:8px
}

.schedule-form .field label{
color:#8fa0b4;
font-size:9.5px;
font-weight:760
}

.schedule-form input,
.schedule-form select{
min-height:44px;
padding:0 13px;
border-radius:11px;
border:1px solid rgba(120,155,194,.13);
background:rgba(5,11,18,.36);
color:#e7eef6;
box-shadow:inset 0 1px 0 rgba(255,255,255,.018)
}

.schedule-form input:focus,
.schedule-form select:focus{
border-color:rgba(84,153,231,.34);
box-shadow:0 0 0 3px rgba(84,153,231,.055)
}

.schedule-submit{
min-height:44px;
border-radius:11px;
margin-top:2px;
font-size:10.5px
}

.schedule-day-head{
padding-bottom:16px
}

.schedule-day-nav{
gap:7px
}

.schedule-day-nav a{
min-width:36px;
height:36px;
border-radius:10px;
border:1px solid rgba(255,255,255,.055);
background:rgba(255,255,255,.018);
color:#8299b2;
box-shadow:none
}

.schedule-day-nav a:hover{
background:rgba(91,142,202,.065);
border-color:rgba(98,153,216,.12);
color:#b5cbe2
}

.schedule-day-nav .schedule-today{
padding:0 12px;
font-size:8.5px;
letter-spacing:.03em
}

.schedule-list{
margin-top:8px
}

.schedule-row{
position:relative;
display:grid;
grid-template-columns:92px minmax(0,1fr) auto 32px;
align-items:center;
gap:14px;
min-height:72px;
padding:11px 6px 11px 0;
border-bottom:1px solid rgba(255,255,255,.035);
transition:background .15s ease
}

.schedule-row:hover{
background:rgba(87,137,194,.025)
}

.schedule-row:before{
content:"";
position:absolute;
left:0;
top:16px;
bottom:16px;
width:2px;
border-radius:2px;
background:rgba(93,145,205,.22)
}

.schedule-time{
padding-left:12px
}

.schedule-time strong{
display:block;
color:#edf3f9;
font-size:12px;
font-weight:850
}

.schedule-time span{
display:block;
margin-top:4px;
color:#65778b;
font-size:8.5px
}

.schedule-person strong{
font-size:11.5px;
color:#e2ebf4
}

.schedule-person span{
margin-top:5px;
color:#72859a;
font-size:9px
}

.schedule-attendance{
display:inline-flex;
align-items:center;
gap:6px;
justify-self:end;
padding:6px 8px;
border-radius:999px;
font-size:8px;
font-weight:850;
letter-spacing:.015em;
border:1px solid transparent
}

.schedule-status-dot{
width:6px;
height:6px;
border-radius:50%;
background:currentColor
}

.schedule-attendance.is-present{
color:#64dc98;
background:rgba(82,217,141,.055);
border-color:rgba(82,217,141,.095)
}

.schedule-attendance.is-late{
color:#efc05b;
background:rgba(239,192,91,.055);
border-color:rgba(239,192,91,.10)
}

.schedule-attendance.is-absent{
color:#f17a87;
background:rgba(241,122,135,.055);
border-color:rgba(241,122,135,.10)
}

.schedule-attendance.is-excused{
color:#8a9bad;
background:rgba(138,155,173,.045);
border-color:rgba(138,155,173,.08)
}

.schedule-attendance.is-waiting{
color:#8192a5;
background:rgba(129,146,165,.04);
border-color:rgba(129,146,165,.07)
}

.schedule-delete{
width:30px;
height:30px;
border-radius:9px;
font-size:17px
}

.schedule-delete:hover{
background:rgba(241,110,125,.075)
}

.schedule-empty{
padding:30px 4px 10px;
color:#6e8195;
font-size:10px;
line-height:1.5
}

.schedule-header-actions .btn{
min-height:38px
}

.schedule-word-button{
background:rgba(64,119,185,.055);
border-color:rgba(72,130,198,.14)
}

@media(max-width:1050px){
.schedule-layout-modern{
grid-template-columns:1fr
}
}

@media(max-width:700px){
.schedule-row{
grid-template-columns:78px minmax(0,1fr) 30px;
gap:10px
}
.schedule-attendance{
grid-column:2/3;
justify-self:start
}
}


/* ATTENDANCE V11 */

.attendance-card-modern{
background:rgba(16,27,40,.43);
border:1px solid rgba(118,158,202,.085);
border-radius:18px;
box-shadow:0 18px 48px rgba(0,0,0,.12);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px)
}

.attendance-success{
color:#83e5ae;
border:1px solid rgba(91,212,156,.14);
background:rgba(52,142,98,.08)
}

.attendance-arrival-form{
display:flex;
align-items:center;
gap:8px;
min-width:290px
}

.attendance-check{
display:inline-flex;
align-items:center;
gap:7px;
cursor:pointer;
color:#8496aa;
font-size:9px;
font-weight:800;
white-space:nowrap
}

.attendance-check input{
position:absolute;
opacity:0;
pointer-events:none
}

.attendance-check-box{
width:18px;
height:18px;
display:grid;
place-items:center;
border-radius:6px;
border:1px solid rgba(118,154,194,.20);
background:rgba(5,11,18,.34);
transition:.14s ease
}

.attendance-check-box:after{
content:"";
width:8px;
height:4px;
border-left:2px solid transparent;
border-bottom:2px solid transparent;
transform:rotate(-45deg) translateY(-1px)
}

.attendance-check input:checked + .attendance-check-box{
background:rgba(72,194,127,.14);
border-color:rgba(83,216,143,.34)
}

.attendance-check input:checked + .attendance-check-box:after{
border-left-color:#66dda0;
border-bottom-color:#66dda0
}

.attendance-check input:checked ~ span:last-child{
color:#73dda4
}

.attendance-time-input{
width:82px;
height:34px;
padding:0 7px;
border-radius:9px;
border:1px solid rgba(118,154,194,.13);
background:rgba(5,11,18,.35);
color:#dce7f2;
outline:none;
font-size:10px
}

.attendance-time-input:focus{
border-color:rgba(85,153,229,.32);
box-shadow:0 0 0 3px rgba(85,153,229,.055)
}

.attendance-save-button{
height:34px;
padding:0 11px;
border-radius:9px;
border:1px solid rgba(83,153,229,.14);
background:rgba(68,131,202,.075);
color:#9dc2eb;
font-size:8.5px;
font-weight:850;
cursor:pointer;
transition:.14s ease
}

.attendance-save-button:hover{
background:rgba(68,131,202,.13);
color:#c2dbf5
}

@media(max-width:760px){
.attendance-arrival-form{
min-width:250px;
flex-wrap:wrap
}
}


/* ATTENDANCE V12 - MODERN PUNCTUALITY */

.attendance-card-modern{
overflow:hidden;
border-radius:18px;
background:rgba(16,27,40,.40);
border:1px solid rgba(118,158,202,.08);
box-shadow:0 18px 48px rgba(0,0,0,.11);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px)
}

.attendance-card-modern table{
border-collapse:separate;
border-spacing:0
}

.attendance-card-modern th{
padding:12px 16px;
background:rgba(6,13,21,.30);
border-bottom:1px solid rgba(255,255,255,.04);
color:#5f7287;
font-size:8px;
font-weight:850;
letter-spacing:.09em
}

.attendance-card-modern td{
padding:14px 16px;
border-bottom:1px solid rgba(255,255,255,.035);
vertical-align:middle
}

.attendance-row{
transition:background .14s ease
}

.attendance-row:hover{
background:rgba(72,127,190,.025)
}

.attendance-row:last-child td{
border-bottom:0
}

.attendance-planned-time strong{
display:block;
color:#eef4fa;
font-size:13px;
font-weight:850
}

.attendance-planned-time span{
display:block;
margin-top:4px;
color:#607287;
font-size:8px
}

.attendance-person-cell strong{
display:block;
color:#e0e9f2;
font-size:11px;
font-weight:800
}

.attendance-person-cell span{
display:block;
margin-top:4px;
color:#687a8f;
font-size:8.5px
}

.attendance-id-cell{
color:#8293a7;
font-size:9.5px
}

.attendance-role-cell{
color:#a8b8ca;
font-size:10px;
font-weight:700
}

.attendance-status-pill{
display:inline-flex;
align-items:center;
gap:6px;
padding:6px 9px;
border-radius:999px;
font-size:8.5px;
font-weight:850;
border:1px solid transparent
}

.attendance-status-pill>span{
width:6px;
height:6px;
border-radius:50%;
background:currentColor
}

.attendance-status-pill.is-on-time{
color:#61dc97;
background:rgba(82,217,141,.05);
border-color:rgba(82,217,141,.09)
}

.attendance-status-pill.is-late{
color:#efbd57;
background:rgba(239,189,87,.05);
border-color:rgba(239,189,87,.09)
}

.attendance-status-pill.is-absent{
color:#f17a87;
background:rgba(241,122,135,.05);
border-color:rgba(241,122,135,.09)
}

.attendance-status-pill.is-excused{
color:#8798aa;
background:rgba(135,152,170,.04);
border-color:rgba(135,152,170,.07)
}

.attendance-status-pill.is-waiting{
color:#7c8da0;
background:rgba(124,141,160,.035);
border-color:rgba(124,141,160,.06)
}

.attendance-arrival-form-modern{
display:grid;
grid-template-columns:auto 82px auto;
align-items:center;
gap:9px;
min-width:275px
}

.attendance-check-modern{
padding-right:2px
}

.attendance-time-input-modern{
height:36px;
border-radius:10px;
background:rgba(5,11,18,.32)
}

.attendance-save-button-modern{
height:36px;
padding:0 12px;
border-radius:10px;
background:rgba(67,130,200,.07);
border-color:rgba(78,145,218,.14)
}

.attendance-save-button-modern:hover{
background:rgba(67,130,200,.12);
color:#c7def5
}

@media(max-width:900px){
.attendance-arrival-form-modern{
grid-template-columns:auto 82px;
}
.attendance-save-button-modern{
grid-column:1/-1
}
}

@media(max-width:650px){
.attendance-card-modern th,
.attendance-card-modern td{
padding-left:12px;
padding-right:12px
}
}


/* ARRIVALS V14 - CLEARER */

.arrivals-card{
padding:20px 20px 16px;
background:rgba(16,27,40,.45);
border:1px solid rgba(118,158,202,.085);
border-radius:18px;
box-shadow:0 18px 44px rgba(0,0,0,.11)
}

.arrivals-header{
padding-bottom:14px
}

.arrivals-header .stat-label{
font-size:14px;
font-weight:850;
color:#f0f5fb
}

.arrivals-subtitle{
margin-top:5px;
font-size:10px;
color:#74879c
}

.arrivals-list{
gap:7px;
margin-top:10px
}

.arrival-row{
position:relative;
display:grid;
grid-template-columns:18px minmax(0,1fr) 112px 82px;
align-items:center;
gap:12px;
min-height:66px;
margin:0;
padding:11px 12px 13px;
border:1px solid rgba(255,255,255,.04);
border-radius:13px;
background:rgba(255,255,255,.012);
overflow:hidden;
transition:background .14s ease,border-color .14s ease
}

.arrival-row:hover{
background:rgba(77,126,183,.025);
border-color:rgba(101,150,207,.08)
}

.arrival-row:after{
left:12px;
right:12px;
height:2px
}

.arrival-status-mark{
width:18px;
height:18px;
display:grid;
place-items:center
}

.arrival-status-mark span{
width:9px;
height:9px;
border-radius:50%;
background:#7b8796;
box-shadow:0 0 0 4px rgba(123,135,150,.06)
}

.arrival-person{
min-width:0
}

.arrival-name{
font-size:12px;
font-weight:850;
line-height:1.2;
color:#edf3f9
}

.arrival-position{
margin-top:5px;
font-size:9.5px;
line-height:1.3;
color:#708398
}

.arrival-time-block{
display:flex;
flex-direction:column;
align-items:flex-end;
min-width:0
}

.arrival-time-block span{
color:#596c81;
font-size:7.5px;
font-weight:800;
text-transform:uppercase;
letter-spacing:.055em
}

.arrival-time-block strong{
margin-top:4px;
font-size:14px;
font-weight:900;
letter-spacing:-.02em;
color:#e6edf5
}

.arrival-state-pill{
justify-self:end;
display:inline-flex;
align-items:center;
justify-content:center;
min-width:70px;
padding:6px 8px;
border-radius:999px;
font-size:8px;
font-weight:850;
border:1px solid rgba(123,135,150,.08);
color:#8794a4;
background:rgba(123,135,150,.035)
}

.arrival-row.is-present .arrival-status-mark span{
background:#50db89;
box-shadow:0 0 0 4px rgba(80,219,137,.07)
}

.arrival-row.is-present .arrival-state-pill{
color:#61dc97;
background:rgba(80,219,137,.05);
border-color:rgba(80,219,137,.09)
}

.arrival-row.is-absent .arrival-status-mark span{
background:#ff6977;
box-shadow:0 0 0 4px rgba(255,105,119,.07)
}

.arrival-row.is-absent .arrival-state-pill{
color:#f17a87;
background:rgba(255,105,119,.045);
border-color:rgba(255,105,119,.08)
}

.arrival-row.is-waiting .arrival-status-mark span{
background:#7b8796
}

.arrival-row.is-waiting .arrival-state-pill{
color:#8693a2
}

@media(max-width:760px){
.arrival-row{
grid-template-columns:18px minmax(0,1fr) 86px;
}
.arrival-state-pill{
grid-column:2/4;
justify-self:start;
margin-top:-3px
}
.arrival-time-block strong{
font-size:13px
}
}


/* ARRIVALS V15 - STATUS BUBBLES, NO COLORED LINES */

.arrivals-card .arrival-row:after{
display:none !important;
content:none !important
}

.arrivals-card .arrival-row{
border-radius:14px;
border:1px solid rgba(125,145,168,.09);
background:rgba(125,145,168,.035);
box-shadow:none;
overflow:hidden
}

.arrivals-card .arrival-row:hover{
transform:translateY(-1px);
background:rgba(125,145,168,.055);
border-color:rgba(125,145,168,.13)
}

.arrivals-card .arrival-row.is-present{
background:rgba(69,205,130,.075);
border-color:rgba(69,205,130,.14)
}

.arrivals-card .arrival-row.is-present:hover{
background:rgba(69,205,130,.10);
border-color:rgba(69,205,130,.19)
}

.arrivals-card .arrival-row.is-absent{
background:rgba(241,101,116,.075);
border-color:rgba(241,101,116,.14)
}

.arrivals-card .arrival-row.is-absent:hover{
background:rgba(241,101,116,.10);
border-color:rgba(241,101,116,.19)
}

.arrivals-card .arrival-row.is-waiting{
background:rgba(117,136,157,.055);
border-color:rgba(117,136,157,.10)
}

.arrivals-card .arrival-row.is-waiting:hover{
background:rgba(117,136,157,.075);
border-color:rgba(117,136,157,.14)
}

.arrivals-card .arrival-row.is-present .arrival-name,
.arrivals-card .arrival-row.is-absent .arrival-name,
.arrivals-card .arrival-row.is-waiting .arrival-name{
color:#eef4fa
}

.arrivals-card .arrival-row.is-present .arrival-time-block strong{
color:#8be5b1
}

.arrivals-card .arrival-row.is-absent .arrival-time-block strong{
color:#f49aa4
}

.arrivals-card .arrival-row.is-waiting .arrival-time-block strong{
color:#dce5ee
}

.arrivals-card .arrival-state-pill{
background:rgba(7,14,22,.20)
}

.arrivals-card .arrival-row.is-present .arrival-state-pill{
background:rgba(69,205,130,.10);
border-color:rgba(69,205,130,.17)
}

.arrivals-card .arrival-row.is-absent .arrival-state-pill{
background:rgba(241,101,116,.10);
border-color:rgba(241,101,116,.17)
}

.arrivals-card .arrival-row.is-waiting .arrival-state-pill{
background:rgba(117,136,157,.08);
border-color:rgba(117,136,157,.12)
}


/* ATTENDANCE V16 - ARRIVED / ABSENT */

.attendance-status-form{
grid-template-columns:minmax(165px,auto) 82px auto;
min-width:360px
}

.attendance-choice-group{
display:flex;
align-items:center;
gap:6px
}

.attendance-choice{
position:relative;
display:inline-flex;
align-items:center;
gap:6px;
padding:7px 9px;
border-radius:9px;
border:1px solid rgba(120,150,185,.09);
background:rgba(7,14,22,.18);
color:#788b9f;
font-size:8.5px;
font-weight:850;
cursor:pointer;
white-space:nowrap;
transition:.14s ease
}

.attendance-choice input{
position:absolute;
opacity:0;
pointer-events:none
}

.attendance-choice-dot{
width:7px;
height:7px;
border-radius:50%;
background:#66788b
}

.attendance-choice.is-arrived input:checked ~ .attendance-choice-dot{
background:#55db91;
box-shadow:0 0 0 3px rgba(85,219,145,.07)
}

.attendance-choice.is-arrived:has(input:checked){
color:#67dda0;
border-color:rgba(85,219,145,.16);
background:rgba(85,219,145,.055)
}

.attendance-choice.is-absent input:checked ~ .attendance-choice-dot{
background:#f36f7d;
box-shadow:0 0 0 3px rgba(243,111,125,.07)
}

.attendance-choice.is-absent:has(input:checked){
color:#f08a95;
border-color:rgba(243,111,125,.16);
background:rgba(243,111,125,.055)
}

@media(max-width:950px){
.attendance-status-form{
grid-template-columns:1fr 82px;
min-width:300px
}
.attendance-choice-group{
grid-column:1/-1
}
}

@media(max-width:650px){
.attendance-status-form{
grid-template-columns:1fr;
min-width:230px
}
.attendance-choice-group{
flex-wrap:wrap
}
.attendance-save-button-modern{
grid-column:auto
}
}


/* CALENDAR V18 - EVENT COUNTS */

.calendar-event-dots{
display:none !important
}

.calendar-event-count{
position:absolute;
top:8px;
right:8px;
min-width:22px;
height:22px;
padding:0 6px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:999px;
background:rgba(83,145,218,.13);
border:1px solid rgba(91,155,228,.18);
color:#9fc8f4;
font-size:9px;
font-weight:900;
line-height:1;
box-shadow:0 4px 14px rgba(0,0,0,.08)
}

.calendar-day.is-today .calendar-event-count{
background:rgba(103,163,231,.18);
border-color:rgba(111,173,241,.25);
color:#c2ddfb
}

.calendar-day{
position:relative
}


/* CALENDAR V19 - COUNT SEPARATED FROM DAY NUMBER */

/*
 * Číslo dne zůstává vlevo nahoře.
 * Počet událostí je samostatná bublina vpravo dole,
 * takže se oba údaje nikdy nepřekrývají.
 */
.calendar-day{
position:relative;
padding:10px 10px 9px !important
}

.calendar-day-number{
position:relative;
z-index:2;
display:inline-flex;
align-items:center;
justify-content:center
}

.calendar-event-count{
position:absolute !important;
top:auto !important;
right:8px !important;
bottom:8px !important;
z-index:3;
min-width:24px;
height:20px;
padding:0 7px;
border-radius:7px;
background:rgba(78,139,209,.11);
border:1px solid rgba(91,155,228,.16);
color:#9fc8f4;
font-size:8.5px;
font-weight:900;
line-height:1;
box-shadow:none;
pointer-events:none
}

.calendar-day-preview{
padding-right:34px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap
}

.calendar-day.is-today .calendar-event-count{
background:rgba(88,151,222,.16);
border-color:rgba(105,169,239,.23);
color:#c4def9
}

@media(max-width:700px){
.calendar-event-count{
right:5px !important;
bottom:5px !important;
min-width:20px;
height:18px;
padding:0 5px;
font-size:8px
}

.calendar-day-preview{
padding-right:26px
}
}


/* CALENDAR V20 - SIMPLE BLUE EVENT COUNT ON LEFT */

/* odstranění vzhledu bubliny z předchozí verze */
.calendar-event-count,
.calendar-day.is-today .calendar-event-count{
position:absolute !important;
top:auto !important;
right:auto !important;
left:9px !important;
bottom:8px !important;
z-index:3;
min-width:0 !important;
width:auto !important;
height:auto !important;
padding:0 !important;
border:0 !important;
border-radius:0 !important;
background:transparent !important;
box-shadow:none !important;
color:#6faeff !important;
font-size:10px !important;
font-weight:900 !important;
line-height:1 !important;
letter-spacing:.01em;
pointer-events:none
}

/* dnešní den má počet úplně stejným způsobem,
   takže se nepere se zvýrazněním čísla dne */
.calendar-day.is-today .calendar-event-count{
color:#83b9ff !important
}

.calendar-day-preview{
padding-left:0 !important;
padding-right:0 !important;
margin-bottom:17px
}

@media(max-width:700px){
.calendar-event-count,
.calendar-day.is-today .calendar-event-count{
left:6px !important;
bottom:6px !important;
font-size:9.5px !important
}

.calendar-day-preview{
margin-bottom:15px
}
}


/* CALENDAR V21 - LARGE CENTERED EVENT COUNT */

.calendar-event-count,
.calendar-day.is-today .calendar-event-count{
position:absolute !important;
left:50% !important;
right:auto !important;
top:auto !important;
bottom:8px !important;
transform:translateX(-50%) !important;
z-index:3;
min-width:0 !important;
width:auto !important;
height:auto !important;
padding:0 !important;
margin:0 !important;
border:0 !important;
border-radius:0 !important;
background:transparent !important;
box-shadow:none !important;
color:#6faeff !important;
font-size:30px !important;
font-weight:900 !important;
line-height:.9 !important;
letter-spacing:-.04em;
pointer-events:none
}

.calendar-day.is-today .calendar-event-count{
color:#83b9ff !important
}

.calendar-day-preview{
margin-bottom:34px !important
}

@media(max-width:700px){
.calendar-event-count,
.calendar-day.is-today .calendar-event-count{
left:50% !important;
bottom:6px !important;
font-size:26px !important
}

.calendar-day-preview{
margin-bottom:30px !important
}
}


/* CALENDAR V22 - SLIGHTLY LARGER DAY NUMBERS */

.calendar-day-number{
font-size:calc(1em + 1px) !important;
}

@media(max-width:700px){
.calendar-day-number{
font-size:calc(1em + 1px) !important;
}
}


/* CALENDAR V23 - CLEANER TODAY DATE */

/* Dnešní den: jemné zvýraznění celé buňky místo rušivé bubliny kolem čísla. */
.calendar-day.is-today{
background:
linear-gradient(180deg,rgba(65,126,196,.095),rgba(65,126,196,.035)) !important;
border-color:rgba(91,154,226,.22) !important;
box-shadow:
inset 0 0 0 1px rgba(100,165,238,.045),
0 8px 24px rgba(0,0,0,.06) !important;
}

/* Samotné číslo dne je čisté, výrazné a bez kruhu/bubliny. */
.calendar-day.is-today .calendar-day-number{
position:relative;
display:inline-flex;
align-items:center;
justify-content:flex-start;
width:auto !important;
height:auto !important;
min-width:0 !important;
padding:0 0 5px 0 !important;
margin:0 !important;
border:0 !important;
border-radius:0 !important;
background:transparent !important;
box-shadow:none !important;
color:#a9d0ff !important;
font-size:calc(1em + 2px) !important;
font-weight:950 !important;
line-height:1 !important;
}

/* Krátká modrá linka pod číslem jasně označí dnešní datum. */
.calendar-day.is-today .calendar-day-number:after{
content:"";
position:absolute;
left:0;
bottom:0;
width:17px;
height:2px;
border-radius:999px;
background:#69aaff;
box-shadow:0 0 8px rgba(105,170,255,.22);
}

/* Počet událostí zůstává nezávislý a uprostřed dole. */
.calendar-day.is-today .calendar-event-count{
color:#83b9ff !important;
background:transparent !important;
border:0 !important;
box-shadow:none !important;
}

@media(max-width:700px){
.calendar-day.is-today .calendar-day-number{
font-size:calc(1em + 2px) !important;
}
}


/* LOGIN V24 - FRESH ROLE SELECTOR */

.login-role-grid{
gap:14px;
margin-bottom:24px
}

.login-role-card{
position:relative;
min-height:112px;
padding:18px 17px;
border-radius:16px;
border:1px solid rgba(116,151,190,.11);
background:
linear-gradient(145deg,rgba(20,32,47,.78),rgba(11,20,30,.72));
box-shadow:
inset 0 1px 0 rgba(255,255,255,.018),
0 10px 28px rgba(0,0,0,.08);
overflow:hidden
}

.login-role-card:after{
content:"";
position:absolute;
inset:auto -30px -50px auto;
width:100px;
height:100px;
border-radius:50%;
background:rgba(87,145,213,.035);
pointer-events:none
}

.login-role-card:hover{
transform:translateY(-2px);
border-color:rgba(108,164,226,.22);
background:
linear-gradient(145deg,rgba(24,39,57,.86),rgba(13,24,36,.80))
}

.login-role-option input:checked + .login-role-card{
border-color:rgba(103,165,235,.38);
background:
linear-gradient(145deg,rgba(26,48,73,.92),rgba(16,32,50,.88));
box-shadow:
0 0 0 3px rgba(88,151,224,.055),
0 14px 34px rgba(0,0,0,.12)
}

.login-role-icon{
position:relative;
z-index:2;
width:48px;
height:48px;
flex:0 0 48px;
border-radius:14px;
background:rgba(76,137,207,.085);
border:1px solid rgba(88,151,222,.14);
color:#91bdf0;
box-shadow:inset 0 1px 0 rgba(255,255,255,.025)
}

.login-role-icon svg{
width:24px;
height:24px;
stroke-width:1.65
}

.login-role-name{
position:relative;
z-index:2;
font-size:13.5px;
font-weight:900;
letter-spacing:-.015em;
color:#edf4fb
}

.login-role-desc{
position:relative;
z-index:2;
margin-top:5px;
font-size:9.5px;
line-height:1.4;
color:#71859b
}

/* OM dostává lehce manažerský modrý akcent. */
.login-role-option:first-child input:checked + .login-role-card .login-role-icon{
color:#9bc8ff;
background:rgba(75,143,220,.13);
border-color:rgba(90,159,238,.22)
}

/* Supervizor lehce odlišný, ale stále v ISSFLORA paletě. */
.login-role-option:nth-child(2) input:checked + .login-role-card .login-role-icon{
color:#8edbc7;
background:rgba(73,184,157,.095);
border-color:rgba(83,197,169,.17)
}

.login-role-option input:checked + .login-role-card:before{
content:"✓";
position:absolute;
top:10px;
right:11px;
z-index:3;
width:20px;
height:20px;
display:grid;
place-items:center;
border-radius:50%;
background:rgba(89,157,232,.11);
border:1px solid rgba(102,170,245,.18);
color:#9bc7f6;
font-size:9px;
font-weight:900
}

@media(max-width:500px){
.login-role-card{
min-height:94px;
padding:15px
}
.login-role-icon{
width:44px;
height:44px;
flex-basis:44px
}
}

/* LOGIN V24 role-specific accents - actual order */
.login-role-option:first-child input:checked + .login-role-card .login-role-icon{
color:#8edbc7 !important;
background:rgba(73,184,157,.095) !important;
border-color:rgba(83,197,169,.17) !important
}
.login-role-option:nth-child(2) input:checked + .login-role-card .login-role-icon{
color:#9bc8ff !important;
background:rgba(75,143,220,.13) !important;
border-color:rgba(90,159,238,.22) !important
}


/* LOGIN V25 - HELP */

.login-help{
margin-top:17px;
border-top:1px solid rgba(255,255,255,.055);
padding-top:13px
}

.login-help summary{
list-style:none;
display:flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:34px;
color:#71869c;
font-size:9.5px;
font-weight:800;
cursor:pointer;
user-select:none;
transition:color .14s ease
}

.login-help summary::-webkit-details-marker{
display:none
}

.login-help summary:hover{
color:#a8c4e1
}

.login-help-icon{
width:18px;
height:18px;
display:grid;
place-items:center;
border-radius:50%;
border:1px solid rgba(101,157,219,.16);
background:rgba(73,130,194,.055);
color:#82afe0;
font-size:9px;
font-weight:900
}

.login-help-arrow{
margin-left:1px;
color:#536b83;
font-size:13px;
transition:transform .16s ease
}

.login-help[open] .login-help-arrow{
transform:rotate(180deg)
}

.login-help-content{
margin-top:8px;
padding:14px;
border-radius:12px;
border:1px solid rgba(115,149,186,.08);
background:rgba(5,12,19,.22)
}

.login-help-item{
display:grid;
grid-template-columns:76px minmax(0,1fr);
gap:9px;
padding:7px 0
}

.login-help-item + .login-help-item{
border-top:1px solid rgba(255,255,255,.035)
}

.login-help-item strong{
color:#a8c7e9;
font-size:9px;
font-weight:900
}

.login-help-item span{
color:#718397;
font-size:9px;
line-height:1.45
}

.login-help-note{
margin-top:8px;
padding-top:10px;
border-top:1px solid rgba(255,255,255,.04);
color:#617489;
font-size:8.5px;
line-height:1.55
}


/* SHIFT REPORTS V26 */

.shift-report-compose,
.shift-report-table-card{
background:rgba(16,27,40,.43);
border:1px solid rgba(118,158,202,.085);
border-radius:18px;
box-shadow:0 18px 48px rgba(0,0,0,.11)
}

.shift-report-compose{padding:22px}
.shift-report-compose-head,
.shift-report-table-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.shift-report-hint{max-width:350px;color:#6f8297;font-size:9px;line-height:1.5;text-align:right}
.shift-report-form{display:grid;grid-template-columns:1.1fr 1.3fr .65fr .75fr;gap:14px;margin-top:20px}
.shift-report-form .field{min-width:0}
.shift-report-form select,
.shift-report-form input,
.shift-report-form textarea{background:rgba(5,11,18,.34);border-color:rgba(118,154,194,.13)}
.shift-report-description{grid-column:1/-1}
.shift-report-description textarea{min-height:92px}
.shift-report-submit{grid-column:1/-1;display:flex;justify-content:flex-end}
.shift-report-table-card{margin-top:18px;overflow:hidden}
.shift-report-table-head{padding:20px 22px 14px}
.shift-report-table th{background:rgba(6,13,21,.28);font-size:8px}
.shift-report-table td{padding:14px 15px;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.035)}
.shift-report-table tbody tr{transition:background .14s ease}
.shift-report-table tbody tr:hover{background:rgba(77,126,183,.025)}
.shift-report-time{font-size:12px!important;font-weight:900;color:#dce8f4!important}
.shift-report-interaction{display:inline-flex;padding:5px 8px;border-radius:8px;background:rgba(81,142,211,.07);border:1px solid rgba(91,155,228,.10);color:#94bce7;font-size:8.5px;font-weight:850}
.shift-report-person{font-size:10px;color:#d7e2ed}
.shift-report-copy{min-width:300px;white-space:normal!important;line-height:1.5;color:#b8c6d5!important}
.shift-report-muted{color:#64778b}
.report-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:8.5px;font-weight:900;cursor:pointer;white-space:nowrap}
.report-status-open{color:#efbd57;background:rgba(239,189,87,.055);border:1px solid rgba(239,189,87,.11)}
.report-status-open span{width:6px;height:6px;border-radius:50%;background:currentColor}
.report-status-done{color:#61dc97;background:rgba(82,217,141,.055);border:1px solid rgba(82,217,141,.10)}
.report-open-row{background:rgba(239,189,87,.012)}
.report-resolved-row{opacity:.68}
.shift-report-empty{text-align:center!important;color:#6c8095!important;padding:30px!important}
.task-row-report{text-decoration:none}
.task-row-report .task-text{display:flex;flex-direction:column;gap:2px}
.task-row-report .task-text strong{color:#e1ebf5;font-size:9px}
.task-row-report .task-text small{color:#6d8196;font-size:7.5px}
.task-bullet-report{background:#efbd57!important;box-shadow:0 0 0 4px rgba(239,189,87,.055)}

@media(max-width:1050px){
.shift-report-form{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
.shift-report-compose-head,.shift-report-table-head{flex-direction:column}
.shift-report-hint{text-align:left}
.shift-report-form{grid-template-columns:1fr}
.shift-report-description,.shift-report-submit{grid-column:auto}
}


/* SHIFT REPORTS V27 - CONTRAST + SCROLL + EXPORT */

.shift-report-form select,
.shift-report-form input,
.shift-report-form textarea{
color:#eef4fb;
background:rgba(7,14,22,.72);
border:1px solid rgba(139,171,207,.22)
}

.shift-report-form select{
color-scheme:dark
}

.shift-report-form select option{
background:#101a27;
color:#edf3f9
}

.shift-report-form select:focus,
.shift-report-form input:focus,
.shift-report-form textarea:focus{
border-color:rgba(91,159,234,.42);
box-shadow:0 0 0 3px rgba(91,159,234,.065)
}

.shift-report-table-card .table-wrap{
scrollbar-width:thin;
scrollbar-color:#456989 #101924
}

.shift-report-table-card .table-wrap::-webkit-scrollbar{
height:10px;
width:10px
}

.shift-report-table-card .table-wrap::-webkit-scrollbar-track{
background:#0e1722;
border-radius:999px
}

.shift-report-table-card .table-wrap::-webkit-scrollbar-thumb{
background:#456989;
border-radius:999px;
border:2px solid #0e1722
}

.shift-report-table-card .table-wrap::-webkit-scrollbar-thumb:hover{
background:#5b82aa
}

.shift-report-table tr:has(.shift-report-interaction){
color:#d9e4ef
}

.shift-report-interaction{
color:#b9d5f4;
background:rgba(69,133,205,.13);
border-color:rgba(91,155,228,.20)
}

.shift-report-table tr.report-open-row .shift-report-interaction{
color:#f1c66d;
background:rgba(239,189,87,.07);
border-color:rgba(239,189,87,.14)
}

.shift-report-table tr.report-resolved-row .shift-report-interaction{
color:#72dea3;
background:rgba(82,217,141,.055);
border-color:rgba(82,217,141,.11)
}

.shift-report-export-bar{
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
margin-top:18px;
padding:17px 19px;
border:1px solid rgba(116,154,196,.09);
border-radius:15px;
background:rgba(15,25,37,.40)
}

.shift-report-export-bar strong{
display:block;
color:#e8f0f8;
font-size:11px
}

.shift-report-export-bar span{
display:block;
margin-top:4px;
color:#6f8296;
font-size:8.5px;
line-height:1.4
}

.shift-report-word-button{
display:inline-flex;
align-items:center;
gap:9px;
min-height:40px;
padding:0 14px;
border-radius:10px;
border:1px solid rgba(77,143,218,.18);
background:rgba(67,130,200,.08);
color:#a8cdf3;
font-size:9px;
font-weight:850;
white-space:nowrap;
transition:.15s ease
}

.shift-report-word-button:hover{
background:rgba(67,130,200,.14);
border-color:rgba(84,152,228,.28);
color:#d4e8fb
}

.shift-report-word-icon{
width:18px;
height:18px;
display:grid;
place-items:center
}

.shift-report-word-icon svg{
width:17px;
height:17px;
stroke:currentColor;
stroke-width:1.7;
stroke-linecap:round;
stroke-linejoin:round
}

/* Mimořádná událost má v tabulce silnější vizuální váhu. */
.shift-report-table td:nth-child(2){
max-width:190px
}

@media(max-width:700px){
.shift-report-export-bar{
align-items:flex-start;
flex-direction:column
}
.shift-report-word-button{
width:100%;
justify-content:center
}
}


/* LOGIN V40 - ROLE DROPDOWN */

.login-role-grid{display:none!important}

.login-role-select-wrap{margin-bottom:21px}

.login-role-select-label{
display:block;
margin:0 0 8px;
color:#9aadc1;
font-size:10px;
font-weight:800
}

.login-role-select-shell{
position:relative;
display:grid;
grid-template-columns:48px minmax(0,1fr) 40px;
align-items:center;
min-height:58px;
border-radius:15px;
border:1px solid rgba(103,154,211,.18);
background:linear-gradient(145deg,rgba(23,39,58,.94),rgba(12,22,34,.92));
overflow:hidden;
transition:.16s ease
}

.login-role-select-shell:focus-within{
border-color:rgba(91,161,240,.45);
box-shadow:0 0 0 4px rgba(91,161,240,.07)
}

.login-role-select-icon{
width:48px;
height:58px;
display:grid;
place-items:center;
color:#8fc1f5;
border-right:1px solid rgba(255,255,255,.04)
}

.login-role-select-icon svg,
.login-role-select-arrow svg{
width:20px;
height:20px;
stroke:currentColor;
stroke-width:1.7;
stroke-linecap:round;
stroke-linejoin:round
}

.login-role-select{
width:100%;
height:58px;
border:0!important;
outline:0!important;
appearance:none;
-webkit-appearance:none;
padding:0 12px;
background:transparent!important;
color:#f2f6fb;
font-size:12.5px;
font-weight:850;
cursor:pointer
}

.login-role-select option{
background:#101a27;
color:#f2f6fb
}

.login-role-select-arrow{
width:40px;
height:58px;
display:grid;
place-items:center;
color:#68829e;
pointer-events:none
}

.login-role-select-help{
margin-top:8px;
color:#63788e;
font-size:9px;
line-height:1.45
}


/* LOGIN V41 - DROPDOWN ONLY */

.login-role-grid{
display:none!important
}

.login-role-select-wrap{
margin-bottom:22px
}

.login-role-select-label{
display:block;
margin-bottom:8px;
color:#9bacc0;
font-size:10px;
font-weight:800
}

.login-role-select-shell{
position:relative;
display:grid;
grid-template-columns:48px minmax(0,1fr) 40px;
align-items:center;
min-height:58px;
border-radius:15px;
border:1px solid rgba(106,157,214,.18);
background:linear-gradient(145deg,rgba(23,39,58,.94),rgba(12,22,34,.92));
overflow:hidden;
transition:.16s ease
}

.login-role-select-shell:focus-within{
border-color:rgba(91,161,240,.44);
box-shadow:0 0 0 4px rgba(91,161,240,.07)
}

.login-role-select-icon{
width:48px;
height:58px;
display:grid;
place-items:center;
color:#8fc1f5;
border-right:1px solid rgba(255,255,255,.04)
}

.login-role-select-icon svg{
width:22px;
height:22px;
stroke:currentColor;
stroke-width:1.7;
stroke-linecap:round;
stroke-linejoin:round
}

.login-role-select{
width:100%;
height:58px;
border:0!important;
outline:0!important;
appearance:none;
-webkit-appearance:none;
padding:0 12px;
background:transparent!important;
color:#f2f6fb;
font-size:12.5px;
font-weight:850;
cursor:pointer
}

.login-role-select option{
background:#101a27;
color:#f2f6fb
}

.login-role-select-arrow{
width:40px;
height:58px;
display:grid;
place-items:center;
pointer-events:none;
color:#68829e
}

.login-role-select-arrow svg{
width:17px;
height:17px;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round
}


/* GARÁŽMISTR V43 - VISUAL IDENTITY */

.sidebar-profile-avatar.is-garage{
background:rgba(58,128,199,.10);
border-color:rgba(73,149,224,.18);
color:#8fc3f5
}

.sidebar-profile-avatar.is-garage svg{
width:21px;
height:21px;
stroke:currentColor;
stroke-width:1.7;
stroke-linecap:round;
stroke-linejoin:round
}


/* GARÁŽMISTR V44 - AKTUÁLNÍ SMĚNA */

.topbar-right-stack{
display:flex;
flex-direction:column;
align-items:flex-end;
gap:7px
}

.garage-current-shift{
display:flex;
align-items:center;
justify-content:flex-end;
gap:8px;
min-height:24px;
white-space:nowrap
}

.garage-current-shift-label{
color:#61758a;
font-size:8px;
font-weight:850;
text-transform:uppercase;
letter-spacing:.07em
}

.garage-current-shift-name{
color:#dce9f5;
font-size:9.5px;
font-weight:900
}

.garage-current-shift-time{
color:#7faee0;
font-size:8.5px;
font-weight:850
}

.garage-current-shift-empty{
color:#718295;
font-size:8.5px;
font-weight:750
}

@media(max-width:760px){
.garage-current-shift{
display:none
}
}


/* GARÁŽMISTR V45 - SMĚNA V HLAVIČCE PŘEHLEDU */

.garage-shift-hero{
margin-left:auto;
text-align:right;
align-self:flex-end;
padding:0 2px 2px 28px;
min-width:250px
}

.garage-shift-hero-label{
margin-bottom:5px;
color:#71879d;
font-size:9px;
font-weight:900;
letter-spacing:.08em;
text-transform:uppercase
}

.garage-shift-hero-main{
display:flex;
align-items:baseline;
justify-content:flex-end;
gap:10px
}

.garage-shift-hero-name{
color:#e8f1fa;
font-size:16px;
font-weight:900;
letter-spacing:-.02em
}

.garage-shift-hero-time{
color:#78afe6;
font-size:11px;
font-weight:850
}

.garage-shift-hero-empty{
color:#8394a5;
font-size:13px;
font-weight:800
}

@media(max-width:760px){
.garage-shift-hero{
width:100%;
min-width:0;
margin:12px 0 0;
padding:12px 0 0;
text-align:left;
border-top:1px solid rgba(255,255,255,.05)
}
.garage-shift-hero-main{
justify-content:flex-start
}
}


/* GARÁŽMISTR V46 - PŘÍCHOD / ODCHOD */

.garage-shift-actions{
display:flex;
justify-content:flex-end;
gap:8px;
margin-top:10px
}

.garage-shift-actions form{
margin:0
}

.garage-shift-action{
display:inline-flex;
align-items:center;
gap:7px;
min-height:34px;
padding:0 11px;
border-radius:10px;
font-size:9px;
font-weight:900;
cursor:pointer;
transition:.14s ease
}

.garage-shift-action.is-arrive{
color:#72dfa3;
background:rgba(72,205,137,.075);
border:1px solid rgba(72,205,137,.15)
}

.garage-shift-action.is-arrive:hover:not(:disabled){
background:rgba(72,205,137,.13)
}

.garage-shift-action.is-leave{
color:#f18a94;
background:rgba(241,105,119,.07);
border:1px solid rgba(241,105,119,.14)
}

.garage-shift-action.is-leave:hover:not(:disabled){
background:rgba(241,105,119,.12)
}

.garage-shift-action:disabled{
opacity:.48;
cursor:default
}

.garage-shift-action-icon{
font-size:12px;
line-height:1
}

.garage-shift-action small{
display:block;
margin-top:1px;
font-size:7px;
font-weight:750;
opacity:.85
}

.garage-shift-alert{
color:#85e6b0;
border:1px solid rgba(72,205,137,.13);
background:rgba(72,205,137,.055)
}

.attendance-garage-auto{
display:flex;
align-items:center;
gap:8px;
min-width:220px;
color:#8296aa;
font-size:8.5px;
font-weight:800
}

.attendance-garage-auto-icon{
width:22px;
height:22px;
display:grid;
place-items:center;
border-radius:50%;
background:rgba(79,137,201,.07);
border:1px solid rgba(92,153,220,.11);
color:#82afe0;
font-size:11px
}

.attendance-garage-auto small{
display:block;
margin-top:3px;
color:#6ddc9e;
font-size:7.5px
}

@media(max-width:760px){
.garage-shift-actions{
justify-content:flex-start;
flex-wrap:wrap
}
}


/* ARRIVALS V49 - LATE WARNING */

.arrivals-card .arrival-row.is-late{
background:rgba(242,164,65,.075);
border-color:rgba(242,164,65,.15)
}

.arrivals-card .arrival-row.is-late:hover{
background:rgba(242,164,65,.10);
border-color:rgba(242,164,65,.20)
}

.arrivals-card .arrival-row.is-late .arrival-time-block strong{
color:#f3b461
}

.arrivals-card .arrival-row.is-late .arrival-state-pill{
display:inline-flex;
align-items:center;
gap:6px;
background:rgba(242,164,65,.11);
border-color:rgba(242,164,65,.20);
color:#f4b85f
}

.arrival-warning-icon{
width:15px;
height:15px;
display:inline-grid;
place-items:center;
flex:0 0 15px;
color:#f4b85f
}

.arrival-warning-icon svg{
width:15px;
height:15px;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round
}


/* GARÁŽMISTR V50 - KONTROLA VYBAVENÍ */

.garage-equipment-card{
position:relative;
overflow:hidden;
background:linear-gradient(180deg,rgba(18,31,46,.62),rgba(11,21,32,.54));
border-color:rgba(93,145,202,.10)
}

.garage-equipment-card:after{
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:3px;
background:linear-gradient(90deg,#4e9ce5,#54d1a2);
opacity:.7
}

.garage-equipment-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:12px;
margin-bottom:14px
}

.garage-equipment-subtitle{
margin-top:4px;
color:#65798f;
font-size:8.5px;
line-height:1.4
}

.garage-equipment-shift-name{
color:#88b7e6;
font-size:8.5px;
font-weight:850
}

.garage-equipment-list{
display:flex;
flex-direction:column;
gap:7px
}

.garage-equipment-row{
display:grid;
grid-template-columns:minmax(140px,1fr) auto;
align-items:center;
gap:10px;
min-height:46px;
padding:8px 10px;
border-radius:12px;
border:1px solid rgba(119,153,189,.07);
background:rgba(7,14,22,.22)
}

.garage-equipment-row.is-cash{
grid-template-columns:minmax(120px,1fr) minmax(100px,120px) auto
}

.garage-equipment-name{
display:flex;
align-items:center;
gap:9px;
color:#dce7f1;
font-size:9.5px;
font-weight:850
}

.garage-equipment-icon{
width:28px;
height:28px;
display:grid;
place-items:center;
border-radius:9px;
background:rgba(65,126,190,.07);
border:1px solid rgba(84,145,210,.10);
color:#7eafe0
}

.garage-equipment-icon svg{
width:15px;
height:15px;
stroke:currentColor;
stroke-width:1.7;
stroke-linecap:round;
stroke-linejoin:round
}

.garage-equipment-choice{
display:flex;
gap:6px
}

.garage-choice{
position:relative;
display:block;
cursor:pointer
}

.garage-choice input{
position:absolute;
opacity:0;
pointer-events:none
}

.garage-choice span{
width:30px;
height:30px;
display:grid;
place-items:center;
border-radius:8px;
border:1px solid rgba(127,151,175,.10);
background:rgba(255,255,255,.025);
color:#65788c;
font-size:14px;
font-weight:950;
transition:.14s ease
}

.garage-choice.yes input:checked + span{
color:#76e1a8;
background:rgba(72,205,137,.09);
border-color:rgba(72,205,137,.20);
box-shadow:0 0 0 3px rgba(72,205,137,.035)
}

.garage-choice.no input:checked + span{
color:#f08b96;
background:rgba(241,105,119,.08);
border-color:rgba(241,105,119,.18);
box-shadow:0 0 0 3px rgba(241,105,119,.03)
}

.garage-cash-amount{
display:flex;
align-items:center;
gap:6px
}

.garage-cash-amount input{
width:100%;
height:32px;
padding:0 9px;
border:1px solid rgba(114,151,190,.13);
border-radius:8px;
background:rgba(5,12,19,.36);
color:#edf4fb;
outline:0;
font-size:9px;
font-weight:800
}

.garage-cash-amount input:focus{
border-color:rgba(91,159,234,.33);
box-shadow:0 0 0 3px rgba(91,159,234,.05)
}

.garage-cash-amount span{
color:#6e8499;
font-size:8.5px;
font-weight:850
}

.garage-equipment-footer{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
margin-top:12px
}

.garage-equipment-footer>span{
color:#60758a;
font-size:7.5px
}

.garage-equipment-save{
min-height:34px;
padding:0 11px;
font-size:8.5px
}

.garage-equipment-empty{
padding:18px 0;
color:#6d8094;
font-size:9px;
text-align:center
}

@media(max-width:650px){
.garage-equipment-row,
.garage-equipment-row.is-cash{
grid-template-columns:1fr auto
}

.garage-cash-amount{
grid-column:1/-1;
grid-row:2
}

.garage-equipment-footer{
align-items:flex-start;
flex-direction:column
}

.garage-equipment-save{
width:100%
}
}


/* GARÁŽMISTR V51 - VĚTŠÍ A ČITELNĚJŠÍ KONTROLA VYBAVENÍ */

/* odstranění dekorativní čáry u karty */
.garage-equipment-card{
border-left:0 !important;
}

.garage-equipment-card:before{
display:none !important;
content:none !important;
}

/* větší nadpis a popis */
.garage-equipment-card .stat-label{
font-size:15px !important;
font-weight:900;
letter-spacing:.01em;
}

.garage-equipment-subtitle{
margin-top:6px;
font-size:11px;
line-height:1.5;
}

.garage-equipment-shift-name{
font-size:11px;
font-weight:900;
}

/* větší jednotlivé řádky */
.garage-equipment-list{
gap:10px;
}

.garage-equipment-row{
min-height:60px;
padding:11px 14px;
border-radius:14px;
}

.garage-equipment-name{
gap:12px;
font-size:13px;
font-weight:850;
}

/* větší ikony vybavení */
.garage-equipment-icon{
width:38px;
height:38px;
border-radius:11px;
}

.garage-equipment-icon svg{
width:20px;
height:20px;
}

/* větší zelené/červené čtverečky */
.garage-equipment-choice{
gap:8px;
}

.garage-choice span{
width:40px;
height:40px;
border-radius:10px;
font-size:20px;
}

/* větší pole pokladny */
.garage-cash-amount{
gap:8px;
}

.garage-cash-amount input{
height:40px;
padding:0 12px;
border-radius:10px;
font-size:13px;
}

.garage-cash-amount span{
font-size:11px;
}

/* větší spodní část */
.garage-equipment-footer{
margin-top:15px;
}

.garage-equipment-footer>span{
font-size:10px;
}

.garage-equipment-save{
min-height:40px;
padding:0 15px;
font-size:11px;
border-radius:10px;
}

.garage-equipment-empty{
padding:22px 0;
font-size:12px;
}


/* GARÁŽMISTR V52 - DETAILY VYBAVENÍ + MODERNÍ AKTUÁLNÍ SMĚNA */

/* Pokladna: Kč přímo uvnitř stejné bubliny */
.garage-cash-amount{
display:block;
}

.garage-cash-input-wrap{
position:relative;
width:100%;
}

.garage-cash-input-wrap input{
width:100%;
padding-right:38px !important;
text-align:right;
}

.garage-cash-currency{
position:absolute;
right:11px;
top:50%;
transform:translateY(-50%);
pointer-events:none;
color:#8da2b7 !important;
font-size:11px !important;
font-weight:900 !important;
}

/* jasné barvy voleb */
.garage-choice.yes span{
color:#5f806f;
}

.garage-choice.no span{
color:#875d64;
}

.garage-choice.yes input:checked + span{
color:#62e69e !important;
background:rgba(55,210,126,.13) !important;
border-color:rgba(73,224,142,.34) !important;
box-shadow:0 0 0 3px rgba(61,218,134,.055) !important;
}

.garage-choice.no input:checked + span{
color:#ff6f7e !important;
background:rgba(239,75,94,.12) !important;
border-color:rgba(245,91,108,.31) !important;
box-shadow:0 0 0 3px rgba(239,75,94,.05) !important;
}

/* Aktuální směna - samostatný moderní panel */
.garage-shift-hero{
position:relative;
min-width:310px;
padding:14px 16px !important;
margin-left:auto;
border:1px solid rgba(105,153,203,.12);
border-radius:16px;
background:
linear-gradient(135deg,rgba(22,39,57,.72),rgba(11,22,34,.58));
box-shadow:
0 10px 28px rgba(0,0,0,.10),
inset 0 1px 0 rgba(255,255,255,.025);
overflow:hidden;
text-align:left !important;
align-self:center !important;
}

.garage-shift-hero:before{
content:"";
position:absolute;
left:0;
top:0;
bottom:0;
width:3px;
background:linear-gradient(180deg,#63b0f1,#57d5a0);
opacity:.8;
}

.garage-shift-hero-label{
margin:0 0 8px 0 !important;
padding-left:1px;
color:#7690aa !important;
font-size:9px !important;
font-weight:900 !important;
letter-spacing:.11em !important;
text-transform:uppercase;
}

.garage-shift-hero-main{
display:grid !important;
grid-template-columns:minmax(0,1fr) auto;
align-items:center !important;
gap:14px !important;
width:100%;
}

.garage-shift-hero-name{
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
color:#eef5fb !important;
font-size:16px !important;
font-weight:900 !important;
letter-spacing:-.02em;
}

.garage-shift-hero-time{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:84px;
height:30px;
padding:0 10px;
border-radius:9px;
background:rgba(81,148,216,.08);
border:1px solid rgba(91,160,228,.13);
color:#82b9ee !important;
font-size:10px !important;
font-weight:900 !important;
letter-spacing:.02em;
}

.garage-shift-actions{
display:grid !important;
grid-template-columns:1fr 1fr;
gap:8px !important;
margin-top:11px !important;
}

.garage-shift-actions form{
width:100%;
}

.garage-shift-action{
width:100%;
min-height:36px !important;
justify-content:center;
border-radius:10px !important;
font-size:9px !important;
}

/* Přišel zeleně, Odešel červeně */
.garage-shift-action.is-arrive{
color:#65e4a0 !important;
background:rgba(61,205,130,.09) !important;
border-color:rgba(72,218,141,.18) !important;
}

.garage-shift-action.is-leave{
color:#ff7785 !important;
background:rgba(239,80,98,.08) !important;
border-color:rgba(242,91,108,.17) !important;
}

.garage-shift-action.is-arrive .garage-shift-action-icon{
color:#65e4a0 !important;
}

.garage-shift-action.is-leave .garage-shift-action-icon{
color:#ff7785 !important;
}

.garage-shift-hero-empty{
padding:4px 0 2px;
color:#8295a8 !important;
font-size:11px !important;
font-weight:800 !important;
}

@media(max-width:760px){
.garage-shift-hero{
width:100%;
min-width:0;
margin-top:14px;
}
}


/* GARÁŽMISTR V53 - ČISTŠÍ AKTUÁLNÍ SMĚNA A POKLADNA */

/* pryč s barevným proužkem u Aktuální směny */
.garage-shift-hero:before,
.garage-shift-hero:after{
display:none !important;
content:none !important;
}

/* Pokladna bez spinnerů / šipek */
.garage-cash-input-wrap input{
appearance:textfield;
-webkit-appearance:none;
-moz-appearance:textfield;
}

/* volby držet jako samostatné čtverečky, ne přes pole Pokladny */
.garage-equipment-row.is-cash{
grid-template-columns:minmax(150px,1fr) 130px 92px !important;
column-gap:14px !important;
}

.garage-equipment-row.is-cash .garage-cash-amount{
grid-column:2 !important;
grid-row:1 !important;
min-width:0;
}

.garage-equipment-row.is-cash .garage-equipment-choice{
grid-column:3 !important;
grid-row:1 !important;
justify-self:end;
position:relative;
z-index:2;
}

.garage-cash-input-wrap{
width:130px;
}

.garage-cash-input-wrap input{
box-sizing:border-box;
}

/* větší mezera mezi částkou a fajfkou/křížkem */
.garage-equipment-choice{
margin-left:4px;
}

@media(max-width:650px){
.garage-equipment-row.is-cash{
grid-template-columns:1fr auto !important;
}

.garage-equipment-row.is-cash .garage-cash-amount{
grid-column:1 !important;
grid-row:2 !important;
}

.garage-equipment-row.is-cash .garage-equipment-choice{
grid-column:2 !important;
grid-row:1 !important;
}

.garage-cash-input-wrap{
width:100%;
}
}


/* GARÁŽMISTR V54 - POKLADNA POUZE ČÁSTKA */

.garage-cash-only-row{
grid-template-columns:minmax(150px,1fr) 130px !important;
}

.garage-cash-only-row .garage-cash-amount{
justify-self:end;
width:130px;
}

@media(max-width:650px){
.garage-cash-only-row{
grid-template-columns:1fr 130px !important;
}

.garage-cash-only-row .garage-cash-amount{
grid-column:2 !important;
grid-row:1 !important;
width:130px;
}
}


/* GARÁŽMISTR V55 - PŘEDÁNÍ SMĚNY NA DASHBOARDU */

.garage-handover-card{
position:relative;
background:linear-gradient(180deg,rgba(18,31,46,.62),rgba(11,21,32,.54));
border-color:rgba(98,145,196,.10);
overflow:hidden
}

.garage-handover-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:12px;
margin-bottom:13px
}

.garage-handover-subtitle{
margin-top:4px;
color:#65798e;
font-size:9px;
line-height:1.45
}

.garage-handover-count{
min-width:30px;
height:30px;
display:grid;
place-items:center;
border-radius:9px;
background:rgba(75,140,207,.07);
border:1px solid rgba(87,153,222,.11);
color:#8bb9e8;
font-size:11px;
font-weight:900
}

.garage-handover-compose{
display:grid;
grid-template-columns:minmax(0,1fr) auto;
gap:9px;
margin-bottom:13px
}

.garage-handover-compose textarea{
min-height:62px;
padding:11px 12px;
resize:vertical;
border-radius:11px;
border:1px solid rgba(111,151,192,.12);
background:rgba(5,12,19,.32);
color:#edf4fa;
font-size:10px;
line-height:1.5;
outline:0
}

.garage-handover-compose textarea:focus{
border-color:rgba(91,159,234,.33);
box-shadow:0 0 0 3px rgba(91,159,234,.05)
}

.garage-handover-add{
align-self:stretch;
min-width:112px;
font-size:8.5px
}

.garage-handover-list{
display:flex;
flex-direction:column;
gap:8px
}

.garage-handover-item{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding:11px 12px;
border-radius:12px;
border:1px solid rgba(122,153,185,.07);
background:rgba(7,14,22,.22)
}

.garage-handover-item-main{
min-width:0;
flex:1
}

.garage-handover-note{
color:#d9e4ee;
font-size:10.5px;
font-weight:750;
line-height:1.5
}

.garage-handover-meta{
display:flex;
gap:8px;
margin-top:5px;
color:#657b90;
font-size:7.5px
}

.garage-handover-actions{
display:flex;
gap:6px
}

.garage-handover-actions form{
margin:0
}

.garage-handover-done,
.garage-handover-delete{
width:30px;
height:30px;
display:grid;
place-items:center;
border-radius:8px;
font-size:13px;
font-weight:950;
cursor:pointer
}

.garage-handover-done{
color:#6de0a1;
background:rgba(67,202,132,.075);
border:1px solid rgba(73,216,140,.14)
}

.garage-handover-delete{
color:#ee7d88;
background:rgba(239,83,99,.065);
border:1px solid rgba(240,91,107,.12)
}

.garage-handover-empty{
padding:20px 0;
text-align:center;
color:#6e8194;
font-size:9px
}

@media(max-width:700px){
.garage-handover-compose{
grid-template-columns:1fr
}

.garage-handover-add{
min-height:38px
}
}


/* GARÁŽMISTR V56 - KOMPAKTNÍ PŘEDÁNÍ NADCHÁZEJÍCÍ SMĚNĚ */

/* bez proužku vlevo */
.garage-handover-card:before,
.garage-handover-card:after{
display:none !important;
content:none !important;
}

/* průhlednější moderní karta */
.garage-handover-card{
background:rgba(15,27,40,.38) !important;
border:1px solid rgba(130,159,190,.09) !important;
box-shadow:
inset 0 1px 0 rgba(255,255,255,.018),
0 10px 30px rgba(0,0,0,.055) !important;
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
}

/* kompaktnější hlavička */
.garage-handover-head{
margin-bottom:9px !important;
}

.garage-handover-subtitle{
margin-top:3px !important;
}

/* méně vysoké pole + menší tlačítko */
.garage-handover-compose{
grid-template-columns:minmax(0,1fr) auto !important;
gap:8px !important;
margin-bottom:10px !important;
align-items:stretch;
}

.garage-handover-compose textarea{
min-height:42px !important;
height:42px;
padding:8px 10px !important;
border-radius:10px !important;
resize:none !important;
background:rgba(255,255,255,.018) !important;
border-color:rgba(133,160,187,.09) !important;
}

.garage-handover-add{
min-width:100px !important;
min-height:42px !important;
height:42px;
padding:0 11px !important;
border-radius:10px !important;
background:rgba(75,138,201,.10) !important;
border:1px solid rgba(91,154,218,.15) !important;
box-shadow:none !important;
color:#a9cdf0 !important;
}

/* i uložené informace více skleněné / transparentní */
.garage-handover-item{
padding:9px 11px !important;
background:rgba(255,255,255,.018) !important;
border-color:rgba(130,157,184,.075) !important;
}

/* jen zelená fajfka */
.garage-handover-actions{
gap:0 !important;
}

.garage-handover-done{
width:32px !important;
height:32px !important;
color:#69e2a1 !important;
background:rgba(64,202,130,.07) !important;
border-color:rgba(74,218,142,.14) !important;
}

.garage-handover-delete{
display:none !important;
}

@media(max-width:700px){
.garage-handover-compose{
grid-template-columns:1fr !important;
}

.garage-handover-add{
width:100%;
}
}


/* GARÁŽMISTR V57 - PŘEDÁNÍ + OBJEDNÁVKY GARÁŽE */

/* Předání směny: spodní barevná čára */
.garage-handover-card{
position:relative;
overflow:hidden;
}

.garage-handover-card:after{
display:block !important;
content:"" !important;
position:absolute;
left:0;
right:0;
bottom:0;
height:3px;
background:linear-gradient(90deg,#6d7df0,#a36fe4);
opacity:.72;
}

/* Třetí karta - Objednávky garáže */
.garage-orders-card{
position:relative;
overflow:hidden;
background:rgba(15,27,40,.38);
border:1px solid rgba(130,159,190,.09);
box-shadow:
inset 0 1px 0 rgba(255,255,255,.018),
0 10px 30px rgba(0,0,0,.055);
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
}

.garage-orders-card:after{
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:3px;
background:linear-gradient(90deg,#53b5e8,#59d4a0);
opacity:.72;
}

.garage-orders-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:12px;
margin-bottom:11px;
}

.garage-orders-subtitle{
margin-top:4px;
color:#65798e;
font-size:9px;
line-height:1.45;
}

.garage-orders-count{
min-width:30px;
height:30px;
display:grid;
place-items:center;
border-radius:9px;
background:rgba(75,140,207,.07);
border:1px solid rgba(87,153,222,.11);
color:#8bb9e8;
font-size:11px;
font-weight:900;
}

.garage-orders-list{
display:flex;
flex-direction:column;
gap:8px;
}

.garage-order-item{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
padding:11px 12px;
border-radius:12px;
background:rgba(255,255,255,.018);
border:1px solid rgba(130,157,184,.075);
}

.garage-order-main{
min-width:0;
flex:1;
}

.garage-order-name{
color:#dce7f1;
font-size:11px;
font-weight:850;
line-height:1.4;
}

.garage-order-meta{
display:flex;
flex-wrap:wrap;
gap:7px 10px;
margin-top:5px;
color:#6e8397;
font-size:8px;
}

.garage-order-amount{
color:#a8c9e7;
font-weight:900;
}

.garage-order-item form{
margin:0;
}

.garage-order-paid{
display:inline-flex;
align-items:center;
gap:6px;
min-height:34px;
padding:0 11px;
border-radius:9px;
color:#69e2a1;
background:rgba(64,202,130,.07);
border:1px solid rgba(74,218,142,.14);
font-size:8.5px;
font-weight:900;
cursor:pointer;
white-space:nowrap;
}

.garage-order-paid span{
font-size:12px;
}

.garage-orders-empty{
padding:20px 0;
text-align:center;
color:#6e8194;
font-size:9px;
}

@media(max-width:700px){
.garage-order-item{
align-items:flex-start;
flex-direction:column;
}
.garage-order-paid{
width:100%;
justify-content:center;
}
}

/* V58: Předání směny má dekoraci pouze dole */
.garage-handover-card:before{
display:none !important;
content:none !important;
}
.garage-handover-card:after{
display:block !important;
content:"" !important;
position:absolute !important;
left:0 !important;
right:0 !important;
top:auto !important;
bottom:0 !important;
width:auto !important;
height:3px !important;
border-radius:0 !important;
background:linear-gradient(90deg,#6d7df0,#a36fe4) !important;
opacity:.72 !important;
}


/* V59 GARÁŽMISTR - odstranění starého sloupce Předání směny */
/* Starý dashboardový handover panel se pro garážmistra nezobrazuje. */
body.role-garage .handover-card,
body.role-garage .shift-handover-card,
body.role-garage .handover-summary-card{
display:none !important;
}

/* Objednávky garáže: bez levého proužku, jiná spodní barva */
.garage-orders-card{
border-left:1px solid rgba(130,159,190,.09) !important;
position:relative !important;
overflow:hidden !important;
}

.garage-orders-card:before{
display:none !important;
content:none !important;
}

.garage-orders-card:after{
display:block !important;
content:"" !important;
position:absolute !important;
left:0 !important;
right:0 !important;
top:auto !important;
bottom:0 !important;
width:auto !important;
height:3px !important;
border-radius:0 !important;
background:linear-gradient(90deg,#f0a24a,#e46f72) !important;
opacity:.78 !important;
}


/* SPV V60 - DŮLEŽITÉ ÚKOLY CELÝ TEXT */

.is-spv-dashboard .tasks-card .task-text,
.is-spv-dashboard .tasks-card .task-title,
.is-spv-dashboard .tasks-card .task-copy,
.is-spv-dashboard .tasks-card .dashboard-task-text,
.is-spv-dashboard .tasks-card .dashboard-task-copy,
.is-spv-dashboard .tasks-card .task-item-text{
white-space:normal !important;
overflow:visible !important;
text-overflow:clip !important;
display:block !important;
-webkit-line-clamp:unset !important;
-webkit-box-orient:initial !important;
line-clamp:unset !important;
max-height:none !important;
height:auto !important;
word-break:break-word;
overflow-wrap:anywhere;
}

.is-spv-dashboard .tasks-card .task-item,
.is-spv-dashboard .tasks-card .dashboard-task-row,
.is-spv-dashboard .tasks-card .task-row{
height:auto !important;
min-height:0 !important;
align-items:flex-start !important;
}

.is-spv-dashboard .tasks-card{
overflow:visible !important;
}

.is-spv-dashboard .tasks-card .task-list,
.is-spv-dashboard .tasks-card .dashboard-task-list{
max-height:none !important;
overflow:visible !important;
}


/* V63 - LOKÁLNÍ NASTAVENÍ PROHLÍŽEČE */
.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.topbar-settings-button{
width:38px;height:38px;display:grid;place-items:center;padding:0;border-radius:11px;
border:1px solid rgba(122,153,184,.11);background:rgba(255,255,255,.025);
color:#8ea4b9;cursor:pointer;transition:.18s ease
}
.topbar-settings-button:hover{color:#d7e5f1;background:rgba(255,255,255,.05);border-color:rgba(124,166,208,.2)}
.topbar-settings-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.local-settings-backdrop{
position:fixed;inset:0;background:rgba(2,7,12,.42);backdrop-filter:blur(2px);
opacity:0;visibility:hidden;transition:.2s ease;z-index:998
}
.local-settings-panel{
position:fixed;right:18px;top:68px;width:min(350px,calc(100vw - 28px));z-index:999;
padding:17px;border-radius:17px;border:1px solid rgba(126,158,190,.12);
background:rgba(13,24,36,.94);box-shadow:0 22px 60px rgba(0,0,0,.32);
backdrop-filter:blur(18px);transform:translateY(-8px) scale(.985);transform-origin:top right;
opacity:0;visibility:hidden;transition:.2s ease
}
body.local-settings-open .local-settings-backdrop{opacity:1;visibility:visible}
body.local-settings-open .local-settings-panel{opacity:1;visibility:visible;transform:none}
.local-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:13px;border-bottom:1px solid rgba(129,157,185,.08)}
.local-settings-head strong{display:block;color:#e8f0f7;font-size:13px}
.local-settings-head span{display:block;margin-top:3px;color:#6f8396;font-size:8px}
.local-settings-close{border:0;background:transparent;color:#72879a;font-size:20px;line-height:1;cursor:pointer}
.local-settings-section{padding:14px 0 12px}
.local-settings-title{margin-bottom:8px;color:#8298ac;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.local-settings-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.local-settings-options button{
min-height:34px;border-radius:9px;border:1px solid rgba(127,157,186,.09);
background:rgba(255,255,255,.018);color:#879caf;font-size:8px;font-weight:850;cursor:pointer
}
.local-settings-options button.is-active{color:#a9d2f5;background:rgba(74,145,211,.10);border-color:rgba(86,158,225,.2)}
.local-settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0;border-top:1px solid rgba(129,157,185,.065);cursor:pointer}
.local-settings-toggle strong{display:block;color:#cbd9e5;font-size:9.5px}
.local-settings-toggle small{display:block;margin-top:3px;color:#667b8e;font-size:7.5px}
.local-settings-toggle input{position:absolute;opacity:0;pointer-events:none}
.local-settings-toggle i{position:relative;flex:0 0 36px;width:36px;height:20px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(132,160,188,.11);transition:.18s ease}
.local-settings-toggle i:after{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:#7890a5;transition:.18s ease}
.local-settings-toggle input:checked+i{background:rgba(72,183,132,.15);border-color:rgba(77,211,145,.22)}
.local-settings-toggle input:checked+i:after{left:18px;background:#6de1a2}
.local-settings-reset{width:100%;min-height:36px;margin-top:8px;border-radius:10px;border:1px solid rgba(132,160,188,.09);background:rgba(255,255,255,.018);color:#7e94a8;font-size:8px;font-weight:850;cursor:pointer}

/* lokální preference */
html.local-large-text body{font-size:1.08em}
html.local-high-contrast .card{border-color:rgba(153,188,221,.18)!important;background-color:rgba(16,29,43,.72)}
html.local-high-contrast .sidebar{border-color:rgba(153,188,221,.15)}
html.local-reduce-motion *,html.local-reduce-motion *:before,html.local-reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}

@media(max-width:700px){
.local-settings-panel{right:14px;top:62px}
.topbar-actions{gap:5px}
.topbar-settings-button{width:36px;height:36px}
}


/* V64 - FIX OTEVÍRÁNÍ NASTAVENÍ */
.local-settings-panel,
.local-settings-backdrop{
pointer-events:none;
}

body.local-settings-open .local-settings-panel,
body.local-settings-open .local-settings-backdrop{
pointer-events:auto;
}

.topbar-settings-button{
position:relative;
z-index:3;
}


/* V65 - NOČNÍ BDĚLOST */

.vigilance-alert-backdrop{
position:fixed;
inset:0;
display:grid;
place-items:center;
padding:20px;
z-index:1200;
background:rgba(3,8,14,.72);
backdrop-filter:blur(7px);
-webkit-backdrop-filter:blur(7px);
opacity:0;
visibility:hidden;
pointer-events:none;
transition:.18s ease
}

.vigilance-alert-backdrop.is-open{
opacity:1;
visibility:visible;
pointer-events:auto
}

.vigilance-alert-card{
width:min(470px,100%);
padding:26px;
border-radius:22px;
border:1px solid rgba(245,166,76,.22);
background:
linear-gradient(155deg,rgba(35,29,27,.96),rgba(17,23,31,.97));
box-shadow:
0 30px 100px rgba(0,0,0,.48),
0 0 0 1px rgba(255,255,255,.018) inset;
text-align:center
}

.vigilance-alert-icon{
width:58px;
height:58px;
margin:0 auto 15px;
display:grid;
place-items:center;
border-radius:18px;
color:#ffad54;
background:rgba(245,150,53,.10);
border:1px solid rgba(245,159,67,.18)
}

.vigilance-alert-icon svg{
width:30px;
height:30px;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round
}

.vigilance-alert-eyebrow{
color:#e79d4d;
font-size:9px;
font-weight:950;
letter-spacing:.16em
}

.vigilance-alert-copy h2{
margin:7px 0 5px;
color:#f4f6f8;
font-size:24px;
letter-spacing:-.025em
}

.vigilance-alert-copy p{
margin:0;
color:#8f9ba8;
font-size:11px
}

.vigilance-alert-countdown{
margin:20px auto 18px;
font-variant-numeric:tabular-nums;
color:#ffb45e;
font-size:34px;
font-weight:950;
letter-spacing:.04em
}

.vigilance-alert-confirm{
width:100%;
min-height:48px;
border-radius:13px;
border:1px solid rgba(70,217,143,.22);
background:rgba(54,193,120,.12);
color:#72e7a9;
font-size:12px;
font-weight:950;
cursor:pointer
}

.vigilance-alert-confirm:hover{
background:rgba(54,193,120,.18)
}

.vigilance-alert-confirm:disabled{
opacity:.5;
cursor:default
}

.vigilance-history-card{
position:relative;
overflow:hidden;
background:rgba(15,27,40,.44)
}

.vigilance-history-card:after{
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:3px;
background:linear-gradient(90deg,#f0a04b,#e36c78);
opacity:.72
}

.vigilance-history-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:12px;
margin-bottom:13px
}

.vigilance-history-subtitle{
margin-top:4px;
color:#667b8f;
font-size:9px
}

.vigilance-history-count{
width:32px;
height:32px;
display:grid;
place-items:center;
border-radius:9px;
background:rgba(255,255,255,.025);
border:1px solid rgba(133,161,188,.09);
color:#9bb0c4;
font-size:10px;
font-weight:900
}

.vigilance-history-list{
display:flex;
flex-direction:column;
gap:8px
}

.vigilance-history-row{
display:grid;
grid-template-columns:84px minmax(0,1fr);
gap:13px;
padding:12px;
border-radius:12px;
border:1px solid rgba(127,155,182,.07);
background:rgba(255,255,255,.018)
}

.vigilance-history-time strong{
display:block;
color:#e5edf4;
font-size:14px
}

.vigilance-history-time span{
display:block;
margin-top:3px;
color:#65798c;
font-size:8px
}

.vigilance-status-pill{
display:inline-flex;
align-items:center;
min-height:24px;
padding:0 8px;
border-radius:8px;
font-size:8px;
font-weight:950
}

.vigilance-status-pill.is-ok{
color:#68dfa1;
background:rgba(63,202,130,.08);
border:1px solid rgba(73,218,143,.13)
}

.vigilance-status-pill.is-missed{
color:#ff8b94;
background:rgba(235,76,94,.08);
border:1px solid rgba(241,88,105,.13)
}

.vigilance-status-pill.is-pending{
color:#f2b261;
background:rgba(235,158,64,.08);
border:1px solid rgba(240,169,79,.13)
}

.vigilance-history-copy{
margin-top:6px;
color:#8799aa;
font-size:9px
}

.vigilance-note-form{
display:grid;
grid-template-columns:minmax(0,1fr) auto;
gap:7px;
margin-top:9px
}

.vigilance-note-form input{
min-height:34px;
padding:0 10px;
border-radius:9px;
border:1px solid rgba(125,157,188,.10);
background:rgba(4,10,16,.28);
color:#dce6ef;
font-size:9px;
outline:0
}

.vigilance-note-form button{
min-width:70px;
border-radius:9px;
border:1px solid rgba(91,155,216,.13);
background:rgba(74,137,199,.08);
color:#91bce6;
font-size:8px;
font-weight:900;
cursor:pointer
}

.vigilance-empty{
padding:30px 0;
text-align:center;
color:#697d90;
font-size:10px
}


/* V66 - Noční bdělost: oprava zarovnání hlavičky a počítadla */
.vigilance-history-head{
display:grid !important;
grid-template-columns:minmax(0,1fr) auto !important;
align-items:center !important;
gap:18px !important;
margin-bottom:16px !important;
min-height:42px !important;
}

.vigilance-history-head > div:first-child{
min-width:0 !important;
padding-right:4px !important;
}

.vigilance-history-head .stat-label{
line-height:1.25 !important;
margin:0 !important;
}

.vigilance-history-subtitle{
margin-top:5px !important;
line-height:1.35 !important;
white-space:normal !important;
}

.vigilance-history-count{
position:static !important;
flex:none !important;
width:auto !important;
min-width:36px !important;
height:36px !important;
padding:0 10px !important;
margin:0 !important;
align-self:center !important;
justify-self:end !important;
box-sizing:border-box !important;
z-index:1 !important;
}

/* Rezerva kolem obsahu, aby spodní dekorativní proužek ani badge nic nepřekrývaly */
.vigilance-history-card{
padding-bottom:18px !important;
}

.vigilance-history-list{
position:relative !important;
z-index:1 !important;
}

@media(max-width:520px){
.vigilance-history-head{
grid-template-columns:minmax(0,1fr) auto !important;
gap:10px !important;
}
.vigilance-history-count{
min-width:32px !important;
height:32px !important;
padding:0 8px !important;
}
}


/* V67 - Noční bdělost: hlavička vždy nad tabulkou, bez překrytí */

.vigilance-history-card{
display:flex !important;
flex-direction:column !important;
gap:0 !important;
overflow:hidden !important;
}

.vigilance-history-head{
position:relative !important;
display:grid !important;
grid-template-columns:minmax(0,1fr) auto !important;
align-items:start !important;
gap:18px !important;
width:100% !important;
min-height:64px !important;
margin:0 0 18px 0 !important;
padding:0 0 14px 0 !important;
box-sizing:border-box !important;
z-index:3 !important;
}

.vigilance-history-head > div:first-child{
position:relative !important;
z-index:4 !important;
min-width:0 !important;
max-width:calc(100% - 70px) !important;
}

.vigilance-history-head .stat-label{
display:block !important;
position:relative !important;
z-index:4 !important;
margin:0 !important;
padding:0 !important;
line-height:1.3 !important;
white-space:normal !important;
overflow:visible !important;
}

.vigilance-history-subtitle{
display:block !important;
position:relative !important;
z-index:4 !important;
margin:6px 0 0 0 !important;
padding:0 !important;
line-height:1.45 !important;
white-space:normal !important;
overflow:visible !important;
}

.vigilance-history-count{
position:relative !important;
z-index:5 !important;
justify-self:end !important;
align-self:start !important;
margin:0 !important;
}

/* seznam začíná až po hlavičce */
.vigilance-history-list{
position:relative !important;
z-index:1 !important;
display:flex !important;
flex-direction:column !important;
gap:8px !important;
width:100% !important;
margin:0 !important;
padding:0 0 4px 0 !important;
clear:both !important;
}

/* žádný první záznam nesmí "vyjet" nahoru do hlavičky */
.vigilance-history-list > *:first-child{
margin-top:0 !important;
}

/* případné staré absolutní pozicování řádků zrušit */
.vigilance-history-row,
.vigilance-empty{
position:relative !important;
top:auto !important;
right:auto !important;
bottom:auto !important;
left:auto !important;
transform:none !important;
}

@media(max-width:520px){
.vigilance-history-head{
min-height:72px !important;
gap:10px !important;
margin-bottom:16px !important;
}
.vigilance-history-head > div:first-child{
max-width:calc(100% - 50px) !important;
}
}


/* V69 - Noční bdělost: ponechán nadpis a počet, odstraněn pouze zbytečný podtext */
.vigilance-history-head{
min-height:42px !important;
padding-bottom:10px !important;
margin-bottom:12px !important;
align-items:center !important;
}
.vigilance-history-head > div:first-child{
align-self:center !important;
}


/* V71 - Noční bdělost bez vnější bubliny/karty */
.vigilance-history-card{
background:transparent !important;
border:none !important;
box-shadow:none !important;
border-radius:0 !important;
padding:0 !important;
overflow:visible !important;
}

.vigilance-history-card:before,
.vigilance-history-card:after{
display:none !important;
content:none !important;
}

/* Nadpis zůstává samostatně nad záznamy */
.vigilance-history-head{
padding:0 !important;
margin:0 0 14px 0 !important;
min-height:36px !important;
}

/* Jednotlivé záznamy zůstávají přehledné jako samostatné řádky */
.vigilance-history-list{
gap:9px !important;
}

.vigilance-history-row{
margin:0 !important;
}


/* V72 - poznámka k neodkliknuté bdělosti */
.vigilance-note-form{
display:grid !important;
grid-template-columns:minmax(0,1fr) auto !important;
align-items:end !important;
gap:8px !important;
margin-top:10px !important;
}

.vigilance-note-form textarea{
width:100% !important;
min-height:72px !important;
max-height:180px !important;
resize:vertical !important;
box-sizing:border-box !important;
padding:10px 11px !important;
border-radius:10px !important;
border:1px solid rgba(125,157,188,.10) !important;
background:rgba(4,10,16,.28) !important;
color:#dce6ef !important;
font:inherit !important;
font-size:9px !important;
line-height:1.45 !important;
outline:none !important;
}

.vigilance-note-form textarea:focus{
border-color:rgba(91,155,216,.28) !important;
background:rgba(6,14,22,.38) !important;
}

.vigilance-note-form button{
height:38px !important;
padding:0 15px !important;
}

@media(max-width:600px){
.vigilance-note-form{
grid-template-columns:1fr !important;
}
.vigilance-note-form button{
width:100% !important;
}
}


/* V74 - LOKÁLNÍ SVĚTLÝ / TMAVÝ REŽIM */

/* dark remains the native/default ISSFLORA appearance */
html.local-light-mode body{
background:#eef3f7 !important;
color:#1d2a36 !important;
}

html.local-light-mode .sidebar{
background:rgba(247,250,252,.98) !important;
border-right-color:rgba(46,73,98,.10) !important;
box-shadow:8px 0 28px rgba(31,55,78,.045) !important;
}

html.local-light-mode .brand,
html.local-light-mode .topbar{
background:rgba(249,251,253,.92) !important;
border-color:rgba(52,79,104,.09) !important;
}

html.local-light-mode .main,
html.local-light-mode .page{
color:#1f2e3c !important;
}

html.local-light-mode .page-title,
html.local-light-mode .stat-label,
html.local-light-mode .topbar-page-title,
html.local-light-mode .sidebar-profile-role,
html.local-light-mode .garage-equipment-name,
html.local-light-mode .garage-shift-hero-name,
html.local-light-mode .garage-handover-note,
html.local-light-mode .garage-order-name,
html.local-light-mode .task-text,
html.local-light-mode .handover-card-text,
html.local-light-mode .vigilance-history-time strong{
color:#1b2936 !important;
}

html.local-light-mode .page-description,
html.local-light-mode .eyebrow,
html.local-light-mode .tasks-subtitle,
html.local-light-mode .handover-card-subtitle,
html.local-light-mode .garage-equipment-subtitle,
html.local-light-mode .garage-handover-subtitle,
html.local-light-mode .garage-orders-subtitle,
html.local-light-mode .sidebar-profile-title,
html.local-light-mode .garage-order-meta,
html.local-light-mode .vigilance-history-copy{
color:#607488 !important;
}

html.local-light-mode .card,
html.local-light-mode .garage-equipment-card,
html.local-light-mode .garage-handover-card,
html.local-light-mode .garage-orders-card,
html.local-light-mode .vigilance-history-card{
background:rgba(255,255,255,.78) !important;
border-color:rgba(56,84,110,.09) !important;
box-shadow:
0 12px 30px rgba(45,67,88,.055),
inset 0 1px 0 rgba(255,255,255,.65) !important;
}

html.local-light-mode .arrival-row,
html.local-light-mode .task-row,
html.local-light-mode .handover-card-row,
html.local-light-mode .garage-equipment-row,
html.local-light-mode .garage-handover-item,
html.local-light-mode .garage-order-item,
html.local-light-mode .vigilance-history-row{
background:rgba(245,248,250,.9) !important;
border-color:rgba(60,91,118,.075) !important;
}

html.local-light-mode .nav-item{
color:#5e7183 !important;
}

html.local-light-mode .nav-item:hover,
html.local-light-mode .nav-item.active{
background:rgba(52,122,190,.075) !important;
color:#216aa8 !important;
}

html.local-light-mode .nav-section-label{
color:#8493a1 !important;
}

html.local-light-mode .sidebar-profile-card{
background:rgba(239,244,248,.88) !important;
border-color:rgba(61,91,119,.075) !important;
}

html.local-light-mode .topbar-logout,
html.local-light-mode .topbar-settings-button{
background:rgba(236,242,247,.8) !important;
border-color:rgba(57,87,115,.09) !important;
color:#597186 !important;
}

html.local-light-mode .topbar-settings-button:hover,
html.local-light-mode .topbar-logout:hover{
background:rgba(225,235,243,.95) !important;
color:#2e5f89 !important;
}

html.local-light-mode input,
html.local-light-mode textarea,
html.local-light-mode select{
background:rgba(250,252,253,.96) !important;
border-color:rgba(57,88,116,.12) !important;
color:#22313e !important;
}

html.local-light-mode input::placeholder,
html.local-light-mode textarea::placeholder{
color:#94a2ae !important;
}

html.local-light-mode .local-settings-panel{
background:rgba(250,252,253,.97) !important;
border-color:rgba(55,83,108,.11) !important;
box-shadow:0 22px 60px rgba(38,59,79,.18) !important;
}

html.local-light-mode .local-settings-head strong,
html.local-light-mode .local-settings-toggle strong{
color:#263746 !important;
}

html.local-light-mode .local-settings-head span,
html.local-light-mode .local-settings-toggle small,
html.local-light-mode .local-settings-title{
color:#718397 !important;
}

html.local-light-mode .local-settings-options button,
html.local-light-mode .local-settings-reset{
background:rgba(239,244,248,.88) !important;
border-color:rgba(58,87,113,.09) !important;
color:#607489 !important;
}

html.local-light-mode .local-settings-options button.is-active{
background:rgba(62,139,208,.10) !important;
border-color:rgba(67,143,211,.18) !important;
color:#2d73af !important;
}

html.local-light-mode .calendar-section,
html.local-light-mode .calendar-grid,
html.local-light-mode .calendar-day{
border-color:rgba(58,87,113,.08) !important;
}

html.local-light-mode .calendar-day{
background:rgba(255,255,255,.58) !important;
}

html.local-light-mode .calendar-day-number,
html.local-light-mode .calendar-month-label{
color:#2e3d4a !important;
}

/* login/settings overlays stay readable */
html.local-light-mode .local-settings-backdrop{
background:rgba(63,80,95,.18) !important;
}


/* V75 - bezpečné zvětšování textu 1× až 3×
   Zvětšujeme typografii, nikoli celé bloky. Tabulky dostávají horizontální scroll
   a dlouhý text se může zalomit, takže se nerozbije layout. */
:root{
--local-text-scale:1;
}

.local-settings-text-size{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
padding:11px 0;
}

.local-settings-text-size-copy{
display:flex;
flex-direction:column;
gap:3px;
min-width:0;
}

.local-settings-text-size-copy strong{
font-size:11px;
font-weight:700;
}

.local-settings-text-size-copy small{
font-size:9px;
line-height:1.35;
opacity:.66;
}

.local-settings-text-size-options{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:4px;
flex:0 0 auto;
}

.local-settings-text-size-options button{
min-width:38px;
height:30px;
padding:0 7px;
border-radius:8px;
border:1px solid rgba(125,157,188,.10);
background:rgba(255,255,255,.035);
color:#8798a8;
font:inherit;
font-size:9px;
font-weight:700;
cursor:pointer;
}

.local-settings-text-size-options button.is-active{
background:rgba(73,146,211,.12);
border-color:rgba(77,151,217,.24);
color:#79b9ef;
}

/* Main readable UI text. Sizes are capped where needed to keep controls usable. */
html[data-text-scale] body{
--ts:var(--local-text-scale);
}

html[data-text-scale] :is(
.page-title,
.topbar-page-title,
.card-title,
.tasks-title,
.handover-card-title,
.garage-equipment-title,
.garage-handover-title,
.garage-orders-title,
.vigilance-history-title
){
font-size:clamp(14px, calc(14px * var(--ts)), 36px) !important;
line-height:1.15 !important;
}

html[data-text-scale] :is(
.page-description,
.card-subtitle,
.tasks-subtitle,
.handover-card-subtitle,
.garage-equipment-subtitle,
.garage-handover-subtitle,
.garage-orders-subtitle,
.vigilance-history-copy,
.garage-order-meta
){
font-size:clamp(9px, calc(9px * var(--ts)), 24px) !important;
line-height:1.4 !important;
}

html[data-text-scale] :is(
.nav-item,
.sidebar-profile-title,
.sidebar-profile-role,
.task-text,
.handover-card-text,
.garage-equipment-name,
.garage-handover-note,
.garage-order-name,
.vigilance-history-time,
.vigilance-history-row,
.arrival-row,
table,
.table,
input,
textarea,
select,
button:not(.icon-button):not(.topbar-settings-button)
){
font-size:clamp(9px, calc(9px * var(--ts)), 27px) !important;
line-height:1.35 !important;
}

/* Small labels can grow strongly, but stay compact enough for cards/tables. */
html[data-text-scale] :is(
.eyebrow,
.nav-section-label,
.stat-label,
.calendar-day-number,
.calendar-month-label
){
font-size:clamp(8px, calc(8px * var(--ts)), 22px) !important;
line-height:1.25 !important;
}

/* Let text wrap instead of forcing cards wider. */
html[data-text-scale] :is(
.task-text,
.handover-card-text,
.garage-handover-note,
.garage-order-name,
.page-description,
.card-subtitle
){
overflow-wrap:anywhere;
word-break:normal;
}

/* Protect tables at 2×/3×: table stays structurally intact and scrolls if necessary. */
html[data-text-scale] :is(.table-wrap,.table-responsive,.attendance-table-wrap,.schedule-table-wrap){
overflow-x:auto !important;
-webkit-overflow-scrolling:touch;
}

html[data-text-scale] table{
width:100%;
min-width:max-content;
}

html[data-text-scale] th,
html[data-text-scale] td{
white-space:normal;
vertical-align:middle;
}

/* Inputs/buttons may grow vertically with text without overflowing their text. */
html[data-text-scale] :is(input,select,button){
min-height:calc(30px + (var(--ts) - 1) * 8px);
}

html[data-text-scale] textarea{
min-height:calc(68px + (var(--ts) - 1) * 18px);
}

/* At extreme 3× text, allow card/header toolbars to wrap naturally. */
html[data-text-scale="3"] :is(
.card-head,
.tasks-head,
.handover-card-head,
.garage-equipment-head,
.garage-handover-head,
.garage-orders-head,
.vigilance-history-head,
.page-header
){
flex-wrap:wrap !important;
row-gap:8px !important;
}

html.local-light-mode .local-settings-text-size-copy strong{
color:#263746 !important;
}
html.local-light-mode .local-settings-text-size-copy small{
color:#718397 !important;
}
html.local-light-mode .local-settings-text-size-options button{
background:rgba(239,244,248,.88) !important;
border-color:rgba(58,87,113,.09) !important;
color:#607489 !important;
}
html.local-light-mode .local-settings-text-size-options button.is-active{
background:rgba(62,139,208,.10) !important;
border-color:rgba(67,143,211,.18) !important;
color:#2d73af !important;
}

@media(max-width:600px){
.local-settings-text-size{
align-items:flex-start;
flex-direction:column;
}
.local-settings-text-size-options{
width:100%;
}
.local-settings-text-size-options button{
width:100%;
}
}


/* V76 — jednotné a responzivní zvětšení VŠECH textů.
   Princip:
   - desktop může využít plné 1×–3×,
   - tablet a mobil automaticky omezí efektivní násobek podle šířky displeje,
   - žádný transform/zoom celé stránky,
   - tabulky a řádky se mohou zalomit nebo bezpečně horizontálně posouvat. */

:root{
--local-text-scale:1;
--local-safe-text-scale:var(--local-text-scale);
}

/* Tablet: zachovej zvolenou úroveň, ale 3× nepustí layout do destruktivní velikosti. */
@media (max-width:1024px){
html[data-text-scale="1"]{--local-safe-text-scale:1;}
html[data-text-scale="1.5"]{--local-safe-text-scale:1.35;}
html[data-text-scale="2"]{--local-safe-text-scale:1.6;}
html[data-text-scale="3"]{--local-safe-text-scale:1.9;}
}

/* Mobil: stále je viditelně větší text, ale přizpůsobený malé šířce. */
@media (max-width:640px){
html[data-text-scale="1"]{--local-safe-text-scale:1;}
html[data-text-scale="1.5"]{--local-safe-text-scale:1.22;}
html[data-text-scale="2"]{--local-safe-text-scale:1.4;}
html[data-text-scale="3"]{--local-safe-text-scale:1.62;}
}

/* Základní text celé aplikace — tím se sjednotí i místa, která V75 neobsáhla. */
html[data-text-scale] body,
html[data-text-scale] body *{
line-height:max(1.25em, 1.25) ;
}

/* Všechny běžné textové elementy */
html[data-text-scale] :is(
p,span,a,strong,b,small,label,li,dt,dd,
input,textarea,select,option,button,
td,th,caption,
div[class*="title"],div[class*="subtitle"],div[class*="label"],
span[class*="title"],span[class*="subtitle"],span[class*="label"]
){
overflow-wrap:anywhere;
word-break:normal;
}

/* Globální velikosti podle významu. Použití rem/em by v existujícím CSS nebylo
   konzistentní, proto sjednocujeme přes společný bezpečný násobek. */
html[data-text-scale] :is(
body,
p,
a,
span,
label,
li,
dt,
dd,
td,
th,
input,
textarea,
select,
option,
button
){
font-size:clamp(9px, calc(10px * var(--local-safe-text-scale)), 30px);
}

/* Zachovej hierarchii nadpisů */
html[data-text-scale] :is(h1,.page-title){
font-size:clamp(18px, calc(22px * var(--local-safe-text-scale)), 48px) !important;
line-height:1.12 !important;
}
html[data-text-scale] :is(h2,.card-title,.tasks-title,.handover-card-title,.garage-equipment-title,.garage-handover-title,.garage-orders-title,.vigilance-history-title){
font-size:clamp(14px, calc(16px * var(--local-safe-text-scale)), 38px) !important;
line-height:1.15 !important;
}
html[data-text-scale] :is(h3,h4,h5,h6){
font-size:clamp(12px, calc(13px * var(--local-safe-text-scale)), 32px) !important;
line-height:1.18 !important;
}
html[data-text-scale] small{
font-size:clamp(8px, calc(8.5px * var(--local-safe-text-scale)), 23px) !important;
}

/* Přepiš V75 selektivní velikosti stejným bezpečným násobkem. */
html[data-text-scale] :is(
.page-description,.card-subtitle,.tasks-subtitle,.handover-card-subtitle,
.garage-equipment-subtitle,.garage-handover-subtitle,.garage-orders-subtitle,
.vigilance-history-copy,.garage-order-meta,.eyebrow,.nav-section-label,.stat-label,
.calendar-day-number,.calendar-month-label,.nav-item,.sidebar-profile-title,
.sidebar-profile-role,.task-text,.handover-card-text,.garage-equipment-name,
.garage-handover-note,.garage-order-name,.vigilance-history-time,
.vigilance-history-row,.arrival-row,table,.table,input,textarea,select,
button:not(.icon-button):not(.topbar-settings-button)
){
font-size:clamp(8px, calc(10px * var(--local-safe-text-scale)), 30px) !important;
}

/* Ikonová tlačítka se nemají fyzicky nafukovat s textem. */
html[data-text-scale] :is(.icon-button,.topbar-settings-button){
font-size:inherit;
}

/* TABULKY — jednotná typografie, žádné náhodně malé tabulky. */
html[data-text-scale] table,
html[data-text-scale] .table{
font-size:clamp(9px, calc(10px * var(--local-safe-text-scale)), 28px) !important;
}

html[data-text-scale] table :is(th,td),
html[data-text-scale] .table :is(th,td){
font-size:1em !important;
line-height:1.3 !important;
white-space:normal !important;
overflow-wrap:anywhere !important;
word-break:normal !important;
}

/* Jakýkoliv běžný wrapper tabulky smí scrollovat místo přesahu stránky. */
html[data-text-scale] :is(
.table-wrap,.table-responsive,.attendance-table-wrap,.schedule-table-wrap,
.employee-table-wrap,.employees-table-wrap,.report-table-wrap,
.card-table,.data-table-wrap
){
max-width:100% !important;
overflow-x:auto !important;
overflow-y:visible !important;
-webkit-overflow-scrolling:touch;
}

/* I tabulka bez wrapperu nesmí roztáhnout viewport. */
html[data-text-scale] table{
max-width:100% !important;
}

/* Karty / gridy / flex řádky mohou bezpečně zmenšit obsah. */
html[data-text-scale] :is(
.card,.dashboard-card,.stat-card,.garage-equipment-card,.garage-handover-card,
.garage-orders-card,.vigilance-history-card,.task-row,.arrival-row,
.garage-equipment-row,.garage-handover-item,.garage-order-item,
.vigilance-history-row
){
min-width:0 !important;
}

/* Všechny děti grid/flex kontejnerů mohou být menší než vlastní obsah. */
html[data-text-scale] :is(
.dashboard-grid,.cards-grid,.stats-grid,.page-grid,.card-grid,
.card-head,.page-header,.topbar,.garage-equipment-row,.garage-handover-item,
.garage-order-item,.vigilance-history-row
) > *{
min-width:0 !important;
}

/* Formuláře — výška se přizpůsobí, text nebude useknutý. */
html[data-text-scale] :is(input,select,button){
height:auto;
min-height:calc(32px + (var(--local-safe-text-scale) - 1) * 10px) !important;
white-space:normal;
}
html[data-text-scale] textarea{
height:auto;
min-height:calc(70px + (var(--local-safe-text-scale) - 1) * 22px) !important;
}

/* Mobil/tablet: toolbar a akční části se raději zalomí než přetečou. */
@media(max-width:1024px){
html[data-text-scale] :is(
.page-header,.card-head,.tasks-head,.handover-card-head,.garage-equipment-head,
.garage-handover-head,.garage-orders-head,.vigilance-history-head
){
flex-wrap:wrap !important;
gap:8px !important;
}

html[data-text-scale] :is(
.page-header-actions,.card-actions,.toolbar-actions,.form-actions
){
flex-wrap:wrap !important;
max-width:100% !important;
}
}

@media(max-width:640px){
html[data-text-scale] :is(
.page-header-actions,.card-actions,.toolbar-actions,.form-actions
){
width:100%;
}

html[data-text-scale] :is(
.page-header-actions,.card-actions,.toolbar-actions,.form-actions
) > :is(button,a,input,select){
max-width:100%;
}

/* na telefonu se dlouhá jména/poznámky raději zalomí */
html[data-text-scale] :is(
.task-text,.handover-card-text,.garage-handover-note,.garage-order-name,
.vigilance-history-copy,.sidebar-profile-title,.sidebar-profile-role
){
white-space:normal !important;
overflow:visible !important;
text-overflow:clip !important;
}
}


/* V77 — oprava velikosti textu na PC, maximum 2×.
   Na desktopu je zvolený násobek použit přímo.
   Tablet zachovává osvědčenou velikost 2× z V76. */
html[data-text-scale="1"]{--local-safe-text-scale:1 !important;}
html[data-text-scale="1.5"]{--local-safe-text-scale:1.5 !important;}
html[data-text-scale="2"]{--local-safe-text-scale:2 !important;}

/* Staré uložené 3× se vizuálně bezpečně omezí na 2× ještě před migrací JS. */
html[data-text-scale="3"]{--local-safe-text-scale:2 !important;}

/* Tablet: 2× zůstává velká, dobře čitelná varianta. */
@media (min-width:641px) and (max-width:1024px){
html[data-text-scale="1"]{--local-safe-text-scale:1 !important;}
html[data-text-scale="1.5"]{--local-safe-text-scale:1.5 !important;}
html[data-text-scale="2"],
html[data-text-scale="3"]{--local-safe-text-scale:2 !important;}
}

/* Telefon potřebuje o něco menší efektivní násobek, aby nic nepřetékalo. */
@media (max-width:640px){
html[data-text-scale="1"]{--local-safe-text-scale:1 !important;}
html[data-text-scale="1.5"]{--local-safe-text-scale:1.22 !important;}
html[data-text-scale="2"],
html[data-text-scale="3"]{--local-safe-text-scale:1.4 !important;}
}

/* Nastavení má nyní tři stejně široké volby. */
.local-settings-text-size-options{
grid-template-columns:repeat(3,1fr) !important;
}


/* V78 — přepínání tmavý / světlý režim */
html[data-theme="dark"]{
--theme-bg:#071018;
--theme-surface:#0d1822;
--theme-border:rgba(138,169,196,.10);
--theme-text:#e6edf4;
--theme-text-soft:#93a5b5;
}

html[data-theme="light"]{
--theme-bg:#eef3f7;
--theme-surface:#ffffff;
--theme-border:rgba(48,76,101,.11);
--theme-text:#1f2e3b;
--theme-text-soft:#66798a;
}

html[data-theme="light"] body{
background:
radial-gradient(circle at 20% 0%, rgba(92,159,212,.07), transparent 34%),
#eef3f7 !important;
color:var(--theme-text) !important;
}

html[data-theme="light"] :is(.app-shell,.main,.content,.page){
color:var(--theme-text) !important;
}

html[data-theme="light"] .sidebar{
background:rgba(248,251,253,.98) !important;
border-right:1px solid var(--theme-border) !important;
box-shadow:8px 0 28px rgba(37,58,77,.045) !important;
}

html[data-theme="light"] .topbar{
background:rgba(250,252,253,.94) !important;
border-bottom-color:var(--theme-border) !important;
box-shadow:0 8px 24px rgba(39,61,81,.035) !important;
}

html[data-theme="light"] :is(
.card,.dashboard-card,.stat-card,.panel,.garage-equipment-card,
.garage-handover-card,.garage-orders-card,.vigilance-history-card,
.calendar-section,.local-settings-panel
){
background:rgba(255,255,255,.88) !important;
border-color:var(--theme-border) !important;
color:var(--theme-text) !important;
box-shadow:0 12px 28px rgba(37,59,79,.055), inset 0 1px 0 rgba(255,255,255,.82) !important;
}

html[data-theme="light"] :is(
.task-row,.arrival-row,.handover-card-row,.garage-equipment-row,
.garage-handover-item,.garage-order-item,.vigilance-history-row,.table-row
){
background:rgba(246,249,251,.94) !important;
border-color:rgba(54,82,107,.08) !important;
color:var(--theme-text) !important;
}

html[data-theme="light"] :is(
h1,h2,h3,h4,h5,h6,.page-title,.topbar-page-title,.card-title,.tasks-title,
.handover-card-title,.garage-equipment-title,.garage-handover-title,
.garage-orders-title,.vigilance-history-title,.sidebar-profile-title,
.sidebar-profile-role,.task-text,.handover-card-text,.garage-equipment-name,
.garage-handover-note,.garage-order-name,.vigilance-history-time strong,strong
){
color:#1e2c38 !important;
}

html[data-theme="light"] :is(
.page-description,.card-subtitle,.tasks-subtitle,.handover-card-subtitle,
.garage-equipment-subtitle,.garage-handover-subtitle,.garage-orders-subtitle,
.vigilance-history-copy,.garage-order-meta,.eyebrow,.stat-label,.nav-section-label,small
){
color:#6d7f8f !important;
}

html[data-theme="light"] .nav-item{color:#627486 !important;}
html[data-theme="light"] .nav-item:hover{
background:rgba(54,116,169,.065) !important;
color:#2f6593 !important;
}
html[data-theme="light"] .nav-item.active{
background:rgba(54,116,169,.095) !important;
color:#276fa9 !important;
}

html[data-theme="light"] .sidebar-profile-card{
background:rgba(240,245,248,.96) !important;
border-color:rgba(53,82,108,.08) !important;
}

html[data-theme="light"] :is(input,textarea,select){
background:#fff !important;
border-color:rgba(52,80,105,.13) !important;
color:#243541 !important;
box-shadow:none !important;
}
html[data-theme="light"] :is(input,textarea)::placeholder{color:#9aa8b4 !important;}
html[data-theme="light"] select option{background:#fff !important;color:#243541 !important;}

html[data-theme="light"] table{color:#263845 !important;}
html[data-theme="light"] th{
color:#657889 !important;
background:rgba(238,243,247,.82) !important;
border-color:rgba(54,82,107,.09) !important;
}
html[data-theme="light"] td{border-color:rgba(54,82,107,.075) !important;}

html[data-theme="light"] .calendar-day{
background:rgba(255,255,255,.80) !important;
border-color:rgba(55,84,109,.08) !important;
color:#2a3b48 !important;
}
html[data-theme="light"] :is(.calendar-day-number,.calendar-month-label){color:#344754 !important;}

html[data-theme="light"] :is(
.topbar-settings-button,.topbar-logout,.icon-button,.local-settings-close
){
background:rgba(238,243,247,.94) !important;
border-color:rgba(55,84,109,.09) !important;
color:#587187 !important;
}

html[data-theme="light"] .local-settings-panel{background:rgba(252,253,254,.99) !important;}
html[data-theme="light"] .local-settings-toggle strong,
html[data-theme="light"] .local-settings-text-size-copy strong{color:#263744 !important;}
html[data-theme="light"] .local-settings-toggle small,
html[data-theme="light"] .local-settings-text-size-copy small{color:#718394 !important;}
html[data-theme="light"] .local-settings-backdrop{background:rgba(64,79,91,.20) !important;}

html[data-theme="dark"] body{color-scheme:dark;}
html[data-theme="light"] body{color-scheme:light;}


/* V79 - finální fallback pro skutečné přepnutí tématu */
html[data-theme="light"],
html.local-light-mode{
background:#eef3f7 !important;
}

html[data-theme="light"] body,
html.local-light-mode body{
background:#eef3f7 !important;
color:#1f2e3b !important;
}

html[data-theme="light"] .sidebar,
html.local-light-mode .sidebar{
background:#f8fbfd !important;
}

html[data-theme="light"] .topbar,
html.local-light-mode .topbar{
background:#fafcfd !important;
}

html[data-theme="light"] :is(.card,.dashboard-card,.stat-card,.panel,.calendar-section),
html.local-light-mode :is(.card,.dashboard-card,.stat-card,.panel,.calendar-section){
background:#ffffff !important;
color:#1f2e3b !important;
}

html[data-theme="light"] :is(input,textarea,select),
html.local-light-mode :is(input,textarea,select){
background:#ffffff !important;
color:#243541 !important;
}

html[data-theme="dark"],
html.local-dark-mode{
color-scheme:dark !important;
}

html[data-theme="light"],
html.local-light-mode{
color-scheme:light !important;
}


/* V80 - hardfix klikatelného přepínače tématu */
.local-settings-theme-toggle{
width:100% !important;
display:flex !important;
align-items:center !important;
justify-content:space-between !important;
gap:14px !important;
padding:12px 0 !important;
margin:0 !important;
border:0 !important;
border-top:1px solid rgba(125,157,188,.06) !important;
background:transparent !important;
color:inherit !important;
text-align:left !important;
font:inherit !important;
cursor:pointer !important;
pointer-events:auto !important;
position:relative !important;
z-index:3 !important;
-webkit-tap-highlight-color:transparent;
touch-action:manipulation;
}

.local-settings-theme-toggle *{
pointer-events:none !important;
}

.local-settings-theme-toggle > span:first-child{
display:flex;
flex-direction:column;
gap:3px;
min-width:0;
}

.local-settings-switch{
width:42px;
height:24px;
border-radius:999px;
background:rgba(117,136,153,.24);
border:1px solid rgba(125,157,188,.13);
position:relative;
flex:0 0 auto;
transition:background .18s ease,border-color .18s ease;
}

.local-settings-switch-knob{
position:absolute;
top:3px;
left:3px;
width:16px;
height:16px;
border-radius:50%;
background:#dbe6ef;
box-shadow:0 1px 4px rgba(0,0,0,.28);
transition:transform .18s ease,background .18s ease;
}

.local-settings-theme-toggle.is-on .local-settings-switch{
background:rgba(57,143,216,.42);
border-color:rgba(75,157,226,.38);
}

.local-settings-theme-toggle.is-on .local-settings-switch-knob{
transform:translateX(18px);
background:#ffffff;
}

.local-settings-theme-toggle.is-off .local-settings-switch{
background:rgba(126,141,153,.22);
}

.local-settings-panel,
.local-settings-panel *{
pointer-events:auto;
}

.local-settings-backdrop{
pointer-events:auto;
}

html[data-theme="light"] .local-settings-theme-toggle{
border-top-color:rgba(54,82,107,.07) !important;
}

html[data-theme="light"] .local-settings-switch{
background:rgba(90,107,121,.18);
border-color:rgba(64,91,114,.12);
}

html[data-theme="light"] .local-settings-theme-toggle.is-on .local-settings-switch{
background:rgba(57,143,216,.42);
border-color:rgba(75,157,226,.35);
}

html[data-theme="light"] .local-settings-switch-knob{
background:#ffffff;
}

/* ensure settings panel sits above every overlay/card */
.local-settings-panel{
z-index:10050 !important;
}
.local-settings-backdrop{
z-index:10040 !important;
}


/* karta zůstává čistá, bez dekorativního proužku */
.garage-shift-hero:before,
.garage-shift-hero:after{
display:none !important;
content:none !important;
}

.garage-shift-hero-label{
color:#74879a !important;
}

.garage-shift-hero-name{
color:#1e2c38 !important;
}

.garage-shift-hero-time{
background:#edf5fb !important;
border-color:rgba(62,126,181,.14) !important;
color:#3474aa !important;
}

/* Přišel — světlá zelená */
.garage-shift-action.is-arrive{
background:#eaf8f0 !important;
border-color:rgba(49,162,101,.18) !important;
color:#238951 !important;
box-shadow:none !important;
}

.garage-shift-action.is-arrive .garage-shift-action-icon,
.garage-shift-action.is-arrive small{
color:#238951 !important;
}

/* Odešel — světlá červená */
.garage-shift-action.is-leave{
background:#fff0f2 !important;
border-color:rgba(198,72,88,.17) !important;
color:#bf4555 !important;
box-shadow:none !important;
}

.garage-shift-action.is-leave .garage-shift-action-icon,
.garage-shift-action.is-leave small{
color:#bf4555 !important;
}

.garage-shift-action:disabled{
opacity:.58 !important;
filter:none !important;
}

.garage-shift-hero-empty{
color:#718495 !important;
}

/* Světlá karta zůstává světlá i při zapnutém tmavém režimu */
html[data-theme="dark"] .garage-shift-hero,
html.local-dark-mode .garage-shift-hero{
background:
linear-gradient(145deg,#ffffff 0%,#f7fafc 100%) !important;
border-color:rgba(44,72,98,.12) !important;
color:#1e2c38 !important;
}

html[data-theme="dark"] .garage-shift-hero .garage-shift-hero-label{
color:#74879a !important;
}

html[data-theme="dark"] .garage-shift-hero .garage-shift-hero-name{
color:#1e2c38 !important;
}

html[data-theme="dark"] .garage-shift-hero .garage-shift-hero-time{
background:#edf5fb !important;
color:#3474aa !important;
}


/* V82 — světlé prvky pouze ve světlém režimu */

/* Aktuální směna: tmavý režim ponechá původní vzhled.
   Světlý režim dostane čistou bílou kartu. */
html[data-theme="light"] .garage-shift-hero,
html.local-light-mode .garage-shift-hero{
background:linear-gradient(145deg,#ffffff 0%,#f7fafc 100%) !important;
border:1px solid rgba(44,72,98,.12) !important;
box-shadow:
0 12px 30px rgba(37,59,79,.08),
inset 0 1px 0 rgba(255,255,255,.92) !important;
color:#1e2c38 !important;
}

html[data-theme="light"] .garage-shift-hero:before,
html[data-theme="light"] .garage-shift-hero:after,
html.local-light-mode .garage-shift-hero:before,
html.local-light-mode .garage-shift-hero:after{
display:none !important;
content:none !important;
}

html[data-theme="light"] .garage-shift-hero-label,
html.local-light-mode .garage-shift-hero-label{
color:#74879a !important;
}

html[data-theme="light"] .garage-shift-hero-name,
html.local-light-mode .garage-shift-hero-name{
color:#1e2c38 !important;
}

html[data-theme="light"] .garage-shift-hero-time,
html.local-light-mode .garage-shift-hero-time{
background:#edf5fb !important;
border-color:rgba(62,126,181,.14) !important;
color:#3474aa !important;
}

html[data-theme="light"] .garage-shift-action.is-arrive,
html.local-light-mode .garage-shift-action.is-arrive{
background:#eaf8f0 !important;
border-color:rgba(49,162,101,.18) !important;
color:#238951 !important;
box-shadow:none !important;
}

html[data-theme="light"] .garage-shift-action.is-leave,
html.local-light-mode .garage-shift-action.is-leave{
background:#fff0f2 !important;
border-color:rgba(198,72,88,.17) !important;
color:#bf4555 !important;
box-shadow:none !important;
}

html[data-theme="light"] .garage-shift-hero-empty,
html.local-light-mode .garage-shift-hero-empty{
color:#718495 !important;
}

/* Přidání směny — spodní blok s exportem do Wordu má být ve světlém režimu bílý. */
html[data-theme="light"] :is(
.schedule-export-card,
.shift-export-card,
.word-export-card,
.export-word-card,
.schedule-export,
.shift-export,
.word-export,
.export-panel
),
html.local-light-mode :is(
.schedule-export-card,
.shift-export-card,
.word-export-card,
.export-word-card,
.schedule-export,
.shift-export,
.word-export,
.export-panel
){
background:#ffffff !important;
border-color:rgba(44,72,98,.11) !important;
color:#1f2e3b !important;
box-shadow:0 10px 24px rgba(37,59,79,.055) !important;
}

/* Fallback podle obsahu/umístění — běžné spodní akční bloky ve stránce směn */
html[data-theme="light"] .schedule-page :is(.card,.panel):has(a[href*="export_word"]),
html[data-theme="light"] .schedule-page :is(.card,.panel):has(a[href*="export-word"]),
html[data-theme="light"] .shift-page :is(.card,.panel):has(a[href*="export_word"]),
html[data-theme="light"] .shift-page :is(.card,.panel):has(a[href*="export-word"]),
html.local-light-mode .schedule-page :is(.card,.panel):has(a[href*="export_word"]),
html.local-light-mode .shift-page :is(.card,.panel):has(a[href*="export_word"]){
background:#ffffff !important;
border-color:rgba(44,72,98,.11) !important;
color:#1f2e3b !important;
}

/* Mobil + tablet při 2×: role Objektový manažer nesmí přetékat z levého panelu. */
@media(max-width:1024px){
html[data-text-scale="2"] .sidebar-profile-card{
min-width:0 !important;
overflow:hidden !important;
}

html[data-text-scale="2"] .sidebar-profile-card > *{
min-width:0 !important;
}

html[data-text-scale="2"] .sidebar-profile-title,
html[data-text-scale="2"] .sidebar-profile-role{
display:block !important;
max-width:100% !important;
white-space:normal !important;
overflow:hidden !important;
text-overflow:ellipsis !important;
overflow-wrap:anywhere !important;
word-break:break-word !important;
line-height:1.15 !important;
}

html[data-text-scale="2"] .sidebar-profile-role{
font-size:clamp(9px, calc(8.6px * var(--local-safe-text-scale)), 17px) !important;
}
}

/* Na menším mobilu zmenšíme roli ještě o krok, ale jméno/ostatní text zůstane 2×. */
@media(max-width:640px){
html[data-text-scale="2"] .sidebar-profile-role{
font-size:clamp(9px, 12px, 14px) !important;
}
}


/* V83 — Předání směny / Export denního reportu:
   ve světlém režimu čistě světlá karta, tmavý režim beze změny. */
html[data-theme="light"] :is(
.daily-report-export-card,
.daily-report-export,
.report-export-card,
.shift-report-export,
.handover-report-export,
.export-daily-report
),
html.local-light-mode :is(
.daily-report-export-card,
.daily-report-export,
.report-export-card,
.shift-report-export,
.handover-report-export,
.export-daily-report
){
background:linear-gradient(145deg,#ffffff 0%,#f8fafc 100%) !important;
border:1px solid rgba(44,72,98,.11) !important;
color:#1f2e3b !important;
box-shadow:
0 10px 26px rgba(37,59,79,.055),
inset 0 1px 0 rgba(255,255,255,.92) !important;
}

/* Text uvnitř exportu */
html[data-theme="light"] :is(
.daily-report-export-card,
.daily-report-export,
.report-export-card,
.shift-report-export,
.handover-report-export,
.export-daily-report
) :is(h1,h2,h3,h4,strong,.title),
html.local-light-mode :is(
.daily-report-export-card,
.daily-report-export,
.report-export-card,
.shift-report-export,
.handover-report-export,
.export-daily-report
) :is(h1,h2,h3,h4,strong,.title){
color:#1f2e3b !important;
}

html[data-theme="light"] :is(
.daily-report-export-card,
.daily-report-export,
.report-export-card,
.shift-report-export,
.handover-report-export,
.export-daily-report
) :is(p,small,.subtitle,.description),
html.local-light-mode :is(
.daily-report-export-card,
.daily-report-export,
.report-export-card,
.shift-report-export,
.handover-report-export,
.export-daily-report
) :is(p,small,.subtitle,.description){
color:#6c7e8e !important;
}

/* Fallback pro existující kartu na stránce Předání směny podle odkazu na export. */
html[data-theme="light"] :is(.card,.panel):has(a[href*="export_word"]),
html[data-theme="light"] :is(.card,.panel):has(a[href*="export-word"]),
html[data-theme="light"] :is(.card,.panel):has(a[href*="report"][href*="export"]),
html.local-light-mode :is(.card,.panel):has(a[href*="export_word"]),
html.local-light-mode :is(.card,.panel):has(a[href*="export-word"]),
html.local-light-mode :is(.card,.panel):has(a[href*="report"][href*="export"]){
background:linear-gradient(145deg,#ffffff 0%,#f8fafc 100%) !important;
border-color:rgba(44,72,98,.11) !important;
color:#1f2e3b !important;
box-shadow:0 10px 26px rgba(37,59,79,.055) !important;
}


/* V84 — přesně označená bublina "Export denního reportu".
   Pouze ve SVĚTLÉM režimu je bílá; tmavý režim se nemění. */
html[data-theme="light"] .daily-report-export-bubble,
html.local-light-mode .daily-report-export-bubble{
background:#ffffff !important;
background-image:none !important;
border:1px solid rgba(44,72,98,.11) !important;
box-shadow:0 10px 26px rgba(37,59,79,.055) !important;
color:#1e2c38 !important;
}

/* Odstranění tmavých pseudo-vrstev uvnitř konkrétní bubliny */
html[data-theme="light"] .daily-report-export-bubble:before,
html[data-theme="light"] .daily-report-export-bubble:after,
html.local-light-mode .daily-report-export-bubble:before,
html.local-light-mode .daily-report-export-bubble:after{
background:transparent !important;
}

/* Nadpis a hlavní text */
html[data-theme="light"] .daily-report-export-bubble :is(
h1,h2,h3,h4,h5,h6,strong,b,.title,.card-title
),
html.local-light-mode .daily-report-export-bubble :is(
h1,h2,h3,h4,h5,h6,strong,b,.title,.card-title
){
color:#1e2c38 !important;
}

/* Popisné texty */
html[data-theme="light"] .daily-report-export-bubble :is(
p,span,label,small,.subtitle,.description,.muted
),
html.local-light-mode .daily-report-export-bubble :is(
p,span,label,small,.subtitle,.description,.muted
){
color:#687b8d !important;
}

/* Datum / input / select uvnitř exportní bubliny */
html[data-theme="light"] .daily-report-export-bubble :is(input,select,textarea),
html.local-light-mode .daily-report-export-bubble :is(input,select,textarea){
background:#f7fafc !important;
border-color:rgba(48,76,101,.13) !important;
color:#243541 !important;
}

/* Vnitřní tmavé boxy/pole, pokud je exportní karta obsahuje */
html[data-theme="light"] .daily-report-export-bubble :is(
.form-control,.input-group,.field,.form-field,.export-row
),
html.local-light-mode .daily-report-export-bubble :is(
.form-control,.input-group,.field,.form-field,.export-row
){
background-color:transparent !important;
color:#243541 !important;
}

/* Odkazy/tlačítka ponechají akcent, ale text bude čitelný. */
html[data-theme="light"] .daily-report-export-bubble a:not(.btn):not([class*="button"]),
html.local-light-mode .daily-report-export-bubble a:not(.btn):not([class*="button"]){
color:#2e76b1 !important;
}


/* V85 — Aktuální směna: širší moderní karta + správné téma */

/* Ve všech režimech je karta o něco širší a vzdušnější. */
.garage-shift-hero{
width:min(100%, 430px) !important;
min-width:min(430px, 100%) !important;
padding:15px 18px !important;
border-radius:16px !important;
box-sizing:border-box !important;
}

.garage-shift-hero-name{
white-space:normal !important;
overflow-wrap:anywhere !important;
}

/* TMAVÝ REŽIM — karta musí být skutečně tmavá. */
html[data-theme="dark"] .garage-shift-hero,
html.local-dark-mode .garage-shift-hero{
background:
linear-gradient(145deg,rgba(15,28,39,.98) 0%,rgba(9,19,28,.98) 100%) !important;
border:1px solid rgba(123,157,186,.11) !important;
box-shadow:
0 14px 34px rgba(0,0,0,.20),
inset 0 1px 0 rgba(255,255,255,.035) !important;
color:#e5edf4 !important;
}

html[data-theme="dark"] .garage-shift-hero-label,
html.local-dark-mode .garage-shift-hero-label{
color:#8093a4 !important;
}

html[data-theme="dark"] .garage-shift-hero-name,
html.local-dark-mode .garage-shift-hero-name{
color:#e7eef5 !important;
}

html[data-theme="dark"] .garage-shift-hero-time,
html.local-dark-mode .garage-shift-hero-time{
background:rgba(50,121,180,.10) !important;
border-color:rgba(76,148,207,.12) !important;
color:#75b7eb !important;
}

/* SVĚTLÝ REŽIM — zachováme světlou moderní variantu. */
html[data-theme="light"] .garage-shift-hero,
html.local-light-mode .garage-shift-hero{
background:
linear-gradient(145deg,#ffffff 0%,#f7fafc 100%) !important;
border:1px solid rgba(44,72,98,.11) !important;
box-shadow:
0 12px 30px rgba(37,59,79,.075),
inset 0 1px 0 rgba(255,255,255,.94) !important;
color:#1e2c38 !important;
}

/* Modernější rozložení akcí uvnitř karty. */
.garage-shift-hero-actions{
gap:8px !important;
}

.garage-shift-action{
border-radius:11px !important;
padding-left:12px !important;
padding-right:12px !important;
}

/* Tablet — karta využije dostupnou šířku, ale nic nepřeteče. */
@media(max-width:1024px){
.garage-shift-hero{
width:100% !important;
min-width:0 !important;
max-width:430px !important;
}
}

/* Mobil — karta se stáhne přesně podle viewportu. */
@media(max-width:640px){
.garage-shift-hero{
width:100% !important;
max-width:100% !important;
min-width:0 !important;
padding:13px 14px !important;
border-radius:14px !important;
}
}


/* V86 — Kontrola vybavení směny: jméno zaměstnance se v této kartě nezobrazuje. */
.garage-check-card :is(
.garage-check-employee,
.garage-check-employee-name,
.equipment-check-employee,
.equipment-employee-name
){
display:none !important;
}

/* Aktuální směna — jméno zaměstnance je v tmavém režimu čistě bílé. */
html[data-theme="dark"] .garage-shift-hero .garage-shift-hero-name,
html.local-dark-mode .garage-shift-hero .garage-shift-hero-name{
color:#ffffff !important;
}

/* Světlý režim zůstává s tmavým textem. */
html[data-theme="light"] .garage-shift-hero .garage-shift-hero-name,
html.local-light-mode .garage-shift-hero .garage-shift-hero-name{
color:#1e2c38 !important;
}


/* V87 — Aktuální směna: čas OD–DO v jemné průhledné bublině */
.garage-shift-hero-time{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
width:max-content !important;
max-width:100% !important;
padding:5px 10px !important;
border-radius:999px !important;
backdrop-filter:blur(8px) !important;
-webkit-backdrop-filter:blur(8px) !important;
}

/* Tmavý režim — průhledné sklo */
html[data-theme="dark"] .garage-shift-hero .garage-shift-hero-time,
html.local-dark-mode .garage-shift-hero .garage-shift-hero-time{
background:rgba(255,255,255,.055) !important;
border:1px solid rgba(255,255,255,.09) !important;
color:#d8e8f5 !important;
box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important;
}

/* Světlý režim — průhledná světlá bublina */
html[data-theme="light"] .garage-shift-hero .garage-shift-hero-time,
html.local-light-mode .garage-shift-hero .garage-shift-hero-time{
background:rgba(255,255,255,.48) !important;
border:1px solid rgba(48,76,101,.10) !important;
color:#46677f !important;
box-shadow:inset 0 1px 0 rgba(255,255,255,.75) !important;
}


/* V88 — Kontrola vybavení směny: bez jména zaměstnance */
.garage-check-card :is(
.garage-check-employee,
.garage-check-employee-name,
.equipment-check-employee,
.equipment-employee-name,
.employee-name,
.employee-meta
){
display:none !important;
}

/* "Uložit kontrolu" méně výrazné — sekundární akce místo hlavního CTA */
.garage-check-card :is(
button[type="submit"],
.btn-save,
.save-check,
.garage-check-save
){
background:rgba(111,139,162,.10) !important;
background-image:none !important;
border:1px solid rgba(126,151,171,.16) !important;
box-shadow:none !important;
color:#8ea2b3 !important;
font-weight:600 !important;
}

/* Jemný hover v tmavém režimu */
html[data-theme="dark"] .garage-check-card :is(
button[type="submit"],
.btn-save,
.save-check,
.garage-check-save
):hover,
html.local-dark-mode .garage-check-card :is(
button[type="submit"],
.btn-save,
.save-check,
.garage-check-save
):hover{
background:rgba(122,151,174,.16) !important;
border-color:rgba(143,170,191,.24) !important;
color:#b8c7d3 !important;
}

/* Ve světlém režimu také decentní, ne výrazně barevné */
html[data-theme="light"] .garage-check-card :is(
button[type="submit"],
.btn-save,
.save-check,
.garage-check-save
),
html.local-light-mode .garage-check-card :is(
button[type="submit"],
.btn-save,
.save-check,
.garage-check-save
){
background:#f2f5f7 !important;
border-color:rgba(55,79,99,.12) !important;
color:#667b8b !important;
box-shadow:none !important;
}

html[data-theme="light"] .garage-check-card :is(
button[type="submit"],
.btn-save,
.save-check,
.garage-check-save
):hover,
html.local-light-mode .garage-check-card :is(
button[type="submit"],
.btn-save,
.save-check,
.garage-check-save
):hover{
background:#e9eef2 !important;
color:#425b6d !important;
}




/* V90 — Kontrola vybavení směny */
.garage-equipment-card .garage-equipment-shift-name{
display:none !important;
}

/* "Uložit kontrolu" používá standardní modré btn-primary,
   stejně jako ostatní hlavní ukládací akce (např. Uložit informaci). */
.garage-equipment-card .garage-equipment-save{
opacity:1 !important;
}


/* V91 — "Uložit kontrolu" ve stejném vizuálním duchu jako "Uložit informaci":
   tmavě modrá bublina + světle modrý text. */
.garage-equipment-card .btn.btn-primary.garage-equipment-save{
background:#102d43 !important;
background-image:none !important;
border:1px solid rgba(88,157,209,.16) !important;
border-radius:11px !important;
box-shadow:inset 0 1px 0 rgba(255,255,255,.025) !important;
color:#79bff2 !important;
font-weight:650 !important;
text-shadow:none !important;
opacity:1 !important;
transform:none !important;
}

/* Hover zůstává decentní, jen o něco světlejší modrá bublina. */
.garage-equipment-card .btn.btn-primary.garage-equipment-save:hover{
background:#15374f !important;
border-color:rgba(104,177,230,.22) !important;
color:#93cdf5 !important;
box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important;
transform:none !important;
}

/* Aktivní stav bez výrazného glow efektu. */
.garage-equipment-card .btn.btn-primary.garage-equipment-save:active{
background:#0d2638 !important;
border-color:rgba(88,157,209,.18) !important;
color:#73b9eb !important;
box-shadow:inset 0 1px 2px rgba(0,0,0,.14) !important;
transform:none !important;
}

/* Ve světlém režimu zůstává stejný modrý typ bubliny,
   aby byl styl "Uložit informaci" zachovaný napříč systémem. */
html[data-theme="light"] .garage-equipment-card .btn.btn-primary.garage-equipment-save,
html.local-light-mode .garage-equipment-card .btn.btn-primary.garage-equipment-save{
background:#12334b !important;
border-color:rgba(75,143,194,.16) !important;
color:#83c6f3 !important;
box-shadow:none !important;
}

html[data-theme="light"] .garage-equipment-card .btn.btn-primary.garage-equipment-save:hover,
html.local-light-mode .garage-equipment-card .btn.btn-primary.garage-equipment-save:hover{
background:#173d58 !important;
border-color:rgba(84,155,209,.21) !important;
color:#a0d4f7 !important;
}


/* V92 — Uložit kontrolu:
   tmavý režim = tmavě modrá bublina,
   světlý režim = jemná bílo-šedá bublina. */
html[data-theme="light"] .garage-equipment-card .btn.btn-primary.garage-equipment-save,
html.local-light-mode .garage-equipment-card .btn.btn-primary.garage-equipment-save{
background:linear-gradient(145deg,#ffffff 0%,#f2f5f7 100%) !important;
background-image:linear-gradient(145deg,#ffffff 0%,#f2f5f7 100%) !important;
border:1px solid rgba(48,72,91,.12) !important;
color:#55748a !important;
box-shadow:
0 5px 14px rgba(37,59,79,.045),
inset 0 1px 0 rgba(255,255,255,.95) !important;
text-shadow:none !important;
}

/* Jemný hover ve světlém režimu */
html[data-theme="light"] .garage-equipment-card .btn.btn-primary.garage-equipment-save:hover,
html.local-light-mode .garage-equipment-card .btn.btn-primary.garage-equipment-save:hover{
background:linear-gradient(145deg,#f8fafb 0%,#e9eef2 100%) !important;
background-image:linear-gradient(145deg,#f8fafb 0%,#e9eef2 100%) !important;
border-color:rgba(48,72,91,.17) !important;
color:#3f657e !important;
box-shadow:0 5px 14px rgba(37,59,79,.06) !important;
transform:none !important;
}


/* V98 - reliable sound toggle uses a real button, same switch behavior as theme */
.local-settings-sound-toggle{
    width:100%;
    border:0;
    background:transparent;
    text-align:left;
    font:inherit;
}
.local-settings-sound-toggle.is-on .local-settings-switch{
    background:rgba(72,183,132,.15);
    border-color:rgba(77,211,145,.22);
}
.local-settings-sound-toggle.is-on .local-settings-switch-knob{
    left:18px;
    background:#6de1a2;
}
.local-settings-sound-toggle.is-off .local-settings-switch-knob{
    left:2px;
}
html[data-theme="light"] .local-settings-sound-toggle{background:transparent !important;}




/* V101 — Nastavení: zvuk vzhledově stejně jako Tmavý režim */
.local-settings-sound-toggle{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    padding:12px 0 !important;
    margin:0 !important;
    border:0 !important;
    border-top:1px solid rgba(125,157,188,.06) !important;
    background:transparent !important;
    color:inherit !important;
    text-align:left !important;
    font:inherit !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    position:relative !important;
    z-index:3 !important;
}

.local-settings-sound-toggle.is-on .local-settings-switch{
    background:rgba(57,143,216,.42) !important;
    border-color:rgba(75,157,226,.38) !important;
}

.local-settings-sound-toggle.is-on .local-settings-switch-knob{
    transform:translateX(18px) !important;
    left:3px !important;
    background:#ffffff !important;
}

.local-settings-sound-toggle.is-off .local-settings-switch{
    background:rgba(126,141,153,.22) !important;
}

.local-settings-sound-toggle.is-off .local-settings-switch-knob{
    transform:translateX(0) !important;
    left:3px !important;
}

html[data-theme="light"] .local-settings-sound-toggle,
html.local-light-mode .local-settings-sound-toggle{
    background:transparent !important;
    border-top-color:rgba(54,82,107,.07) !important;
}

html[data-theme="light"] .local-settings-sound-toggle.is-on .local-settings-switch,
html.local-light-mode .local-settings-sound-toggle.is-on .local-settings-switch{
    background:rgba(57,143,216,.42) !important;
    border-color:rgba(75,157,226,.35) !important;
}

/* V101 — lehce větší písmo v panelu nastavení */
.local-settings-head strong{
    font-size:12px !important;
}
.local-settings-head span{
    font-size:9px !important;
}
.local-settings-toggle strong,
.local-settings-text-size-copy strong{
    font-size:10.5px !important;
}
.local-settings-toggle small,
.local-settings-text-size-copy small{
    font-size:8.5px !important;
    line-height:1.35 !important;
}
.local-settings-title{
    font-size:9px !important;
}
.local-settings-text-size-options button,
.local-settings-reset{
    font-size:9px !important;
}


/* V103 — Garážmistr: Podněty */
.feedback-shell{
max-width:820px;
}
.feedback-card{
padding:24px;
}
.feedback-card-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:20px;
margin-bottom:22px;
}
.feedback-card-head h2{
margin:5px 0 5px;
font-size:20px;
line-height:1.2;
color:#eef5fb;
}
.feedback-card-head p{
margin:0;
font-size:11px;
line-height:1.55;
color:#7f93a7;
}
.feedback-card-icon{
width:46px;
height:46px;
display:grid;
place-items:center;
flex:0 0 46px;
border-radius:13px;
background:rgba(64,143,207,.11);
border:1px solid rgba(84,160,222,.17);
color:#78bdf0;
}
.feedback-card-icon svg{
width:23px;
height:23px;
stroke:currentColor;
stroke-width:1.7;
}
.feedback-form{
display:grid;
gap:18px;
}
.feedback-field{
display:grid;
gap:8px;
}
.feedback-field>label{
font-size:10px;
font-weight:850;
color:#b8c8d7;
}
.feedback-field>label small{
font-size:8px;
font-weight:700;
color:#6f8498;
}
.feedback-field input[type="text"],
.feedback-field textarea{
width:100%;
box-sizing:border-box;
border:1px solid rgba(125,157,188,.12);
border-radius:12px;
background:rgba(255,255,255,.035);
color:#e8f1f8;
font:inherit;
font-size:12px;
outline:none;
transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.feedback-field input[type="text"]{
height:44px;
padding:0 13px;
}
.feedback-field textarea{
min-height:170px;
padding:13px;
line-height:1.55;
resize:vertical;
}
.feedback-field input[type="text"]:focus,
.feedback-field textarea:focus{
border-color:rgba(76,157,224,.42);
background:rgba(255,255,255,.05);
box-shadow:0 0 0 3px rgba(53,133,199,.08);
}
.feedback-type-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:9px;
}
.feedback-type-option{
position:relative;
cursor:pointer;
}
.feedback-type-option input{
position:absolute;
opacity:0;
pointer-events:none;
}
.feedback-type-option span{
min-height:42px;
display:flex;
align-items:center;
justify-content:center;
padding:8px 10px;
box-sizing:border-box;
border-radius:11px;
border:1px solid rgba(125,157,188,.10);
background:rgba(255,255,255,.025);
color:#899daf;
font-size:9.5px;
font-weight:800;
text-align:center;
transition:.18s ease;
}
.feedback-type-option input:checked+span{
background:rgba(56,139,207,.14);
border-color:rgba(75,157,224,.27);
color:#83c5f2;
}
.feedback-hint{
font-size:8px;
color:#667d91;
}
.feedback-submit{
justify-self:start;
min-width:150px;
}
.feedback-message{
display:flex;
flex-direction:column;
gap:3px;
margin-bottom:18px;
padding:12px 14px;
border-radius:11px;
font-size:10px;
}
.feedback-message.is-success{
background:rgba(54,164,111,.09);
border:1px solid rgba(68,190,127,.18);
color:#82d5a8;
}
.feedback-message.is-success span{
color:#74a98d;
}
.feedback-message.is-error{
background:rgba(205,80,80,.08);
border:1px solid rgba(221,92,92,.16);
color:#eaa0a0;
}
html[data-theme="light"] .feedback-card-head h2,
html.local-light-mode .feedback-card-head h2{
color:#263746;
}
html[data-theme="light"] .feedback-card-head p,
html.local-light-mode .feedback-card-head p{
color:#718397;
}
html[data-theme="light"] .feedback-field>label,
html.local-light-mode .feedback-field>label{
color:#425a6d;
}
html[data-theme="light"] .feedback-field input[type="text"],
html[data-theme="light"] .feedback-field textarea,
html.local-light-mode .feedback-field input[type="text"],
html.local-light-mode .feedback-field textarea{
background:#fff;
border-color:rgba(55,84,109,.12);
color:#2b3c49;
}
html[data-theme="light"] .feedback-type-option span,
html.local-light-mode .feedback-type-option span{
background:rgba(239,244,248,.88);
border-color:rgba(58,87,113,.09);
color:#607489;
}
html[data-theme="light"] .feedback-type-option input:checked+span,
html.local-light-mode .feedback-type-option input:checked+span{
background:rgba(62,139,208,.10);
border-color:rgba(67,143,211,.18);
color:#2d73af;
}
@media(max-width:650px){
.feedback-card{padding:18px}
.feedback-type-grid{grid-template-columns:1fr}
.feedback-submit{width:100%}
}


/* V104 — Garážmistr / Tabulky / dlouhodobě parkující vozidla */
.garage-table-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.garage-table-kpi{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.garage-table-kpi span{font-size:9px;font-weight:800;color:#7d91a5}
.garage-table-kpi strong{font-size:22px;color:#edf5fb}
.garage-table-message{margin-bottom:12px;padding:11px 14px;border-radius:11px;background:rgba(55,164,111,.09);border:1px solid rgba(70,190,128,.17);color:#82d5a8;font-size:10px;font-weight:800}
.garage-table-add{padding:0;margin-bottom:14px;overflow:hidden}
.garage-table-add summary{padding:14px 17px;cursor:pointer;color:#83c5f2;font-size:10px;font-weight:900;list-style:none}
.garage-table-add summary::-webkit-details-marker{display:none}
.garage-vehicle-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:4px 17px 17px}
.garage-vehicle-form label{display:grid;gap:6px}
.garage-vehicle-form label>span{font-size:8.5px;font-weight:850;color:#8296a9}
.garage-vehicle-form input,.garage-vehicle-form select,.garage-vehicle-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(125,157,188,.12);border-radius:10px;background:rgba(255,255,255,.035);color:#e8f1f8;font:inherit;font-size:10.5px;padding:10px 11px;outline:none}
.garage-vehicle-form select option{color:#172532}
.garage-vehicle-note{grid-column:span 3}
.garage-vehicle-actions{display:flex;align-items:end}
.garage-vehicle-actions .btn{width:100%}
.garage-vehicles-card{padding:0;overflow:hidden}
.garage-vehicles-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(125,157,188,.07)}
.garage-vehicles-head strong{display:block;margin-top:3px;font-size:11px;color:#dce9f3}
.garage-vehicles-scroll{overflow:auto}
.garage-vehicles-table{width:100%;min-width:1050px;border-collapse:collapse;font-size:9.5px}
.garage-vehicles-table th{padding:10px 9px;text-align:left;color:#71869a;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;background:rgba(255,255,255,.018);border-bottom:1px solid rgba(125,157,188,.08);white-space:nowrap}
.garage-vehicles-table td{padding:10px 9px;color:#aebdca;border-bottom:1px solid rgba(125,157,188,.055);vertical-align:middle}
.garage-vehicles-table tbody tr:hover{background:rgba(255,255,255,.018)}
.vehicle-plate{font-weight:900;color:#e4eef6!important;white-space:nowrap}
.vehicle-days{font-weight:900}
.vehicle-note{max-width:220px;white-space:normal}
.vehicle-status{display:inline-flex;padding:5px 7px;border-radius:999px;font-size:7.5px;font-weight:950;white-space:nowrap}
.vehicle-status.is-ok{background:rgba(55,164,111,.09);color:#78cea0;border:1px solid rgba(68,190,127,.14)}
.vehicle-status.is-watch{background:rgba(221,151,54,.09);color:#e2b66f;border:1px solid rgba(222,155,65,.16)}
.vehicle-status.is-danger{background:rgba(205,74,74,.10);color:#ee9292;border:1px solid rgba(221,83,83,.18)}
.garage-vehicle-delete{width:26px;height:26px;border-radius:8px;border:1px solid rgba(200,88,88,.12);background:rgba(200,70,70,.06);color:#c77f7f;cursor:pointer}
.garage-vehicles-empty{text-align:center!important;padding:28px!important;color:#70869a!important}
html[data-theme="light"] .garage-table-kpi strong,html.local-light-mode .garage-table-kpi strong{color:#263746}
html[data-theme="light"] .garage-vehicle-form input,html[data-theme="light"] .garage-vehicle-form select,html[data-theme="light"] .garage-vehicle-form textarea,html.local-light-mode .garage-vehicle-form input,html.local-light-mode .garage-vehicle-form select,html.local-light-mode .garage-vehicle-form textarea{background:#fff;color:#2b3c49;border-color:rgba(55,84,109,.12)}
html[data-theme="light"] .garage-vehicles-head strong,html.local-light-mode .garage-vehicles-head strong{color:#344b5e}
html[data-theme="light"] .garage-vehicles-table th,html.local-light-mode .garage-vehicles-table th{background:rgba(237,242,246,.72);color:#63788b}
html[data-theme="light"] .garage-vehicles-table td,html.local-light-mode .garage-vehicles-table td{color:#53697a;border-bottom-color:rgba(55,84,109,.07)}
html[data-theme="light"] .vehicle-plate,html.local-light-mode .vehicle-plate{color:#253b4c!important}
@media(max-width:1000px){.garage-table-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.garage-vehicle-form{grid-template-columns:repeat(2,minmax(0,1fr))}.garage-vehicle-note{grid-column:span 2}}
@media(max-width:600px){.garage-table-kpis{grid-template-columns:1fr 1fr}.garage-table-kpi{padding:13px}.garage-table-kpi strong{font-size:18px}.garage-vehicle-form{grid-template-columns:1fr}.garage-vehicle-note{grid-column:auto}}


/* V105 — vyhledávání v evidenci vozidel */
.garage-vehicle-search-wrap{
position:relative;
width:min(430px,48vw);
}
.garage-vehicle-search{
width:100%;
height:38px;
box-sizing:border-box;
padding:0 36px 0 34px;
border-radius:10px;
border:1px solid rgba(125,157,188,.11);
background:rgba(255,255,255,.028);
color:#e8f1f8;
font:inherit;
font-size:10px;
outline:none;
transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.garage-vehicle-search:focus{
border-color:rgba(75,157,224,.34);
background:rgba(255,255,255,.045);
box-shadow:0 0 0 3px rgba(53,133,199,.07);
}
.garage-vehicle-search::placeholder{color:#657b8f}
.garage-vehicle-search-icon{
position:absolute;
left:12px;
top:50%;
transform:translateY(-50%);
font-size:16px;
line-height:1;
color:#71879b;
pointer-events:none;
}
.garage-vehicle-search-clear{
position:absolute;
right:7px;
top:50%;
transform:translateY(-50%);
width:25px;
height:25px;
display:none;
place-items:center;
padding:0;
border:0;
border-radius:7px;
background:rgba(255,255,255,.04);
color:#8296a9;
font-size:16px;
cursor:pointer;
}
.garage-vehicle-search-clear.is-visible{display:grid}
.garage-vehicles-no-results td{
padding:30px 16px!important;
text-align:center!important;
color:#70869a!important;
}
.garage-vehicles-table tr[hidden]{display:none!important}
html[data-theme="light"] .garage-vehicle-search,
html.local-light-mode .garage-vehicle-search{
background:#fff;
color:#2b3c49;
border-color:rgba(55,84,109,.12);
}
html[data-theme="light"] .garage-vehicle-search-clear,
html.local-light-mode .garage-vehicle-search-clear{
background:rgba(55,84,109,.05);
color:#657b8e;
}
@media(max-width:760px){
.garage-vehicles-head{align-items:stretch;flex-direction:column;gap:12px}
.garage-vehicle-search-wrap{width:100%}
}


/* V106 — výraznější SPZ + malé značkové badge */
.vehicle-plate-cell{
white-space:nowrap;
}
.license-plate{
display:inline-flex;
align-items:stretch;
min-width:92px;
height:27px;
overflow:hidden;
border:1px solid rgba(205,215,224,.80);
border-radius:5px;
background:linear-gradient(180deg,#fbfcfd 0%,#e8edf1 100%);
box-shadow:0 1px 0 rgba(255,255,255,.65) inset,0 2px 8px rgba(0,0,0,.10);
color:#17202a;
font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
font-weight:950;
letter-spacing:.055em;
}
.license-plate-eu{
width:20px;
display:flex;
align-items:flex-end;
justify-content:center;
padding:0 0 4px;
box-sizing:border-box;
background:linear-gradient(180deg,#1f5ea8 0%,#174b8a 100%);
color:#fff;
font-size:6px;
font-family:Arial,sans-serif;
font-weight:900;
letter-spacing:.02em;
position:relative;
}
.license-plate-eu:before{
content:"★";
position:absolute;
top:3px;
left:50%;
transform:translateX(-50%);
font-size:6px;
color:#ffd84a;
}
.license-plate-number{
display:flex;
align-items:center;
justify-content:center;
flex:1;
padding:0 8px;
font-size:10px;
line-height:1;
}
.vehicle-brand{
display:inline-flex;
align-items:center;
gap:7px;
min-width:112px;
}
.vehicle-brand-mark{
width:25px;
height:25px;
display:grid;
place-items:center;
flex:0 0 25px;
border-radius:50%;
box-sizing:border-box;
border:1px solid rgba(140,163,184,.20);
background:rgba(255,255,255,.055);
color:#dce9f3;
font-size:7px;
font-weight:950;
letter-spacing:-.03em;
box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.vehicle-brand-name{
font-size:9.5px;
font-weight:800;
color:#b7c6d3;
white-space:nowrap;
}
.vehicle-brand-mark.is-skoda{border-radius:8px;color:#8dd59f;background:rgba(54,139,79,.12);border-color:rgba(85,178,108,.18)}
.vehicle-brand-mark.is-bmw{color:#8ec7f2;background:rgba(52,121,176,.13);border-color:rgba(77,150,208,.19)}
.vehicle-brand-mark.is-mercedes{color:#dce4e9;background:rgba(178,190,200,.08);border-color:rgba(178,190,200,.18);font-size:12px}
.vehicle-brand-mark.is-volkswagen{color:#8ec9ef;background:rgba(39,107,158,.14);border-color:rgba(60,137,193,.20)}
.vehicle-brand-mark.is-toyota{color:#f19a9a;background:rgba(177,61,61,.10);border-color:rgba(207,83,83,.17)}
.vehicle-brand-mark.is-peugeot{color:#9ccdf0;background:rgba(54,112,159,.11);border-color:rgba(76,142,197,.17)}
.vehicle-brand-mark.is-audi{color:#e0e5e9;background:rgba(169,178,184,.07);font-size:12px}
.vehicle-brand-mark.is-porsche{color:#e2bc72;background:rgba(167,117,38,.10);border-color:rgba(199,146,61,.17)}
.vehicle-brand-mark.is-volvo{color:#9bc5e3;background:rgba(56,101,136,.11)}
.vehicle-brand-mark.is-hyundai{color:#88bce4;background:rgba(46,100,145,.11)}
.vehicle-brand-mark.is-dacia{color:#9bcfe5;background:rgba(51,112,140,.11)}
.vehicle-brand-mark.is-mini{border-radius:8px;color:#dce5eb;font-size:6px}
.vehicle-brand-mark.is-mazda{color:#93b9dd;background:rgba(52,94,134,.11)}
.vehicle-brand-mark.is-ford{color:#8fc2ed;background:rgba(39,94,148,.12)}
.vehicle-brand-mark.is-alfa-romeo{color:#e59b9b;background:rgba(148,52,52,.10)}
.vehicle-brand-mark.is-kia{border-radius:8px;color:#e9a0a0;background:rgba(148,54,54,.10);font-size:6px}
.vehicle-brand-mark.is-honda{color:#d9e2e8}
.vehicle-brand-mark.is-maserati{color:#a8c9e6}
.vehicle-brand-mark.is-citroen{color:#e59a9a}
.vehicle-brand-mark.is-renault{border-radius:7px;color:#e2c273;background:rgba(166,127,39,.10);font-size:10px}
.vehicle-brand-mark.is-nissan{color:#d8e0e6}
.vehicle-brand-mark.is-chevrolet{border-radius:7px;color:#e2c37d;background:rgba(156,119,35,.10);font-size:12px}
.vehicle-brand-mark.is-jaguar{color:#9fcead;background:rgba(51,128,77,.10)}
.vehicle-brand-mark.is-fiat{border-radius:8px;color:#efb0b0;background:rgba(148,54,54,.10);font-size:6px}
.vehicle-brand-mark.is-opel{color:#e2c66f;background:rgba(156,126,34,.10);font-size:10px}
html[data-theme="light"] .vehicle-brand-name,
html.local-light-mode .vehicle-brand-name{
color:#506679;
}
html[data-theme="light"] .vehicle-brand-mark,
html.local-light-mode .vehicle-brand-mark{
box-shadow:none;
}


/* V107 — CZ SPZ + PNG značky vozidel */
.license-plate{
height:30px!important;
min-width:104px!important;
border:2px solid #1c2228!important;
border-radius:4px!important;
background:#f8f9f7!important;
box-shadow:inset 0 0 0 1px rgba(120,128,134,.24),0 2px 6px rgba(0,0,0,.12)!important;
color:#111820!important;
}
.license-plate-eu{
width:21px!important;
background:#174f9c!important;
color:#fff!important;
padding-bottom:3px!important;
font-size:6px!important;
}
.license-plate-eu:before{
content:"✦"!important;
color:#ffd83d!important;
font-size:7px!important;
top:3px!important;
}
.license-plate-number{
font-family:Arial,Helvetica,sans-serif!important;
font-size:11px!important;
font-weight:900!important;
letter-spacing:.08em!important;
padding:0 9px!important;
}
.vehicle-brand-logo-wrap{
width:32px;
height:28px;
display:grid;
place-items:center;
flex:0 0 32px;
overflow:hidden;
border-radius:7px;
background:rgba(255,255,255,.92);
border:1px solid rgba(157,175,189,.16);
}
.vehicle-brand-logo{
display:block;
width:29px;
height:24px;
object-fit:contain;
}
.vehicle-brand-logo-fallback{
color:#71879a;
font-size:10px;
font-weight:900;
}


/* V108 — skutečná PNG loga dodaná uživatelem */
.vehicle-brand{
    display:inline-flex;
    align-items:center;
    gap:7px;
}
.vehicle-brand-logo-wrap{
    width:34px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 34px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.vehicle-brand-logo{
    display:block!important;
    width:30px!important;
    height:28px!important;
    object-fit:contain!important;
    filter:none!important;
}
.vehicle-brand-logo-fallback{
    width:28px!important;
    height:28px!important;
    border:1px solid rgba(125,157,188,.14)!important;
    border-radius:7px!important;
    background:rgba(255,255,255,.035)!important;
    color:#71879a!important;
}
html[data-theme="light"] .vehicle-brand-logo-wrap,
html.local-light-mode .vehicle-brand-logo-wrap{
    background:transparent!important;
}


/* V109 — REAL PNG LOGOS: direct image, no white bubble */
.vehicle-brand{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
}
.vehicle-brand-logo-real{
    display:block!important;
    width:34px!important;
    height:30px!important;
    flex:0 0 34px!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    opacity:1!important;
}
.vehicle-brand-logo-fallback{
    width:30px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 30px!important;
    border:1px solid rgba(125,157,188,.14)!important;
    border-radius:7px!important;
    background:transparent!important;
    color:#71879a!important;
    font-size:10px!important;
    font-weight:900!important;
}
.vehicle-brand .vehicle-brand-logo-wrap{
    display:none!important;
}


/* V110 — jemně vyčištěná loga z původních podkladů */
.vehicle-brand-logo-real{
    width:36px!important;
    height:32px!important;
    flex:0 0 36px!important;
    object-fit:contain!important;
}


/* V112 — FIX: skutečný markup SPZ (.license-plate) */
.vehicle-plate-cell .license-plate{
    display:inline-flex!important;
    align-items:stretch!important;
    position:relative!important;
    box-sizing:border-box!important;
    height:34px!important;
    min-width:132px!important;
    overflow:hidden!important;
    border:2px solid #111!important;
    border-radius:7px!important;
    background:#fafaf8!important;
    color:#050505!important;
    box-shadow:
        inset 0 0 0 2px #f7f7f5,
        inset 0 0 0 3px #252525,
        0 1px 2px rgba(0,0,0,.22)!important;
}
.vehicle-plate-cell .license-plate-eu{
    position:relative!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    width:23px!important;
    flex:0 0 23px!important;
    height:100%!important;
    padding:0 0 3px!important;
    border:0!important;
    border-radius:0!important;
    background:#0646ad!important;
    color:#fff!important;
    font-family:Arial,sans-serif!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:0!important;
}
.vehicle-plate-cell .license-plate-eu::before{
    content:"★  ★\A ★  ★\A  ★"!important;
    white-space:pre!important;
    position:absolute!important;
    top:4px!important;
    left:3px!important;
    width:17px!important;
    transform:none!important;
    color:#ffd400!important;
    font-family:Arial,sans-serif!important;
    font-size:4px!important;
    line-height:4px!important;
    letter-spacing:0!important;
    text-align:center!important;
}
.vehicle-plate-cell .license-plate-number{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:1!important;
    box-sizing:border-box!important;
    min-width:105px!important;
    height:100%!important;
    padding:0 8px 1px!important;
    background:#fafaf8!important;
    color:#050505!important;
    font-family:"Arial Narrow","Liberation Sans Narrow",Arial,sans-serif!important;
    font-size:19px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:1px!important;
    text-shadow:.35px 0 #050505!important;
    white-space:nowrap!important;
}
html[data-theme="light"] .vehicle-plate-cell .license-plate,
html.local-light-mode .vehicle-plate-cell .license-plate,
html[data-theme="light"] .vehicle-plate-cell .license-plate-number,
html.local-light-mode .vehicle-plate-cell .license-plate-number{
    background:#fafaf8!important;
    color:#050505!important;
}


/* V113 — měsíční evidence dlouhodobého parkování */
.garage-period-badge{
    display:inline-flex!important;
    align-items:center!important;
    margin-top:9px!important;
    padding:5px 9px!important;
    border:1px solid rgba(82,155,218,.18)!important;
    border-radius:999px!important;
    background:rgba(57,143,216,.09)!important;
    color:#a8c8e3!important;
    font-size:10px!important;
    font-weight:800!important;
}
.garage-month-toolbar{
    margin-bottom:12px!important;
    padding:13px 14px!important;
}
.garage-month-toolbar-main{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
}
.garage-month-toolbar-main strong{
    display:block!important;
    margin-top:3px!important;
    font-size:14px!important;
}
.garage-month-actions{
    display:flex!important;
    gap:8px!important;
    flex-wrap:wrap!important;
}
.garage-month-archive{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    flex-wrap:wrap!important;
    margin-top:12px!important;
    padding-top:11px!important;
    border-top:1px solid rgba(125,157,188,.09)!important;
}
.garage-month-chip{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    padding:6px 9px!important;
    border:1px solid rgba(125,157,188,.12)!important;
    border-radius:8px!important;
    background:rgba(255,255,255,.025)!important;
    color:#aebdca!important;
    text-decoration:none!important;
    font-size:10px!important;
    font-weight:750!important;
}
.garage-month-chip small{
    color:#71869a!important;
    font-size:8px!important;
}
.garage-month-chip:hover,
.garage-month-chip.is-active{
    border-color:rgba(64,151,225,.32)!important;
    background:rgba(57,143,216,.12)!important;
    color:#dcebf7!important;
}
.garage-month-empty{
    color:#72879a!important;
    font-size:9px!important;
}
.garage-archive-readonly{
    margin:0 0 12px!important;
    padding:9px 11px!important;
    border:1px solid rgba(125,157,188,.10)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.025)!important;
    color:#8397a9!important;
    font-size:10px!important;
}
@media (max-width:720px){
    .garage-month-toolbar-main{
        align-items:flex-start!important;
        flex-direction:column!important;
    }
}


/* V114 — čistší měsíční tabulka */
.garage-table-page-head{margin-bottom:10px!important}
.garage-table-page-head .page-description{margin-top:5px!important}
.garage-month-toolbar{padding:11px 13px!important;margin-bottom:10px!important}
.garage-month-toolbar-main{min-height:32px!important}
.garage-month-actions{align-items:center!important;gap:6px!important}
.garage-compact-action{
    min-height:30px!important;height:30px!important;padding:0 10px!important;
    border-radius:8px!important;font-size:10px!important;line-height:28px!important;white-space:nowrap!important
}
button.garage-compact-action{line-height:1!important}
.garage-month-archive{margin-top:9px!important;padding-top:9px!important}
.garage-table-kpis{gap:8px!important;margin-bottom:10px!important}
.garage-table-add-collapsible{margin-bottom:10px!important;padding:12px 13px!important}
.garage-table-add-collapsible[hidden]{display:none!important}
.garage-add-panel-head{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    gap:12px!important;margin-bottom:10px!important
}
.garage-add-panel-head strong{font-size:12px!important}
.garage-add-panel-close{
    width:26px!important;height:26px!important;display:grid!important;place-items:center!important;padding:0!important;
    border:1px solid rgba(125,157,188,.12)!important;border-radius:7px!important;
    background:rgba(255,255,255,.03)!important;color:#8ea2b5!important;font-size:17px!important;cursor:pointer!important
}
.garage-vehicle-form{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}
.garage-vehicle-actions{align-self:end!important}
.vehicle-days{white-space:nowrap!important}
.vehicle-days-value{display:inline-block!important;min-width:18px!important;text-align:center!important;font-weight:850!important}
.vehicle-day-plus-form{display:inline-block!important;margin:0 0 0 5px!important;vertical-align:middle!important}
.vehicle-day-plus{
    width:22px!important;height:22px!important;display:inline-grid!important;place-items:center!important;padding:0!important;
    border:1px solid rgba(64,151,225,.26)!important;border-radius:6px!important;background:rgba(57,143,216,.10)!important;
    color:#8ec7f3!important;font-size:15px!important;font-weight:900!important;line-height:1!important;cursor:pointer!important
}
.vehicle-day-plus:hover{
    background:rgba(57,143,216,.20)!important;border-color:rgba(64,151,225,.46)!important;color:#d7efff!important
}
@media (max-width:980px){.garage-vehicle-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:620px){.garage-vehicle-form{grid-template-columns:1fr!important}}

/* V115 — průhledná loga, Škoda beze změny */
.vehicle-brand-logo-real,.vehicle-brand,.vehicle-brand-logo-wrap{background:transparent!important;box-shadow:none!important}
.vehicle-brand-logo-real{border:0!important;border-radius:0!important;padding:0!important}

/* V116 — všechna loga kromě Škody bez bílé barvy i uvnitř */
.vehicle-brand-logo-real,.vehicle-brand,.vehicle-brand-logo-wrap{
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
}
.vehicle-brand-logo-real{padding:0!important;border-radius:0!important}


/* V117 FINAL LOGO OVERRIDE — žádné bílé pozadí ani obal */
.vehicle-brand,
.vehicle-brand-logo-wrap,
.vehicle-brand-logo-real,
.vehicle-brand img,
td .vehicle-brand,
td .vehicle-brand img{
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
}
.vehicle-brand-logo-real,
.vehicle-brand img{
    display:block!important;
    width:38px!important;
    height:32px!important;
    object-fit:contain!important;
    padding:0!important;
    margin:0!important;
    border-radius:0!important;
    opacity:1!important;
    mix-blend-mode:normal!important;
}


/* V118 — definitivní transparentní zobrazení log */
.vehicle-brand,
.vehicle-brand-logo-real,
.vehicle-brand-logo-wrap,
.vehicle-brand-name{
    background:transparent!important;
}
.vehicle-brand-logo-real{
    border:none!important;
    outline:none!important;
    box-shadow:none!important;
    padding:0!important;
    border-radius:0!important;
}


/* V119 — čistší hierarchie bez duplicit */
.garage-clean-head{margin-bottom:14px!important}
.garage-clean-head .page-title{margin-bottom:4px!important}
.garage-clean-head .page-description{margin:0!important;color:#7f93a6!important}
.garage-period-badge,.garage-month-toolbar{display:none!important}

.garage-command-bar{
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
    min-height:54px!important;margin-bottom:12px!important;padding:10px 12px!important;
    border:1px solid rgba(125,157,188,.10)!important;border-radius:12px!important;
    background:rgba(18,28,38,.58)!important;box-shadow:0 8px 24px rgba(0,0,0,.08)!important;
    backdrop-filter:blur(10px)!important
}
.garage-period-control{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.garage-period-label{
    color:#6f8497!important;font-size:9px!important;font-weight:800!important;
    letter-spacing:.06em!important;text-transform:uppercase!important
}
.garage-period-select-wrap{display:flex!important;align-items:center!important;gap:7px!important}
.garage-period-select{
    min-width:138px!important;height:32px!important;padding:0 28px 0 10px!important;
    border:1px solid rgba(125,157,188,.13)!important;border-radius:8px!important;outline:none!important;
    background:rgba(255,255,255,.035)!important;color:#d7e2eb!important;font:inherit!important;
    font-size:10.5px!important;font-weight:800!important;cursor:pointer!important
}
.garage-period-select:focus{
    border-color:rgba(64,151,225,.38)!important;box-shadow:0 0 0 3px rgba(57,143,216,.08)!important
}
.garage-period-state{
    display:inline-flex!important;align-items:center!important;height:22px!important;padding:0 7px!important;
    border-radius:999px!important;background:rgba(57,143,216,.09)!important;color:#86b9df!important;
    font-size:8.5px!important;font-weight:800!important
}
.garage-command-actions{display:flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important}
.garage-action{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
    height:32px!important;padding:0 11px!important;border:1px solid rgba(125,157,188,.12)!important;
    border-radius:8px!important;background:rgba(255,255,255,.035)!important;color:#aebfce!important;
    text-decoration:none!important;font:inherit!important;font-size:10px!important;font-weight:800!important;cursor:pointer!important
}
.garage-action:hover{border-color:rgba(125,157,188,.24)!important;background:rgba(255,255,255,.06)!important;color:#e1edf6!important}
.garage-action-primary{border-color:rgba(64,151,225,.28)!important;background:rgba(57,143,216,.14)!important;color:#b9ddf6!important}
.garage-action-plus{font-size:15px!important;line-height:1!important;margin-top:-1px!important}

.garage-table-kpis{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;margin-bottom:12px!important
}
.garage-table-kpis .card,.garage-table-kpis>*{
    min-height:66px!important;padding:11px 12px!important;border-radius:10px!important;box-shadow:none!important
}
.garage-table-kpis .stat-label{font-size:8.5px!important;color:#708599!important}
.garage-table-kpis .stat-value,.garage-table-kpis strong{font-size:18px!important}
.garage-vehicles-card{border-radius:12px!important;overflow:hidden!important}
.garage-vehicles-toolbar{padding:10px 12px!important;border-bottom:1px solid rgba(125,157,188,.08)!important}
.garage-search-count[hidden]{display:none!important}
.garage-vehicles-table th{font-size:8.5px!important;letter-spacing:.035em!important;color:#6f8396!important}
.garage-vehicles-table td{vertical-align:middle!important}
.garage-table-add-collapsible{border-radius:12px!important;box-shadow:none!important}

@media (max-width:760px){
    .garage-command-bar{align-items:stretch!important;flex-direction:column!important}
    .garage-command-actions{justify-content:flex-end!important}
    .garage-table-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* V120 — rozcestník tabulek Garážmistra */
.garage-tables-hub-head{
    margin-bottom:16px!important;
}
.garage-table-picker{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    max-width:880px!important;
}
.garage-table-tile{
    min-height:88px!important;
    display:flex!important;
    align-items:center!important;
    gap:13px!important;
    padding:15px!important;
    border:1px solid rgba(125,157,188,.11)!important;
    border-radius:13px!important;
    background:rgba(18,28,38,.58)!important;
    color:inherit!important;
    text-decoration:none!important;
    box-shadow:0 8px 24px rgba(0,0,0,.07)!important;
    transition:transform .16s ease,border-color .16s ease,background .16s ease!important;
}
a.garage-table-tile:hover{
    transform:translateY(-2px)!important;
    border-color:rgba(64,151,225,.30)!important;
    background:rgba(25,39,52,.72)!important;
}
.garage-table-tile-icon{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    border:1px solid rgba(64,151,225,.16)!important;
    background:rgba(57,143,216,.09)!important;
    color:#86bde5!important;
    font-size:20px!important;
}
.garage-table-tile-copy{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:4px!important;
}
.garage-table-tile-copy strong{
    color:#dbe7f0!important;
    font-size:12px!important;
    line-height:1.25!important;
}
.garage-table-tile-copy small{
    color:#71879a!important;
    font-size:9px!important;
    line-height:1.35!important;
}
.garage-table-tile-arrow{
    margin-left:auto!important;
    color:#5d7589!important;
    font-size:22px!important;
    line-height:1!important;
}
.garage-table-tile-placeholder{
    opacity:.42!important;
    box-shadow:none!important;
}
.garage-tables-back{
    display:inline-flex!important;
    margin-bottom:8px!important;
    color:#718ca3!important;
    font-size:9.5px!important;
    font-weight:750!important;
    text-decoration:none!important;
}
.garage-tables-back:hover{
    color:#a8cbe5!important;
}
@media (max-width:720px){
    .garage-table-picker{grid-template-columns:1fr!important}
}


/* V121 — denní historie umístění dlouhodobě parkujících vozidel */
.vehicle-location-cell{
    min-width:112px!important;
}
.vehicle-location-current{
    display:block!important;
    color:#cbd7e1!important;
    font-weight:750!important;
    white-space:nowrap!important;
}
.vehicle-location-history{
    display:inline-flex!important;
    margin-top:3px!important;
    color:#6eaee0!important;
    font-size:8.5px!important;
    font-weight:800!important;
    text-decoration:none!important;
}
.vehicle-location-history:hover{color:#a9d5f4!important}

.garage-daily-card{
    margin:0 0 12px!important;
    border:1px solid rgba(71,151,214,.17)!important;
    border-radius:14px!important;
    background:linear-gradient(180deg,rgba(20,32,44,.86),rgba(15,25,35,.78))!important;
    box-shadow:0 14px 34px rgba(0,0,0,.10)!important;
    overflow:hidden!important;
}
.garage-daily-head{
    display:flex!important;
    justify-content:space-between!important;
    gap:16px!important;
    padding:14px 15px 12px!important;
    border-bottom:1px solid rgba(125,157,188,.08)!important;
}
.garage-daily-kicker{
    display:block!important;
    margin-bottom:6px!important;
    color:#6f8ba2!important;
    font-size:8.5px!important;
    font-weight:850!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
}
.garage-daily-title-row{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
}
.garage-daily-title-row>strong{
    color:#dce7ef!important;
    font-size:12px!important;
}
.garage-daily-head p{
    margin:7px 0 0!important;
    color:#708598!important;
    font-size:9px!important;
}
.garage-daily-plate{transform:scale(.92);transform-origin:left center}
.garage-daily-close{
    width:28px!important;height:28px!important;display:grid!important;place-items:center!important;
    flex:0 0 28px!important;border-radius:8px!important;background:rgba(255,255,255,.035)!important;
    color:#7890a3!important;text-decoration:none!important;font-size:18px!important
}
.garage-daily-close:hover{background:rgba(255,255,255,.07)!important;color:#d9e5ee!important}

.garage-daily-bulk{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    padding:10px 12px!important;
    border-bottom:1px solid rgba(125,157,188,.07)!important;
}
.garage-daily-bulk-label{
    margin-right:3px!important;color:#71879a!important;font-size:8.5px!important;font-weight:850!important;
    text-transform:uppercase!important;letter-spacing:.05em!important
}
.garage-daily-bulk select,
.garage-day-cell select{
    height:30px!important;
    border:1px solid rgba(125,157,188,.13)!important;
    border-radius:7px!important;
    outline:none!important;
    background:#15212c!important;
    color:#cddae4!important;
    font:inherit!important;
    font-size:9px!important;
}
.garage-daily-bulk select{min-width:145px!important;padding:0 8px!important}
.garage-day-cell select{width:100%!important;padding:0 6px!important}
.garage-daily-bulk select:focus,.garage-day-cell select:focus{
    border-color:rgba(68,154,222,.42)!important;box-shadow:0 0 0 3px rgba(57,143,216,.07)!important
}

.garage-daily-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:6px!important;
    padding:11px 12px!important;
}
.garage-day-cell{
    min-width:0!important;
    display:block!important;
    padding:8px!important;
    border:1px solid rgba(125,157,188,.08)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.018)!important;
    transition:border-color .15s ease,background .15s ease!important;
}
.garage-day-cell.is-today{
    border-color:rgba(62,151,221,.34)!important;
    background:rgba(57,143,216,.055)!important;
}
.garage-day-cell.is-edited{
    border-color:rgba(91,176,124,.28)!important;
    background:rgba(73,153,105,.045)!important;
}
.garage-day-cell-head{
    display:flex!important;
    align-items:baseline!important;
    justify-content:space-between!important;
    gap:5px!important;
    margin-bottom:6px!important;
}
.garage-day-cell-head strong{color:#d9e5ee!important;font-size:11px!important}
.garage-day-cell-head small{color:#647b8f!important;font-size:8px!important;font-weight:800!important}
.garage-day-readonly{
    display:block!important;
    min-height:22px!important;
    color:#73899b!important;
    font-size:9px!important;
    font-weight:750!important;
}
.garage-day-cell.has-location .garage-day-readonly{color:#b9d8ee!important}
.garage-daily-footer{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:10px 12px!important;
    border-top:1px solid rgba(125,157,188,.07)!important;
}
.garage-daily-footer>span{color:#647b8e!important;font-size:8.5px!important}

@media(max-width:980px){
    .garage-daily-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:680px){
    .garage-daily-bulk{align-items:stretch!important;flex-direction:column!important}
    .garage-daily-bulk select{width:100%!important}
    .garage-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .garage-daily-footer{align-items:stretch!important;flex-direction:column!important}
}


/* V122 — den po dni + minimalistické stavové ikony */
.garage-daily-bulk{
    display:none!important;
}
.garage-daily-grid{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:7px!important;
    padding:12px!important;
}
.garage-day-cell{
    min-height:72px!important;
    padding:8px!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.022)!important;
}
.garage-day-cell-head{
    margin-bottom:7px!important;
}
.garage-day-cell-head strong{
    font-size:12px!important;
    font-weight:900!important;
    letter-spacing:-.02em!important;
}
.garage-day-cell-head small{
    font-size:7.5px!important;
    opacity:.68!important;
}
.garage-day-cell select{
    height:31px!important;
    border-radius:7px!important;
    font-size:8.7px!important;
}
.garage-daily-head p{
    max-width:620px!important;
}
.garage-daily-footer{
    padding-top:11px!important;
    padding-bottom:11px!important;
}

.vehicle-status-cell{
    width:54px!important;
    text-align:center!important;
}
.vehicle-status-icon{
    width:26px!important;
    height:26px!important;
    display:inline-grid!important;
    place-items:center!important;
    border-radius:8px!important;
    border:1px solid transparent!important;
}
.vehicle-status-icon svg{
    width:16px!important;
    height:16px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}
.vehicle-status-icon.is-danger{
    color:#ff6b72!important;
    background:rgba(221,63,72,.12)!important;
    border-color:rgba(235,75,84,.18)!important;
}
.vehicle-status-icon.is-watch{
    color:#f3a947!important;
    background:rgba(222,145,46,.11)!important;
    border-color:rgba(234,156,55,.18)!important;
}
.vehicle-status-icon.is-ok{
    color:#65c98a!important;
    background:rgba(67,170,108,.11)!important;
    border-color:rgba(81,187,122,.17)!important;
}
.vehicle-status-icon.is-danger:hover,
.vehicle-status-icon.is-watch:hover,
.vehicle-status-icon.is-ok:hover{
    transform:translateY(-1px)!important;
}
@media(max-width:980px){
    .garage-daily-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:680px){
    .garage-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* V123 — čistší denní editor, bez mazání vozidel */
.garage-daily-card{
    border:1px solid rgba(96,156,205,.12)!important;
    border-radius:16px!important;
    background:
        radial-gradient(circle at 0 0,rgba(61,139,201,.07),transparent 34%),
        rgba(14,23,32,.82)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.13)!important;
}
.garage-daily-head{
    padding:16px 17px 14px!important;
    background:rgba(255,255,255,.012)!important;
}
.garage-daily-kicker{
    color:#6d9fc4!important;
}
.garage-daily-grid{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:8px!important;
    padding:14px!important;
}
.garage-day-cell{
    min-height:78px!important;
    padding:9px!important;
    border:1px solid rgba(128,158,183,.075)!important;
    border-radius:11px!important;
    background:rgba(255,255,255,.018)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important;
}
.garage-day-cell:hover{
    border-color:rgba(79,153,210,.20)!important;
    background:rgba(51,113,161,.035)!important;
}
.garage-day-cell.is-today{
    border-color:rgba(65,153,220,.34)!important;
    background:rgba(53,135,198,.065)!important;
}
.garage-day-cell.is-edited{
    border-color:rgba(77,167,117,.27)!important;
    background:rgba(65,143,98,.05)!important;
}
.garage-day-cell-head{
    margin-bottom:8px!important;
}
.garage-day-cell-head strong{
    color:#e1ebf2!important;
    font-size:12.5px!important;
}
.garage-day-cell-head small{
    color:#688196!important;
    font-size:7.5px!important;
}
.garage-day-cell select{
    width:100%!important;
    height:32px!important;
    padding:0 26px 0 8px!important;
    border:1px solid rgba(118,151,177,.10)!important;
    border-radius:8px!important;
    background:#111d27!important;
    color:#c6d5e0!important;
    font-size:8.8px!important;
    font-weight:700!important;
    box-shadow:none!important;
}
.garage-day-cell select:focus{
    border-color:rgba(66,151,217,.38)!important;
    box-shadow:0 0 0 3px rgba(57,143,216,.055)!important;
}
.garage-day-cell select option{
    background:#111d27!important;
    color:#cbd8e2!important;
}
.garage-day-readonly{
    color:#60788b!important;
}
.garage-day-cell.has-location .garage-day-readonly{
    color:#b8d6eb!important;
}
.garage-daily-footer{
    padding:12px 14px!important;
    background:rgba(255,255,255,.01)!important;
}
.garage-daily-footer .garage-action-primary{
    min-width:150px!important;
}
@media(max-width:980px){
    .garage-daily-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:680px){
    .garage-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* V124 — rozbalovací nápověda parkovací evidence */
.garage-help{
    margin:0 0 10px!important;
    border:1px solid rgba(111,155,190,.10)!important;
    border-radius:11px!important;
    background:rgba(17,27,37,.44)!important;
    overflow:hidden!important;
}
.garage-help summary{
    min-height:43px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    padding:8px 11px!important;
    list-style:none!important;
    cursor:pointer!important;
    user-select:none!important;
}
.garage-help summary::-webkit-details-marker{display:none!important}
.garage-help-icon{
    width:25px!important;height:25px!important;display:grid!important;place-items:center!important;
    flex:0 0 25px!important;border-radius:7px!important;
    background:rgba(57,143,216,.09)!important;border:1px solid rgba(74,151,211,.15)!important;
    color:#82b7dc!important;font-size:11px!important;font-weight:900!important
}
.garage-help summary>span:nth-child(2){
    min-width:0!important;display:flex!important;flex-direction:column!important;gap:1px!important
}
.garage-help summary strong{color:#cbd9e4!important;font-size:9.5px!important}
.garage-help summary small{color:#667d90!important;font-size:8px!important}
.garage-help-chevron{
    margin-left:auto!important;color:#61798d!important;font-size:15px!important;
    transition:transform .16s ease!important
}
.garage-help[open] .garage-help-chevron{transform:rotate(180deg)!important}
.garage-help-content{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;padding:0 11px 11px!important
}
.garage-help-section{
    min-width:0!important;padding:10px!important;border-radius:9px!important;
    background:rgba(255,255,255,.018)!important;border:1px solid rgba(125,157,188,.065)!important
}
.garage-help-section>strong{
    display:block!important;margin-bottom:5px!important;color:#b9cad7!important;font-size:9px!important
}
.garage-help-section p{
    margin:0!important;color:#70879a!important;font-size:8.5px!important;line-height:1.55!important
}
.garage-help-section p b{color:#9fb6c8!important}
.garage-help-statuses{
    display:flex!important;align-items:center!important;gap:14px!important;flex-wrap:wrap!important
}
.garage-help-statuses>span{
    display:grid!important;grid-template-columns:28px auto!important;grid-template-rows:auto auto!important;
    align-items:center!important;column-gap:7px!important
}
.garage-help-statuses .vehicle-status-icon{
    grid-row:1 / span 2!important;width:25px!important;height:25px!important
}
.garage-help-statuses b{color:#aebfcd!important;font-size:8.5px!important}
.garage-help-statuses small{color:#60788c!important;font-size:7.5px!important}
@media(max-width:720px){
    .garage-help-content{grid-template-columns:1fr!important}
}


/* V125 — kompaktní tlačítko nápovědy + čitelný modal */
.garage-help{
    display:none!important;
}
.garage-help-launch-row{
    display:flex!important;
    justify-content:flex-end!important;
    margin:-2px 0 7px!important;
}
.garage-help-launch{
    height:30px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    padding:0 10px!important;
    border:1px solid rgba(108,151,185,.11)!important;
    border-radius:8px!important;
    background:rgba(18,29,39,.44)!important;
    color:#849caf!important;
    font:inherit!important;
    font-size:9px!important;
    font-weight:800!important;
    cursor:pointer!important;
}
.garage-help-launch:hover{
    border-color:rgba(70,151,214,.24)!important;
    background:rgba(29,47,62,.58)!important;
    color:#b4ccdc!important;
}
.garage-help-launch-icon{
    width:18px!important;
    height:18px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:6px!important;
    background:rgba(57,143,216,.09)!important;
    color:#7fb5dc!important;
    font-size:9px!important;
    font-weight:900!important;
}
.garage-help-modal[hidden]{
    display:none!important;
}
.garage-help-modal{
    position:fixed!important;
    inset:0!important;
    z-index:9999!important;
    display:grid!important;
    place-items:center!important;
    padding:22px!important;
}
.garage-help-modal-backdrop{
    position:absolute!important;
    inset:0!important;
    background:rgba(4,9,14,.70)!important;
    backdrop-filter:blur(6px)!important;
}
.garage-help-dialog{
    position:relative!important;
    z-index:1!important;
    width:min(760px,calc(100vw - 32px))!important;
    max-height:min(82vh,720px)!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border:1px solid rgba(112,157,193,.15)!important;
    border-radius:16px!important;
    background:#101a23!important;
    box-shadow:0 24px 70px rgba(0,0,0,.38)!important;
}
.garage-help-dialog-head{
    display:flex!important;
    justify-content:space-between!important;
    gap:18px!important;
    padding:18px 20px 15px!important;
    border-bottom:1px solid rgba(128,158,183,.08)!important;
}
.garage-help-dialog-kicker{
    display:block!important;
    margin-bottom:4px!important;
    color:#6f91aa!important;
    font-size:10px!important;
    font-weight:850!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
}
.garage-help-dialog h2{
    margin:0!important;
    color:#e2ebf2!important;
    font-size:20px!important;
    line-height:1.2!important;
}
.garage-help-dialog-close{
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 34px!important;
    border:1px solid rgba(128,158,183,.10)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.025)!important;
    color:#7f96a8!important;
    font-size:20px!important;
    cursor:pointer!important;
}
.garage-help-dialog-close:hover{
    background:rgba(255,255,255,.06)!important;
    color:#dce7ef!important;
}
.garage-help-dialog-body{
    overflow:auto!important;
    padding:16px 20px 20px!important;
}
.garage-help-dialog-section{
    padding:0 0 16px!important;
    margin:0 0 16px!important;
    border-bottom:1px solid rgba(128,158,183,.07)!important;
}
.garage-help-dialog-section:last-child{
    padding-bottom:0!important;
    margin-bottom:0!important;
    border-bottom:0!important;
}
.garage-help-dialog-section h3{
    margin:0 0 7px!important;
    color:#cbd9e4!important;
    font-size:14px!important;
    line-height:1.3!important;
}
.garage-help-dialog-section p{
    margin:0!important;
    color:#90a4b4!important;
    font-size:13px!important;
    line-height:1.65!important;
}
.garage-help-dialog-section p strong{
    color:#c2d2df!important;
}
.garage-help-dialog-statuses{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important;
}
.garage-help-dialog-statuses>div{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    padding:11px!important;
    border:1px solid rgba(128,158,183,.08)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.018)!important;
}
.garage-help-dialog-statuses .vehicle-status-icon{
    flex:0 0 28px!important;
    width:28px!important;
    height:28px!important;
}
.garage-help-dialog-statuses>div>span:last-child{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
}
.garage-help-dialog-statuses strong{
    color:#cbd8e2!important;
    font-size:12px!important;
}
.garage-help-dialog-statuses small{
    color:#748a9c!important;
    font-size:10px!important;
    line-height:1.35!important;
}
body.garage-help-is-open{
    overflow:hidden!important;
}
@media(max-width:700px){
    .garage-help-modal{padding:10px!important}
    .garage-help-dialog{
        width:calc(100vw - 20px)!important;
        max-height:88vh!important;
    }
    .garage-help-dialog-head{padding:15px!important}
    .garage-help-dialog-body{padding:14px 15px 17px!important}
    .garage-help-dialog h2{font-size:18px!important}
    .garage-help-dialog-section h3{font-size:13px!important}
    .garage-help-dialog-section p{font-size:12px!important}
    .garage-help-dialog-statuses{grid-template-columns:1fr!important}
}


/* V126 — přesnější zarovnání tabulky + rychlá evidence pro vybraný den */
.garage-vehicles-table{
    width:100%!important;
    table-layout:fixed!important;
    border-collapse:separate!important;
    border-spacing:0!important;
}
.garage-vehicles-table th,
.garage-vehicles-table td{
    vertical-align:middle!important;
}
.garage-vehicles-table th:nth-child(1){width:116px!important}
.garage-vehicles-table th:nth-child(2){width:138px!important}
.garage-vehicles-table th:nth-child(3){width:112px!important}
.garage-vehicles-table th:nth-child(4){width:82px!important}
.garage-vehicles-table th:nth-child(5){width:68px!important;text-align:center!important}
.garage-vehicles-table th:nth-child(6){width:155px!important}
.garage-vehicles-table th:nth-child(7){width:55px!important;text-align:center!important}
.garage-vehicles-table th:nth-child(8){width:54px!important;text-align:center!important}
.garage-vehicles-table th:nth-child(9){width:54px!important;text-align:center!important}
.garage-vehicles-table td:nth-child(5),
.garage-vehicles-table td:nth-child(7),
.garage-vehicles-table td:nth-child(8),
.garage-vehicles-table td:nth-child(9){
    text-align:center!important;
}
.garage-vehicles-table td:nth-child(2) .vehicle-brand-name,
.garage-vehicles-table td:nth-child(3),
.garage-vehicles-table td:nth-child(4){
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}

.garage-table-day-form{margin:0!important}
.garage-table-day-toolbar{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    padding:10px 11px!important;
    border-top:1px solid rgba(125,157,188,.07)!important;
    border-bottom:1px solid rgba(125,157,188,.07)!important;
    background:rgba(255,255,255,.012)!important;
}
.garage-table-day-date{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
}
.garage-table-day-label{
    color:#7890a3!important;
    font-size:8.5px!important;
    font-weight:850!important;
    text-transform:uppercase!important;
    letter-spacing:.05em!important;
}
.garage-table-day-date input[type="date"]{
    height:32px!important;
    min-width:142px!important;
    padding:0 8px!important;
    border:1px solid rgba(117,151,178,.13)!important;
    border-radius:8px!important;
    background:#111d27!important;
    color:#cddae4!important;
    font:inherit!important;
    font-size:9.5px!important;
    font-weight:800!important;
    outline:none!important;
}
.garage-table-day-copy{
    color:#657c8f!important;
    font-size:8.7px!important;
    line-height:1.45!important;
    text-align:right!important;
}
.vehicle-location-select{
    width:100%!important;
    height:30px!important;
    padding:0 24px 0 7px!important;
    border:1px solid rgba(114,149,177,.11)!important;
    border-radius:7px!important;
    background:#111d27!important;
    color:#c7d5df!important;
    font:inherit!important;
    font-size:8.8px!important;
    font-weight:750!important;
    outline:none!important;
}
.vehicle-location-select:focus{
    border-color:rgba(67,151,216,.38)!important;
    box-shadow:0 0 0 3px rgba(57,143,216,.055)!important;
}
.vehicle-location-history{margin-top:4px!important}
.garage-table-day-footer{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:11px!important;
    border-top:1px solid rgba(125,157,188,.07)!important;
    background:rgba(255,255,255,.01)!important;
}
.garage-table-day-footer>span{
    color:#657d91!important;
    font-size:8.5px!important;
}
.garage-table-day-save{min-width:190px!important}
@media(max-width:900px){
    .garage-table-day-toolbar{align-items:flex-start!important;flex-direction:column!important}
    .garage-table-day-copy{text-align:left!important}
}

/* V127 — SPZ: pouze CZ, bez hvězd */
.license-plate-eu{
    background:#1556a0!important;
    background-image:none!important;
    color:#fff!important;
}
.license-plate-eu::before,
.license-plate-eu::after{
    content:none!important;
    display:none!important;
    background:none!important;
    box-shadow:none!important;
}
.license-plate-eu *,
.license-plate-eu .stars,
.license-plate-eu .eu-stars,
.license-plate-eu .star{
    display:none!important;
}


/* V129 — sjednocený moderní vzhled všech kalendářů */

/* Outlook / dashboard kalendář */
.calendar-section{
    margin-top:22px!important;
}
.calendar-section-head{
    align-items:center!important;
    margin-bottom:10px!important;
}
.calendar-section-head h2{
    font-size:16px!important;
    letter-spacing:-.02em!important;
}
.calendar-section-head p{
    margin-top:4px!important;
    font-size:9px!important;
}
.calendar-month-label{
    padding:6px 9px!important;
    border:1px solid rgba(124,157,184,.09)!important;
    border-radius:8px!important;
    background:rgba(255,255,255,.018)!important;
    color:#8fa7ba!important;
    font-size:9px!important;
}

.calendar-layout{
    grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr)!important;
    gap:12px!important;
}
.calendar-card,
.calendar-agenda{
    border:1px solid rgba(125,157,188,.09)!important;
    border-radius:14px!important;
    background:rgba(15,25,34,.58)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
}
.calendar-card{
    padding:12px!important;
}
.calendar-card:after,
.calendar-agenda:after{
    display:none!important;
}

.calendar-weekdays{
    gap:5px!important;
    margin-bottom:5px!important;
}
.calendar-weekdays span{
    padding:0 4px 4px!important;
    color:#62798c!important;
    font-size:7.5px!important;
    font-weight:900!important;
    text-align:center!important;
    letter-spacing:.05em!important;
}

.calendar-grid{
    gap:5px!important;
}
.calendar-day{
    min-height:56px!important;
    padding:7px!important;
    border:1px solid rgba(124,157,184,.06)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.015)!important;
    transition:border-color .15s ease, background .15s ease!important;
}
.calendar-day:nth-child(7n){
    border-right:1px solid rgba(124,157,184,.06)!important;
}
.calendar-day.is-empty{
    border-color:transparent!important;
    background:rgba(255,255,255,.004)!important;
}
.calendar-day-number{
    width:21px!important;
    height:21px!important;
    display:grid!important;
    place-items:center!important;
    margin-left:auto!important;
    color:#8196a7!important;
    font-size:8.5px!important;
    font-weight:800!important;
    text-align:center!important;
}
.calendar-day.is-today{
    border-color:rgba(65,145,208,.25)!important;
    background:rgba(52,122,176,.075)!important;
}
.calendar-day.is-today .calendar-day-number{
    width:21px!important;
    height:21px!important;
    border-radius:7px!important;
    background:rgba(57,143,216,.18)!important;
    color:#d9ecfa!important;
}
.calendar-event-dots{
    justify-content:center!important;
    margin-top:7px!important;
    gap:3px!important;
}
.calendar-event-dots span{
    width:4px!important;
    height:4px!important;
    border-radius:50%!important;
}
.calendar-day-preview{
    display:none!important;
}

/* Agenda vedle kalendáře */
.calendar-agenda{
    padding:14px!important;
}
.calendar-agenda-head{
    padding-bottom:10px!important;
}
.calendar-agenda-head strong{
    font-size:11px!important;
}
.calendar-agenda-head span{
    margin-top:3px!important;
    font-size:8px!important;
}
.calendar-agenda-count{
    min-width:27px!important;
    height:27px!important;
    border-radius:8px!important;
    font-size:9px!important;
}
.calendar-agenda-item{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:8px!important;
    padding:9px 0!important;
}
.calendar-agenda-item time{
    font-size:8.5px!important;
}
.calendar-agenda-item strong{
    font-size:9.5px!important;
}
.calendar-agenda-item span{
    margin-top:3px!important;
    font-size:8px!important;
}

/* Denní kalendář parkování — čistší karty, více vzduchu, méně "tabulkový" vzhled */
.garage-daily-card{
    border:1px solid rgba(119,154,181,.10)!important;
    border-radius:15px!important;
    background:rgba(15,25,34,.58)!important;
    box-shadow:none!important;
}
.garage-daily-head{
    padding:15px 16px!important;
    border-bottom:1px solid rgba(125,157,188,.07)!important;
    background:transparent!important;
}
.garage-daily-grid{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:7px!important;
    padding:12px 14px 14px!important;
}
.garage-day-cell{
    min-height:82px!important;
    padding:8px!important;
    border:1px solid rgba(123,155,182,.07)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.012)!important;
    transition:border-color .15s ease, background .15s ease!important;
}
.garage-day-cell:hover{
    border-color:rgba(91,149,193,.16)!important;
    background:rgba(255,255,255,.022)!important;
}
.garage-day-cell.is-today{
    border-color:rgba(65,145,208,.24)!important;
    background:rgba(52,122,176,.065)!important;
}
.garage-day-cell.is-edited{
    border-color:rgba(85,165,135,.24)!important;
    background:rgba(53,122,99,.055)!important;
}
.garage-day-cell-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
    margin-bottom:8px!important;
}
.garage-day-cell-head strong{
    color:#c8d7e2!important;
    font-size:11px!important;
    font-weight:850!important;
}
.garage-day-cell.is-today .garage-day-cell-head strong{
    width:23px!important;
    height:23px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:7px!important;
    background:rgba(57,143,216,.15)!important;
    color:#dceefa!important;
}
.garage-day-cell-head small{
    color:#647b8d!important;
    font-size:7.5px!important;
    font-weight:800!important;
    text-transform:uppercase!important;
}
.garage-day-cell select{
    width:100%!important;
    height:31px!important;
    padding:0 24px 0 7px!important;
    border:1px solid rgba(117,151,178,.10)!important;
    border-radius:7px!important;
    background:#111c25!important;
    color:#b8c9d5!important;
    font:inherit!important;
    font-size:8.5px!important;
    outline:none!important;
}
.garage-day-cell select:focus{
    border-color:rgba(67,151,216,.34)!important;
    box-shadow:0 0 0 3px rgba(57,143,216,.05)!important;
}
.garage-day-readonly{
    display:block!important;
    padding-top:3px!important;
    color:#8196a7!important;
    font-size:8.5px!important;
    line-height:1.35!important;
}

/* Datumová pole napříč aplikací */
input[type="date"]{
    color-scheme:dark!important;
}
input[type="date"]::-webkit-calendar-picker-indicator{
    opacity:.58!important;
    cursor:pointer!important;
    filter:brightness(1.15)!important;
}

/* Responsive */
@media(max-width:1050px){
    .calendar-layout{grid-template-columns:1fr!important}
}
@media(max-width:900px){
    .garage-daily-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:650px){
    .calendar-card{padding:9px!important}
    .calendar-grid,.calendar-weekdays{gap:3px!important}
    .calendar-day{min-height:45px!important;padding:5px!important}
    .calendar-day-number{font-size:8px!important}
    .garage-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:10px!important}
    .garage-day-cell{min-height:75px!important}
}


/* V130 — podrobnosti události po najetí myší / fokusu */
.calendar-card{
    overflow:visible!important;
}
.calendar-grid{
    position:relative!important;
}
.calendar-day{
    overflow:visible!important;
    z-index:1!important;
}
.calendar-day:hover,
.calendar-day:focus-within{
    z-index:40!important;
}
.calendar-day-events{
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    margin-top:4px!important;
}
.calendar-event-chip{
    position:relative!important;
    min-width:0!important;
    height:17px!important;
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    padding:0 5px!important;
    border:1px solid rgba(72,151,211,.10)!important;
    border-radius:5px!important;
    background:rgba(57,143,216,.055)!important;
    color:#9db8cb!important;
    cursor:default!important;
    outline:none!important;
}
.calendar-event-chip:hover,
.calendar-event-chip:focus{
    border-color:rgba(72,151,211,.24)!important;
    background:rgba(57,143,216,.11)!important;
    color:#c5dae8!important;
}
.calendar-event-chip-dot{
    width:4px!important;
    height:4px!important;
    flex:0 0 4px!important;
    border-radius:50%!important;
    background:#55a9e5!important;
}
.calendar-event-chip-title{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:7.5px!important;
    font-weight:750!important;
    line-height:1!important;
}
.calendar-event-more{
    position:relative!important;
    width:max-content!important;
    max-width:100%!important;
    padding:1px 5px!important;
    border-radius:5px!important;
    color:#6f899c!important;
    font-size:7.5px!important;
    font-weight:850!important;
    cursor:default!important;
    outline:none!important;
}
.calendar-event-more:hover,
.calendar-event-more:focus{
    background:rgba(255,255,255,.035)!important;
    color:#a9bfce!important;
}
.calendar-event-tooltip{
    position:absolute!important;
    left:50%!important;
    bottom:calc(100% + 8px)!important;
    z-index:999!important;
    width:250px!important;
    max-width:min(250px,calc(100vw - 28px))!important;
    padding:11px 12px!important;
    border:1px solid rgba(125,164,194,.15)!important;
    border-radius:10px!important;
    background:#0d1821!important;
    box-shadow:0 16px 40px rgba(0,0,0,.38)!important;
    color:#aebfcb!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate(-50%,4px)!important;
    transition:opacity .13s ease,transform .13s ease,visibility .13s ease!important;
}
.calendar-event-tooltip::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:100%!important;
    width:8px!important;
    height:8px!important;
    border-right:1px solid rgba(125,164,194,.15)!important;
    border-bottom:1px solid rgba(125,164,194,.15)!important;
    background:#0d1821!important;
    transform:translate(-50%,-4px) rotate(45deg)!important;
}
.calendar-event-chip:hover .calendar-event-tooltip,
.calendar-event-chip:focus .calendar-event-tooltip,
.calendar-event-more:hover .calendar-event-tooltip,
.calendar-event-more:focus .calendar-event-tooltip{
    opacity:1!important;
    visibility:visible!important;
    transform:translate(-50%,0)!important;
}
.calendar-event-tooltip-time{
    margin-bottom:4px!important;
    color:#65aee2!important;
    font-size:8px!important;
    font-weight:850!important;
}
.calendar-event-tooltip>strong{
    display:block!important;
    color:#d9e4ec!important;
    font-size:11px!important;
    line-height:1.35!important;
}
.calendar-event-tooltip-row{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-top:8px!important;
    padding-top:7px!important;
    border-top:1px solid rgba(125,157,188,.07)!important;
}
.calendar-event-tooltip-row span{
    color:#667f92!important;
    font-size:7.5px!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
}
.calendar-event-tooltip-row b{
    color:#aebfcb!important;
    font-size:8.5px!important;
    font-weight:750!important;
    text-align:right!important;
}
.calendar-event-tooltip p{
    max-height:100px!important;
    margin:8px 0 0!important;
    padding-top:7px!important;
    overflow:hidden!important;
    border-top:1px solid rgba(125,157,188,.07)!important;
    color:#8095a5!important;
    font-size:8.5px!important;
    line-height:1.5!important;
}
.calendar-event-tooltip-all{
    width:225px!important;
}
.calendar-event-tooltip-extra{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:7px!important;
    margin-top:7px!important;
    padding-top:7px!important;
    border-top:1px solid rgba(125,157,188,.07)!important;
}
.calendar-event-tooltip-extra time{
    color:#65aee2!important;
    font-size:8px!important;
    font-weight:800!important;
}
.calendar-event-tooltip-extra span{
    overflow:hidden!important;
    color:#9fb2c0!important;
    font-size:8.5px!important;
    line-height:1.35!important;
}
.calendar-event-count{
    display:none!important;
}
@media(max-width:650px){
    .calendar-day-events{
        display:none!important;
    }
}


/* V131 — vlevo zpět počet událostí, hover detail pouze u názvu v pravé agendě */
.calendar-day-events,
.calendar-event-chip,
.calendar-event-more{
    display:none!important;
}
.calendar-event-count{
    position:absolute!important;
    left:7px!important;
    bottom:7px!important;
    min-width:18px!important;
    height:18px!important;
    display:grid!important;
    place-items:center!important;
    padding:0 5px!important;
    border:1px solid rgba(72,151,211,.14)!important;
    border-radius:6px!important;
    background:rgba(57,143,216,.09)!important;
    color:#79b6e2!important;
    font-size:7.5px!important;
    font-weight:900!important;
}
.calendar-day-preview{
    display:none!important;
}

.calendar-agenda{
    overflow:visible!important;
}
.calendar-agenda-list,
.calendar-agenda-item,
.calendar-agenda-event{
    overflow:visible!important;
}
.calendar-agenda-item{
    position:relative!important;
}
.calendar-agenda-event{
    min-width:0!important;
    position:relative!important;
}
.calendar-agenda-event-title{
    position:relative!important;
    display:inline-block!important;
    max-width:100%!important;
    color:#dce6f0!important;
    cursor:help!important;
    outline:none!important;
    border-bottom:1px dotted rgba(130,166,193,.25)!important;
}
.calendar-agenda-event-title:hover,
.calendar-agenda-event-title:focus{
    color:#eef6fb!important;
    border-bottom-color:rgba(89,169,226,.55)!important;
}
.calendar-agenda-tooltip{
    position:absolute!important;
    left:0!important;
    top:calc(100% + 8px)!important;
    z-index:9999!important;
    width:270px!important;
    max-width:min(270px,calc(100vw - 30px))!important;
    padding:12px!important;
    border:1px solid rgba(125,164,194,.15)!important;
    border-radius:10px!important;
    background:#0d1821!important;
    box-shadow:0 16px 40px rgba(0,0,0,.40)!important;
    color:#aebfcb!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-3px)!important;
    transition:opacity .13s ease,transform .13s ease,visibility .13s ease!important;
    text-align:left!important;
    white-space:normal!important;
}
.calendar-agenda-event-title:hover .calendar-agenda-tooltip,
.calendar-agenda-event-title:focus .calendar-agenda-tooltip{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(0)!important;
}
.calendar-agenda-tooltip::before{
    content:""!important;
    position:absolute!important;
    left:16px!important;
    bottom:100%!important;
    width:8px!important;
    height:8px!important;
    border-left:1px solid rgba(125,164,194,.15)!important;
    border-top:1px solid rgba(125,164,194,.15)!important;
    background:#0d1821!important;
    transform:translateY(4px) rotate(45deg)!important;
}
.calendar-agenda-tooltip-time{
    display:block!important;
    margin:0 0 4px!important;
    color:#65aee2!important;
    font-size:8px!important;
    font-weight:850!important;
}
.calendar-agenda-tooltip>b{
    display:block!important;
    color:#d9e4ec!important;
    font-size:11px!important;
    line-height:1.4!important;
}
.calendar-agenda-tooltip-row{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-top:8px!important;
    padding-top:7px!important;
    border-top:1px solid rgba(125,157,188,.07)!important;
}
.calendar-agenda-tooltip-row em{
    color:#667f92!important;
    font-size:7.5px!important;
    font-style:normal!important;
    font-weight:800!important;
    text-transform:uppercase!important;
}
.calendar-agenda-tooltip-row i{
    color:#aebfcb!important;
    font-size:8.5px!important;
    font-style:normal!important;
    font-weight:700!important;
    text-align:right!important;
}
.calendar-agenda-tooltip-description{
    display:block!important;
    max-height:120px!important;
    margin-top:8px!important;
    padding-top:7px!important;
    overflow:hidden!important;
    border-top:1px solid rgba(125,157,188,.07)!important;
    color:#8196a6!important;
    font-size:8.5px!important;
    font-weight:500!important;
    line-height:1.55!important;
}


/* V132 — větší a čitelnější text detailu události */
.calendar-agenda-tooltip{
    width:310px!important;
    max-width:min(310px,calc(100vw - 30px))!important;
    padding:14px 15px!important;
}
.calendar-agenda-tooltip-time{
    margin-bottom:6px!important;
    font-size:10.5px!important;
    line-height:1.3!important;
}
.calendar-agenda-tooltip>b{
    font-size:13px!important;
    line-height:1.45!important;
}
.calendar-agenda-tooltip-row{
    margin-top:10px!important;
    padding-top:9px!important;
}
.calendar-agenda-tooltip-row em{
    font-size:9px!important;
    line-height:1.4!important;
}
.calendar-agenda-tooltip-row i{
    font-size:10.5px!important;
    line-height:1.45!important;
}
.calendar-agenda-tooltip-description{
    max-height:165px!important;
    margin-top:10px!important;
    padding-top:9px!important;
    font-size:10.5px!important;
    line-height:1.65!important;
}


/* V133 — výrazně větší a kontrastnější detail události */
.calendar-agenda-tooltip{
    width:380px!important;
    max-width:min(380px,calc(100vw - 34px))!important;
    padding:18px 19px!important;
    border-color:rgba(157,190,214,.22)!important;
    background:#0b1720!important;
    box-shadow:0 20px 55px rgba(0,0,0,.52)!important;
}
.calendar-agenda-tooltip-time{
    margin-bottom:8px!important;
    color:#83c7f5!important;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1.35!important;
}
.calendar-agenda-tooltip>b{
    color:#f1f7fb!important;
    font-size:17px!important;
    font-weight:850!important;
    line-height:1.45!important;
}
.calendar-agenda-tooltip-row{
    margin-top:13px!important;
    padding-top:12px!important;
    border-top-color:rgba(157,190,214,.12)!important;
}
.calendar-agenda-tooltip-row em{
    color:#91aabd!important;
    font-size:12px!important;
    font-weight:850!important;
    line-height:1.45!important;
}
.calendar-agenda-tooltip-row i{
    color:#d8e5ee!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.5!important;
}
.calendar-agenda-tooltip-description{
    max-height:230px!important;
    margin-top:13px!important;
    padding-top:12px!important;
    border-top-color:rgba(157,190,214,.12)!important;
    color:#d1dee7!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.7!important;
}


/* V134 — priorita čitelnosti informací + větší název dnešní události */

/* Název události přímo v pravém panelu */
.calendar-agenda-item strong.calendar-agenda-event-title{
    font-size:13px!important;
    line-height:1.45!important;
    font-weight:850!important;
}

/* V informačním okně už nezvětšujeme hlavně nadpis — zvětšujeme obsah */
.calendar-agenda-tooltip{
    width:410px!important;
    max-width:min(410px,calc(100vw - 34px))!important;
    padding:20px 21px!important;
}
.calendar-agenda-tooltip-time{
    margin-bottom:9px!important;
    font-size:16px!important;
    line-height:1.4!important;
}
.calendar-agenda-tooltip>b{
    font-size:16px!important;
    line-height:1.45!important;
}
.calendar-agenda-tooltip-row{
    margin-top:15px!important;
    padding-top:14px!important;
}
.calendar-agenda-tooltip-row em{
    font-size:14px!important;
    line-height:1.5!important;
}
.calendar-agenda-tooltip-row i{
    font-size:16px!important;
    line-height:1.55!important;
}
.calendar-agenda-tooltip-description{
    max-height:270px!important;
    margin-top:15px!important;
    padding-top:14px!important;
    font-size:16px!important;
    line-height:1.75!important;
    color:#e0eaf0!important;
}


/* V135 — hover info: skutečně velký text ve VŠECH informacích */
.calendar-agenda-event-title .calendar-agenda-tooltip{
    width:460px!important;
    max-width:min(460px,calc(100vw - 36px))!important;
    padding:22px 23px!important;
    font-size:18px!important;
    line-height:1.65!important;
    color:#e7f0f5!important;
}

/* Čas */
.calendar-agenda-event-title .calendar-agenda-tooltip .calendar-agenda-tooltip-time{
    display:block!important;
    margin:0 0 10px!important;
    font-size:18px!important;
    line-height:1.45!important;
    font-weight:900!important;
    color:#8ed0fb!important;
}

/* Název uvnitř popupu */
.calendar-agenda-event-title .calendar-agenda-tooltip > b{
    display:block!important;
    font-size:18px!important;
    line-height:1.5!important;
    font-weight:850!important;
    color:#f3f8fb!important;
}

/* Řádek s místem */
.calendar-agenda-event-title .calendar-agenda-tooltip .calendar-agenda-tooltip-row{
    margin-top:16px!important;
    padding-top:15px!important;
}
.calendar-agenda-event-title .calendar-agenda-tooltip .calendar-agenda-tooltip-row em{
    font-size:16px!important;
    line-height:1.55!important;
    font-weight:850!important;
    color:#a9bdca!important;
}
.calendar-agenda-event-title .calendar-agenda-tooltip .calendar-agenda-tooltip-row i{
    font-size:18px!important;
    line-height:1.55!important;
    font-weight:700!important;
    color:#e6eef3!important;
}

/* Hlavní INFO / popis události */
.calendar-agenda-event-title .calendar-agenda-tooltip .calendar-agenda-tooltip-description{
    display:block!important;
    max-height:340px!important;
    margin-top:16px!important;
    padding-top:15px!important;
    overflow:auto!important;
    font-size:18px!important;
    line-height:1.75!important;
    font-weight:550!important;
    color:#edf4f7!important;
}

/* Přebití případných obecných malých span stylů uvnitř tooltipu */
.calendar-agenda-event-title .calendar-agenda-tooltip span,
.calendar-agenda-event-title .calendar-agenda-tooltip i,
.calendar-agenda-event-title .calendar-agenda-tooltip em{
    letter-spacing:normal!important;
}


/* V136 — hover info: text vždy uvnitř okna, bez přesahování */
.calendar-agenda-event-title .calendar-agenda-tooltip{
    box-sizing:border-box!important;
    width:min(460px,calc(100vw - 44px))!important;
    max-width:calc(100vw - 44px)!important;
    overflow:hidden!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
}

/* Všechny textové prvky respektují šířku popupu */
.calendar-agenda-event-title .calendar-agenda-tooltip *,
.calendar-agenda-event-title .calendar-agenda-tooltip > b,
.calendar-agenda-event-title .calendar-agenda-tooltip span,
.calendar-agenda-event-title .calendar-agenda-tooltip i,
.calendar-agenda-event-title .calendar-agenda-tooltip em{
    box-sizing:border-box!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
}

/* Místo: label + obsah se při delším textu korektně zalomí */
.calendar-agenda-event-title .calendar-agenda-tooltip .calendar-agenda-tooltip-row{
    display:grid!important;
    grid-template-columns:minmax(70px,auto) minmax(0,1fr)!important;
    align-items:start!important;
    gap:12px!important;
    width:100%!important;
}
.calendar-agenda-event-title .calendar-agenda-tooltip .calendar-agenda-tooltip-row i{
    min-width:0!important;
    width:100%!important;
    text-align:right!important;
    overflow-wrap:anywhere!important;
}

/* Popis zůstane uvnitř a případně se vertikálně posouvá */
.calendar-agenda-event-title .calendar-agenda-tooltip .calendar-agenda-tooltip-description{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
}

/* U pravého okraje agendy popup zarovnat dovnitř stránky */
.calendar-agenda-event-title .calendar-agenda-tooltip{
    left:auto!important;
    right:0!important;
}
.calendar-agenda-event-title .calendar-agenda-tooltip::before{
    left:auto!important;
    right:18px!important;
}

@media(max-width:650px){
    .calendar-agenda-event-title .calendar-agenda-tooltip{
        width:min(360px,calc(100vw - 28px))!important;
        max-width:calc(100vw - 28px)!important;
        right:-8px!important;
        padding:18px!important;
    }
    .calendar-agenda-event-title .calendar-agenda-tooltip .calendar-agenda-tooltip-row{
        grid-template-columns:1fr!important;
        gap:5px!important;
    }
    .calendar-agenda-event-title .calendar-agenda-tooltip .calendar-agenda-tooltip-row i{
        text-align:left!important;
    }
}


/* V137 — SPV / tři provozní tabulky */
.spv-tables-page{max-width:1600px!important}
.spv-hub-head,.spv-table-head{margin-bottom:18px!important}
.spv-table-back{display:inline-flex;margin-bottom:12px;color:#8fb1ca;text-decoration:none;font-size:11px;font-weight:800}
.spv-table-back:hover{color:#d7e8f4}
.spv-table-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.spv-table-tile{min-height:118px;display:grid;grid-template-columns:50px minmax(0,1fr) 24px;align-items:center;gap:14px;padding:18px;border:1px solid rgba(133,164,188,.13);border-radius:15px;background:rgba(15,26,35,.7);text-decoration:none;color:#e7f0f6;box-shadow:0 14px 32px rgba(0,0,0,.12);transition:.18s ease}
.spv-table-tile:hover{transform:translateY(-2px);border-color:rgba(76,158,218,.34);background:rgba(17,31,42,.92)}
.spv-table-tile>span:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0}.spv-table-tile strong{font-size:13px}.spv-table-tile small{font-size:10px;line-height:1.5;color:#8498aa}.spv-table-tile>b{font-size:25px;color:#64849c;font-weight:400}
.spv-table-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:rgba(44,135,199,.13);border:1px solid rgba(75,158,216,.18);font-size:12px;font-weight:900;color:#75c6fb}
.spv-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px;padding:12px 14px;border-radius:13px;background:rgba(14,24,33,.55);border:1px solid rgba(128,158,181,.09)}
.spv-toolbar>div{display:flex;flex-direction:column;gap:6px}.spv-toolbar label,.spv-inline-form label{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#8296a7;font-weight:800}.spv-toolbar select,.spv-toolbar input,.spv-inline-form input{height:36px;min-width:190px;padding:0 10px;border:1px solid rgba(123,153,177,.14);border-radius:9px;background:#0d1821;color:#dce8ef;font:inherit;font-size:11px;outline:none}.spv-toolbar input:focus,.spv-toolbar select:focus,.spv-inline-form input:focus{border-color:rgba(68,156,221,.48)}
.spv-search-wrap{margin-left:auto}.spv-search-wrap input{min-width:280px}
.spv-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.spv-kpis>div{padding:13px 15px;border:1px solid rgba(128,157,179,.1);border-radius:12px;background:rgba(15,25,34,.62);display:flex;flex-direction:column;gap:4px}.spv-kpis span{font-size:9px;color:#7f94a5;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.spv-kpis strong{font-size:18px;color:#eaf3f8}
.spv-save-message{margin:-4px 0 12px;padding:9px 12px;border-radius:9px;background:rgba(49,181,132,.09);border:1px solid rgba(49,181,132,.15);color:#7adab4;font-size:11px;font-weight:800}
.spv-entry-card{margin-bottom:14px}.spv-entry-card h2,.spv-card-title h2{margin:0;font-size:12px}.spv-inline-form{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:9px;align-items:end;margin-top:12px}.spv-inline-form label{display:flex;flex-direction:column;gap:5px}.spv-inline-form input{width:100%;min-width:0}.spv-inline-form .btn{height:36px}
.spv-table-card{padding:0!important;overflow:hidden}.spv-card-title{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 15px;border-bottom:1px solid rgba(128,157,179,.08)}.spv-card-title span{font-size:9px;color:#788b9a;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.spv-table-scroll{overflow:auto;max-width:100%}
.spv-data-table{width:100%;border-collapse:collapse;font-size:10.5px}.spv-data-table th{position:sticky;top:0;z-index:3;padding:10px 10px;background:#0d1821;border-bottom:1px solid rgba(128,157,179,.12);text-align:left;white-space:nowrap;color:#879bab;font-size:8.5px;text-transform:uppercase;letter-spacing:.05em}.spv-data-table th small{display:block;margin-top:3px;font-size:7px;color:#667b8c}.spv-data-table td{padding:9px 10px;border-bottom:1px solid rgba(128,157,179,.055);color:#bdccd6;vertical-align:middle}.spv-data-table tbody tr:hover{background:rgba(63,126,169,.035)}.spv-data-table td strong{color:#e2edf3}.spv-muted{color:#6f8291}.spv-empty{text-align:center!important;padding:30px!important;color:#718493!important}
.spv-oj-table{min-width:1280px}.spv-oj-table th:first-child,.spv-oj-table td:first-child{position:sticky;left:0;z-index:2;background:#101c25;min-width:190px}.spv-oj-table thead th:first-child{z-index:5;background:#0d1821}.spv-oj-table td:nth-child(2){text-align:center;width:55px}
.spv-time-pair{display:flex;align-items:center;gap:4px;min-width:150px}.spv-time-pair input{width:68px;height:30px;padding:0 4px;border:1px solid rgba(122,153,176,.12);border-radius:7px;background:#0b151d;color:#cbd9e1;font-size:9.5px}.spv-time-pair span{color:#536b7c}.spv-total-cell{white-space:nowrap;font-weight:800;color:#9ec8e2!important}.spv-table-save{display:flex;justify-content:flex-end;align-items:center;gap:15px;padding:11px 14px;border-top:1px solid rgba(128,157,179,.08);background:rgba(10,18,25,.34)}.spv-table-save span{margin-right:auto;font-size:9px;color:#738797}.spv-table-save .btn{min-width:120px}
.spv-smoking-table{min-width:2700px}.spv-smoking-table th:first-child,.spv-smoking-table td:first-child{position:sticky;left:0;z-index:2;background:#101c25;min-width:115px}.spv-smoking-table thead th:first-child{z-index:5;background:#0d1821}.spv-smoking-table th:nth-child(2),.spv-smoking-table td:nth-child(2){position:sticky;left:115px;z-index:2;background:#101c25;min-width:75px}.spv-smoking-table thead th:nth-child(2){z-index:5;background:#0d1821}
.spv-summary-card{margin-top:14px}.spv-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:rgba(128,157,179,.06)}.spv-summary-grid>div{padding:14px;background:#101b24;display:flex;flex-direction:column;gap:4px}.spv-summary-grid span{font-size:9px;color:#7d92a4}.spv-summary-grid strong{font-size:13px;color:#e3edf3}.spv-summary-grid small{font-size:9px;color:#7790a1}
@media(max-width:1100px){.spv-table-picker{grid-template-columns:1fr}.spv-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.spv-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.spv-toolbar{align-items:stretch;flex-direction:column}.spv-search-wrap{margin-left:0}.spv-toolbar input,.spv-toolbar select,.spv-search-wrap input{width:100%;min-width:0}.spv-kpis{grid-template-columns:1fr}.spv-inline-form{grid-template-columns:1fr}.spv-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}



/* V140 — SPV rozcestník tabulek jako vizuální barevné karty */
.spv-table-picker-visual{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
    align-items:stretch!important;
}
.spv-table-picker-visual .spv-table-tile{
    position:relative!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:18px!important;
    border:1px solid rgba(135,164,185,.13)!important;
    background:linear-gradient(180deg,rgba(18,30,40,.94),rgba(13,23,31,.98))!important;
    box-shadow:0 16px 42px rgba(0,0,0,.18)!important;
    color:#edf5fa!important;
    transform:none!important;
}
.spv-table-picker-visual .spv-table-tile:hover{
    transform:translateY(-4px)!important;
    border-color:rgba(125,180,218,.34)!important;
    box-shadow:0 24px 55px rgba(0,0,0,.27)!important;
    background:linear-gradient(180deg,rgba(20,34,45,.98),rgba(14,25,34,.98))!important;
}
.spv-table-visual{
    display:block!important;
    width:100%!important;
    aspect-ratio:2 / 1!important;
    overflow:hidden!important;
    background:#142330!important;
}
.spv-table-visual svg{
    display:block!important;
    width:100%!important;
    height:100%!important;
}
.spv-table-picker-visual .spv-table-tile-copy{
    display:flex!important;
    flex:1!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:7px!important;
    padding:17px 18px 18px!important;
    min-width:0!important;
}
.spv-table-picker-visual .spv-table-kicker{
    display:inline-flex!important;
    align-items:center!important;
    min-height:22px!important;
    padding:0 9px!important;
    border-radius:999px!important;
    font-size:8.5px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.065em!important;
    text-transform:uppercase!important;
}
.spv-table-tile-parking .spv-table-kicker{
    color:#87ceff!important;
    background:rgba(48,145,213,.13)!important;
    border:1px solid rgba(80,170,233,.17)!important;
}
.spv-table-tile-stores .spv-table-kicker{
    color:#ffc582!important;
    background:rgba(220,123,36,.13)!important;
    border:1px solid rgba(239,153,75,.18)!important;
}
.spv-table-tile-breaks .spv-table-kicker{
    color:#85dfbb!important;
    background:rgba(38,147,109,.13)!important;
    border:1px solid rgba(75,190,150,.17)!important;
}
.spv-table-picker-visual .spv-table-tile strong{
    margin-top:1px!important;
    font-size:15px!important;
    line-height:1.35!important;
    font-weight:900!important;
    color:#f0f6fa!important;
}
.spv-table-picker-visual .spv-table-tile small{
    min-height:31px!important;
    font-size:10.5px!important;
    line-height:1.5!important;
    color:#8da1b0!important;
}
.spv-table-open{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin-top:auto!important;
    padding-top:7px!important;
    font-size:10px!important;
    font-weight:850!important;
    color:#a9c7da!important;
}
.spv-table-open b{
    font-size:15px!important;
    line-height:1!important;
    font-weight:500!important;
    transition:transform .18s ease!important;
}
.spv-table-tile:hover .spv-table-open b{
    transform:translateX(4px)!important;
}
html[data-theme="light"] .spv-table-picker-visual .spv-table-tile,
html.local-light-mode .spv-table-picker-visual .spv-table-tile{
    background:linear-gradient(180deg,#ffffff,#f7fafc)!important;
    border-color:rgba(69,101,124,.14)!important;
    box-shadow:0 12px 32px rgba(48,72,90,.10)!important;
}
html[data-theme="light"] .spv-table-picker-visual .spv-table-tile strong,
html.local-light-mode .spv-table-picker-visual .spv-table-tile strong{
    color:#233746!important;
}
html[data-theme="light"] .spv-table-picker-visual .spv-table-tile small,
html.local-light-mode .spv-table-picker-visual .spv-table-tile small{
    color:#6b8292!important;
}
@media(max-width:1100px){
    .spv-table-picker-visual{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
    .spv-table-picker-visual{grid-template-columns:1fr!important;gap:13px!important}
    .spv-table-visual{aspect-ratio:2.35 / 1!important}
}


/* V141 — nové SPV karty */
.spv-table-tile-keys .spv-table-kicker{
    color:#caa9ff!important;
    background:rgba(138,85,214,.14)!important;
    border:1px solid rgba(174,126,239,.19)!important;
}
.spv-table-tile-garage-check .spv-table-kicker{
    color:#f1b183!important;
    background:rgba(189,117,67,.14)!important;
    border:1px solid rgba(219,143,91,.19)!important;
}

/* V145 — měsíční kalendář rozpisu směn */
.schedule-calendar-page{max-width:none!important}
.schedule-calendar-page-head{align-items:flex-end!important}
.schedule-calendar-card{
    border:1px solid rgba(123,154,177,.12);
    border-radius:18px;
    background:rgba(12,22,30,.82);
    box-shadow:0 18px 48px rgba(0,0,0,.16);
    overflow:hidden;
}
.schedule-calendar-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:15px 16px;
    border-bottom:1px solid rgba(123,154,177,.1);
}
.schedule-month-nav{display:flex;align-items:center;gap:12px}
.schedule-month-nav>a{
    width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
    border:1px solid rgba(129,164,190,.14);background:rgba(28,45,58,.64);
    color:#dbeaf3;text-decoration:none;font-size:20px;line-height:1;
}
.schedule-month-nav>a:hover{background:rgba(51,95,126,.42);border-color:rgba(99,170,216,.28)}
.schedule-month-nav>div{display:flex;flex-direction:column;gap:2px;min-width:154px;text-align:center}
.schedule-month-nav strong{font-size:14px;line-height:1.2;color:#edf6fb;text-transform:capitalize}
.schedule-month-nav span{font-size:9px;color:#7890a0}
.schedule-current-month{
    display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 11px;
    border-radius:9px;border:1px solid rgba(99,170,216,.18);background:rgba(45,113,158,.12);
    color:#9ed2f4;text-decoration:none;font-size:9.5px;font-weight:850;
}
.schedule-calendar-legend{
    display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 16px;
    border-bottom:1px solid rgba(123,154,177,.08);background:rgba(18,31,41,.42);
}
.schedule-calendar-legend span{display:inline-flex;align-items:center;gap:6px;font-size:9px;color:#8196a5}
.schedule-calendar-legend i{width:8px;height:8px;border-radius:50%;display:block}
.schedule-calendar-legend .is-free{background:#36566c}
.schedule-calendar-legend .is-filled{background:#3ca172}
.schedule-calendar-legend .is-weekend{background:#c78a41}
.schedule-calendar-legend .is-closed{background:#6a7278}
.schedule-calendar-scroll{
    width:100%;overflow:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;
    scrollbar-color:rgba(102,144,173,.5) rgba(17,29,38,.6);
}
.schedule-calendar-grid{
    --schedule-cell-width:108px;
    display:grid;
    grid-template-columns:190px repeat(var(--schedule-days),var(--schedule-cell-width));
    min-width:max-content;
    background:rgba(8,17,24,.32);
}
.schedule-calendar-corner,
.schedule-calendar-day-head{
    position:sticky;top:0;z-index:6;height:58px;box-sizing:border-box;
    border-right:1px solid rgba(120,151,173,.08);border-bottom:1px solid rgba(120,151,173,.12);
    background:#12202b;
}
.schedule-calendar-corner{
    left:0;z-index:9;display:flex;align-items:center;padding:0 15px;
    color:#7f95a5;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;
}
.schedule-calendar-day-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.schedule-calendar-day-head span{font-size:8px;font-weight:850;text-transform:uppercase;color:#7890a0}
.schedule-calendar-day-head strong{font-size:14px;color:#dbe8ef}
.schedule-calendar-day-head.is-weekend{background:#1c2529}
.schedule-calendar-day-head.is-weekend span{color:#bd8a50}
.schedule-calendar-day-head.is-today{box-shadow:inset 0 -2px 0 #3f9dd8}
.schedule-calendar-day-head.is-today strong{color:#8dd2ff}
.schedule-calendar-row-label{
    position:sticky;left:0;z-index:5;min-height:66px;box-sizing:border-box;
    display:flex;flex-direction:column;justify-content:center;gap:4px;padding:10px 14px;
    border-right:1px solid rgba(120,151,173,.14);border-bottom:1px solid rgba(120,151,173,.08);
    background:#101e28;
}
.schedule-calendar-row-label strong{font-size:10.5px;line-height:1.3;color:#e5eef4}
.schedule-calendar-row-label span{font-size:8.5px;color:#6e8798}
.schedule-calendar-row-label.is-management{box-shadow:inset 3px 0 0 rgba(65,147,207,.62)}
.schedule-calendar-row-label.is-supervisor{box-shadow:inset 3px 0 0 rgba(81,126,211,.58)}
.schedule-calendar-row-label.is-garage{box-shadow:inset 3px 0 0 rgba(211,143,66,.58)}
.schedule-calendar-row-label.is-pth{box-shadow:inset 3px 0 0 rgba(139,104,206,.58)}
.schedule-calendar-row-label.is-passage{box-shadow:inset 3px 0 0 rgba(53,162,123,.58)}
.schedule-calendar-row-label.is-reception{box-shadow:inset 3px 0 0 rgba(188,95,151,.58)}
.schedule-calendar-cell{
    min-height:66px;box-sizing:border-box;border:0;border-right:1px solid rgba(120,151,173,.07);
    border-bottom:1px solid rgba(120,151,173,.07);background:rgba(17,29,38,.44);color:inherit;
}
button.schedule-calendar-cell{font:inherit;cursor:pointer;padding:6px;transition:background .14s ease,box-shadow .14s ease}
button.schedule-calendar-cell:hover{background:rgba(42,78,101,.42);box-shadow:inset 0 0 0 1px rgba(92,169,219,.2)}
.schedule-calendar-cell.is-weekend{background:rgba(72,54,34,.2)}
.schedule-calendar-cell.is-today{box-shadow:inset 0 0 0 1px rgba(64,156,216,.22)}
.schedule-calendar-cell.is-free{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#607889}
.schedule-calendar-cell.is-free:hover{color:#9ed4f5}
.schedule-slot-plus{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:rgba(64,119,156,.16);font-size:16px;font-weight:400}
.schedule-calendar-cell.is-free small{font-size:7.5px;text-transform:uppercase;letter-spacing:.05em}
.schedule-calendar-cell.is-filled{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;background:rgba(28,72,56,.34)}
.schedule-calendar-cell.is-filled:hover{background:rgba(31,88,65,.46)}
.schedule-slot-person{display:block;min-width:0;padding:4px 5px;border-radius:7px;background:rgba(48,145,103,.13);text-align:left}
.schedule-slot-person strong,.schedule-slot-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.schedule-slot-person strong{font-size:8.5px;line-height:1.25;color:#dff5e9}
.schedule-slot-person small{margin-top:1px;font-size:7.5px;color:#86ae9b}
.schedule-calendar-cell.is-closed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:rgba(47,53,57,.28);color:#626d74}
.schedule-closed-mark{font-size:14px}
.schedule-calendar-cell.is-closed small{font-size:7px;white-space:nowrap}

.schedule-modal[hidden]{display:none!important}
.schedule-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px}
.schedule-modal-backdrop{position:absolute;inset:0;background:rgba(2,8,12,.74);backdrop-filter:blur(6px)}
.schedule-modal-dialog{
    position:relative;z-index:1;width:min(430px,100%);box-sizing:border-box;padding:22px;
    border-radius:18px;border:1px solid rgba(128,166,192,.18);background:#101e28;
    box-shadow:0 28px 80px rgba(0,0,0,.48);
}
.schedule-modal-x{position:absolute;right:13px;top:11px;width:30px;height:30px;border:0;border-radius:9px;background:rgba(126,151,169,.08);color:#91a7b6;font-size:20px;cursor:pointer}
.schedule-modal-x:hover{background:rgba(126,151,169,.16);color:#fff}
.schedule-modal-eyebrow{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#579ed0}
.schedule-modal-dialog h2{margin:5px 34px 4px 0;font-size:19px;line-height:1.25;color:#edf6fb}
.schedule-modal-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 18px}
.schedule-modal-meta span{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:8px;background:rgba(79,118,145,.12);font-size:9px;font-weight:750;color:#99b0bf}
.schedule-modal-form{display:grid;gap:14px}
.schedule-modal-help{display:block;margin-top:6px;font-size:8px;line-height:1.45;color:#667f8f}
.schedule-modal-submit{width:100%!important;justify-content:center!important}
.schedule-modal-existing{margin-top:18px;padding-top:15px;border-top:1px solid rgba(129,160,181,.1)}
.schedule-modal-existing-title{display:block;margin-bottom:8px;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#738b9b}
.schedule-modal-person-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border-radius:9px;background:rgba(53,84,105,.13)}
.schedule-modal-person-row+ .schedule-modal-person-row{margin-top:5px}
.schedule-modal-person-row span{font-size:10px;font-weight:800;color:#dce9f0}
.schedule-modal-person-row button{width:25px;height:25px;border:0;border-radius:7px;background:rgba(181,75,75,.12);color:#d58d8d;font-size:16px;cursor:pointer}
.schedule-modal-person-row button:hover{background:rgba(181,75,75,.23);color:#ffb5b5}
html.schedule-modal-open{overflow:hidden}

html[data-theme="light"] .schedule-calendar-card,
html.local-light-mode .schedule-calendar-card{background:#fff;border-color:rgba(65,91,109,.12);box-shadow:0 14px 38px rgba(52,74,89,.08)}
html[data-theme="light"] .schedule-calendar-corner,
html[data-theme="light"] .schedule-calendar-day-head,
html[data-theme="light"] .schedule-calendar-row-label,
html.local-light-mode .schedule-calendar-corner,
html.local-light-mode .schedule-calendar-day-head,
html.local-light-mode .schedule-calendar-row-label{background:#f7fafc}
html[data-theme="light"] .schedule-calendar-day-head.is-weekend,
html.local-light-mode .schedule-calendar-day-head.is-weekend{background:#fbf7f1}
html[data-theme="light"] .schedule-calendar-row-label strong,
html[data-theme="light"] .schedule-calendar-day-head strong,
html.local-light-mode .schedule-calendar-row-label strong,
html.local-light-mode .schedule-calendar-day-head strong{color:#2b4050}
html[data-theme="light"] .schedule-calendar-cell,
html.local-light-mode .schedule-calendar-cell{background:#fbfdfe}
html[data-theme="light"] .schedule-calendar-cell.is-weekend,
html.local-light-mode .schedule-calendar-cell.is-weekend{background:#fdf9f4}
html[data-theme="light"] .schedule-calendar-cell.is-filled,
html.local-light-mode .schedule-calendar-cell.is-filled{background:#f0faf5}
html[data-theme="light"] .schedule-slot-person strong,
html.local-light-mode .schedule-slot-person strong{color:#24583f}
html[data-theme="light"] .schedule-modal-dialog,
html.local-light-mode .schedule-modal-dialog{background:#fff;border-color:rgba(65,91,109,.14);box-shadow:0 28px 80px rgba(45,60,70,.25)}
html[data-theme="light"] .schedule-modal-dialog h2,
html.local-light-mode .schedule-modal-dialog h2{color:#263b4a}
html[data-theme="light"] .schedule-modal-person-row span,
html.local-light-mode .schedule-modal-person-row span{color:#314957}

@media(max-width:900px){
    .schedule-calendar-grid{grid-template-columns:155px repeat(var(--schedule-days),94px)}
    .schedule-calendar-toolbar{align-items:flex-start;flex-direction:column}
    .schedule-calendar-row-label{padding-left:11px}
}
@media(max-width:650px){
    .schedule-calendar-page-head{align-items:flex-start!important}
    .schedule-header-actions{width:100%;flex-wrap:wrap}
    .schedule-calendar-grid{grid-template-columns:138px repeat(var(--schedule-days),88px)}
    .schedule-calendar-toolbar{padding:12px}
    .schedule-calendar-legend{padding:9px 12px;gap:10px}
    .schedule-modal-dialog{padding:19px 16px}
}


/* V146 — modernější OM kalendář rozpisu směn */
.shift-calendar,
.schedule-calendar,
.roster-calendar{
    --schedule-surface:rgba(15,25,34,.72);
    --schedule-surface-2:rgba(20,32,42,.88);
    --schedule-border:rgba(128,158,181,.12);
    --schedule-muted:#7f94a3;
}

/* víkend: bez výrazné barevné plochy, jen jemné odlišení */
.shift-calendar .is-weekend,
.schedule-calendar .is-weekend,
.roster-calendar .is-weekend,
.shift-calendar [data-weekend="1"],
.schedule-calendar [data-weekend="1"],
.roster-calendar [data-weekend="1"]{
    background:rgba(255,255,255,.018)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)!important;
}
.shift-calendar .is-weekend .day-number,
.schedule-calendar .is-weekend .day-number,
.roster-calendar .is-weekend .day-number{
    color:#8295a2!important;
}
.shift-calendar .is-weekend .weekday,
.schedule-calendar .is-weekend .weekday,
.roster-calendar .is-weekend .weekday{
    color:#627684!important;
}

/* dnešek: čistý kroužek/outline místo barevného sloupce nebo výrazné výplně */
.shift-calendar .is-today,
.schedule-calendar .is-today,
.roster-calendar .is-today,
.shift-calendar [data-today="1"],
.schedule-calendar [data-today="1"],
.roster-calendar [data-today="1"]{
    background:transparent!important;
    box-shadow:none!important;
}
.shift-calendar .is-today .day-number,
.schedule-calendar .is-today .day-number,
.roster-calendar .is-today .day-number{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:28px!important;
    height:28px!important;
    padding:0 7px!important;
    border-radius:999px!important;
    background:rgba(59,141,198,.15)!important;
    border:1px solid rgba(77,160,216,.38)!important;
    color:#bfe3fb!important;
    font-weight:900!important;
}

/* obsazená směna: moderní "chip" místo těžkého vybarveného políčka */
.shift-calendar .is-assigned,
.schedule-calendar .is-assigned,
.roster-calendar .is-assigned,
.shift-calendar .assigned,
.schedule-calendar .assigned,
.roster-calendar .assigned{
    background:rgba(255,255,255,.025)!important;
    border-color:rgba(128,158,181,.14)!important;
    box-shadow:none!important;
}
.shift-calendar .is-assigned .employee-chip,
.schedule-calendar .is-assigned .employee-chip,
.roster-calendar .is-assigned .employee-chip,
.shift-calendar .assignment,
.schedule-calendar .assignment,
.roster-calendar .assignment{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:30px!important;
    width:calc(100% - 8px)!important;
    margin:4px!important;
    padding:6px 8px!important;
    border-radius:9px!important;
    background:linear-gradient(180deg,rgba(53,118,163,.17),rgba(39,88,121,.13))!important;
    border:1px solid rgba(79,150,197,.20)!important;
    color:#dcecf6!important;
    font-size:10px!important;
    line-height:1.25!important;
    font-weight:800!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}
.shift-calendar .is-assigned:hover .employee-chip,
.schedule-calendar .is-assigned:hover .employee-chip,
.roster-calendar .is-assigned:hover .employee-chip,
.shift-calendar .assignment:hover,
.schedule-calendar .assignment:hover,
.roster-calendar .assignment:hover{
    background:linear-gradient(180deg,rgba(61,137,188,.23),rgba(42,96,131,.18))!important;
    border-color:rgba(91,168,219,.32)!important;
}

/* prázdná směna: čistší, méně "tabulkový" vzhled */
.shift-calendar .shift-cell,
.schedule-calendar .shift-cell,
.roster-calendar .shift-cell,
.shift-calendar td,
.schedule-calendar td,
.roster-calendar td{
    transition:background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.shift-calendar .shift-cell:hover,
.schedule-calendar .shift-cell:hover,
.roster-calendar .shift-cell:hover{
    background:rgba(61,132,179,.055)!important;
}

/* modal / výběr zaměstnance */
.shift-modal,
.schedule-modal,
.roster-modal{
    border-radius:18px!important;
    border:1px solid rgba(127,159,183,.15)!important;
    background:#0f1b24!important;
    box-shadow:0 28px 70px rgba(0,0,0,.48)!important;
}
.shift-modal select,
.schedule-modal select,
.roster-modal select,
.shift-calendar-modal select{
    min-height:42px!important;
    border-radius:10px!important;
    border:1px solid rgba(126,158,181,.16)!important;
    background:#13232e!important;
    color:#e9f1f6!important;
    font-size:12px!important;
    font-weight:700!important;
    box-shadow:none!important;
}
.shift-modal label,
.schedule-modal label,
.roster-modal label,
.shift-calendar-modal label{
    color:#9eb0bc!important;
    font-size:10px!important;
    font-weight:850!important;
    letter-spacing:.02em!important;
}


/* V147 — OM rozpis: jemný víkend, barvy pozic a ruční zadání */
.schedule-calendar-day-head.is-weekend{
    background:rgba(218,92,92,.085)!important;
}
.schedule-calendar-day-head.is-weekend span{
    color:#d99b9b!important;
}
.schedule-calendar-day-head.is-weekend strong{
    color:#e7c4c4!important;
}
.schedule-calendar-cell.is-weekend:not(.is-closed){
    background:rgba(210,80,80,.045)!important;
}
.schedule-calendar-cell.is-weekend.is-free:hover{
    background:rgba(210,80,80,.085)!important;
}
.schedule-calendar-legend .is-weekend{
    background:#d88d8d!important;
}

/* Obsazená bublina přebírá barvu pozice z levého proužku */
.schedule-calendar-cell.is-filled{
    background:rgba(255,255,255,.018)!important;
}
.schedule-calendar-cell.is-filled .schedule-slot-person{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:calc(100% - 8px)!important;
    min-height:36px!important;
    margin:4px!important;
    padding:6px 7px!important;
    border-radius:10px!important;
    border:1px solid transparent!important;
    box-sizing:border-box!important;
}
.schedule-calendar-cell.is-management.is-filled .schedule-slot-person{
    background:rgba(65,147,207,.16)!important;
    border-color:rgba(65,147,207,.28)!important;
}
.schedule-calendar-cell.is-supervisor.is-filled .schedule-slot-person{
    background:rgba(81,126,211,.16)!important;
    border-color:rgba(81,126,211,.29)!important;
}
.schedule-calendar-cell.is-garage.is-filled .schedule-slot-person{
    background:rgba(211,143,66,.17)!important;
    border-color:rgba(211,143,66,.30)!important;
}
.schedule-calendar-cell.is-pth.is-filled .schedule-slot-person{
    background:rgba(139,104,206,.18)!important;
    border-color:rgba(139,104,206,.31)!important;
}
.schedule-calendar-cell.is-passage.is-filled .schedule-slot-person{
    background:rgba(53,162,123,.17)!important;
    border-color:rgba(53,162,123,.30)!important;
}
.schedule-calendar-cell.is-reception.is-filled .schedule-slot-person{
    background:rgba(188,95,151,.17)!important;
    border-color:rgba(188,95,151,.30)!important;
}
.schedule-calendar-cell.is-filled .schedule-slot-person strong{
    color:#eef5f9!important;
}
.schedule-calendar-cell.is-filled .schedule-slot-person small{
    color:#a9bbc7!important;
}

/* Aktuální den zůstává decentní, bez výrazného sloupce */
.schedule-calendar-day-head.is-today{
    box-shadow:none!important;
}
.schedule-calendar-day-head.is-today strong{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:28px!important;
    height:28px!important;
    padding:0 7px!important;
    border-radius:999px!important;
    background:rgba(64,156,216,.12)!important;
    border:1px solid rgba(64,156,216,.30)!important;
    color:#bce3fb!important;
}
.schedule-calendar-cell.is-today{
    box-shadow:none!important;
}

/* Akce vedle Aktuálního měsíce */
.schedule-toolbar-actions{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
}
.schedule-manual-open{
    width:35px!important;
    height:35px!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 35px!important;
    padding:0!important;
    border-radius:10px!important;
    border:1px solid rgba(91,157,202,.20)!important;
    background:rgba(54,119,164,.10)!important;
    color:#91c9ed!important;
    cursor:pointer!important;
    transition:background .16s ease,border-color .16s ease,transform .16s ease!important;
}
.schedule-manual-open:hover{
    transform:translateY(-1px)!important;
    background:rgba(54,119,164,.18)!important;
    border-color:rgba(91,157,202,.34)!important;
}
.schedule-manual-open svg{
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

/* Ruční zadání směny */
.schedule-manual-modal .schedule-modal-dialog{
    width:min(520px,calc(100vw - 28px))!important;
}
.schedule-manual-intro{
    margin:6px 0 18px!important;
    color:#8298a7!important;
    font-size:10.5px!important;
    line-height:1.55!important;
}
.schedule-manual-fields{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
}
.schedule-manual-fields input[type="date"],
.schedule-manual-fields select{
    width:100%!important;
    min-height:44px!important;
    box-sizing:border-box!important;
    border-radius:10px!important;
    border:1px solid rgba(126,158,181,.16)!important;
    background:#13232e!important;
    color:#e9f1f6!important;
    padding:0 12px!important;
    font-size:12px!important;
    font-weight:700!important;
}
.schedule-manual-note{
    margin-top:3px!important;
    padding:10px 11px!important;
    border-radius:9px!important;
    background:rgba(77,133,171,.07)!important;
    border:1px solid rgba(92,151,190,.10)!important;
    color:#829aa9!important;
    font-size:9.5px!important;
    line-height:1.5!important;
}

html[data-theme="light"] .schedule-calendar-day-head.is-weekend,
html.local-light-mode .schedule-calendar-day-head.is-weekend{
    background:#fff3f3!important;
}
html[data-theme="light"] .schedule-calendar-cell.is-weekend:not(.is-closed),
html.local-light-mode .schedule-calendar-cell.is-weekend:not(.is-closed){
    background:#fff8f8!important;
}


/* V148 — vyhledávání zaměstnance v OM rozpisu */
.schedule-toolbar-actions{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
}
.schedule-employee-search{
    width:min(300px,38vw)!important;
    min-width:220px!important;
    height:35px!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    padding:0 8px 0 10px!important;
    border-radius:10px!important;
    border:1px solid rgba(124,156,180,.15)!important;
    background:rgba(15,27,36,.72)!important;
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease!important;
}
.schedule-employee-search:focus-within{
    border-color:rgba(74,155,211,.34)!important;
    background:rgba(17,31,41,.92)!important;
    box-shadow:0 0 0 3px rgba(57,143,216,.07)!important;
}
.schedule-employee-search > svg{
    width:15px!important;
    height:15px!important;
    flex:0 0 15px!important;
    fill:none!important;
    stroke:#718a9a!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
}
.schedule-employee-search input{
    width:100%!important;
    min-width:0!important;
    height:33px!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    color:#e7f0f5!important;
    font-size:10.5px!important;
    font-weight:700!important;
}
.schedule-employee-search input::placeholder{
    color:#607786!important;
    opacity:1!important;
}
.schedule-search-clear{
    width:20px!important;
    height:20px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    flex:0 0 20px!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(124,148,164,.10)!important;
    color:#7f95a3!important;
    font-size:15px!important;
    line-height:1!important;
    cursor:pointer!important;
}
.schedule-search-clear:hover{
    background:rgba(124,148,164,.18)!important;
    color:#b8c8d2!important;
}

/* Při hledání se ztlumí pouze ostatní obsazené směny. */
.schedule-calendar.is-searching .schedule-calendar-cell.is-search-dim{
    opacity:.20!important;
    filter:saturate(.28)!important;
}
.schedule-calendar.is-searching .schedule-calendar-cell.is-search-dim .schedule-slot-person{
    filter:blur(.5px)!important;
}
.schedule-calendar.is-searching .schedule-calendar-cell.is-search-match{
    opacity:1!important;
    position:relative!important;
    z-index:2!important;
}
.schedule-calendar.is-searching .schedule-calendar-cell.is-search-match .schedule-slot-person{
    transform:translateY(-1px)!important;
    box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
    border-color:rgba(255,255,255,.20)!important;
}
.schedule-calendar .schedule-calendar-cell{
    transition:opacity .16s ease,filter .16s ease!important;
}
.schedule-calendar .schedule-slot-person{
    transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
@media (max-width:760px){
    .schedule-toolbar-actions{width:100%!important;}
    .schedule-employee-search{
        width:100%!important;
        min-width:0!important;
        flex:1 1 auto!important;
    }
}


/* V149 — kompaktní a plně funkční vyhledávání zaměstnance */
.schedule-employee-search{
    width:188px!important;
    min-width:188px!important;
    max-width:188px!important;
    height:32px!important;
    gap:7px!important;
    padding:0 7px 0 9px!important;
    border-radius:9px!important;
}
.schedule-employee-search > svg{
    width:14px!important;
    height:14px!important;
    flex-basis:14px!important;
}
.schedule-employee-search input{
    height:30px!important;
    font-size:10px!important;
    font-weight:700!important;
}
.schedule-employee-search input::-webkit-search-cancel-button{
    display:none!important;
    -webkit-appearance:none!important;
}
.schedule-search-clear{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    flex-basis:18px!important;
    font-size:13px!important;
}
.schedule-search-clear[hidden]{
    display:none!important;
}

/* Search state is applied to the actual calendar grid, not a nonexistent wrapper. */
.schedule-calendar-grid.is-searching .schedule-calendar-cell.is-filled{
    transition:opacity .16s ease,filter .16s ease,transform .16s ease!important;
}
.schedule-calendar-grid.is-searching .schedule-calendar-cell.is-search-dim{
    opacity:.16!important;
    filter:saturate(.22) brightness(.72)!important;
}
.schedule-calendar-grid.is-searching .schedule-calendar-cell.is-search-dim .schedule-slot-person{
    filter:blur(.65px)!important;
}
.schedule-calendar-grid.is-searching .schedule-calendar-cell.is-search-match{
    opacity:1!important;
    filter:none!important;
    position:relative!important;
    z-index:3!important;
}
.schedule-calendar-grid.is-searching .schedule-calendar-cell.is-search-match .schedule-slot-person{
    transform:translateY(-1px)!important;
    filter:none!important;
    box-shadow:0 8px 22px rgba(0,0,0,.22)!important;
    border-color:rgba(255,255,255,.24)!important;
}

/* Free cells, headers and row labels remain readable while searching. */
.schedule-calendar-grid.is-searching .schedule-calendar-cell.is-free,
.schedule-calendar-grid.is-searching .schedule-calendar-cell.is-closed,
.schedule-calendar-grid.is-searching .schedule-calendar-row-label,
.schedule-calendar-grid.is-searching .schedule-calendar-day-head,
.schedule-calendar-grid.is-searching .schedule-calendar-corner{
    opacity:1!important;
    filter:none!important;
}

@media (max-width:760px){
    .schedule-employee-search{
        width:165px!important;
        min-width:165px!important;
        max-width:165px!important;
        flex:0 0 165px!important;
    }
}


/* V150 — zástupy napříč pozicemi */
.schedule-substitute-toggle{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
    margin:2px 0 4px!important;
    padding:10px 11px!important;
    border:1px solid rgba(126,158,181,.12)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.025)!important;
    cursor:pointer!important;
}
.schedule-substitute-toggle input{
    margin:2px 0 0!important;
    accent-color:#4f9bd0!important;
}
.schedule-substitute-toggle span{
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
}
.schedule-substitute-toggle strong{
    color:#dce8ef!important;
    font-size:10.5px!important;
}
.schedule-substitute-toggle small{
    color:#788f9f!important;
    font-size:8.7px!important;
    line-height:1.4!important;
}
.schedule-slot-person.is-substitute em{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:3px!important;
    padding:2px 5px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.09)!important;
    border:1px solid rgba(255,255,255,.13)!important;
    color:#d6e0e6!important;
    font-size:7px!important;
    line-height:1!important;
    font-style:normal!important;
    font-weight:900!important;
    letter-spacing:.03em!important;
    text-transform:uppercase!important;
}


/* V153 — zaměstnanci: správné pořadí + kompaktní hledání */
.employee-list-toolbar{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    padding:10px 12px 0!important;
}
.employee-list-search{
    width:205px!important;
    height:32px!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    padding:0 7px 0 9px!important;
    border:1px solid rgba(126,158,181,.14)!important;
    border-radius:9px!important;
    background:rgba(15,27,36,.70)!important;
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.employee-list-search:focus-within{
    border-color:rgba(73,154,210,.34)!important;
    background:rgba(17,31,41,.90)!important;
    box-shadow:0 0 0 3px rgba(57,143,216,.06)!important;
}
.employee-list-search svg{
    width:14px!important;
    height:14px!important;
    flex:0 0 14px!important;
    fill:none!important;
    stroke:#728a99!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
}
.employee-list-search input{
    width:100%!important;
    min-width:0!important;
    height:30px!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    color:#e7f0f5!important;
    font-size:10px!important;
    font-weight:700!important;
}
.employee-list-search input::placeholder{
    color:#607786!important;
    opacity:1!important;
}
.employee-list-search input::-webkit-search-cancel-button{
    display:none!important;
    -webkit-appearance:none!important;
}
.employee-list-search button{
    width:18px!important;
    height:18px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(124,148,164,.10)!important;
    color:#8398a5!important;
    font-size:13px!important;
    cursor:pointer!important;
}
.employee-list-search button[hidden]{
    display:none!important;
}
[data-employee-row][hidden]{
    display:none!important;
}
@media (max-width:650px){
    .employee-list-toolbar{
        justify-content:stretch!important;
    }
    .employee-list-search{
        width:100%!important;
    }
}


/* V155 — zaměstnanci: kompaktní tabulka bez přetékání */
.employee-list-card{
    overflow:hidden!important;
}
.employee-list-card .table-wrap{
    width:100%!important;
    overflow-x:auto!important;
}
.employee-list-card table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
}
.employee-list-card th,
.employee-list-card td{
    box-sizing:border-box!important;
    min-width:0!important;
    padding:8px 10px!important;
    text-align:left!important;
    vertical-align:middle!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.employee-list-card th{
    font-size:8.5px!important;
    letter-spacing:.035em!important;
}
.employee-list-card td{
    font-size:10px!important;
    line-height:1.25!important;
}
.employee-list-card tbody tr{
    height:43px!important;
}
.employee-list-card th:nth-child(1),
.employee-list-card td:nth-child(1){width:11%!important}
.employee-list-card th:nth-child(2),
.employee-list-card td:nth-child(2){width:31%!important}
.employee-list-card th:nth-child(3),
.employee-list-card td:nth-child(3){width:30%!important}
.employee-list-card th:nth-child(4),
.employee-list-card td:nth-child(4){width:13%!important}
.employee-list-card th:nth-child(5),
.employee-list-card td:nth-child(5){width:15%!important}

.employee-person-cell{
    overflow:hidden!important;
}
.employee-person-link{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    color:inherit!important;
    text-decoration:none!important;
}
.employee-person-link strong{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:#dfe9ef!important;
    font-size:10px!important;
    font-weight:800!important;
}
.employee-avatar-mini{
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:6px!important;
    border:1px solid rgba(91,145,193,.14)!important;
    background:rgba(62,105,143,.10)!important;
    color:#789fc1!important;
}
.employee-avatar-mini svg{
    width:12px!important;
    height:12px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.7!important;
    stroke-linecap:round!important;
}
.employee-person-link:hover strong{
    color:#f2f7fa!important;
}

.employee-type-chip,
.employee-status-chip{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    max-width:100%!important;
    height:22px!important;
    box-sizing:border-box!important;
    padding:0 7px!important;
    border-radius:6px!important;
    border:1px solid rgba(255,255,255,.06)!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:850!important;
    white-space:nowrap!important;
}
.employee-chip-dot,
.employee-status-dot{
    width:5px!important;
    height:5px!important;
    flex:0 0 5px!important;
    border-radius:50%!important;
}
.employee-type-chip.is-ssi{
    color:#8fcdb0!important;
    background:rgba(58,128,91,.08)!important;
}
.employee-type-chip.is-ssi .employee-chip-dot{background:#4da67e!important}
.employee-type-chip.is-sub{
    color:#91b9de!important;
    background:rgba(62,111,158,.09)!important;
}
.employee-type-chip.is-sub .employee-chip-dot{background:#5b91ca!important}

.employee-status-chip.is-active{
    color:#91c9ab!important;
    background:rgba(49,111,79,.08)!important;
    border-color:rgba(77,166,126,.10)!important;
}
.employee-status-chip.is-active .employee-status-dot{background:#4da67e!important}
.employee-status-chip.is-inactive{
    color:#8898a3!important;
    background:rgba(111,127,139,.07)!important;
}
.employee-status-chip.is-inactive .employee-status-dot{background:#6e7e89!important}

/* Search zůstává malý a zarovnaný v rámci tabulky. */
.employee-list-toolbar{
    padding:8px 10px!important;
    border-bottom:1px solid rgba(126,158,181,.07)!important;
}
.employee-list-search{
    width:185px!important;
    height:30px!important;
}
.employee-list-search input{
    height:28px!important;
    font-size:9.5px!important;
}

@media (max-width:760px){
    .employee-list-card table{
        min-width:620px!important;
    }
    .employee-list-card th,
    .employee-list-card td{
        padding-left:8px!important;
        padding-right:8px!important;
    }
}


/* V156 — zaměstnanci: čitelnější tabulka a čistá horní lišta */
.employee-list-card{
    border-radius:14px!important;
}
.employee-list-toolbar{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    min-height:54px!important;
    padding:10px 14px!important;
    margin:0!important;
    border-bottom:1px solid rgba(126,158,181,.08)!important;
    background:rgba(12,22,30,.30)!important;
    box-sizing:border-box!important;
}
.employee-list-search{
    width:245px!important;
    height:36px!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    padding:0 10px!important;
    margin:0!important;
    border:1px solid rgba(126,158,181,.16)!important;
    border-radius:10px!important;
    background:rgba(20,33,43,.82)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important;
}
.employee-list-search:focus-within{
    border-color:rgba(72,151,207,.42)!important;
    background:rgba(22,37,48,.96)!important;
    box-shadow:0 0 0 3px rgba(57,143,216,.07)!important;
}
.employee-list-search svg{
    width:15px!important;
    height:15px!important;
    flex:0 0 15px!important;
    stroke:#7f9aad!important;
}
.employee-list-search input{
    width:100%!important;
    min-width:0!important;
    height:34px!important;
    padding:0!important;
    margin:0!important;
    font-size:11.5px!important;
    font-weight:650!important;
    line-height:34px!important;
}
.employee-list-search input::placeholder{
    color:#718795!important;
}
.employee-list-search button{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    font-size:14px!important;
}

.employee-list-card .table-wrap{
    margin:0!important;
}
.employee-list-card table{
    table-layout:fixed!important;
}
.employee-list-card thead tr{
    height:42px!important;
    background:rgba(19,31,40,.68)!important;
}
.employee-list-card th{
    padding:0 14px!important;
    height:42px!important;
    vertical-align:middle!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.045em!important;
    color:#8299a8!important;
    border-bottom:1px solid rgba(126,158,181,.08)!important;
}
.employee-list-card td{
    padding:11px 14px!important;
    font-size:12px!important;
    line-height:1.35!important;
}
.employee-list-card tbody tr{
    height:52px!important;
}
.employee-list-card tbody tr:hover{
    background:rgba(255,255,255,.018)!important;
}

/* Přirozenější šířky a stejné zarovnání hlavičky s daty. */
.employee-list-card th:nth-child(1),
.employee-list-card td:nth-child(1){width:12%!important;text-align:left!important}
.employee-list-card th:nth-child(2),
.employee-list-card td:nth-child(2){width:30%!important;text-align:left!important}
.employee-list-card th:nth-child(3),
.employee-list-card td:nth-child(3){width:30%!important;text-align:left!important}
.employee-list-card th:nth-child(4),
.employee-list-card td:nth-child(4){width:13%!important;text-align:left!important}
.employee-list-card th:nth-child(5),
.employee-list-card td:nth-child(5){width:15%!important;text-align:left!important}

.employee-person-link{
    gap:9px!important;
}
.employee-person-link strong{
    font-size:12px!important;
    font-weight:800!important;
}
.employee-avatar-mini{
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    border-radius:7px!important;
}
.employee-avatar-mini svg{
    width:15px!important;
    height:15px!important;
}

.employee-type-chip,
.employee-status-chip{
    height:26px!important;
    padding:0 9px!important;
    gap:6px!important;
    border-radius:7px!important;
    font-size:9.5px!important;
    font-weight:850!important;
}
.employee-chip-dot,
.employee-status-dot{
    width:6px!important;
    height:6px!important;
    flex:0 0 6px!important;
}

@media (max-width:760px){
    .employee-list-toolbar{
        min-height:52px!important;
        padding:8px 10px!important;
    }
    .employee-list-search{
        width:100%!important;
    }
    .employee-list-card table{
        min-width:720px!important;
    }
}


/* V161 — kompaktnější hlavní přehled a docházka */
.arrivals-card{
    padding:14px 16px!important;
}
.arrivals-header{
    margin-bottom:9px!important;
}
.arrivals-list{
    gap:5px!important;
}
.arrival-row{
    min-height:46px!important;
    padding:7px 10px!important;
    border-radius:9px!important;
}
.arrival-status-mark{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
}
.arrival-person{
    gap:1px!important;
}
.arrival-name{
    font-size:11.5px!important;
    line-height:1.2!important;
}
.arrival-position{
    font-size:9px!important;
    line-height:1.15!important;
}
.arrival-time-block{
    line-height:1.15!important;
}
.arrival-state-pill{
    min-height:22px!important;
    padding:4px 7px!important;
    font-size:8.5px!important;
}

/* Docházka — menší vertikální rozestupy, obsah zůstává čitelný */
.attendance-card-modern th{
    padding-top:9px!important;
    padding-bottom:9px!important;
}
.attendance-card-modern td{
    padding-top:8px!important;
    padding-bottom:8px!important;
}
.attendance-row{
    height:48px!important;
}
.attendance-person-cell{
    line-height:1.2!important;
}
.attendance-status-pill{
    min-height:23px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
}
.attendance-choice-group{
    gap:5px!important;
}
.attendance-choice{
    min-height:28px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
}
.attendance-time-input-modern,
.attendance-save-button-modern{
    min-height:30px!important;
    height:30px!important;
}
.attendance-date-form{
    margin-bottom:10px!important;
}

/* V162 — Kontakty */
.garage-table-contact-icon svg,.spv-table-contact-visual svg,.contacts-empty-icon svg{
 width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round
}
.spv-table-tile-contacts{background:linear-gradient(135deg,rgba(32,72,93,.96),rgba(26,111,122,.90))!important}
.spv-table-contact-visual{display:grid;place-items:center;height:118px;color:#bdebf0}
.spv-table-contact-visual svg{width:58px;height:58px}
.contacts-table-card{min-height:220px;display:grid;place-items:center}
.contacts-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;color:#7f95a3}
.contacts-empty-state strong{color:#d9e5eb;font-size:13px}
.contacts-empty-state>span:last-child{font-size:10px}
.contacts-empty-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:rgba(52,122,135,.12);color:#77b9c2}


/* V163 — Kontakty jako plnohodnotná vizuální karta mezi ostatními tabulkami */
.spv-table-tile-contacts{
    overflow:hidden!important;
}
.spv-table-tile-contacts .spv-table-visual{
    display:block!important;
    width:100%!important;
}
.spv-table-tile-contacts .spv-table-visual svg{
    display:block!important;
    width:100%!important;
    height:auto!important;
}
.garage-table-tile-contacts-visual{
    overflow:hidden!important;
}
.garage-table-tile-contacts-visual .garage-table-visual{
    display:block!important;
    width:112px!important;
    min-width:112px!important;
    border-radius:12px!important;
    overflow:hidden!important;
}
.garage-table-tile-contacts-visual .garage-table-visual svg{
    display:block!important;
    width:112px!important;
    height:70px!important;
}
@media (max-width:700px){
    .garage-table-tile-contacts-visual .garage-table-visual{
        width:96px!important;
        min-width:96px!important;
    }
    .garage-table-tile-contacts-visual .garage-table-visual svg{
        width:96px!important;
        height:64px!important;
    }
}


/* V164 — Klíčové hospodářství */
.spv-key-open-counter{min-width:96px;padding:10px 13px;border:1px solid rgba(243,184,73,.18);background:rgba(243,184,73,.08);border-radius:12px;text-align:right}
.spv-key-open-counter span{display:block;font-size:9px;color:#a9b5be;text-transform:uppercase;letter-spacing:.08em}
.spv-key-open-counter strong{font-size:24px;line-height:1;color:#f2c46f}
.spv-key-compose-card,.spv-key-list-card{padding:16px!important}
.spv-key-section-head{margin-bottom:12px}.spv-key-section-head strong,.spv-key-toolbar strong{display:block;font-size:13px;color:#e9f1f4}
.spv-key-section-head span,.spv-key-toolbar span{font-size:9.5px;color:#82949f}
.spv-key-form{display:grid;grid-template-columns:1.05fr .7fr 1fr 1.2fr auto;gap:9px;align-items:end}
.spv-key-form label{display:grid;gap:5px}.spv-key-form label>span{font-size:8.5px;text-transform:uppercase;letter-spacing:.07em;color:#748893;font-weight:700}
.spv-key-form input,.spv-key-return-form input{height:34px;border:1px solid rgba(121,153,170,.16);border-radius:8px;background:rgba(8,17,24,.62);color:#eaf2f5;padding:0 9px;font:inherit}
.spv-key-form .btn{height:34px;white-space:nowrap}
.spv-key-list-card{margin-top:12px}
.spv-key-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}
.spv-key-toolbar-actions{display:flex;align-items:center;gap:6px}
.spv-key-toolbar-actions>a{font-size:9px;padding:6px 9px;border-radius:7px;color:#8fa1aa;text-decoration:none;border:1px solid transparent}
.spv-key-toolbar-actions>a.is-active{color:#dce9ee;background:rgba(71,128,150,.14);border-color:rgba(92,153,176,.18)}
.spv-key-search{height:30px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid rgba(121,153,170,.14);border-radius:8px;background:rgba(8,17,24,.42)}
.spv-key-search svg{width:14px;height:14px;fill:none;stroke:#748995;stroke-width:1.7}
.spv-key-search input{width:130px;border:0;outline:0;background:transparent;color:#dfe9ed;font:inherit;font-size:9.5px}
.spv-key-table{width:100%;border-collapse:collapse;table-layout:fixed}
.spv-key-table th{padding:8px 9px;text-align:left;color:#748893;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(112,143,160,.12)}
.spv-key-table td{padding:9px;border-bottom:1px solid rgba(112,143,160,.08);font-size:10.5px;color:#bccad0;vertical-align:middle}
.spv-key-table th:nth-child(1){width:12%}.spv-key-table th:nth-child(2){width:8%}.spv-key-table th:nth-child(3){width:12%}.spv-key-table th:nth-child(4){width:22%}.spv-key-table th:nth-child(5){width:22%}.spv-key-table th:nth-child(6){width:24%}
.spv-key-table tr.is-open td{background:rgba(238,177,67,.025)}
.spv-key-table tr.is-returned{opacity:.58}
.spv-key-number{display:inline-flex;min-width:42px;justify-content:center;padding:5px 8px;border-radius:7px;background:rgba(151,105,218,.14);border:1px solid rgba(163,119,224,.16);color:#d6bdf4;font-weight:800;letter-spacing:.04em}
.spv-key-name{color:#e3ecef!important;font-weight:700}
.spv-key-time{font-variant-numeric:tabular-nums;color:#cbd8dd!important}
.spv-key-return-form{display:flex;align-items:center;gap:6px}.spv-key-return-form input{width:150px;height:29px;font-size:9px}.spv-key-return-form button{height:29px;border:1px solid rgba(73,171,121,.18);background:rgba(57,153,105,.12);color:#8fd3ad;border-radius:7px;padding:0 9px;font-size:9px;font-weight:700;cursor:pointer}
.spv-key-returned{display:flex;align-items:baseline;gap:6px;color:#81c9a2}.spv-key-returned small{font-size:9px;color:#6f9d83}
.spv-key-empty{text-align:center!important;padding:28px!important;color:#71848e!important}

.handover-key-alert{margin-bottom:8px;padding:10px;border:1px solid rgba(241,181,70,.16);background:rgba(241,181,70,.055);border-radius:10px}
.handover-key-alert-head{display:flex;align-items:center;gap:8px}.handover-key-alert-icon{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:rgba(241,181,70,.12);color:#efc16d}.handover-key-alert-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
.handover-key-alert-head>div{min-width:0;flex:1}.handover-key-alert-head strong{display:block;font-size:10.5px;color:#eed7a7}.handover-key-alert-head small{font-size:8.5px;color:#9d8c69}.handover-key-alert-head>a{font-size:8.5px;color:#c9a85f;text-decoration:none}
.handover-key-list{display:grid;gap:4px;margin-top:8px}.handover-key-row{display:flex;align-items:center;gap:7px;padding-top:5px;border-top:1px solid rgba(241,181,70,.07)}
.handover-key-number{min-width:36px;text-align:center;padding:3px 5px;border-radius:6px;background:rgba(155,112,219,.12);color:#cbb1ef;font-size:8.5px;font-weight:800}
.handover-key-copy{display:block;min-width:0}.handover-key-copy strong{display:block;font-size:9px;color:#dce6ea}.handover-key-copy small{display:block;font-size:8px;color:#7e9099;margin-top:1px}.handover-key-more{font-size:8px;color:#8e7d5e;padding-left:43px}

.handover-open-keys-card{padding:14px 16px!important;margin-bottom:12px;border-color:rgba(241,181,70,.14)!important;background:linear-gradient(180deg,rgba(241,181,70,.04),rgba(15,25,34,.55))!important}
.handover-open-keys-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.handover-open-keys-head>strong{min-width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:rgba(241,181,70,.11);color:#f0c36c}
.handover-open-keys-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.handover-open-key{display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid rgba(125,153,168,.09);border-radius:8px;background:rgba(8,16,22,.35)}
.handover-open-key>span{min-width:38px;text-align:center;padding:4px 6px;border-radius:6px;background:rgba(154,112,219,.12);color:#cdb2ef;font-size:9px;font-weight:800}
.handover-open-key div{min-width:0}.handover-open-key strong{display:block;font-size:9.5px;color:#dce7eb}.handover-open-key small{display:block;margin-top:2px;font-size:8px;color:#7e9099}

@media(max-width:980px){
 .spv-key-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .spv-key-form .btn{grid-column:1/-1}
 .handover-open-keys-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
 .spv-key-toolbar{align-items:flex-start;flex-direction:column}.spv-key-toolbar-actions{width:100%;flex-wrap:wrap}
 .spv-key-search{flex:1}.spv-key-search input{width:100%}
 .spv-key-table{min-width:760px}.spv-key-table-wrap{overflow-x:auto}
 .spv-key-form{grid-template-columns:1fr}
}


/* V165 — Kontrola garáží / živá Google tabulka */
.spv-garage-live{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid rgba(70,181,131,.16);background:rgba(55,164,118,.07);border-radius:11px}
.spv-garage-live-dot{width:8px;height:8px;border-radius:50%;background:#62d69a;box-shadow:0 0 0 5px rgba(98,214,154,.08)}
.spv-garage-live strong{display:block;font-size:9.5px;color:#bfe7cf}.spv-garage-live small{display:block;margin-top:1px;font-size:8px;color:#6f8f7c}
.spv-garage-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.spv-garage-kpi{padding:12px 13px!important}.spv-garage-kpi span{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;color:#748893}.spv-garage-kpi strong{display:block;margin-top:5px;font-size:22px;color:#e6eef2}.spv-garage-kpi strong.is-date{font-size:12px;line-height:1.25}
.spv-garage-kpi.is-ok{border-color:rgba(73,182,126,.13)!important}.spv-garage-kpi.is-ok strong{color:#7bd19f}
.spv-garage-kpi.is-problem{border-color:rgba(222,103,91,.16)!important}.spv-garage-kpi.is-problem strong{color:#ef8d81}
.spv-garage-check-card{padding:14px!important}
.spv-garage-check-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px}.spv-garage-check-toolbar strong{display:block;font-size:12.5px;color:#e4edf1}.spv-garage-check-toolbar span{font-size:8.5px;color:#758891}
.spv-garage-check-list{display:grid;gap:7px}
.spv-garage-check-row{padding:11px;border:1px solid rgba(113,145,162,.10);background:rgba(7,15,21,.32);border-radius:10px}
.spv-garage-check-row.is-ok{border-left:3px solid rgba(76,184,129,.72)}
.spv-garage-check-row.is-problem{border-left:3px solid rgba(225,102,88,.82);background:rgba(123,45,40,.06)}
.spv-garage-check-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.spv-garage-check-time strong{display:block;font-size:10.5px;color:#dce7eb}.spv-garage-check-time span{display:block;margin-top:2px;font-size:8.5px;color:#7d9099}
.spv-garage-check-status{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:7px;background:rgba(80,157,117,.09);font-size:8.5px;font-weight:700;color:#92cbaa}.spv-garage-check-row.is-problem .spv-garage-check-status{background:rgba(201,78,68,.10);color:#e5958c}
.spv-garage-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.spv-garage-check-note{margin-top:8px;padding:8px 9px;border-radius:8px;background:rgba(121,145,158,.055);color:#aebdc4;font-size:9.5px;line-height:1.45}
.spv-garage-photos{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.spv-garage-photo{display:block;width:112px;height:78px;border-radius:8px;overflow:hidden;border:1px solid rgba(130,158,172,.12);background:#0b141a}
.spv-garage-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.spv-garage-photo:hover img{transform:scale(1.04)}
.spv-garage-photo-file{width:112px;min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px;border:1px dashed rgba(128,157,171,.16);border-radius:8px;color:#718792;text-align:center}.spv-garage-photo-file span{font-size:18px}.spv-garage-photo-file small{font-size:7.5px;line-height:1.25;word-break:break-word}
.spv-garage-check-empty{padding:28px;text-align:center;color:#71848e;font-size:9.5px}
@media(max-width:900px){.spv-garage-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.spv-garage-kpis{grid-template-columns:1fr}.spv-garage-check-toolbar{align-items:flex-start;flex-direction:column}.spv-garage-check-toolbar .spv-key-search{width:100%}.spv-garage-check-meta{flex-direction:column}.spv-garage-photo{width:96px;height:68px}}


/* V166 — potvrzení kontrol + historie */
.spv-garage-toolbar-actions{display:flex;align-items:center;gap:6px}
.spv-garage-toolbar-actions>a{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:7px;border:1px solid transparent;text-decoration:none;color:#7f929c;font-size:8.5px}
.spv-garage-toolbar-actions>a b{min-width:18px;padding:2px 5px;border-radius:999px;background:rgba(121,151,166,.10);color:#9fb0b8;text-align:center;font-size:7.5px}
.spv-garage-toolbar-actions>a.is-active{background:rgba(68,132,157,.12);border-color:rgba(86,151,176,.17);color:#d3e3e9}
.spv-garage-check-side{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.spv-garage-complete-form button{height:27px;border:1px solid rgba(73,180,125,.18);border-radius:7px;background:rgba(58,160,108,.11);color:#8ad1aa;padding:0 9px;font-size:8.5px;font-weight:800;cursor:pointer}
.spv-garage-complete-form button:hover{background:rgba(58,160,108,.17)}
.spv-garage-completed-badge{padding:5px 7px;border-radius:7px;background:rgba(62,163,112,.09);border:1px solid rgba(75,182,129,.12);color:#78c99c;font-size:8px;font-weight:700}
.spv-garage-check-row.is-completed{opacity:.72;border-left-color:rgba(84,171,124,.42)}
.spv-garage-check-row.is-completed .spv-garage-check-note{opacity:.88}
@media(max-width:700px){
 .spv-garage-toolbar-actions{width:100%;flex-wrap:wrap}
 .spv-garage-toolbar-actions .spv-key-search{flex:1;min-width:160px}
 .spv-garage-check-side{justify-content:flex-start}
}


/* V172 – potvrzení směny SPV / Garážmistr */
.garage-shift-hero-main{
    gap:14px;
}

.garage-shift-hero-time{
    display:inline-flex;
    align-items:baseline;
    gap:.28em;
    white-space:nowrap;
    color:#91bce6;
    font-family:"Arial Narrow","Liberation Sans Narrow","Roboto Condensed",Arial,sans-serif;
    font-stretch:condensed;
    font-size:15px;
    font-weight:700;
    letter-spacing:.075em;
    line-height:1;
    font-variant-numeric:tabular-nums;
    transform:scaleX(.92);
    transform-origin:right center;
}

.garage-shift-time-separator{
    opacity:.52;
    font-weight:500;
}

.garage-shift-action.is-leave{
    color:#ff7b82;
    background:rgba(201,44,54,.14);
    border-color:rgba(230,67,76,.28);
}

.garage-shift-action.is-leave:hover:not(:disabled){
    color:#ff9197;
    background:rgba(211,46,57,.22);
    border-color:rgba(239,76,84,.42);
}

@media(max-width:760px){
    .garage-shift-hero-main{
        flex-wrap:wrap;
        gap:8px 12px;
    }

    .garage-shift-hero-time{
        transform:none;
        transform-origin:left center;
    }
}


/* V173 – jedna aktuální akce směny */
.garage-shift-action.is-leave{
    color:#fff !important;
    background:linear-gradient(180deg,#9f1823 0%,#731019 100%) !important;
    border-color:rgba(205,44,55,.72) !important;
    box-shadow:0 7px 20px rgba(92,10,18,.38) !important;
}
.garage-shift-action.is-leave:hover:not(:disabled){
    color:#fff !important;
    background:linear-gradient(180deg,#b31e2a 0%,#85151f 100%) !important;
    border-color:rgba(228,57,68,.82) !important;
}
.garage-shift-complete{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:0 13px;
    border:1px solid rgba(102,139,158,.18);
    border-radius:10px;
    background:rgba(75,103,118,.10);
    color:rgba(181,199,208,.72);
    font-size:10px;
    font-weight:700;
    letter-spacing:.035em;
}


/* V174 – kompaktnější potvrzení směny SPV / Garážmistr */
.garage-shift-hero{
    padding:11px 13px !important;
    border-radius:13px !important;
    min-height:auto !important;
}

.garage-shift-hero-label{
    margin-bottom:7px !important;
    font-size:8px !important;
    letter-spacing:.12em !important;
}

.garage-shift-hero-main{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    min-width:0 !important;
}

.garage-shift-hero-name{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:13px !important;
    line-height:1.15 !important;
}

.garage-shift-hero-time{
    flex:0 0 auto !important;
    margin-left:auto !important;
    font-size:13px !important;
    letter-spacing:.06em !important;
    transform:scaleX(.94) !important;
}

.garage-shift-actions{
    margin-top:9px !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
}

.garage-shift-actions form{
    margin:0 !important;
}

.garage-shift-action{
    min-height:32px !important;
    height:32px !important;
    min-width:92px !important;
    padding:0 14px !important;
    border-radius:9px !important;
    font-size:10px !important;
    line-height:1 !important;
    letter-spacing:.025em !important;
    font-weight:700 !important;
}

.garage-shift-complete{
    min-height:30px !important;
    height:30px !important;
    padding:0 11px !important;
    border-radius:8px !important;
    font-size:9px !important;
}

@media(max-width:760px){
    .garage-shift-hero{
        padding:10px 11px !important;
    }

    .garage-shift-hero-main{
        flex-wrap:nowrap !important;
    }

    .garage-shift-hero-name{
        font-size:12px !important;
    }

    .garage-shift-hero-time{
        font-size:12px !important;
        transform:scaleX(.96) !important;
    }

    .garage-shift-action{
        width:auto !important;
        min-width:88px !important;
    }
}


/* V175 – nový moderní design potvrzení směny */
.garage-shift-hero{
    width:min(100%, 390px) !important;
    min-width:320px !important;
    margin-left:auto !important;
    padding:10px 11px 10px 12px !important;
    align-self:center !important;
    text-align:left !important;
    border:1px solid rgba(132,166,189,.13) !important;
    border-radius:14px !important;
    background:
        linear-gradient(180deg,rgba(20,34,43,.94),rgba(14,26,34,.96)) !important;
    box-shadow:
        0 10px 30px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.025) !important;
}

.garage-shift-card-head{
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    margin:0 0 7px !important;
}

.garage-shift-status-dot{
    width:6px !important;
    height:6px !important;
    flex:0 0 6px !important;
    border-radius:999px !important;
    background:#58b98a !important;
    box-shadow:0 0 0 3px rgba(88,185,138,.10) !important;
}

.garage-shift-hero-label{
    margin:0 !important;
    color:#8499aa !important;
    font-size:8px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:.13em !important;
    text-transform:uppercase !important;
}

.garage-shift-card-body{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    min-width:0 !important;
}

.garage-shift-identity{
    display:flex !important;
    align-items:baseline !important;
    gap:10px !important;
    min-width:0 !important;
    flex:1 1 auto !important;
}

.garage-shift-hero-name{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    color:#edf4f8 !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.1 !important;
    letter-spacing:-.015em !important;
}

.garage-shift-hero-time{
    display:inline-flex !important;
    align-items:baseline !important;
    gap:.25em !important;
    flex:0 0 auto !important;
    margin:0 !important;
    color:#82aedd !important;
    font-family:"Arial Narrow","Liberation Sans Narrow","Roboto Condensed",Arial,sans-serif !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;
    letter-spacing:.055em !important;
    font-variant-numeric:tabular-nums !important;
    transform:scaleX(.94) !important;
    transform-origin:center !important;
}

.garage-shift-time-separator{
    opacity:.46 !important;
    font-weight:500 !important;
}

.garage-shift-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex:0 0 auto !important;
    margin:0 !important;
}

.garage-shift-actions form{
    margin:0 !important;
}

.garage-shift-action{
    height:32px !important;
    min-height:32px !important;
    min-width:86px !important;
    padding:0 14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:9px !important;
    font-size:10px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:.02em !important;
    box-shadow:none !important;
    transition:background .15s ease,border-color .15s ease,transform .15s ease !important;
}

.garage-shift-action:hover:not(:disabled){
    transform:translateY(-1px) !important;
}

.garage-shift-action.is-arrive{
    color:#dff9ec !important;
    background:#176b4b !important;
    border:1px solid #27845f !important;
}

.garage-shift-action.is-arrive:hover:not(:disabled){
    background:#1b7955 !important;
    border-color:#32946d !important;
}

.garage-shift-action.is-leave{
    color:#fff !important;
    background:#8f1721 !important;
    border:1px solid #b12835 !important;
    box-shadow:0 6px 16px rgba(99,11,20,.18) !important;
}

.garage-shift-action.is-leave:hover:not(:disabled){
    background:#a31b27 !important;
    border-color:#c73743 !important;
}

.garage-shift-complete{
    min-height:32px !important;
    height:32px !important;
    padding:0 11px !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    border:1px solid rgba(85,168,127,.16) !important;
    border-radius:9px !important;
    background:rgba(34,112,78,.10) !important;
    color:#9ccdb5 !important;
    font-size:9px !important;
    font-weight:750 !important;
    letter-spacing:.025em !important;
}

.garage-shift-complete-dot{
    width:5px !important;
    height:5px !important;
    border-radius:50% !important;
    background:#5cbd8e !important;
}

.garage-shift-hero-empty{
    padding:1px 0 0 !important;
    color:#7f91a0 !important;
    font-size:11px !important;
    font-weight:650 !important;
}

@media(max-width:760px){
    .garage-shift-hero{
        width:100% !important;
        min-width:0 !important;
        margin:10px 0 0 !important;
        padding:10px 11px !important;
    }

    .garage-shift-card-body{
        gap:10px !important;
    }

    .garage-shift-identity{
        gap:7px !important;
    }

    .garage-shift-hero-name{
        font-size:12px !important;
    }

    .garage-shift-hero-time{
        font-size:12px !important;
        transform:none !important;
    }

    .garage-shift-action{
        min-width:80px !important;
        padding:0 11px !important;
    }
}

@media(max-width:440px){
    .garage-shift-card-body{
        align-items:stretch !important;
        flex-direction:column !important;
        gap:9px !important;
    }

    .garage-shift-actions{
        justify-content:flex-start !important;
    }

    .garage-shift-action{
        min-width:92px !important;
    }
}


/* Light mode */
html[data-theme="light"] .om-sidebar-collapse,
body.light-mode .om-sidebar-collapse,
body.is-light .om-sidebar-collapse{
    background:#fff;color:#397b9d;border-color:#d4e2e9;
}

/* Don't interfere with the existing mobile navigation behavior. */
@media(max-width:900px){
    .om-sidebar-collapse{display:none!important}
    body.om-sidebar-collapsed .sidebar,
    body.om-sidebar-collapsed .side-nav{width:var(--sidebar-width,260px)!important}
    body.om-sidebar-collapsed .main-content,
    body.om-sidebar-collapsed main{margin-left:0!important}
}

/* V268 - SPV rychlé akce: NRB svítilna + dechová zkouška vítr */
.spv-quick-v226 .spv-breath-icon-v245 svg,
.spv-quick-v226 .spv-nrb-icon-v268 svg{width:22px;height:22px;display:block}
.spv-quick-v226 .spv-nrb-icon-v268 svg path{fill:currentColor}
.spv-quick-v226 .spv-nrb-icon-v268 svg path:last-child{fill:none}

/* NRB native ISSFLORA v270 */
.nrb-page-v270{max-width:1280px}.nrb-head-v270{align-items:center}.nrb-history-btn-v270{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:12px;background:#202b3b;color:#fff;text-decoration:none;font-weight:800;border:1px solid rgba(255,255,255,.08)}.nrb-form-card-v270,.nrb-history-card-v270{padding:24px}.nrb-form-title-v270{display:flex;gap:14px;align-items:center;margin-bottom:24px}.nrb-form-title-v270 strong{display:block;font-size:18px}.nrb-form-title-v270 small{display:block;margin-top:4px;color:#8793a6}.nrb-flashlight-v270{width:42px;height:42px;border-radius:12px;background:#182231;display:grid;place-items:center;transform:rotate(-18deg)}.nrb-grid-v270{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nrb-grid-v270 label,.nrb-note-v270{font-size:12px;font-weight:800;color:#8f9bad;text-transform:uppercase;letter-spacing:.04em}.nrb-grid-v270 input,.nrb-note-v270 textarea,.nrb-filter-v270 input{display:block;width:100%;box-sizing:border-box;margin-top:7px;background:#101823;border:1px solid #2b3748;color:#f6f8fb;border-radius:11px;padding:12px 13px;font:inherit;text-transform:none;letter-spacing:0}.nrb-wide-v270{grid-column:1/-1}.nrb-result-v270{margin:20px 0;padding:16px;border:1px solid #273446;border-radius:13px;background:#111a26;display:flex;gap:20px;align-items:center}.nrb-result-v270>span{font-size:12px;font-weight:800;color:#8f9bad;text-transform:uppercase}.nrb-result-v270 label{display:flex;align-items:center;gap:7px}.nrb-note-v270{display:block}.nrb-note-v270 textarea{resize:vertical;min-height:110px}.nrb-form-foot-v270{display:flex;justify-content:space-between;align-items:center;margin-top:20px;color:#8f9bad}.nrb-form-foot-v270 button,.nrb-filter-v270 button{border:0;border-radius:11px;padding:12px 18px;background:#2563eb;color:white;font-weight:800;cursor:pointer}.nrb-success-v270,.nrb-error-v270{padding:13px 16px;border-radius:11px;margin-bottom:16px;font-weight:750}.nrb-success-v270{background:rgba(16,185,129,.12);color:#6ee7b7;border:1px solid rgba(16,185,129,.25)}.nrb-error-v270{background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.25)}.nrb-filter-v270{display:grid;grid-template-columns:170px 170px 1fr auto auto;gap:12px;align-items:end}.nrb-filter-v270 label{font-size:11px;font-weight:800;color:#8f9bad;text-transform:uppercase}.nrb-filter-v270 a{padding:12px 10px;color:#9aa6b8;text-decoration:none}.nrb-history-summary-v270{display:flex;gap:7px;align-items:baseline;margin:22px 0 10px}.nrb-history-summary-v270 strong{font-size:22px}.nrb-history-summary-v270 span{color:#8f9bad}.nrb-table-wrap-v270{overflow:auto;border:1px solid #273446;border-radius:13px}.nrb-table-v270{width:100%;border-collapse:collapse;min-width:850px}.nrb-table-v270 th{padding:12px 14px;text-align:left;background:#111a26;color:#8390a3;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.nrb-table-v270 td{padding:13px 14px;border-top:1px solid #253143;vertical-align:top}.nrb-status-v270{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.nrb-status-v270.is-ok{background:rgba(16,185,129,.12);color:#6ee7b7}.nrb-status-v270.is-issue{background:rgba(239,68,68,.12);color:#fca5a5}.nrb-empty-v270{text-align:center;color:#8f9bad;padding:35px!important}@media(max-width:760px){.nrb-grid-v270,.nrb-filter-v270{grid-template-columns:1fr}.nrb-wide-v270{grid-column:auto}.nrb-result-v270,.nrb-form-foot-v270{align-items:stretch;flex-direction:column}.nrb-form-card-v270,.nrb-history-card-v270{padding:16px}}
/* NRB v271 – native ISSFLORA form matching the original NRB workflow */
.nrb-page-v271{max-width:1180px}.nrb-head-v271{align-items:center}.nrb-form-card-v271{max-width:760px;margin:0 auto;padding:34px 42px}.nrb-brand-v271{display:flex;align-items:center;gap:16px;padding-bottom:24px;border-bottom:1px solid #273446;margin-bottom:28px}.nrb-brand-v271 img{width:64px;height:auto;border-radius:4px}.nrb-brand-v271 strong{display:block;font-size:20px}.nrb-brand-v271 span{display:block;margin-top:6px;color:#8f9bad;font-size:12px}.nrb-form-v271{display:flex;flex-direction:column;gap:30px}.nrb-field-v271>label,.nrb-check-v271 label{display:block;font-weight:800;color:#f3f6fa;font-size:14px}.nrb-field-v271>label b{color:#ef6b6b}.nrb-field-v271>small,.nrb-check-v271 small{display:block;color:#8491a3;font-size:12px;margin-top:6px}.nrb-field-v271 select,.nrb-field-v271 input{width:100%;box-sizing:border-box;margin-top:12px;background:#101823;border:1px solid #2b3748;color:#f6f8fb;border-radius:10px;padding:13px 14px;font:inherit}.nrb-datetime-v271{display:grid;grid-template-columns:1.2fr .9fr auto;gap:10px;align-items:center}.nrb-datetime-v271 span{margin-top:12px;color:#7f8b9d;font-size:12px}.nrb-check-v271{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:2px 0}.nrb-box-v271{position:relative;display:block!important;width:24px;height:24px;flex:0 0 24px}.nrb-box-v271 input{position:absolute;opacity:0;pointer-events:none}.nrb-box-v271 span{display:block;width:22px;height:22px;border-radius:5px;border:1px solid #465267;background:#101823;cursor:pointer;position:relative}.nrb-box-v271 input:checked+span{background:#2563eb;border-color:#3b82f6}.nrb-box-v271 input:checked+span:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:15px;font-weight:900}.nrb-submit-v271{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #273446;padding-top:22px}.nrb-submit-v271 span{color:#7f8b9d;font-size:12px}.nrb-submit-v271 button{border:0;border-radius:10px;background:#2563eb;color:#fff;padding:12px 22px;font-weight:800;cursor:pointer}.nrb-yn-v271{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.nrb-yn-v271.yes{background:rgba(16,185,129,.12);color:#6ee7b7}.nrb-yn-v271.no{background:rgba(148,163,184,.1);color:#94a3b8}@media(max-width:760px){.nrb-form-card-v271{padding:22px 18px}.nrb-datetime-v271{grid-template-columns:1fr 1fr}.nrb-datetime-v271 span{grid-column:1/-1;margin-top:0}.nrb-submit-v271{align-items:stretch;flex-direction:column;gap:14px}.nrb-submit-v271 button{width:100%}}

/* v272 – jemnější NRB ikona svítilny */
.spv-quick-v226 .spv-nrb-icon-v272{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(96,165,250,.10);color:#dbeafe}
.spv-quick-v226 .spv-nrb-icon-v272 svg{width:23px;height:23px;display:block}

/* SEECom import v274 */
.schedule-seecom-button{display:inline-flex;align-items:center;gap:9px;background:#182235;color:#fff;border:1px solid rgba(148,163,184,.18)}
.schedule-seecom-button:hover{background:#202c43}
.schedule-seecom-icon{width:20px;height:20px;display:grid;place-items:center}
.schedule-seecom-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.schedule-seecom-dialog{width:min(860px,calc(100vw - 32px));max-height:min(86vh,900px);overflow:auto}
.seecom-drop{margin-top:18px;border:1px dashed rgba(148,163,184,.38);border-radius:16px;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;background:rgba(15,23,42,.24);padding:28px;transition:.18s ease}
.seecom-drop.is-drag{border-color:#60a5fa;background:rgba(59,130,246,.08);transform:scale(1.005)}
.seecom-drop>strong{font-size:18px;color:#f8fafc}
.seecom-drop>span{font-size:13px;color:#94a3b8;margin-bottom:10px}
.seecom-drop-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:rgba(59,130,246,.1);color:#60a5fa;margin-bottom:6px}
.seecom-drop-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.seecom-loading{min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#cbd5e1}
.seecom-spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(148,163,184,.22);border-top-color:#60a5fa;animation:seecom-spin .8s linear infinite}
@keyframes seecom-spin{to{transform:rotate(360deg)}}
.seecom-preview{margin-top:18px}
.seecom-file-line{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:rgba(15,23,42,.28)}
.seecom-file-line div{display:flex;flex-direction:column;gap:2px;min-width:0}
.seecom-file-line span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800}
.seecom-file-line strong{font-size:14px;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seecom-change-file{appearance:none;border:0;background:transparent;color:#60a5fa;font-weight:800;cursor:pointer;padding:7px 0}
.seecom-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.seecom-kpis>div{border:1px solid rgba(148,163,184,.15);border-radius:12px;background:rgba(15,23,42,.24);padding:13px}
.seecom-kpis strong{display:block;color:#f8fafc;font-size:20px;line-height:1.1}
.seecom-kpis span{display:block;color:#64748b;font-size:11px;margin-top:5px}
.seecom-status-line{margin-top:12px;border-radius:11px;padding:11px 13px;font-size:13px;font-weight:700}
.seecom-status-line.is-ok{background:rgba(16,185,129,.1);color:#6ee7b7;border:1px solid rgba(16,185,129,.18)}
.seecom-status-line.is-warn{background:rgba(245,158,11,.1);color:#fbbf24;border:1px solid rgba(245,158,11,.2)}
.seecom-status-line.is-info{background:rgba(59,130,246,.1);color:#93c5fd;border:1px solid rgba(59,130,246,.18)}
.seecom-unmatched,.seecom-issues{margin-top:14px;border:1px solid rgba(148,163,184,.14);border-radius:13px;overflow:hidden}
.seecom-section-head{padding:12px 14px;background:rgba(15,23,42,.35);border-bottom:1px solid rgba(148,163,184,.12)}
.seecom-section-head div{display:flex;flex-direction:column;gap:2px}
.seecom-section-head strong{font-size:13px;color:#e2e8f0}
.seecom-section-head span{font-size:11px;color:#64748b}
.seecom-map-list,.seecom-issue-list{max-height:230px;overflow:auto}
.seecom-map-row{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(260px,1.1fr);gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(148,163,184,.09)}
.seecom-map-row:last-child,.seecom-issue-row:last-child{border-bottom:0}
.seecom-map-row>div{display:flex;flex-direction:column;min-width:0}
.seecom-map-row strong{font-size:13px;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seecom-map-row span{font-size:11px;color:#64748b}
.seecom-map-row select{width:100%;background:#0f172a;color:#e2e8f0;border:1px solid rgba(148,163,184,.2);border-radius:9px;padding:9px 10px;font:inherit}
.seecom-issue-row{display:grid;grid-template-columns:60px 1fr auto;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(148,163,184,.09)}
.seecom-issue-row strong{font-size:12px;color:#f8fafc;background:rgba(148,163,184,.1);border-radius:7px;padding:5px 7px;text-align:center}
.seecom-issue-row span{font-size:12px;color:#94a3b8}
.seecom-issue-row em{font-style:normal;color:#64748b;font-size:11px;font-weight:800}
.seecom-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(148,163,184,.12)}
.seecom-actions .btn:disabled{opacity:.5;cursor:not-allowed}
.seecom-result{padding:42px 20px 20px;text-align:center}
.seecom-result-icon{width:58px;height:58px;border-radius:18px;margin:0 auto 14px;display:grid;place-items:center;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.22);color:#6ee7b7;font-size:28px;font-weight:900}
.seecom-result h3{font-size:22px;margin:0 0 8px;color:#f8fafc}
.seecom-result p{max-width:620px;margin:0 auto 20px;color:#94a3b8;line-height:1.55}
@media(max-width:700px){.seecom-kpis{grid-template-columns:1fr 1fr}.seecom-map-row{grid-template-columns:1fr}.seecom-actions{flex-direction:column-reverse}.seecom-actions .btn{width:100%}}

/* SEECom v275 – rozhodnutí u nových zaměstnanců */
.seecom-map-row-choice{grid-template-columns:minmax(170px,.72fr) minmax(390px,1.28fr);}
.seecom-employee-choice{display:grid!important;grid-template-columns:minmax(180px,1fr) auto auto;gap:7px;align-items:center;}
.seecom-choice-btn{border:1px solid rgba(96,165,250,.28);background:rgba(37,99,235,.11);color:#bfdbfe;border-radius:9px;padding:9px 11px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;}
.seecom-choice-btn:hover,.seecom-choice-btn.is-active{background:#2563eb;border-color:#3b82f6;color:#fff;}
.seecom-choice-btn.is-muted{border-color:rgba(148,163,184,.18);background:rgba(100,116,139,.08);color:#94a3b8;}
.seecom-choice-btn.is-muted:hover,.seecom-choice-btn.is-muted.is-active{background:#475569;border-color:#64748b;color:#fff;}
.seecom-choice-note{grid-column:1/-1;color:#60a5fa;font-size:11px;padding-top:1px;}
@media(max-width:900px){.seecom-map-row-choice{grid-template-columns:1fr}.seecom-employee-choice{grid-template-columns:1fr}.seecom-choice-btn{width:100%}}

/* SEECom v276 – vizuální doladění importu */
.schedule-seecom-dialog{padding:0!important;border:1px solid rgba(148,163,184,.16)!important;border-radius:22px!important;background:linear-gradient(180deg,#111b2d 0%,#0d1625 100%)!important;box-shadow:0 30px 80px rgba(2,6,23,.58)!important;overflow:auto!important}
.schedule-seecom-dialog>.schedule-modal-x{top:18px;right:18px;width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.045);border:1px solid rgba(148,163,184,.13);color:#94a3b8;z-index:3}
.schedule-seecom-dialog>.schedule-modal-x:hover{background:rgba(255,255,255,.08);color:#f8fafc}
.schedule-seecom-dialog>.schedule-modal-eyebrow,.schedule-seecom-dialog>h2,.schedule-seecom-dialog>.schedule-manual-intro{margin-left:28px;margin-right:70px}
.schedule-seecom-dialog>.schedule-modal-eyebrow{margin-top:27px;color:#60a5fa;font-size:11px;font-weight:900;letter-spacing:.13em}
.schedule-seecom-dialog>h2{margin-top:5px;margin-bottom:7px;font-size:25px;letter-spacing:-.025em;color:#f8fafc}
.schedule-seecom-dialog>.schedule-manual-intro{max-width:680px;margin-bottom:0;color:#8fa0b7;line-height:1.55;font-size:13px}
.schedule-seecom-dialog>.schedule-manual-intro strong{color:#dbeafe}
.schedule-seecom-dialog>.seecom-drop,.schedule-seecom-dialog>.seecom-loading,.schedule-seecom-dialog>.seecom-preview,.schedule-seecom-dialog>.seecom-result{margin-left:28px;margin-right:28px}
.seecom-drop{margin-top:24px;min-height:245px;border:1px dashed rgba(96,165,250,.34);border-radius:18px;background:radial-gradient(circle at 50% 0%,rgba(59,130,246,.09),transparent 48%),rgba(8,15,27,.45);box-shadow:inset 0 0 0 1px rgba(255,255,255,.012)}
.seecom-drop:hover{border-color:rgba(96,165,250,.58);background:radial-gradient(circle at 50% 0%,rgba(59,130,246,.13),transparent 50%),rgba(8,15,27,.5)}
.seecom-drop-icon{width:62px;height:62px;border-radius:18px;background:linear-gradient(145deg,rgba(37,99,235,.18),rgba(59,130,246,.07));border:1px solid rgba(96,165,250,.17);box-shadow:0 12px 30px rgba(2,6,23,.22)}
.seecom-drop>strong{font-size:19px;letter-spacing:-.015em}.seecom-drop>span{color:#718198}
.seecom-drop .btn-primary{margin-top:5px;border-radius:10px;padding:10px 16px;box-shadow:0 8px 22px rgba(37,99,235,.18)}
.seecom-preview{margin-top:24px!important;padding-bottom:28px}
.seecom-file-line{padding:14px 16px;border-radius:14px;background:rgba(8,15,27,.55);border-color:rgba(148,163,184,.13)}
.seecom-change-file{padding:8px 11px;border-radius:9px;background:rgba(59,130,246,.08);border:1px solid rgba(96,165,250,.12)}
.seecom-change-file:hover{background:rgba(59,130,246,.14);color:#bfdbfe}
.seecom-kpis{gap:11px;margin-top:11px}.seecom-kpis>div{position:relative;overflow:hidden;min-height:74px;padding:14px 15px;border-radius:14px;background:linear-gradient(145deg,rgba(20,31,49,.9),rgba(12,22,37,.9));border-color:rgba(148,163,184,.12)}
.seecom-kpis>div:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(96,165,250,.35)}
.seecom-kpis>div:nth-child(3):after{background:rgba(52,211,153,.45)}.seecom-kpis>div:nth-child(4):after{background:rgba(251,191,36,.5)}
.seecom-kpis strong{font-size:22px;letter-spacing:-.02em}.seecom-kpis span{font-size:10px;text-transform:uppercase;letter-spacing:.065em;font-weight:800;color:#718198}
.seecom-status-line{border-radius:12px;padding:12px 14px}
.seecom-unmatched,.seecom-issues{margin-top:16px;border-radius:15px;background:rgba(8,15,27,.35);border-color:rgba(148,163,184,.12)}
.seecom-section-head{padding:14px 16px;background:rgba(20,31,49,.62)}.seecom-section-head strong{font-size:14px}.seecom-section-head span{margin-top:2px;color:#718198}
.seecom-map-list,.seecom-issue-list{max-height:270px}
.seecom-map-row{padding:13px 16px}.seecom-person strong{font-size:14px}.seecom-person span{margin-top:3px}
.seecom-employee-choice select{min-height:39px;border-radius:10px!important;background:#0b1423!important;border-color:rgba(148,163,184,.17)!important}
.seecom-choice-btn{min-height:39px;border-radius:10px;padding:9px 12px;transition:.16s ease}.seecom-choice-btn:hover{transform:translateY(-1px)}
.seecom-choice-note{padding:6px 9px!important;margin-top:2px;border-radius:8px;background:rgba(59,130,246,.07);color:#93c5fd!important}
.seecom-issue-row{padding:12px 16px}.seecom-issue-row strong{border-radius:8px}
.seecom-actions{margin-top:18px;padding-top:17px}.seecom-actions .btn{min-height:40px;border-radius:10px;padding-left:17px;padding-right:17px}.seecom-actions .btn-primary{box-shadow:0 8px 22px rgba(37,99,235,.16)}
.seecom-result{padding:54px 20px 42px!important}.seecom-result-icon{width:64px;height:64px;border-radius:20px;box-shadow:0 12px 34px rgba(16,185,129,.12)}
@media(max-width:700px){.schedule-seecom-dialog>.schedule-modal-eyebrow,.schedule-seecom-dialog>h2,.schedule-seecom-dialog>.schedule-manual-intro{margin-left:20px}.schedule-seecom-dialog>.seecom-drop,.schedule-seecom-dialog>.seecom-loading,.schedule-seecom-dialog>.seecom-preview,.schedule-seecom-dialog>.seecom-result{margin-left:20px;margin-right:20px}.schedule-seecom-dialog>h2{font-size:22px}.seecom-drop{min-height:220px;padding:22px 16px}}

/* SEECom v277 – moderní volba nového zaměstnance */
.seecom-employee-choice{grid-template-columns:minmax(190px,1fr) minmax(175px,.78fr) minmax(165px,.72fr)!important;gap:10px!important}
.seecom-choice-btn{position:relative;display:grid!important;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:10px;min-height:58px!important;padding:8px 10px!important;text-align:left;white-space:normal!important;border-radius:14px!important;overflow:hidden;background:linear-gradient(145deg,rgba(16,185,129,.11),rgba(5,150,105,.045))!important;border:1px solid rgba(52,211,153,.24)!important;color:#d1fae5!important;box-shadow:inset 0 1px rgba(255,255,255,.025);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
.seecom-choice-btn:before{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(circle at 18% 0%,rgba(52,211,153,.18),transparent 50%);transition:opacity .18s ease;pointer-events:none}
.seecom-choice-btn:hover{transform:translateY(-2px)!important;border-color:rgba(52,211,153,.52)!important;box-shadow:0 10px 24px rgba(5,150,105,.11),inset 0 1px rgba(255,255,255,.035)!important}
.seecom-choice-btn:hover:before,.seecom-choice-btn.is-active:before{opacity:1}
.seecom-choice-btn.is-active{background:linear-gradient(145deg,rgba(5,150,105,.28),rgba(16,185,129,.12))!important;border-color:#34d399!important;box-shadow:0 0 0 2px rgba(52,211,153,.08),0 12px 28px rgba(5,150,105,.14)!important;color:#ecfdf5!important}
.seecom-choice-icon{position:relative;z-index:1;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(16,185,129,.12);border:1px solid rgba(52,211,153,.18);color:#6ee7b7}
.seecom-choice-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}
.seecom-choice-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.seecom-choice-copy strong{font-size:12px;line-height:1.2;color:inherit}
.seecom-choice-copy small{font-size:10px;line-height:1.2;color:#6b8f86;font-weight:650}
.seecom-choice-btn.is-active .seecom-choice-copy small{color:#a7f3d0}
.seecom-choice-check{position:relative;z-index:1;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(52,211,153,.24);color:transparent;background:rgba(2,6,23,.2);font-size:11px;font-weight:900}
.seecom-choice-btn.is-active .seecom-choice-check{background:#10b981;border-color:#34d399;color:#fff}
.seecom-choice-btn.is-muted{background:linear-gradient(145deg,rgba(244,63,94,.095),rgba(190,24,93,.035))!important;border-color:rgba(251,113,133,.2)!important;color:#ffe4e6!important}
.seecom-choice-btn.is-muted:before{background:radial-gradient(circle at 18% 0%,rgba(244,63,94,.16),transparent 50%)}
.seecom-choice-btn.is-muted .seecom-choice-icon{background:rgba(244,63,94,.1);border-color:rgba(251,113,133,.17);color:#fda4af}
.seecom-choice-btn.is-muted .seecom-choice-copy small{color:#94717a}
.seecom-choice-btn.is-muted .seecom-choice-check{border-color:rgba(251,113,133,.2)}
.seecom-choice-btn.is-muted:hover{border-color:rgba(251,113,133,.48)!important;box-shadow:0 10px 24px rgba(190,24,93,.1),inset 0 1px rgba(255,255,255,.03)!important}
.seecom-choice-btn.is-muted.is-active{background:linear-gradient(145deg,rgba(190,24,93,.27),rgba(244,63,94,.11))!important;border-color:#fb7185!important;color:#fff1f2!important;box-shadow:0 0 0 2px rgba(251,113,133,.07),0 12px 28px rgba(190,24,93,.13)!important}
.seecom-choice-btn.is-muted.is-active .seecom-choice-copy small{color:#fecdd3}
.seecom-choice-btn.is-muted.is-active .seecom-choice-check{background:#f43f5e;border-color:#fb7185;color:#fff}
@media(max-width:1050px){.seecom-employee-choice{grid-template-columns:1fr 1fr!important}.seecom-employee-choice select{grid-column:1/-1}}
@media(max-width:700px){.seecom-employee-choice{grid-template-columns:1fr!important}.seecom-employee-choice select{grid-column:auto}.seecom-choice-btn{width:100%}}

/* SEECom v278 – stabilní moderní rozhodování zaměstnanců */
.seecom-preview{position:relative}
.seecom-preview.is-refreshing:after{content:"";position:absolute;inset:0;z-index:20;border-radius:16px;background:rgba(8,15,27,.25);backdrop-filter:blur(1px);pointer-events:none}
.seecom-map-list{max-height:420px;padding:10px;background:rgba(5,10,20,.24)}
.seecom-map-row-choice{display:grid!important;grid-template-columns:minmax(180px,.58fr) minmax(470px,1.42fr)!important;gap:18px!important;align-items:stretch!important;margin:0 0 10px;padding:14px!important;border:1px solid rgba(148,163,184,.12)!important;border-radius:17px;background:linear-gradient(145deg,rgba(19,31,50,.82),rgba(10,19,32,.82));box-shadow:0 8px 24px rgba(2,6,23,.12);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.seecom-map-row-choice:last-child{margin-bottom:0!important}
.seecom-map-row-choice:hover{border-color:rgba(96,165,250,.22)!important;box-shadow:0 12px 30px rgba(2,6,23,.18)}
.seecom-map-row-choice.has-decision{border-color:rgba(100,116,139,.22)!important}
.seecom-person{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;min-width:0;padding:6px 4px}
.seecom-person-avatar{flex:0 0 46px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(59,130,246,.18),rgba(37,99,235,.08));border:1px solid rgba(96,165,250,.18);color:#bfdbfe;font-size:18px;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.03)}
.seecom-person-main{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.seecom-person-main>strong{max-width:100%;font-size:14px!important;line-height:1.25;color:#f8fafc!important}
.seecom-person-main>span:not(.seecom-person-state){margin-top:3px;color:#718198;font-size:11px}
.seecom-person-state{display:inline-flex!important;align-items:center;width:auto!important;margin-top:8px;padding:4px 7px;border-radius:999px;background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.12);color:#8493a8!important;font-size:9px!important;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
.seecom-person-state.is-create{background:rgba(16,185,129,.09);border-color:rgba(52,211,153,.18);color:#6ee7b7!important}
.seecom-person-state.is-ignore{background:rgba(244,63,94,.08);border-color:rgba(251,113,133,.16);color:#fda4af!important}
.seecom-decision-panel{display:flex!important;flex-direction:column!important;gap:9px;min-width:0}
.seecom-existing-box{display:grid;grid-template-columns:38px minmax(150px,.7fr) minmax(180px,1fr);align-items:center;gap:10px;min-height:58px;padding:8px 10px;border:1px solid rgba(96,165,250,.16);border-radius:14px;background:rgba(37,99,235,.045);transition:.18s ease}
.seecom-existing-box:focus-within,.seecom-existing-box.is-selected{border-color:rgba(96,165,250,.45);background:rgba(37,99,235,.085);box-shadow:0 0 0 3px rgba(59,130,246,.055)}
.seecom-existing-icon{width:36px;height:36px;display:grid!important;place-items:center;border-radius:11px;background:rgba(59,130,246,.1);border:1px solid rgba(96,165,250,.13);color:#93c5fd}
.seecom-existing-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.seecom-existing-copy{display:flex!important;flex-direction:column;gap:2px;min-width:0}
.seecom-existing-copy strong{font-size:11px!important;color:#dbeafe!important;white-space:normal!important}
.seecom-existing-copy small{font-size:9px;color:#6d7d92;line-height:1.25}
.seecom-existing-box select{min-height:38px!important;padding:8px 34px 8px 10px!important;border-radius:10px!important;background:#0a1322!important;border:1px solid rgba(148,163,184,.16)!important;color:#dce7f5!important;font-size:11px!important;cursor:pointer}
.seecom-existing-box select:focus{outline:none;border-color:rgba(96,165,250,.5)!important;box-shadow:0 0 0 3px rgba(59,130,246,.08)}
.seecom-decision-or{display:flex;align-items:center;gap:10px;color:#536278;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.seecom-decision-or:before,.seecom-decision-or:after{content:"";height:1px;flex:1;background:rgba(148,163,184,.09)}
.seecom-decision-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seecom-choice-card{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 22px;align-items:center;gap:10px;min-height:72px;padding:10px 11px;text-align:left;border-radius:15px;border:1px solid transparent;cursor:pointer;font:inherit;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.seecom-choice-card:hover{transform:translateY(-1px)}
.seecom-choice-card:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}
.seecom-choice-card-icon{width:40px;height:40px;display:grid!important;place-items:center;border-radius:12px}
.seecom-choice-card-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.seecom-choice-card-copy{display:flex!important;flex-direction:column;gap:3px;min-width:0}
.seecom-choice-card-copy strong{font-size:12px!important;line-height:1.2;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:inherit!important}
.seecom-choice-card-copy small{font-size:9px;line-height:1.3;font-weight:650}
.seecom-choice-card-check{width:20px;height:20px;display:grid!important;place-items:center;border-radius:999px;font-size:11px;font-weight:900;color:transparent;transition:.16s ease}
.seecom-choice-card.is-create{background:linear-gradient(145deg,rgba(16,185,129,.09),rgba(5,150,105,.035));border-color:rgba(52,211,153,.17);color:#d1fae5}
.seecom-choice-card.is-create .seecom-choice-card-icon{background:rgba(16,185,129,.11);border:1px solid rgba(52,211,153,.16);color:#6ee7b7}
.seecom-choice-card.is-create .seecom-choice-card-copy small{color:#6b8f86}
.seecom-choice-card.is-create .seecom-choice-card-check{border:1px solid rgba(52,211,153,.22);background:rgba(2,6,23,.17)}
.seecom-choice-card.is-create:hover{border-color:rgba(52,211,153,.42);box-shadow:0 9px 22px rgba(5,150,105,.09)}
.seecom-choice-card.is-create.is-active{background:linear-gradient(145deg,rgba(5,150,105,.25),rgba(16,185,129,.1));border-color:#34d399;box-shadow:0 0 0 2px rgba(52,211,153,.055),0 10px 24px rgba(5,150,105,.11)}
.seecom-choice-card.is-create.is-active .seecom-choice-card-check{background:#10b981;border-color:#34d399;color:#fff}
.seecom-choice-card.is-create.is-active .seecom-choice-card-copy small{color:#a7f3d0}
.seecom-choice-card.is-ignore{background:linear-gradient(145deg,rgba(244,63,94,.075),rgba(190,24,93,.025));border-color:rgba(251,113,133,.15);color:#ffe4e6}
.seecom-choice-card.is-ignore .seecom-choice-card-icon{background:rgba(244,63,94,.09);border:1px solid rgba(251,113,133,.14);color:#fda4af}
.seecom-choice-card.is-ignore .seecom-choice-card-copy small{color:#92717a}
.seecom-choice-card.is-ignore .seecom-choice-card-check{border:1px solid rgba(251,113,133,.18);background:rgba(2,6,23,.17)}
.seecom-choice-card.is-ignore:hover{border-color:rgba(251,113,133,.4);box-shadow:0 9px 22px rgba(190,24,93,.08)}
.seecom-choice-card.is-ignore.is-active{background:linear-gradient(145deg,rgba(190,24,93,.22),rgba(244,63,94,.09));border-color:#fb7185;box-shadow:0 0 0 2px rgba(251,113,133,.045),0 10px 24px rgba(190,24,93,.1)}
.seecom-choice-card.is-ignore.is-active .seecom-choice-card-check{background:#f43f5e;border-color:#fb7185;color:#fff}
.seecom-choice-card.is-ignore.is-active .seecom-choice-card-copy small{color:#fecdd3}
.seecom-choice-note{display:flex!important;grid-column:auto!important;align-items:flex-start;gap:8px;margin:0!important;padding:8px 10px!important;border-radius:11px!important;background:rgba(59,130,246,.055)!important;border:1px solid rgba(96,165,250,.1);color:#93c5fd!important}
.seecom-choice-note>span{flex:0 0 18px;width:18px;height:18px;display:grid!important;place-items:center;border-radius:50%;background:rgba(59,130,246,.12);color:#93c5fd!important;font-size:10px!important;font-weight:900}
.seecom-choice-note p{margin:1px 0 0;font-size:10px;line-height:1.4;color:#8294ad}
@media(max-width:1050px){.seecom-map-row-choice{grid-template-columns:1fr!important}.seecom-person{padding-bottom:0}.seecom-existing-box{grid-template-columns:38px minmax(130px,.7fr) minmax(180px,1fr)}}
@media(max-width:720px){.seecom-map-list{padding:7px}.seecom-map-row-choice{padding:11px!important;border-radius:14px}.seecom-existing-box{grid-template-columns:36px 1fr}.seecom-existing-box select{grid-column:1/-1}.seecom-decision-cards{grid-template-columns:1fr}.seecom-choice-card{min-height:66px}}

/* EMPLOYEE TRAINING V289 */
.training-page{padding-bottom:54px}
.training-alert{margin-bottom:16px;padding:12px 15px;border-radius:12px;font-size:12px;font-weight:750;border:1px solid transparent}
.training-alert.is-success{background:rgba(37,186,125,.10);border-color:rgba(37,186,125,.22);color:#a8efd0}
.training-alert.is-error{background:rgba(239,92,92,.10);border-color:rgba(239,92,92,.24);color:#ffb4b4}
.training-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.training-summary-card{min-height:116px;padding:18px 19px;border:1px solid rgba(128,157,188,.12);border-radius:16px;background:rgba(18,29,42,.52);box-shadow:0 14px 36px rgba(0,0,0,.08);display:flex;flex-direction:column}
.training-summary-card span{font-size:11px;font-weight:800;color:#8295a9;text-transform:uppercase;letter-spacing:.045em}.training-summary-card strong{margin-top:8px;font-size:28px;line-height:1;color:#edf5fc}.training-summary-card small{margin-top:auto;padding-top:9px;font-size:10px;color:#66798d}
.training-summary-card.is-ok{border-top:2px solid rgba(43,190,132,.52)}.training-summary-card.is-soon{border-top:2px solid rgba(235,178,66,.58)}.training-summary-card.is-expired{border-top:2px solid rgba(235,87,87,.58)}.training-summary-card.is-none{border-top:2px solid rgba(118,139,160,.46)}
.training-types-card,.training-add-card,.training-history-card{padding:21px;margin-bottom:18px;background:rgba(18,29,42,.50);border-color:rgba(122,162,204,.10)}
.training-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.training-section-title{font-size:14px;font-weight:850;color:#eef5fb}.training-section-subtitle{margin-top:4px;font-size:10px;color:#71859a}
.training-types-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:20px}.training-type-form,.training-record-form{display:grid;gap:12px}.training-type-form label,.training-record-form label{display:grid;gap:6px}.training-type-form label>span,.training-record-form label>span{font-size:10px;font-weight:800;color:#8296aa}
.training-input-suffix{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.training-input-suffix em{font-style:normal;font-size:10px;color:#6f8499}.training-types-list{display:grid;gap:8px}.training-type-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid rgba(128,157,188,.11);border-radius:12px;background:rgba(8,17,27,.20)}.training-type-row>div{display:grid;gap:3px}.training-type-row strong{font-size:11px;color:#e7f0f8}.training-type-row span{font-size:9px;color:#718499}.training-type-row.is-inactive{opacity:.52}
.training-list-card{margin-bottom:18px}.training-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(124,155,187,.08)}.training-toolbar .employee-list-search{flex:1;max-width:480px}.training-toolbar select{width:auto;min-width:170px}
.training-table td{vertical-align:middle}.training-person{display:flex;align-items:center;gap:10px}.training-person>div{display:grid;gap:2px}.training-person strong{font-size:11px;color:#edf4fa}.training-person span{font-size:9px;color:#708499}.training-status{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}.training-status i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px currentColor;opacity:.76}.training-status.is-ok{color:#5bd09d;background:rgba(46,188,129,.10)}.training-status.is-soon{color:#e9bd63;background:rgba(222,169,64,.10)}.training-status.is-expired{color:#f17c7c;background:rgba(235,83,83,.10)}.training-status.is-none{color:#8999a9;background:rgba(120,138,157,.10)}.training-action-cell{text-align:right}
.training-detail-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start;scroll-margin-top:88px}.training-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.training-record-form textarea{resize:vertical;min-height:72px}.training-empty-note{padding:16px;border:1px dashed rgba(128,157,188,.15);border-radius:12px;color:#718499;font-size:10px;text-align:center}.training-history-list{display:grid;gap:9px}.training-history-item{position:relative;padding:13px 14px;border:1px solid rgba(128,157,188,.11);border-radius:13px;background:rgba(8,17,27,.19)}.training-history-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.training-history-main>div{display:grid;gap:3px}.training-history-main strong{font-size:11px;color:#edf4fa}.training-history-main span{font-size:9px;color:#718499}.training-history-valid{padding:5px 8px;border-radius:999px;background:rgba(55,175,127,.09);color:#77d4aa!important;font-weight:800;white-space:nowrap}.training-history-valid.is-soon{background:rgba(222,169,64,.10);color:#e6bb63!important}.training-history-valid.is-expired{background:rgba(235,83,83,.10);color:#ef8383!important}.training-history-meta{display:grid;gap:4px;margin-top:9px;padding-top:9px;border-top:1px solid rgba(128,157,188,.08);font-size:9px;color:#75889c;line-height:1.45}.training-delete{margin-top:8px;padding:0;border:0;background:none;color:#a86f73;font:inherit;font-size:9px;cursor:pointer}.training-delete:hover{color:#ef8b8b}
.btn-small{min-height:30px!important;padding:6px 10px!important;font-size:9px!important}
@media(max-width:900px){.training-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-types-layout,.training-detail-grid{grid-template-columns:1fr}}
@media(max-width:620px){.training-summary-grid{grid-template-columns:1fr 1fr}.training-toolbar{align-items:stretch;flex-direction:column}.training-toolbar .employee-list-search,.training-toolbar select{width:100%;max-width:none}.training-form-grid{grid-template-columns:1fr}.training-history-main{flex-direction:column}.training-summary-card{min-height:104px;padding:15px}.training-summary-card strong{font-size:24px}}


/* EMPLOYEE TRAINING V291 — modern catalog */
.training-catalog{overflow:hidden;padding:0!important;background:linear-gradient(145deg,rgba(18,30,44,.72),rgba(12,22,33,.62))!important;border:1px solid rgba(139,174,208,.12)!important;box-shadow:0 20px 55px rgba(0,0,0,.13)!important}
.training-catalog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 23px 18px;border-bottom:1px solid rgba(132,164,195,.08)}
.training-section-kicker{margin-bottom:5px;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#5f86ad}
.training-catalog-head .training-section-title{font-size:17px;letter-spacing:-.015em}
.training-catalog-head .training-section-subtitle{font-size:10px;max-width:620px}
.training-add-type-trigger{gap:7px;white-space:nowrap}.training-add-type-trigger>span{font-size:16px;line-height:1;font-weight:500}
.training-type-form-modern{margin:16px 18px 0;padding:17px 18px;border:1px solid rgba(73,139,204,.18);border-radius:15px;background:rgba(16,31,47,.74);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.training-type-form-modern[hidden]{display:none!important}
.training-type-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.training-type-form-head>div{display:grid;gap:3px}.training-type-form-head strong{font-size:12px;color:#eef6fd}.training-type-form-head span{font-size:9px;color:#71879c}
.training-form-close{width:27px;height:27px;border:0;border-radius:8px;background:rgba(125,153,181,.08);color:#8fa2b5;font-size:18px;line-height:1;cursor:pointer}.training-form-close:hover{background:rgba(125,153,181,.14);color:#d7e2ec}
.training-type-fields{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(190px,1fr) minmax(170px,.7fr);gap:11px;margin-top:15px}.training-type-form-actions{display:flex;justify-content:flex-end;margin-top:2px}
.training-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px}
.training-catalog-item{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:92px;padding:14px 13px;border:1px solid rgba(128,160,191,.10);border-radius:15px;background:rgba(8,18,28,.24);transition:border-color .18s ease,background .18s ease,transform .18s ease}
.training-catalog-item:hover{border-color:rgba(93,153,211,.22);background:rgba(16,31,46,.44);transform:translateY(-1px)}
.training-catalog-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;border:1px solid rgba(74,142,207,.16);background:rgba(54,124,191,.09);color:#75a9d7}.training-catalog-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.training-catalog-copy{min-width:0;display:grid;gap:3px}.training-catalog-copy strong{font-size:11px;line-height:1.35;color:#edf5fb}.training-catalog-copy span{font-size:9px;color:#7d93a8}.training-catalog-copy small{margin-top:2px;font-size:8.5px;color:#596f84}
.training-catalog-more{width:29px;height:29px;border:0;border-radius:9px;background:transparent;color:#5f7489;font-size:12px;letter-spacing:1px;cursor:pointer}.training-catalog-more:hover{background:rgba(130,157,183,.09);color:#aabac9}
@media(max-width:850px){.training-catalog-grid{grid-template-columns:1fr}.training-type-fields{grid-template-columns:1fr 1fr}.training-type-fields label:first-child{grid-column:1/-1}}
@media(max-width:620px){.training-catalog-head{align-items:flex-start;flex-direction:column}.training-add-type-trigger{width:100%;justify-content:center}.training-type-fields{grid-template-columns:1fr}.training-type-fields label:first-child{grid-column:auto}.training-catalog-grid{padding:12px}.training-type-form-modern{margin:12px 12px 0}.training-catalog-item{grid-template-columns:38px minmax(0,1fr) auto;padding:12px 10px}.training-catalog-icon{width:38px;height:38px}}

/* EMPLOYEE TRAINING V292 — clean unified workspace */
.training-v292{padding-bottom:54px}.training-v292-header{margin-bottom:17px}.training-v292-header .page-description{max-width:620px}
.training-v292-overview{margin-bottom:14px}.training-v292-overview-main{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:18px;align-items:stretch;padding:18px 19px;border:1px solid rgba(126,157,187,.1);border-radius:15px;background:rgba(17,29,42,.52)}
.training-v292-overview-copy{display:flex;flex-direction:column;justify-content:center;padding:2px 4px}.training-v292-label{font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#657d93}.training-v292-overview-copy strong{margin-top:7px;font-size:21px;letter-spacing:-.025em;color:#edf5fb}.training-v292-overview-copy small{margin-top:4px;font-size:10px;color:#6f8498}
.training-v292-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.training-v292-metric{min-width:0;padding:11px 12px;border:1px solid rgba(128,157,188,.09);border-radius:12px;background:rgba(8,18,28,.22);display:grid;grid-template-columns:7px 1fr auto;align-items:center;column-gap:8px}.training-v292-metric i{width:6px;height:6px;border-radius:50%;background:#718497}.training-v292-metric span{font-size:9px;color:#75899c;white-space:nowrap}.training-v292-metric strong{font-size:15px;color:#e8f1f8}.training-v292-metric.is-ok i{background:#50c690}.training-v292-metric.is-soon i{background:#dbad54}.training-v292-metric.is-expired i{background:#df6868}.training-v292-metric.is-none i{background:#718497}
.training-v292-catalog,.training-v292-addtype{margin-bottom:14px;padding:0!important;overflow:hidden;background:rgba(17,29,42,.52)!important;border-color:rgba(126,157,187,.1)!important}.training-v292-catalog[hidden],.training-v292-addtype[hidden]{display:none!important}.training-v292-panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 17px;border-bottom:1px solid rgba(125,154,181,.08)}.training-v292-panel-head>div{display:grid;gap:3px}.training-v292-panel-head strong{font-size:12px;color:#ecf4fb}.training-v292-panel-head span{font-size:9px;color:#718598}.training-v292-panel-head.is-plain{padding:0 0 14px;border:0}.training-v292-close{width:28px;height:28px;border:0;border-radius:8px;background:rgba(125,153,181,.07);color:#8195a8;font-size:18px;cursor:pointer}.training-v292-close:hover{background:rgba(125,153,181,.13);color:#c9d6e1}
.training-v292-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:13px}.training-v292-type{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid rgba(128,157,188,.09);border-radius:12px;background:rgba(8,18,28,.18)}.training-v292-type-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(65,125,181,.08);color:#709bc3}.training-v292-type-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.training-v292-type>div:nth-child(2){min-width:0;display:grid;gap:3px}.training-v292-type strong{font-size:10.5px;color:#e8f1f8}.training-v292-type span{font-size:8.5px;color:#6f8498}.training-v292-type-action{border:0;background:none;color:#637789;cursor:pointer;padding:6px}.training-v292-type-action:hover{color:#a7b8c7}
.training-v292-addtype-form{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(180px,1fr) minmax(150px,.65fr) auto;gap:10px;align-items:end;padding:14px 17px 17px}.training-v292-addtype-form label,.training-v292-record-form label{display:grid;gap:6px}.training-v292-addtype-form label>span,.training-v292-record-form label>span{font-size:9px;font-weight:800;color:#7c90a3}.training-v292-addtype-form .btn{min-height:38px}
.training-v292-list{padding:0!important;overflow:hidden;margin-bottom:16px;background:rgba(17,29,42,.48)!important;border-color:rgba(126,157,187,.1)!important}.training-v292-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-bottom:1px solid rgba(125,154,181,.08)}.training-v292-toolbar>div:first-child{display:grid;gap:3px}.training-v292-toolbar>div:first-child strong{font-size:12px;color:#edf4fa}.training-v292-toolbar>div:first-child span{font-size:9px;color:#718598}.training-v292-tools{display:flex;align-items:center;gap:9px}.training-v292-tools .employee-list-search{width:300px}.training-v292-tools select{width:150px;min-height:36px;font-size:9px}
.training-v292-rows{display:grid}.training-v292-row{display:grid;grid-template-columns:minmax(250px,1.5fr) minmax(90px,.45fr) minmax(130px,.6fr) auto 20px;gap:16px;align-items:center;min-height:67px;padding:10px 15px;border-bottom:1px solid rgba(126,156,184,.065);text-decoration:none;color:inherit;transition:background .14s ease}.training-v292-row:last-of-type{border-bottom:0}.training-v292-row:hover,.training-v292-row.is-selected{background:rgba(55,102,145,.07)}.training-v292-row.is-selected{box-shadow:inset 2px 0 #4d86ba}.training-v292-person{display:flex;align-items:center;gap:10px;min-width:0}.training-v292-person>div{min-width:0;display:grid;gap:2px}.training-v292-person strong{font-size:10.5px;color:#eaf2f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.training-v292-person span,.training-v292-person small{font-size:8.5px;color:#6f8498}.training-v292-row-info{display:grid;gap:3px}.training-v292-row-info span{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#5f7386}.training-v292-row-info strong{font-size:10px;color:#cbd8e3}.training-v292-chevron{font-size:20px;color:#52687a}.training-v292-empty{padding:26px;text-align:center;font-size:10px;color:#718598}
.training-v292-detail{scroll-margin-top:88px}.training-v292-employee-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:14px 16px!important;background:rgba(17,29,42,.52)!important;border-color:rgba(126,157,187,.1)!important}.training-v292-person.is-large .employee-avatar-mini{width:38px;height:38px}.training-v292-person.is-large>div>span{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:#63798e}.training-v292-person.is-large strong{font-size:14px}.training-v292-person.is-large small{font-size:9px}
.training-v292-detail-grid{display:grid;grid-template-columns:minmax(285px,.72fr) minmax(0,1.28fr);gap:12px;align-items:start}.training-v292-record-card,.training-v292-history-card{padding:17px!important;background:rgba(17,29,42,.48)!important;border-color:rgba(126,157,187,.1)!important}.training-v292-record-form{display:grid;gap:11px}.training-v292-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.training-v292-record-form textarea{resize:vertical;min-height:70px}.training-v292-record-form .btn{justify-self:start}
.training-v292-history{display:grid}.training-v292-history-item{display:grid;grid-template-columns:10px minmax(0,1fr) 25px;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid rgba(126,156,184,.07)}.training-v292-history-item:first-child{padding-top:0}.training-v292-history-item:last-child{border-bottom:0;padding-bottom:0}.training-v292-history-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:#4fc58f}.training-v292-history-dot.is-soon{background:#d9ac58}.training-v292-history-dot.is-expired{background:#dc6969}.training-v292-history-copy{min-width:0}.training-v292-history-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.training-v292-history-top strong{font-size:10.5px;color:#e8f1f8}.training-v292-history-top>span{font-size:8.5px;color:#788c9f;white-space:nowrap}.training-v292-history-sub{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:4px}.training-v292-history-sub span{font-size:8.5px;color:#697e91}.training-v292-history-copy p{margin:7px 0 0;font-size:9px;line-height:1.45;color:#7b8fa1}.training-v292-remove{width:24px;height:24px;border:0;border-radius:7px;background:transparent;color:#7d5f63;cursor:pointer}.training-v292-remove:hover{background:rgba(210,80,80,.08);color:#e78585}
@media(max-width:1050px){.training-v292-overview-main{grid-template-columns:1fr}.training-v292-addtype-form{grid-template-columns:1fr 1fr}.training-v292-addtype-form label:first-of-type{grid-column:1/-1}.training-v292-addtype-form .btn{justify-self:start}.training-v292-row{grid-template-columns:minmax(220px,1.4fr) 90px 125px auto 16px}.training-v292-detail-grid{grid-template-columns:1fr}}
@media(max-width:760px){.training-v292-metrics{grid-template-columns:1fr 1fr}.training-v292-type-grid{grid-template-columns:1fr}.training-v292-toolbar{align-items:stretch;flex-direction:column}.training-v292-tools{align-items:stretch;flex-direction:column}.training-v292-tools .employee-list-search,.training-v292-tools select{width:100%;max-width:none}.training-v292-row{grid-template-columns:minmax(0,1fr) auto 14px;gap:10px;padding:12px}.training-v292-row-info{display:none}.training-v292-employee-head{align-items:flex-start;flex-direction:column}.training-v292-addtype-form{grid-template-columns:1fr}.training-v292-addtype-form label:first-of-type{grid-column:auto}.training-v292-form-grid{grid-template-columns:1fr}}

/* SPV KEY CATALOG V294 */
.spv-key-form{grid-template-columns:minmax(170px,.78fr) minmax(300px,1.45fr) minmax(230px,1fr) auto!important;gap:10px!important;align-items:end!important}
.spv-key-date-field{grid-column:1}.spv-key-picker-field{grid-column:2}.spv-key-company-field{grid-column:3}.spv-key-submit{grid-column:4}
.spv-key-picker{position:relative;display:flex;align-items:center}.spv-key-picker>svg{position:absolute;left:10px;width:15px;height:15px;fill:none;stroke:#7392a4;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.spv-key-picker>input[type=text]{width:100%;padding-left:32px!important}
.spv-key-selected{grid-column:2/4;display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;margin-top:-1px;padding:8px 9px;border:1px solid rgba(119,151,170,.10);border-radius:9px;background:rgba(8,17,24,.32);transition:border-color .18s ease,background .18s ease}
.spv-key-selected>div{min-width:0;display:grid;gap:2px}.spv-key-selected span{font-size:7.5px!important;text-transform:uppercase;letter-spacing:.07em;color:#607681!important}.spv-key-selected strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;color:#7f929c;font-weight:700}.spv-key-selected>div:first-child strong{font-size:11px;font-variant-numeric:tabular-nums}
.spv-key-selected.is-selected{border-color:rgba(87,159,194,.20);background:rgba(53,121,151,.075)}.spv-key-selected.is-selected strong{color:#d9e8ee}.spv-key-selected.is-selected>div:first-child strong{color:#8cc7e0}
@media(max-width:1100px){.spv-key-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.spv-key-date-field,.spv-key-picker-field,.spv-key-company-field,.spv-key-submit{grid-column:auto}.spv-key-selected{grid-column:1/-1}.spv-key-submit{width:100%}}
@media(max-width:650px){.spv-key-form{grid-template-columns:1fr!important}.spv-key-date-field,.spv-key-picker-field,.spv-key-company-field,.spv-key-submit,.spv-key-selected{grid-column:1!important}.spv-key-selected{grid-template-columns:90px minmax(0,1fr)}}


/* SPV KEY MANAGEMENT V296 — isolated final UI */
.spv-key-v301{--key-line:rgba(126,157,181,.12);--key-muted:#718696;--key-text:#eaf2f6;--key-panel:rgba(14,25,35,.68);padding-bottom:48px}
.spv-key-v301 .spv-table-page-head{align-items:flex-end;margin-bottom:16px}
.spv-key-v301 .page-description{max-width:620px}
.spv-key-v301 .spv-key-head-stats{display:flex;align-items:stretch;gap:8px}
.spv-key-v301 .spv-key-head-stat,.spv-key-v301 .spv-key-open-counter{min-width:112px;min-height:65px;padding:11px 13px;border-radius:13px;border:1px solid var(--key-line);background:rgba(16,29,40,.56);display:flex;flex-direction:column;justify-content:center;text-align:left}
.spv-key-v301 .spv-key-head-stat span,.spv-key-v301 .spv-key-open-counter span{font-size:8px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:#6f8493}
.spv-key-v301 .spv-key-head-stat strong,.spv-key-v301 .spv-key-open-counter strong{margin-top:5px;font-size:21px;line-height:1;color:#eaf3f7;font-variant-numeric:tabular-nums}
.spv-key-v301 .spv-key-open-counter.has-open{border-color:rgba(231,174,72,.22);background:linear-gradient(145deg,rgba(231,174,72,.07),rgba(16,29,40,.56))}
.spv-key-v301 .spv-key-open-counter.has-open strong{color:#e9bd69}

.spv-key-v301 .spv-key-compose-card,.spv-key-v301 .spv-key-list-card{padding:0!important;overflow:visible;border:1px solid rgba(128,158,184,.10)!important;background:linear-gradient(150deg,rgba(18,31,43,.66),rgba(12,22,31,.62))!important;box-shadow:0 18px 50px rgba(0,0,0,.09)}
.spv-key-v301 .spv-key-compose-card{position:relative;z-index:4}
.spv-key-v301 .spv-key-section-head{display:flex;align-items:center;gap:11px;margin:0;padding:16px 18px;border-bottom:1px solid rgba(126,157,181,.08)}
.spv-key-v301 .spv-key-section-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(76,145,181,.16);background:rgba(65,135,171,.09);color:#78acc6}
.spv-key-v301 .spv-key-section-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.spv-key-v301 .spv-key-section-head>div:last-child{display:grid;gap:2px}
.spv-key-v301 .spv-key-section-head strong{font-size:12px;color:#edf5f8;font-weight:800}
.spv-key-v301 .spv-key-section-head span{font-size:9px;color:#718695}

.spv-key-v301 .spv-key-form{display:grid!important;grid-template-columns:minmax(165px,.7fr) minmax(320px,1.45fr) minmax(220px,1fr) auto!important;gap:11px!important;align-items:end!important;padding:16px 18px 18px}
.spv-key-v301 .spv-key-form label{display:grid;gap:6px;min-width:0}
.spv-key-v301 .spv-key-form label>span{font-size:8px!important;font-weight:800!important;letter-spacing:.065em!important;text-transform:uppercase!important;color:#718695!important}
.spv-key-v301 .spv-key-form input{width:100%;height:38px!important;padding:0 11px!important;border:1px solid rgba(121,153,170,.15)!important;border-radius:10px!important;background:rgba(7,16,23,.52)!important;color:#e8f1f5!important;font:inherit!important;font-size:10px!important;outline:none;box-shadow:none!important;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.spv-key-v301 .spv-key-form input:focus{border-color:rgba(83,151,187,.42)!important;background:rgba(8,19,27,.75)!important;box-shadow:0 0 0 3px rgba(71,139,176,.07)!important}
.spv-key-v301 .spv-key-form input::placeholder{color:#526672}

.spv-key-v301 .spv-key-date-field{grid-column:1!important;grid-row:1!important}
.spv-key-v301 .spv-key-picker-field{grid-column:2!important;grid-row:1!important}
.spv-key-v301 .spv-key-company-field{grid-column:3!important;grid-row:1!important}
.spv-key-v301 .spv-key-submit{grid-column:4!important;grid-row:1!important;min-width:154px;height:38px!important;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.spv-key-v301 .spv-key-submit svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.spv-key-v301 .spv-key-submit:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.5)}

.spv-key-v301 .spv-key-picker-shell{position:relative;min-width:0}
.spv-key-v301 .spv-key-picker{position:relative;display:flex;align-items:center}
.spv-key-v301 .spv-key-picker>svg{position:absolute;left:11px;width:15px;height:15px;fill:none;stroke:#668394;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;z-index:1}
.spv-key-v301 .spv-key-picker>input[type=text]{padding-left:34px!important;padding-right:36px!important}
.spv-key-v301 .spv-key-picker-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:24px;height:24px;padding:0;display:grid;place-items:center;border:1px solid rgba(126,157,181,.14);border-radius:50%;background:rgba(12,25,34,.86);color:#78909f;font-size:16px;font-weight:400;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.12);transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.spv-key-v301 .spv-key-picker-clear:hover{background:rgba(74,113,134,.22);border-color:rgba(132,174,197,.28);color:#e1edf2;transform:translateY(-50%) scale(1.06)}
.spv-key-v301 .spv-key-picker-clear:focus-visible{outline:none;border-color:rgba(83,151,187,.48);box-shadow:0 0 0 3px rgba(71,139,176,.10)}
.spv-key-v301 .spv-key-options{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;border:1px solid rgba(113,154,178,.20);border-radius:12px;background:#111f2a;box-shadow:0 20px 48px rgba(0,0,0,.34);overflow:hidden}
.spv-key-v301 .spv-key-options[hidden]{display:none!important}
.spv-key-v301 .spv-key-options-head{height:34px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(126,157,181,.08);background:rgba(255,255,255,.018)}
.spv-key-v301 .spv-key-options-head span{font-size:8px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#78909f}
.spv-key-v301 .spv-key-options-head small{font-size:8px;color:#536b79}
.spv-key-v301 .spv-key-options-list{max-height:286px;overflow:auto;padding:5px}
.spv-key-v301 .spv-key-option{width:100%;min-height:48px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:inherit;display:grid;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:9px;text-align:left;cursor:pointer}
.spv-key-v301 .spv-key-option:hover,.spv-key-v301 .spv-key-option:focus{outline:none;background:rgba(75,135,166,.10)}
.spv-key-v301 .spv-key-option.is-selected{background:rgba(69,143,179,.13)}
.spv-key-v301 .spv-key-option-number{width:34px;height:30px;display:grid;place-items:center;border-radius:8px;background:rgba(77,133,164,.10);color:#8bb6ca;font-size:9px;font-weight:850;font-variant-numeric:tabular-nums}
.spv-key-v301 .spv-key-option-copy{min-width:0;display:grid;gap:2px}
.spv-key-v301 .spv-key-option-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;color:#e0eaee}
.spv-key-v301 .spv-key-option-copy small{font-size:7.8px;color:#5e7583}
.spv-key-v301 .spv-key-option>svg{width:14px;height:14px;fill:none;stroke:#4f6775;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.spv-key-v301 .spv-key-options-empty{padding:22px 12px;text-align:center;color:#667c89;font-size:9px}
.spv-key-v301 .spv-key-options-list::-webkit-scrollbar{width:6px}.spv-key-v301 .spv-key-options-list::-webkit-scrollbar-thumb{background:rgba(121,150,168,.18);border-radius:99px}

.spv-key-v301 .spv-key-selected{grid-column:2/4!important;grid-row:2!important;min-height:48px;margin:0!important;padding:8px 10px!important;display:grid!important;grid-template-columns:30px 90px minmax(0,1fr)!important;align-items:center;gap:10px!important;border:1px dashed rgba(117,147,165,.14)!important;border-radius:10px!important;background:rgba(7,16,23,.28)!important}
.spv-key-v301 .spv-key-selected-mark{width:28px;height:28px;display:grid!important;place-items:center;border-radius:8px;background:rgba(114,139,154,.08);color:#607887}
.spv-key-v301 .spv-key-selected-mark svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.spv-key-v301 .spv-key-selected-position,.spv-key-v301 .spv-key-selected-name{display:grid!important;gap:2px!important;min-width:0}
.spv-key-v301 .spv-key-selected span{font-size:7px!important;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#5d7482!important}
.spv-key-v301 .spv-key-selected strong{font-size:9.5px!important;color:#718590!important;font-weight:700!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spv-key-v301 .spv-key-selected-position strong{font-size:11px!important;font-variant-numeric:tabular-nums}
.spv-key-v301 .spv-key-selected.is-selected{border-style:solid!important;border-color:rgba(62,163,124,.18)!important;background:rgba(47,145,105,.06)!important}
.spv-key-v301 .spv-key-selected.is-selected .spv-key-selected-mark{background:rgba(53,170,121,.12);color:#69c997}
.spv-key-v301 .spv-key-selected.is-selected strong{color:#d9e8e1!important}
.spv-key-v301 .spv-key-selected.is-selected .spv-key-selected-position strong{color:#73cf9f!important}

.spv-key-v301 .spv-key-list-card{margin-top:12px!important;overflow:hidden}
.spv-key-v301 .spv-key-toolbar{min-height:58px;margin:0!important;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(126,157,181,.08)}
.spv-key-v301 .spv-key-toolbar>div:first-child{display:grid;gap:2px}
.spv-key-v301 .spv-key-toolbar strong{font-size:12px;color:#edf4f7}
.spv-key-v301 .spv-key-toolbar span{font-size:8.5px;color:#718695}
.spv-key-v301 .spv-key-toolbar-actions{display:flex;align-items:center;gap:5px}
.spv-key-v301 .spv-key-toolbar-actions>a{height:31px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid transparent;border-radius:8px;color:#718694;text-decoration:none;font-size:8.5px;font-weight:750}
.spv-key-v301 .spv-key-toolbar-actions>a:hover{color:#b9c8cf;background:rgba(111,143,162,.05)}
.spv-key-v301 .spv-key-toolbar-actions>a.is-active{color:#dceaf0;background:rgba(66,128,160,.11);border-color:rgba(83,145,176,.14)}
.spv-key-v301 .spv-key-search{height:31px;min-width:170px;padding:0 9px;display:flex;align-items:center;gap:6px;border:1px solid rgba(121,153,170,.13);border-radius:8px;background:rgba(7,16,23,.36)}
.spv-key-v301 .spv-key-search svg{width:13px;height:13px;fill:none;stroke:#647f8e;stroke-width:1.7}
.spv-key-v301 .spv-key-search input{width:140px;border:0;outline:0;background:transparent;color:#dce8ed;font:inherit;font-size:9px}
.spv-key-v301 .spv-key-search input::placeholder{color:#536976}

.spv-key-v301 .spv-key-table-wrap{overflow-x:auto}
.spv-key-v301 .spv-key-table{min-width:800px;width:100%;table-layout:fixed;border-collapse:collapse}
.spv-key-v301 .spv-key-table th{height:34px;padding:0 11px;border-bottom:1px solid rgba(126,157,181,.09);background:rgba(255,255,255,.012);font-size:7.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#647b89;text-align:left}
.spv-key-v301 .spv-key-table td{height:50px;padding:8px 11px;border-bottom:1px solid rgba(126,157,181,.055);font-size:9.5px;color:#aebec6;vertical-align:middle}
.spv-key-v301 .spv-key-table tbody tr:last-child td{border-bottom:0}
.spv-key-v301 .spv-key-table tbody tr{transition:background .14s ease}
.spv-key-v301 .spv-key-table tbody tr:hover td{background:rgba(68,117,142,.035)}
.spv-key-v301 .spv-key-table tr.is-open td{background:rgba(220,166,65,.018)}
.spv-key-v301 .spv-key-table tr.is-returned{opacity:.56}
.spv-key-v301 .spv-key-table th:nth-child(1){width:11%}.spv-key-v301 .spv-key-table th:nth-child(2){width:7%}.spv-key-v301 .spv-key-table th:nth-child(3){width:9%}.spv-key-v301 .spv-key-table th:nth-child(4){width:28%}.spv-key-v301 .spv-key-table th:nth-child(5){width:20%}.spv-key-v301 .spv-key-table th:nth-child(6){width:25%}
.spv-key-v301 .spv-key-number{min-width:37px;height:25px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid rgba(95,147,175,.13);background:rgba(72,130,160,.09);color:#8ebbd0;font-size:8.5px;font-weight:850}
.spv-key-v301 .spv-key-name{font-size:9.5px!important;font-weight:760!important;color:#dce7eb!important}
.spv-key-v301 .spv-key-time{font-variant-numeric:tabular-nums;color:#c2d0d6!important}
.spv-key-v301 .spv-key-return-form{display:flex;align-items:center;gap:6px}
.spv-key-v301 .spv-key-return-form input{width:148px;height:30px!important;padding:0 7px!important;border:1px solid rgba(121,153,170,.13)!important;border-radius:7px!important;background:rgba(7,16,23,.40)!important;color:#dce8ed!important;font:inherit!important;font-size:8.5px!important}
.spv-key-v301 .spv-key-return-form button{height:30px;padding:0 10px;border:1px solid rgba(63,167,114,.18);border-radius:7px;background:rgba(53,154,103,.10);color:#83d0a7;font-size:8.5px;font-weight:800;cursor:pointer;transition:background .14s ease,border-color .14s ease}
.spv-key-v301 .spv-key-return-form button:hover{background:rgba(53,154,103,.16);border-color:rgba(63,167,114,.27)}
.spv-key-v301 .spv-key-returned{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:7px;background:rgba(52,144,99,.06);color:#7bc99f}
.spv-key-v301 .spv-key-returned strong{font-size:8.5px}.spv-key-v301 .spv-key-returned small{font-size:8px;color:#65977c}
.spv-key-v301 .spv-key-empty{height:auto!important;padding:32px!important;text-align:center!important;color:#647b88!important}

@media(max-width:1120px){
 .spv-key-v301 .spv-key-form{grid-template-columns:1fr 1.4fr!important}
 .spv-key-v301 .spv-key-date-field{grid-column:1!important;grid-row:1!important}
 .spv-key-v301 .spv-key-picker-field{grid-column:2!important;grid-row:1!important}
 .spv-key-v301 .spv-key-company-field{grid-column:1!important;grid-row:2!important}
 .spv-key-v301 .spv-key-submit{grid-column:2!important;grid-row:2!important;width:100%}
 .spv-key-v301 .spv-key-selected{grid-column:1/-1!important;grid-row:3!important}
}
@media(max-width:760px){
 .spv-key-v301 .spv-table-page-head{align-items:flex-start;gap:14px}
 .spv-key-v301 .spv-key-head-stats{width:100%}.spv-key-v301 .spv-key-head-stat,.spv-key-v301 .spv-key-open-counter{flex:1;min-width:0}
 .spv-key-v301 .spv-key-form{grid-template-columns:1fr!important;padding:14px}
 .spv-key-v301 .spv-key-date-field,.spv-key-v301 .spv-key-picker-field,.spv-key-v301 .spv-key-company-field,.spv-key-v301 .spv-key-submit,.spv-key-v301 .spv-key-selected{grid-column:1!important;grid-row:auto!important}
 .spv-key-v301 .spv-key-selected{grid-template-columns:30px 74px minmax(0,1fr)!important}
 .spv-key-v301 .spv-key-toolbar{align-items:stretch;flex-direction:column}
 .spv-key-v301 .spv-key-toolbar-actions{flex-wrap:wrap}
 .spv-key-v301 .spv-key-search{flex:1;min-width:150px}.spv-key-v301 .spv-key-search input{width:100%}
}
@media(max-width:460px){
 .spv-key-v301 .spv-key-section-head{padding:14px}
 .spv-key-v301 .spv-key-head-stat,.spv-key-v301 .spv-key-open-counter{padding:9px 10px}.spv-key-v301 .spv-key-head-stat strong,.spv-key-v301 .spv-key-open-counter strong{font-size:18px}
 .spv-key-v301 .spv-key-selected{grid-template-columns:28px 1fr!important}
 .spv-key-v301 .spv-key-selected-name{grid-column:2}.spv-key-v301 .spv-key-selected-position{grid-column:2}
}


/* SPV KEY MANAGEMENT V297 — catalog administration */
.spv-key-v301 .spv-table-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:end}
.spv-key-v301 .spv-key-head-actions{display:flex;align-items:center;padding-bottom:1px}
.spv-key-v301 .spv-key-manage-btn{height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-color:rgba(114,149,169,.13);background:rgba(16,29,39,.40);color:#92a8b5}
.spv-key-v301 .spv-key-manage-btn:hover,.spv-key-v301 .spv-key-manage-btn.is-active{border-color:rgba(76,145,181,.22);background:rgba(65,135,171,.09);color:#bfd5df}
.spv-key-v301 .spv-key-manage-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}

.spv-key-v301 .spv-key-catalog-card{position:relative;z-index:7;margin-bottom:12px;padding:0!important;overflow:hidden;border:1px solid rgba(128,158,184,.11)!important;background:linear-gradient(150deg,rgba(18,31,43,.72),rgba(12,22,31,.68))!important;box-shadow:0 20px 54px rgba(0,0,0,.11)}
.spv-key-v301 .spv-key-catalog-head{min-height:68px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(126,157,181,.08)}
.spv-key-v301 .spv-key-catalog-head>div{min-width:0;display:grid;gap:2px}
.spv-key-v301 .spv-key-catalog-kicker{font-size:7.5px;font-weight:850;letter-spacing:.075em;text-transform:uppercase;color:#5f7d8d}
.spv-key-v301 .spv-key-catalog-head strong{font-size:13px;color:#edf5f8}
.spv-key-v301 .spv-key-catalog-head small{font-size:8.5px;color:#6e8492}
.spv-key-v301 .spv-key-add-new{height:34px;gap:6px;white-space:nowrap}.spv-key-v301 .spv-key-add-new>span{font-size:15px;line-height:1}

.spv-key-v301 .spv-key-catalog-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);min-height:430px}
.spv-key-v301 .spv-key-catalog-list-panel{min-width:0;border-right:1px solid rgba(126,157,181,.08);background:rgba(7,16,23,.12)}
.spv-key-v301 .spv-key-catalog-search{height:50px;margin:0;padding:0 14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(126,157,181,.07)}
.spv-key-v301 .spv-key-catalog-search svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:#647f8e;stroke-width:1.7;stroke-linecap:round}
.spv-key-v301 .spv-key-catalog-search input{width:100%;height:32px;border:0!important;background:transparent!important;color:#dce8ed!important;font:inherit;font-size:9.5px;outline:0;box-shadow:none!important}
.spv-key-v301 .spv-key-catalog-search input::placeholder{color:#536976}
.spv-key-v301 .spv-key-admin-list{max-height:480px;overflow:auto;padding:6px}
.spv-key-v301 .spv-key-admin-row{min-height:52px;padding:6px 8px;display:grid;grid-template-columns:38px minmax(0,1fr) auto 15px;gap:9px;align-items:center;border-radius:9px;color:inherit;text-decoration:none;transition:background .14s ease,opacity .14s ease}
.spv-key-v301 .spv-key-admin-row:hover{background:rgba(67,125,155,.075)}
.spv-key-v301 .spv-key-admin-row.is-selected{background:rgba(66,137,171,.11);box-shadow:inset 2px 0 rgba(103,173,205,.62)}
.spv-key-v301 .spv-key-admin-row.is-inactive{opacity:.47}
.spv-key-v301 .spv-key-admin-position{width:34px;height:30px;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(95,147,175,.13);background:rgba(72,130,160,.09);color:#8ebbd0;font-size:8.5px;font-weight:850;font-variant-numeric:tabular-nums}
.spv-key-v301 .spv-key-admin-copy{min-width:0;display:grid;gap:2px}
.spv-key-v301 .spv-key-admin-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;color:#dce7eb}
.spv-key-v301 .spv-key-admin-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7.8px;color:#617887}
.spv-key-v301 .spv-key-admin-state{font-size:7.5px;color:#6f9e84;padding:4px 6px;border-radius:6px;background:rgba(54,145,100,.06)}
.spv-key-v301 .spv-key-admin-row.is-inactive .spv-key-admin-state{color:#8a7375;background:rgba(148,84,88,.07)}
.spv-key-v301 .spv-key-admin-row>svg{width:13px;height:13px;fill:none;stroke:#4f6775;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.spv-key-v301 .spv-key-admin-empty{padding:30px 12px;text-align:center;color:#647b88;font-size:9px}
.spv-key-v301 .spv-key-admin-list::-webkit-scrollbar{width:6px}.spv-key-v301 .spv-key-admin-list::-webkit-scrollbar-thumb{background:rgba(121,150,168,.18);border-radius:99px}

.spv-key-v301 .spv-key-editor{padding:18px;background:rgba(13,24,33,.36)}
.spv-key-v301 .spv-key-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:17px;padding-bottom:13px;border-bottom:1px solid rgba(126,157,181,.08)}
.spv-key-v301 .spv-key-editor-head>div{min-width:0;display:grid;gap:3px}
.spv-key-v301 .spv-key-editor-head>div>span{font-size:7.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#627a89}
.spv-key-v301 .spv-key-editor-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#eaf2f6}
.spv-key-v301 .spv-key-editor-badge{padding:5px 7px;border-radius:7px;background:rgba(53,145,100,.07);color:#78c79d;font-size:7.5px;font-weight:800}.spv-key-v301 .spv-key-editor-badge.is-off{background:rgba(148,84,88,.07);color:#b88789}
.spv-key-v301 .spv-key-editor-form{display:grid;gap:12px}
.spv-key-v301 .spv-key-editor-form label{display:grid;gap:6px}
.spv-key-v301 .spv-key-editor-form label>span{font-size:8px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#718695}
.spv-key-v301 .spv-key-editor-form label>span em{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0;color:#536b79}
.spv-key-v301 .spv-key-editor-form input{width:100%;height:38px;padding:0 10px;border:1px solid rgba(121,153,170,.14);border-radius:9px;background:rgba(7,16,23,.46);color:#e6eff3;font:inherit;font-size:9.5px;outline:0;transition:border-color .15s ease,box-shadow .15s ease}
.spv-key-v301 .spv-key-editor-form input:focus{border-color:rgba(83,151,187,.38);box-shadow:0 0 0 3px rgba(71,139,176,.06)}
.spv-key-v301 .spv-key-editor-form input::placeholder{color:#506572}
.spv-key-v301 .spv-key-editor-actions{display:flex;gap:7px;margin-top:2px}.spv-key-v301 .spv-key-editor-actions .btn{height:34px}
.spv-key-v301 .spv-key-editor-toggle{margin-top:18px;padding-top:14px;border-top:1px solid rgba(126,157,181,.08);display:grid;gap:4px}
.spv-key-v301 .spv-key-editor-toggle button{justify-self:start;padding:0;border:0;background:none;color:#9f7377;font:inherit;font-size:8.5px;font-weight:750;cursor:pointer}.spv-key-v301 .spv-key-editor-toggle button:hover{color:#d78c90}
.spv-key-v301 .spv-key-editor-toggle small{font-size:7.5px;color:#536b79}

@media(max-width:1020px){
 .spv-key-v301 .spv-table-page-head{grid-template-columns:minmax(0,1fr) auto}.spv-key-v301 .spv-key-head-actions{grid-column:2;grid-row:1}.spv-key-v301 .spv-key-head-stats{grid-column:1/-1;justify-content:flex-end}
 .spv-key-v301 .spv-key-catalog-layout{grid-template-columns:1fr}.spv-key-v301 .spv-key-catalog-list-panel{border-right:0;border-bottom:1px solid rgba(126,157,181,.08)}.spv-key-v301 .spv-key-admin-list{max-height:360px}
}
@media(max-width:650px){
 .spv-key-v301 .spv-table-page-head{display:flex;align-items:stretch;flex-direction:column}.spv-key-v301 .spv-key-head-actions{order:2}.spv-key-v301 .spv-key-manage-btn{width:100%;justify-content:center}.spv-key-v301 .spv-key-head-stats{order:3;justify-content:stretch}
 .spv-key-v301 .spv-key-catalog-head{align-items:stretch;flex-direction:column}.spv-key-v301 .spv-key-add-new{width:100%;justify-content:center}
 .spv-key-v301 .spv-key-admin-row{grid-template-columns:36px minmax(0,1fr) 14px}.spv-key-v301 .spv-key-admin-state{display:none}.spv-key-v301 .spv-key-editor{padding:15px}
}


/* SPV KEY MANAGEMENT V298 — final cascade guard */
.spv-key-v301{width:100%;min-width:0}
.spv-key-v301 *{box-sizing:border-box}
.spv-key-v301 .spv-key-compose-card,
.spv-key-v301 .spv-key-list-card,
.spv-key-v301 .spv-key-catalog-card{width:100%;min-width:0}
.spv-key-v301 .spv-key-catalog-layout,
.spv-key-v301 .spv-key-form,
.spv-key-v301 .spv-key-toolbar,
.spv-key-v301 .spv-key-head-stats{min-width:0}
.spv-key-v301 .spv-key-picker-shell,
.spv-key-v301 .spv-key-catalog-list-panel,
.spv-key-v301 .spv-key-editor{min-width:0}
.spv-key-v301 .spv-key-table-wrap{width:100%;max-width:100%}
.spv-key-v301 .spv-key-options{max-width:100%}
.spv-key-v301 .spv-key-form .btn,
.spv-key-v301 .spv-key-editor-form .btn,
.spv-key-v301 .spv-key-manage-btn{font-family:inherit}
@media(max-width:760px){
  .spv-key-v301 .spv-key-options{position:absolute;left:0;right:0}
  .spv-key-v301 .spv-key-editor-actions{flex-wrap:wrap}
}


/* SPV KEY MANAGEMENT V299 — treasury catalog table */
.spv-key-v301 .spv-key-admin-card{padding:0!important;overflow:hidden;margin-bottom:14px;border:1px solid rgba(126,157,181,.11)!important;background:linear-gradient(155deg,rgba(17,30,43,.78),rgba(10,20,29,.72))!important;box-shadow:0 22px 56px rgba(0,0,0,.12)}
.spv-key-v301 .spv-key-admin-hero{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(126,157,181,.08)}
.spv-key-v301 .spv-key-admin-title{display:flex;align-items:center;gap:12px;min-width:0}
.spv-key-v301 .spv-key-admin-title-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:rgba(67,132,167,.10);border:1px solid rgba(86,153,188,.15);color:#7eb0ca}
.spv-key-v301 .spv-key-admin-title-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.spv-key-v301 .spv-key-admin-title>div:last-child{display:grid;gap:2px;min-width:0}
.spv-key-v301 .spv-key-admin-title span{font-size:7.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#5e7a8b}
.spv-key-v301 .spv-key-admin-title strong{font-size:14px;color:#edf5f8;letter-spacing:-.015em}
.spv-key-v301 .spv-key-admin-title small{font-size:8.5px;color:#6e8493;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spv-key-v301 .spv-key-admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:7px}
.spv-key-v301 .spv-key-admin-metric{min-width:105px;padding:9px 11px;border:1px solid rgba(121,153,170,.10);border-radius:9px;background:rgba(7,16,23,.30);display:grid;grid-template-columns:1fr auto;column-gap:9px;align-items:center}
.spv-key-v301 .spv-key-admin-metric span{font-size:7.5px;color:#6b8290;white-space:nowrap}
.spv-key-v301 .spv-key-admin-metric strong{font-size:15px;color:#dfe9ee;font-variant-numeric:tabular-nums}
.spv-key-v301 .spv-key-admin-metric.is-active strong{color:#69ca96}
.spv-key-v301 .spv-key-admin-metric.is-inactive strong{color:#8d9aa1}
.spv-key-v301 .spv-key-admin-add{height:36px;gap:6px;white-space:nowrap}.spv-key-v301 .spv-key-admin-add span{font-size:15px;line-height:1}

.spv-key-v301 .spv-key-admin-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid rgba(126,157,181,.07);background:rgba(7,16,23,.16)}
.spv-key-v301 .spv-key-admin-searchbox{height:34px;min-width:280px;max-width:520px;flex:1;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid rgba(121,153,170,.13);border-radius:8px;background:rgba(7,16,23,.37)}
.spv-key-v301 .spv-key-admin-searchbox svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:#637f8e;stroke-width:1.7;stroke-linecap:round}
.spv-key-v301 .spv-key-admin-searchbox input{width:100%;height:32px;border:0!important;outline:0;background:transparent!important;color:#dce8ed!important;font:inherit;font-size:9px;box-shadow:none!important}
.spv-key-v301 .spv-key-admin-searchbox input::placeholder{color:#506672}
.spv-key-v301 .spv-key-admin-filters{display:flex;align-items:center;gap:5px}
.spv-key-v301 .spv-key-admin-filters button{height:30px;padding:0 9px;border:1px solid rgba(121,153,170,.10);border-radius:7px;background:rgba(15,28,38,.50);color:#728895;font:inherit;font-size:8px;font-weight:750;cursor:pointer;white-space:nowrap}
.spv-key-v301 .spv-key-admin-filters button span{margin-left:4px;color:#526a78;font-size:7.5px}
.spv-key-v301 .spv-key-admin-filters button:hover{color:#a9bbc4;border-color:rgba(93,151,181,.16)}
.spv-key-v301 .spv-key-admin-filters button.is-active{background:rgba(50,129,183,.18);border-color:rgba(67,147,199,.26);color:#b8d8e8}
.spv-key-v301 .spv-key-admin-filters button.is-active span{color:#88b5cc}

.spv-key-v301 .spv-key-admin-table-wrap{width:100%;overflow:auto}
.spv-key-v301 .spv-key-admin-table{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed}
.spv-key-v301 .spv-key-admin-table th{height:33px;padding:0 11px;border-bottom:1px solid rgba(126,157,181,.09);background:rgba(24,40,53,.42);text-align:left;font-size:7.5px;font-weight:850;letter-spacing:.065em;text-transform:uppercase;color:#687f8c}
.spv-key-v301 .spv-key-admin-table td{height:44px;padding:6px 11px;border-bottom:1px solid rgba(126,157,181,.05);vertical-align:middle;font-size:9px;color:#aebec6}
.spv-key-v301 .spv-key-admin-table tbody tr:last-child td{border-bottom:0}
.spv-key-v301 .spv-key-admin-table tbody tr:hover td{background:rgba(70,124,151,.035)}
.spv-key-v301 .spv-key-admin-table tbody tr.is-inactive{opacity:.48}
.spv-key-v301 .spv-key-admin-table th:nth-child(1){width:8%}
.spv-key-v301 .spv-key-admin-table th:nth-child(2){width:34%}
.spv-key-v301 .spv-key-admin-table th:nth-child(3){width:12%}
.spv-key-v301 .spv-key-admin-table th:nth-child(4){width:17%}
.spv-key-v301 .spv-key-admin-table th:nth-child(5){width:11%}
.spv-key-v301 .spv-key-admin-table th:nth-child(6){width:18%}
.spv-key-v301 .spv-key-admin-pos{min-width:36px;height:25px;padding:0 7px;display:inline-grid;place-items:center;border-radius:7px;background:rgba(52,117,156,.12);border:1px solid rgba(76,143,180,.14);color:#90bfd6;font-size:8.5px;font-weight:850;font-variant-numeric:tabular-nums}
.spv-key-v301 .spv-key-admin-name{display:grid;gap:1px;min-width:0}
.spv-key-v301 .spv-key-admin-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;color:#dce7eb}
.spv-key-v301 .spv-key-admin-name small{font-size:7.2px;color:#526a77}
.spv-key-v301 .spv-key-admin-vault{display:inline-flex;padding:4px 7px;border-radius:6px;background:rgba(112,129,150,.07);color:#8799a4;font-size:7.8px}
.spv-key-v301 .spv-key-admin-set{font-size:8.5px;color:#b6c7cf}.spv-key-v301 .spv-key-admin-set.is-empty{color:#526773}
.spv-key-v301 .spv-key-admin-status{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;font-size:7.6px;font-weight:800}
.spv-key-v301 .spv-key-admin-status i{width:5px;height:5px;border-radius:50%;background:currentColor}
.spv-key-v301 .spv-key-admin-status.is-active{background:rgba(48,161,106,.09);color:#69cb95}
.spv-key-v301 .spv-key-admin-status.is-inactive{background:rgba(126,137,145,.08);color:#87959c}
.spv-key-v301 .spv-key-admin-actions{display:flex;align-items:center;gap:5px}
.spv-key-v301 .spv-key-admin-actions>a,.spv-key-v301 .spv-key-admin-actions button{height:26px;padding:0 8px;border-radius:6px;border:1px solid rgba(121,153,170,.10);background:rgba(31,50,64,.52);color:#9fb3be;text-decoration:none;font:inherit;font-size:7.6px;font-weight:750;display:inline-flex;align-items:center;gap:4px;cursor:pointer;white-space:nowrap}
.spv-key-v301 .spv-key-admin-actions>a svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.spv-key-v301 .spv-key-admin-actions>a:hover{background:rgba(55,104,135,.60);color:#d1e0e6}
.spv-key-v301 .spv-key-admin-actions form{margin:0}
.spv-key-v301 .spv-key-admin-actions button.is-danger{border-color:rgba(189,78,83,.12);background:rgba(155,54,61,.12);color:#c98185}
.spv-key-v301 .spv-key-admin-actions button.is-danger:hover{background:rgba(174,58,65,.18);color:#e6a0a3}
.spv-key-v301 .spv-key-admin-actions button.is-activate{border-color:rgba(58,154,101,.13);background:rgba(47,133,88,.11);color:#7dc69c}
.spv-key-v301 [data-key-admin-empty] td{height:90px!important;text-align:center!important;color:#647b88!important}

.spv-key-v301 .spv-key-editor-panel{margin:14px;border:1px solid rgba(79,145,179,.16);border-radius:11px;background:rgba(10,21,30,.58);overflow:hidden;scroll-margin-top:88px}
.spv-key-v301 .spv-key-editor-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid rgba(126,157,181,.08)}
.spv-key-v301 .spv-key-editor-panel-head>div{display:grid;gap:2px}
.spv-key-v301 .spv-key-editor-panel-head span{font-size:7.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#617b8b}
.spv-key-v301 .spv-key-editor-panel-head strong{font-size:11px;color:#e6eff3}.spv-key-v301 .spv-key-editor-panel-head small{font-size:7.8px;color:#586f7d}
.spv-key-v301 .spv-key-editor-panel-head>a{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:rgba(122,148,165,.07);color:#718693;text-decoration:none;font-size:16px}.spv-key-v301 .spv-key-editor-panel-head>a:hover{background:rgba(122,148,165,.13);color:#d2dfe4}
.spv-key-v301 .spv-key-editor-form-wide{display:grid!important;grid-template-columns:150px minmax(240px,1fr) minmax(190px,.65fr) auto;gap:9px!important;align-items:end;padding:14px}
.spv-key-v301 .spv-key-editor-form-wide label{display:grid;gap:5px}.spv-key-v301 .spv-key-editor-form-wide .btn{height:38px}
.spv-key-v301 .spv-key-editor-form-wide input{height:38px}

@media(max-width:1180px){
 .spv-key-v301 .spv-key-admin-hero{grid-template-columns:minmax(260px,1fr) auto}
 .spv-key-v301 .spv-key-admin-add{grid-column:2;grid-row:2;justify-self:end}.spv-key-v301 .spv-key-admin-metrics{grid-column:1;grid-row:2;justify-self:start}
 .spv-key-v301 .spv-key-admin-tools{align-items:stretch;flex-direction:column}.spv-key-v301 .spv-key-admin-searchbox{max-width:none;width:100%}
 .spv-key-v301 .spv-key-editor-form-wide{grid-template-columns:1fr 1.5fr}.spv-key-v301 .spv-key-editor-form-wide .btn{width:100%}
}
@media(max-width:760px){
 .spv-key-v301 .spv-key-admin-hero{grid-template-columns:1fr}.spv-key-v301 .spv-key-admin-metrics{grid-column:1;grid-row:auto;width:100%;grid-template-columns:repeat(3,1fr)}.spv-key-v301 .spv-key-admin-add{grid-column:1;grid-row:auto;width:100%;justify-self:stretch;justify-content:center}
 .spv-key-v301 .spv-key-admin-filters{width:100%;overflow:auto;padding-bottom:2px}.spv-key-v301 .spv-key-admin-filters button{flex:0 0 auto}
 .spv-key-v301 .spv-key-editor-form-wide{grid-template-columns:1fr}
}
@media(max-width:520px){
 .spv-key-v301 .spv-key-admin-metrics{grid-template-columns:1fr}.spv-key-v301 .spv-key-admin-metric{min-width:0}
}

/* SPV KEY PRINT V300 */
.spv-key-v301 .spv-key-head-actions{gap:7px}
.spv-key-v301 .spv-key-print-btn svg,.spv-key-v301 .spv-key-admin-print svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.spv-key-v301 .spv-key-admin-hero-actions{display:flex;align-items:center;gap:7px}
.spv-key-v301 .spv-key-admin-print{height:36px;display:inline-flex;align-items:center;gap:6px;border-color:rgba(104,146,169,.14);background:rgba(17,34,45,.55);color:#9db2bd}
.spv-key-v301 .spv-key-admin-print:hover{background:rgba(54,106,135,.35);color:#d3e1e7}
@media(max-width:760px){.spv-key-v301 .spv-key-admin-hero-actions{width:100%}.spv-key-v301 .spv-key-admin-hero-actions .btn{flex:1;justify-content:center}}

/* LOGIN V315 — FULL WIDTH ROLE PICKER + PASSWORD VISIBILITY */
.login-role-select-wrap{
    margin-bottom:22px;
}

.login-role-select-shell{
    position:relative;
    display:block;
    min-height:0;
    border:0;
    border-radius:14px;
    background:transparent;
    overflow:visible;
}

.login-role-select-shell:focus-within{
    border:0;
    box-shadow:none;
}

.login-role-trigger{
    width:100%;
    min-height:60px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 28px;
    align-items:center;
    gap:11px;
    padding:8px 14px 8px 10px;
    border:1px solid #2a4058;
    border-radius:12px;
    background:linear-gradient(145deg,#101b28,#0b141f);
    color:#f4f7fb;
    text-align:left;
    cursor:pointer;
    transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.login-role-trigger:hover{
    border-color:#3c5b7b;
    background:linear-gradient(145deg,#132131,#0d1824);
}

.login-role-select-shell.is-open .login-role-trigger,
.login-role-trigger:focus-visible{
    outline:none;
    border-color:#5598db;
    box-shadow:0 0 0 3px rgba(74,145,218,.12);
}

.login-role-trigger-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#9dc9f4;
    background:#17283a;
    border:1px solid #294661;
}

.login-role-trigger-icon svg,
.login-role-trigger-arrow svg{
    width:20px;
    height:20px;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.login-role-trigger-text{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.login-role-trigger-text small{
    color:#71869a;
    font-size:9px;
    font-weight:750;
    line-height:1.1;
}

.login-role-trigger-text strong{
    color:#f6f9fc;
    font-size:13px;
    font-weight:850;
    line-height:1.25;
}

.login-role-trigger-arrow{
    display:grid;
    place-items:center;
    color:#7e96ad;
    transition:transform .16s ease,color .16s ease;
}

.login-role-select-shell.is-open .login-role-trigger-arrow{
    transform:rotate(180deg);
    color:#a8ccef;
}

.login-role-menu{
    position:absolute;
    z-index:50;
    top:calc(100% + 7px);
    left:0;
    right:0;
    width:100%;
    padding:6px;
    border:1px solid #314a63;
    border-radius:12px;
    background:#0c1621;
    box-shadow:0 16px 38px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.015) inset;
}

.login-role-menu[hidden]{display:none!important}

.login-role-menu-option{
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:0 13px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#c6d2de;
    font:inherit;
    font-size:12.5px;
    font-weight:780;
    text-align:left;
    cursor:pointer;
    transition:background .13s ease,color .13s ease;
}

.login-role-menu-option:hover,
.login-role-menu-option:focus-visible{
    outline:none;
    background:#14263a;
    color:#fff;
}

.login-role-menu-option.is-selected{
    background:#18314a;
    color:#f8fbff;
}

.login-role-option-check{
    opacity:0;
    color:#78baff;
    font-size:15px;
    font-weight:900;
}

.login-role-menu-option.is-selected .login-role-option-check{
    opacity:1;
}

.login-password-wrap{
    position:relative;
}

.login-password-wrap input{
    min-height:46px;
    padding-right:48px;
}

.login-password-toggle{
    position:absolute;
    top:50%;
    right:5px;
    width:38px;
    height:36px;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#73889e;
    cursor:pointer;
    transition:background .14s ease,color .14s ease;
}

.login-password-toggle:hover,
.login-password-toggle:focus-visible{
    outline:none;
    background:#132232;
    color:#a7c9ea;
}

.login-password-toggle svg{
    width:19px;
    height:19px;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.login-password-toggle .eye-closed{display:none}
.login-password-toggle.is-visible .eye-open{display:none}
.login-password-toggle.is-visible .eye-closed{display:block}

@media (max-width:520px){
    .login-role-trigger{min-height:58px}
    .login-role-menu-option{min-height:44px}
}

/* LOGIN V42 - NEON OC FLORA BACKGROUND */
.login-body{
position:relative;
isolation:isolate;
min-height:100vh;
background:#030913;
overflow-x:hidden
}

.login-body::before{
content:"";
position:fixed;
inset:0;
z-index:-2;
background-image:url('/assets/login-flora-art-v321.png?v=32120260908');
background-size:cover;
background-position:center center;
background-repeat:no-repeat;
filter:saturate(1.08) contrast(1.04);
transform:scale(1.015)
}

.login-body::after{
content:"";
position:fixed;
inset:0;
z-index:-1;
pointer-events:none;
background:
radial-gradient(circle at 50% 48%,rgba(2,8,15,.18) 0,rgba(2,8,15,.35) 28%,rgba(2,8,15,.13) 52%,rgba(2,8,15,.42) 100%),
linear-gradient(180deg,rgba(1,6,12,.26),rgba(1,6,12,.05) 45%,rgba(1,6,12,.3));
}

.login-shell{
position:relative;
z-index:1
}

.login-brand{
margin-bottom:22px;
text-shadow:0 2px 20px rgba(0,0,0,.65)
}

.login-brand-name{
color:#f7fbff
}

.login-brand-subtitle{
color:#9fb1c3
}

.login-card{
background:linear-gradient(150deg,rgba(14,25,38,.94),rgba(7,15,25,.91));
border:1px solid rgba(94,180,255,.28);
box-shadow:0 26px 75px rgba(0,0,0,.54),0 0 42px rgba(31,144,255,.08);
-webkit-backdrop-filter:blur(16px) saturate(1.08);
backdrop-filter:blur(16px) saturate(1.08)
}

.login-card h1{
color:#f8fbff
}

.login-card p{
color:#9cafc1
}

@media(max-width:760px){
.login-body::before{
background-position:58% center
}
.login-body::after{
background:linear-gradient(180deg,rgba(2,8,15,.38),rgba(2,8,15,.2) 45%,rgba(2,8,15,.42))
}
}


/* v320 – ISSFLORA branding inside login card */
.login-card .login-brand-in-card{
  margin:0 0 27px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  text-align:left;
  text-shadow:0 2px 20px rgba(0,0,0,.5)
}
.login-card .login-brand-in-card .login-brand-logo{flex:0 0 auto}
.login-card .login-brand-in-card .login-brand-name{color:#f7fbff}
.login-card .login-brand-in-card .login-brand-subtitle{color:#9fb1c3}
@media(max-width:520px){
  .login-card .login-brand-in-card{gap:11px;margin-bottom:23px}
}

/* v327 — SPV horní info karty: čas, datum, poznámky, mimořádné události */
.page.is-spv-dashboard .spv-kpi-copy-v225 strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.page.is-spv-dashboard .spv-kpi-copy-v225 small{white-space:normal;line-height:1.15}
@media (max-width:1180px){
  .page.is-spv-dashboard .spv-kpi-copy-v225 strong{font-size:clamp(16px,1.7vw,23px)}
  .page.is-spv-dashboard .spv-kpi-copy-v225 small{font-size:10px}
}


/* v330 – rychlé akce: Klíče + bezpečnostní ikona NRB */
.spv-quick-v226 .spv-key-icon-v330 svg,
.spv-quick-v226 .spv-nrb-security-icon-v330 svg{width:23px;height:23px;display:block}

/* v333 — SPV Tabulky: profesionální pracovní hub podle schválené 1. varianty */
.spv-tables-pro-hero{position:relative;overflow:hidden;min-height:154px;margin-bottom:22px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(130,157,180,.18);border-radius:14px;background:linear-gradient(110deg,#13293b 0%,#1c3548 58%,#263e4e 100%);box-shadow:0 14px 34px rgba(7,18,28,.15);color:#fff}
.spv-tables-pro-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(255,255,255,.035));pointer-events:none}.spv-tables-pro-hero-copy{position:relative;z-index:1}.spv-tables-pro-kicker{display:block;margin-bottom:8px;font-size:10px;font-weight:800;letter-spacing:.18em;color:#8fb2ca}.spv-tables-pro-hero h1{margin:0 0 7px;font-size:31px;line-height:1.05;letter-spacing:-.025em}.spv-tables-pro-hero p{margin:0;color:#c0cfda;font-size:13px}.spv-tables-pro-hero-meta{position:relative;z-index:1;display:flex;flex-direction:column;gap:7px;padding-right:10px;text-align:right;font-size:10px;font-weight:700;letter-spacing:.2em;color:#b8c8d3}
.spv-tables-pro-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.spv-tables-pro-search{width:min(380px,100%);height:44px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid rgba(124,151,173,.22);border-radius:10px;background:rgba(255,255,255,.04)}.spv-tables-pro-search svg{width:18px;height:18px;fill:none;stroke:#6f8ba0;stroke-width:1.8}.spv-tables-pro-search input{width:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:inherit;font-size:12px}.spv-tables-pro-count{display:flex;align-items:baseline;gap:6px;padding:7px 11px;border:1px solid rgba(124,151,173,.16);border-radius:8px;color:#71899b}.spv-tables-pro-count strong{font-size:14px;color:#dce8f0}.spv-tables-pro-count span{font-size:10px}
.spv-tables-pro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.spv-tables-pro-card{position:relative;min-height:126px;display:grid;grid-template-columns:52px minmax(0,1fr) 18px;align-items:center;gap:15px;padding:19px 17px 19px 19px;border:1px solid rgba(125,153,175,.16);border-radius:12px;background:rgba(255,255,255,.035);color:inherit;text-decoration:none;box-shadow:0 8px 22px rgba(4,15,24,.07);transition:border-color .16s ease,background .16s ease,transform .16s ease}.spv-tables-pro-card:before{content:"";position:absolute;left:-1px;top:15px;bottom:15px;width:3px;border-radius:0 3px 3px 0;background:var(--accent,#4c8fc3)}.spv-tables-pro-card:hover{transform:translateY(-1px);border-color:rgba(105,158,199,.36);background:rgba(255,255,255,.06)}.spv-tables-pro-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--accent,#4c8fc3) 13%,transparent);color:var(--accent,#4c8fc3)}.spv-tables-pro-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.spv-tables-pro-copy{display:flex;flex-direction:column;min-width:0}.spv-tables-pro-copy small{margin-bottom:4px;color:var(--accent,#4c8fc3);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.spv-tables-pro-copy strong{font-size:13px;line-height:1.25;color:#e7eef4}.spv-tables-pro-copy>span{margin-top:5px;font-size:10px;line-height:1.45;color:#8196a7}.spv-tables-pro-card>b{font-size:23px;font-weight:400;color:#708a9d}.spv-tables-pro-card.is-blue{--accent:#3c8ee6}.spv-tables-pro-card.is-cyan{--accent:#25a9b5}.spv-tables-pro-card.is-green{--accent:#36a879}.spv-tables-pro-card.is-amber{--accent:#d99a37}.spv-tables-pro-card.is-violet{--accent:#8b6cc7}.spv-tables-pro-card.is-slate{--accent:#8298a9}.spv-tables-pro-empty{padding:30px;text-align:center;color:#8195a5;font-size:12px}
html[data-theme="light"] .spv-tables-pro-search,html.local-light-mode .spv-tables-pro-search,html[data-theme="light"] .spv-tables-pro-card,html.local-light-mode .spv-tables-pro-card{background:#fff;border-color:#dbe4eb}html[data-theme="light"] .spv-tables-pro-copy strong,html.local-light-mode .spv-tables-pro-copy strong{color:#14263a}html[data-theme="light"] .spv-tables-pro-count strong,html.local-light-mode .spv-tables-pro-count strong{color:#1b3042}
@media(max-width:1180px){.spv-tables-pro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.spv-tables-pro-hero{padding:25px 22px}.spv-tables-pro-hero-meta{display:none}.spv-tables-pro-toolbar{align-items:stretch;flex-direction:column}.spv-tables-pro-search{width:100%}.spv-tables-pro-count{align-self:flex-start}.spv-tables-pro-grid{grid-template-columns:1fr}}

/* v334 — SPV Tabulky: stabilní profesionální hub podle 1. schváleného návrhu */
.page.spv-tables-page-v334{max-width:none!important;width:100%!important;padding:24px 28px 34px!important;background:#f4f7fa!important;color:#12263a!important;min-height:calc(100vh - 64px)!important}
.spv-tables-page-v334 .spv334-hero{position:relative!important;isolation:isolate!important;overflow:hidden!important;min-height:156px!important;margin:0 0 22px!important;padding:28px 34px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;border:1px solid #d7e1e8!important;border-radius:12px!important;background:#153048 url('/assets/login-flora-art-v321.png') center 48%/cover no-repeat!important;box-shadow:0 10px 28px rgba(19,45,66,.13)!important;color:#fff!important}
.spv-tables-page-v334 .spv334-hero-overlay{position:absolute!important;inset:0!important;z-index:-1!important;background:linear-gradient(90deg,rgba(11,31,48,.94) 0%,rgba(16,43,64,.82) 47%,rgba(16,43,64,.54) 100%)!important}
.spv-tables-page-v334 .spv334-hero-copy{max-width:680px!important}.spv-tables-page-v334 .spv334-eyebrow{display:block!important;margin:0 0 8px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.15em!important;color:#99b9cf!important}.spv-tables-page-v334 .spv334-hero h1{margin:0 0 8px!important;font-size:32px!important;line-height:1.05!important;letter-spacing:-.025em!important;color:#fff!important}.spv-tables-page-v334 .spv334-hero p{margin:0!important;font-size:13px!important;line-height:1.5!important;color:#d4e1ea!important}.spv-tables-page-v334 .spv334-hero-tags{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important;padding-right:8px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.2em!important;color:#d7e5ee!important}
.spv-tables-page-v334 .spv334-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:0 0 18px!important}.spv-tables-page-v334 .spv334-search,.spv-tables-page-v334 .spv334-filter{height:46px!important;display:flex!important;align-items:center!important;gap:10px!important;border:1px solid #d5e0e7!important;border-radius:8px!important;background:#fff!important;box-shadow:0 2px 8px rgba(20,47,68,.04)!important}.spv-tables-page-v334 .spv334-search{width:min(390px,100%)!important;padding:0 14px!important}.spv-tables-page-v334 .spv334-search svg,.spv-tables-page-v334 .spv334-filter svg{width:19px!important;height:19px!important;flex:0 0 auto!important;fill:none!important;stroke:#38556d!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}.spv-tables-page-v334 .spv334-search input{width:100%!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#183148!important;font-size:12px!important}.spv-tables-page-v334 .spv334-search input::placeholder{color:#7b90a1!important}.spv-tables-page-v334 .spv334-toolbar-right{display:flex!important;align-items:center!important;gap:10px!important}.spv-tables-page-v334 .spv334-filter{min-width:205px!important;padding:0 12px!important}.spv-tables-page-v334 .spv334-filter select{width:100%!important;height:100%!important;margin:0!important;padding:0 26px 0 0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#233c51!important;font-size:12px!important;cursor:pointer!important}.spv-tables-page-v334 .spv334-view-toggle{height:46px!important;display:flex!important;align-items:center!important;overflow:hidden!important;border:1px solid #d5e0e7!important;border-radius:8px!important;background:#fff!important}.spv-tables-page-v334 .spv334-view-toggle button{width:44px!important;height:44px!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:#557188!important;cursor:pointer!important}.spv-tables-page-v334 .spv334-view-toggle button+button{border-left:1px solid #e1e8ed!important}.spv-tables-page-v334 .spv334-view-toggle button.is-active{background:#163b58!important;color:#fff!important}.spv-tables-page-v334 .spv334-view-toggle svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.spv-tables-page-v334 .spv334-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.spv-tables-page-v334 .spv334-card{--accent:#2f7fe0;position:relative!important;min-width:0!important;min-height:126px!important;display:grid!important;grid-template-columns:58px minmax(0,1fr) 18px!important;align-items:center!important;gap:16px!important;margin:0!important;padding:18px 18px 18px 22px!important;overflow:hidden!important;border:1px solid #dce5eb!important;border-radius:9px!important;background:#fff!important;box-shadow:0 4px 14px rgba(24,51,73,.055)!important;color:#14283b!important;text-decoration:none!important;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease!important}.spv-tables-page-v334 .spv334-card[hidden]{display:none!important}.spv-tables-page-v334 .spv334-card:hover{transform:translateY(-1px)!important;border-color:#b9ccd9!important;box-shadow:0 8px 20px rgba(22,50,72,.09)!important}.spv-tables-page-v334 .spv334-accent{position:absolute!important;left:0!important;top:0!important;bottom:0!important;width:4px!important;background:var(--accent)!important}.spv-tables-page-v334 .spv334-icon{width:54px!important;height:54px!important;display:grid!important;place-items:center!important;border-radius:10px!important;background:color-mix(in srgb,var(--accent) 11%,white)!important;color:var(--accent)!important}.spv-tables-page-v334 .spv334-icon svg{width:30px!important;height:30px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}.spv-tables-page-v334 .spv334-copy{display:flex!important;flex-direction:column!important;min-width:0!important}.spv-tables-page-v334 .spv334-copy strong{margin:0!important;color:#13263a!important;font-size:13px!important;line-height:1.3!important;font-weight:800!important}.spv-tables-page-v334 .spv334-copy>span{margin-top:4px!important;color:#677d8e!important;font-size:10.5px!important;line-height:1.45!important}.spv-tables-page-v334 .spv334-copy small{align-self:flex-start!important;margin-top:10px!important;padding:4px 8px!important;border-radius:5px!important;background:#edf2f6!important;color:#4b6478!important;font-size:9px!important;font-weight:700!important;line-height:1!important}.spv-tables-page-v334 .spv334-arrow{font-size:25px!important;line-height:1!important;color:#577187!important;transition:transform .15s ease!important}.spv-tables-page-v334 .spv334-card:hover .spv334-arrow{transform:translateX(2px)!important}.spv-tables-page-v334 .spv334-card.tone-blue{--accent:#2d7eea}.spv-tables-page-v334 .spv334-card.tone-cyan{--accent:#1599a4}.spv-tables-page-v334 .spv334-card.tone-green{--accent:#2b9b68}.spv-tables-page-v334 .spv334-card.tone-amber{--accent:#d79225}.spv-tables-page-v334 .spv334-card.tone-violet{--accent:#7759b8}.spv-tables-page-v334 .spv334-card.tone-slate{--accent:#60788d}
.spv-tables-page-v334 .spv334-grid.is-list{grid-template-columns:1fr!important}.spv-tables-page-v334 .spv334-grid.is-list .spv334-card{min-height:94px!important;grid-template-columns:50px minmax(0,1fr) 18px!important}.spv-tables-page-v334 .spv334-grid.is-list .spv334-icon{width:46px!important;height:46px!important}.spv-tables-page-v334 .spv334-grid.is-list .spv334-icon svg{width:25px!important;height:25px!important}.spv-tables-page-v334 .spv334-grid.is-list .spv334-copy small{position:absolute!important;right:54px!important;top:50%!important;margin:0!important;transform:translateY(-50%)!important}.spv-tables-page-v334 .spv334-empty{padding:42px 20px!important;text-align:center!important;color:#718798!important;font-size:12px!important}
@media(max-width:1180px){.spv-tables-page-v334 .spv334-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:780px){.page.spv-tables-page-v334{padding:18px!important}.spv-tables-page-v334 .spv334-hero{min-height:140px!important;padding:24px!important}.spv-tables-page-v334 .spv334-hero-tags{display:none!important}.spv-tables-page-v334 .spv334-toolbar{align-items:stretch!important;flex-direction:column!important}.spv-tables-page-v334 .spv334-search{width:100%!important}.spv-tables-page-v334 .spv334-toolbar-right{width:100%!important}.spv-tables-page-v334 .spv334-filter{flex:1 1 auto!important;min-width:0!important}.spv-tables-page-v334 .spv334-grid{grid-template-columns:1fr!important}.spv-tables-page-v334 .spv334-grid.is-list .spv334-copy small{position:static!important;transform:none!important;margin-top:9px!important}}

/* v335 — SPV Tabulky: plnohodnotný tmavý režim */
html:not([data-theme="light"]):not(.local-light-mode) .page.spv-tables-page-v334,
html[data-theme="dark"] .page.spv-tables-page-v334,
html.local-dark-mode .page.spv-tables-page-v334{background:#0f1822!important;color:#eaf1f6!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-hero,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-hero,
html.local-dark-mode .spv-tables-page-v334 .spv334-hero{border-color:#2b3d4b!important;box-shadow:0 12px 30px rgba(0,0,0,.28)!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-search,
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-filter,
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-view-toggle,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-search,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-filter,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-view-toggle,
html.local-dark-mode .spv-tables-page-v334 .spv334-search,
html.local-dark-mode .spv-tables-page-v334 .spv334-filter,
html.local-dark-mode .spv-tables-page-v334 .spv334-view-toggle{background:#17232e!important;border-color:#30424f!important;box-shadow:0 3px 10px rgba(0,0,0,.16)!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-search input,
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-filter select,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-search input,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-filter select,
html.local-dark-mode .spv-tables-page-v334 .spv334-search input,
html.local-dark-mode .spv-tables-page-v334 .spv334-filter select{color:#e6eef4!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-search input::placeholder,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-search input::placeholder,
html.local-dark-mode .spv-tables-page-v334 .spv334-search input::placeholder{color:#8497a7!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-search svg,
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-filter svg,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-search svg,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-filter svg,
html.local-dark-mode .spv-tables-page-v334 .spv334-search svg,
html.local-dark-mode .spv-tables-page-v334 .spv334-filter svg{stroke:#9eb1c0!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-view-toggle button,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-view-toggle button,
html.local-dark-mode .spv-tables-page-v334 .spv334-view-toggle button{background:#17232e!important;color:#91a5b5!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-view-toggle button+button,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-view-toggle button+button,
html.local-dark-mode .spv-tables-page-v334 .spv334-view-toggle button+button{border-left-color:#30424f!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-view-toggle button.is-active,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-view-toggle button.is-active,
html.local-dark-mode .spv-tables-page-v334 .spv334-view-toggle button.is-active{background:#2c6b98!important;color:#fff!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-card,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-card,
html.local-dark-mode .spv-tables-page-v334 .spv334-card{background:#17232e!important;border-color:#2a3b48!important;color:#eaf1f6!important;box-shadow:0 5px 16px rgba(0,0,0,.18)!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-card:hover,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-card:hover,
html.local-dark-mode .spv-tables-page-v334 .spv334-card:hover{background:#1b2935!important;border-color:#466276!important;box-shadow:0 10px 24px rgba(0,0,0,.26)!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-icon,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-icon,
html.local-dark-mode .spv-tables-page-v334 .spv334-icon{background:color-mix(in srgb,var(--accent) 16%,#17232e)!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-copy strong,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-copy strong,
html.local-dark-mode .spv-tables-page-v334 .spv334-copy strong{color:#f1f6fa!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-copy>span,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-copy>span,
html.local-dark-mode .spv-tables-page-v334 .spv334-copy>span{color:#9caeba!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-copy small,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-copy small,
html.local-dark-mode .spv-tables-page-v334 .spv334-copy small{background:#22323f!important;color:#aebfcb!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-arrow,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-arrow,
html.local-dark-mode .spv-tables-page-v334 .spv334-arrow{color:#8299aa!important}
html:not([data-theme="light"]):not(.local-light-mode) .spv-tables-page-v334 .spv334-empty,
html[data-theme="dark"] .spv-tables-page-v334 .spv334-empty,
html.local-dark-mode .spv-tables-page-v334 .spv334-empty{color:#91a4b2!important}

/* v337 — SPV / Objednávky na parkování: profesionální jednoduchá evidence */
.spv-tables-page .spv337-parking-hero{position:relative;isolation:isolate;overflow:hidden;min-height:156px;margin:0 0 18px;padding:28px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #2b3d4b;border-radius:12px;background:#153048 url('/assets/login-flora-art-v321.png') center 48%/cover no-repeat;box-shadow:0 12px 30px rgba(0,0,0,.25);color:#fff}.spv337-parking-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,31,48,.96),rgba(16,43,64,.82) 52%,rgba(16,43,64,.5))}.spv337-parking-copy>span{font-size:10px;font-weight:800;letter-spacing:.15em;color:#99b9cf}.spv337-parking-copy h1{margin:7px 0 8px;font-size:31px;line-height:1.05;color:#fff}.spv337-parking-copy p{margin:0;color:#d4e1ea;font-size:13px}.spv337-parking-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.spv337-parking-meta b{font-size:13px;letter-spacing:.16em}.spv337-parking-meta small{font-size:9px;letter-spacing:.18em;color:#a9c0d0}.spv337-parking-topbar{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 14px}.spv337-parking-topbar label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:800;letter-spacing:.08em;color:#8fa2b3}.spv337-parking-topbar select{min-width:170px}.spv337-parking-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.spv337-parking-summary>div,.spv337-parking-create,.spv337-parking-list{border:1px solid rgba(126,157,181,.14);background:#15222c;border-radius:11px;box-shadow:0 7px 20px rgba(0,0,0,.12)}.spv337-parking-summary>div{padding:14px 16px;display:flex;align-items:baseline;gap:7px}.spv337-parking-summary span{font-size:10px;color:#8fa2b3}.spv337-parking-summary strong{margin-left:auto;font-size:20px;color:#edf4f8}.spv337-parking-summary small{font-size:10px;color:#758b9c}.spv337-parking-create,.spv337-parking-list{padding:18px;margin-bottom:14px}.spv337-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:15px}.spv337-section-title span{display:block;margin-bottom:4px;font-size:9px;font-weight:800;letter-spacing:.15em;color:#6ea9d0}.spv337-section-title h2{margin:0;font-size:17px;color:#eef5f9}.spv337-section-title>small{font-size:10px;color:#7f94a5}.spv337-parking-form{display:grid;grid-template-columns:1fr 1.45fr .8fr 1.15fr 1fr auto;gap:10px;align-items:end}.spv337-parking-form label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:#9babb8}.spv337-parking-form input,.spv337-parking-form select,.spv337-pay-form input{height:38px}.spv337-parking-form button{height:38px;white-space:nowrap}.spv337-parking-table{width:100%;border-collapse:collapse;font-size:12px}.spv337-parking-table th{padding:9px 10px;text-align:left;border-bottom:1px solid rgba(126,157,181,.14);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#758b9c}.spv337-parking-table td{padding:11px 10px;border-bottom:1px solid rgba(126,157,181,.08);vertical-align:middle;color:#c8d4dc}.spv337-parking-table tr:last-child td{border-bottom:0}.spv337-parking-table tr.is-paid{opacity:.82}.spv337-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;white-space:nowrap}.spv337-status.paid{background:rgba(63,171,114,.12);color:#74d19d}.spv337-status.open{background:rgba(216,166,77,.12);color:#d9b667}.spv337-paid-date{display:block;margin-top:4px;color:#718696;font-size:9px}.spv337-pay-form{display:flex;align-items:center;gap:6px}.spv337-pay-form input{width:130px}.spv337-pay-form .btn{height:34px;padding:0 10px;font-size:10px;white-space:nowrap}.spv337-done{font-size:10px;color:#6f8595}
html[data-theme="light"] .spv337-parking-summary>div,html[data-theme="light"] .spv337-parking-create,html[data-theme="light"] .spv337-parking-list,html.local-light-mode .spv337-parking-summary>div,html.local-light-mode .spv337-parking-create,html.local-light-mode .spv337-parking-list{background:#fff;border-color:#dce5eb}.local-light-mode .spv337-parking-summary strong,.local-light-mode .spv337-section-title h2{color:#173147}.local-light-mode .spv337-parking-table td{color:#314b5f}
@media(max-width:1180px){.spv337-parking-form{grid-template-columns:repeat(3,1fr)}.spv337-parking-form button{width:100%}}@media(max-width:760px){.spv-tables-page .spv337-parking-hero{padding:24px}.spv337-parking-meta{display:none}.spv337-parking-summary{grid-template-columns:repeat(2,1fr)}.spv337-parking-form{grid-template-columns:1fr}.spv337-parking-topbar{align-items:stretch;flex-direction:column;gap:12px}.spv337-parking-topbar select{width:100%}}

/* v338 — SPV / Objednávky na parkování: stabilní pracovní layout + pouze nezaplacené */
.spv-tables-page .spv338-parking-page{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.spv-tables-page .spv338-parking-page *{box-sizing:border-box}
.spv-tables-page .spv338-parking-hero{position:relative;isolation:isolate;overflow:hidden;width:100%;min-height:168px;margin:0 0 16px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(126,157,181,.18);border-radius:14px;background:#153048 url('/assets/login-flora-art-v321.png') center 48%/cover no-repeat;box-shadow:0 12px 30px rgba(0,0,0,.18);color:#fff}
.spv-tables-page .spv338-parking-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,27,43,.97) 0%,rgba(13,42,62,.84) 52%,rgba(16,43,64,.44) 100%)}
.spv-tables-page .spv338-parking-hero-copy{min-width:0;max-width:680px}
.spv-tables-page .spv338-parking-hero-copy>span{display:block;margin-bottom:7px;font-size:10px;font-weight:800;letter-spacing:.16em;color:#9fc0d5}
.spv-tables-page .spv338-parking-hero-copy h1{margin:0 0 8px;font-size:30px;line-height:1.08;letter-spacing:-.02em;color:#fff}
.spv-tables-page .spv338-parking-hero-copy p{margin:0;font-size:13px;line-height:1.45;color:#d1e0e9}
.spv-tables-page .spv338-parking-hero-brand{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.spv-tables-page .spv338-parking-hero-brand b{font-size:13px;letter-spacing:.17em;color:#fff}
.spv-tables-page .spv338-parking-hero-brand small{font-size:9px;letter-spacing:.18em;color:#a9c4d5}
.spv-tables-page .spv338-parking-nav{width:100%;margin:0 0 14px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.spv-tables-page .spv338-parking-live{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#91a6b6;white-space:nowrap}
.spv-tables-page .spv338-parking-live span{width:8px;height:8px;border-radius:50%;background:#d5a44e;box-shadow:0 0 0 4px rgba(213,164,78,.10)}
.spv-tables-page .spv338-parking-create,.spv-tables-page .spv338-parking-open{width:100%;min-width:0;margin:0 0 14px;padding:20px;border:1px solid rgba(126,157,181,.14);border-radius:12px;background:#15222c;box-shadow:0 8px 22px rgba(0,0,0,.11)}
.spv-tables-page .spv338-parking-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:17px}
.spv-tables-page .spv338-parking-heading>div:first-child{min-width:0}
.spv-tables-page .spv338-parking-heading span{display:block;margin-bottom:4px;font-size:9px;font-weight:800;letter-spacing:.15em;color:#6ea9d0}
.spv-tables-page .spv338-parking-heading h2{margin:0;font-size:18px;line-height:1.2;color:#eef5f9}
.spv-tables-page .spv338-parking-heading p{max-width:440px;margin:0;text-align:right;font-size:11px;line-height:1.45;color:#8196a6}
.spv-tables-page .spv338-parking-form{width:100%;display:grid;grid-template-columns:minmax(145px,.9fr) minmax(230px,1.45fr) minmax(130px,.75fr) minmax(180px,1.05fr) minmax(145px,.9fr);gap:12px;align-items:end}
.spv-tables-page .spv338-parking-form label{min-width:0;display:flex;flex-direction:column;gap:7px}
.spv-tables-page .spv338-parking-form label>span{font-size:10px;font-weight:700;color:#9aabb7}
.spv-tables-page .spv338-parking-form input,.spv-tables-page .spv338-parking-form select{width:100%;min-width:0;height:40px}
.spv-tables-page .spv338-money{position:relative;min-width:0}
.spv-tables-page .spv338-money input{padding-right:40px}
.spv-tables-page .spv338-money b{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:10px;color:#718797;pointer-events:none}
.spv-tables-page .spv338-submit{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:2px}
.spv-tables-page .spv338-submit .btn{min-width:180px;height:40px}
.spv-tables-page .spv338-list-heading{margin-bottom:12px}
.spv-tables-page .spv338-open-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.spv-tables-page .spv338-open-total small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#748a9a}
.spv-tables-page .spv338-open-total strong{font-size:20px;color:#eef5f9;font-variant-numeric:tabular-nums}
.spv-tables-page .spv338-parking-table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid rgba(126,157,181,.10);border-radius:9px;background:rgba(7,18,28,.12)}
.spv-tables-page .spv338-parking-table{width:100%;min-width:910px;border-collapse:collapse;table-layout:auto;font-size:12px}
.spv-tables-page .spv338-parking-table th{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(126,157,181,.14);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#718797;white-space:nowrap}
.spv-tables-page .spv338-parking-table td{padding:12px;border-bottom:1px solid rgba(126,157,181,.08);vertical-align:middle;color:#c7d4dc}
.spv-tables-page .spv338-parking-table tbody tr:last-child td{border-bottom:0}
.spv-tables-page .spv338-parking-table tbody tr:hover{background:rgba(100,165,207,.035)}
.spv-tables-page .spv338-order{min-width:180px}
.spv-tables-page .spv338-order strong{color:#edf4f8}
.spv-tables-page .spv338-amount{font-weight:800;color:#edf4f8;white-space:nowrap;font-variant-numeric:tabular-nums}
.spv-tables-page .spv338-nowrap{white-space:nowrap}
.spv-tables-page .spv338-pay-form{display:grid;grid-template-columns:138px auto;gap:7px;align-items:center;min-width:248px}
.spv-tables-page .spv338-pay-form input{width:138px;height:36px;min-width:0}
.spv-tables-page .spv338-pay-form button{height:36px;padding:0 13px;border:1px solid rgba(105,184,139,.27);border-radius:7px;background:rgba(65,160,109,.11);color:#78d49f;font:inherit;font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer}
.spv-tables-page .spv338-pay-form button:hover{background:rgba(65,160,109,.18);border-color:rgba(105,184,139,.42)}
.spv-tables-page .spv338-parking-note{margin-top:12px;display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.45;color:#768d9d}
.spv-tables-page .spv338-parking-note>span{flex:0 0 18px;width:18px;height:18px;margin:0;display:grid;place-items:center;border-radius:50%;background:rgba(108,165,202,.11);font-size:10px;color:#79acd0}
.spv-tables-page .spv338-parking-empty{min-height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed rgba(126,157,181,.17);border-radius:9px;text-align:center}
.spv-tables-page .spv338-parking-empty strong{font-size:14px;color:#dce8ef}.spv-tables-page .spv338-parking-empty span{font-size:10px;color:#748a9a}
html[data-theme="light"] .spv-tables-page .spv338-parking-create,html[data-theme="light"] .spv-tables-page .spv338-parking-open,html.local-light-mode .spv-tables-page .spv338-parking-create,html.local-light-mode .spv-tables-page .spv338-parking-open{background:#fff;border-color:#dce5eb;box-shadow:0 7px 20px rgba(28,55,73,.06)}
html[data-theme="light"] .spv-tables-page .spv338-parking-heading h2,html[data-theme="light"] .spv-tables-page .spv338-open-total strong,html[data-theme="light"] .spv-tables-page .spv338-order strong,html[data-theme="light"] .spv-tables-page .spv338-amount,html.local-light-mode .spv-tables-page .spv338-parking-heading h2,html.local-light-mode .spv-tables-page .spv338-open-total strong,html.local-light-mode .spv-tables-page .spv338-order strong,html.local-light-mode .spv-tables-page .spv338-amount{color:#173147}
html[data-theme="light"] .spv-tables-page .spv338-parking-table td,html.local-light-mode .spv-tables-page .spv338-parking-table td{color:#314b5f}
html[data-theme="light"] .spv-tables-page .spv338-parking-table-wrap,html.local-light-mode .spv-tables-page .spv338-parking-table-wrap{background:#fbfdfe;border-color:#e3ebf0}
@media(max-width:1220px){.spv-tables-page .spv338-parking-form{grid-template-columns:repeat(3,minmax(0,1fr))}.spv-tables-page .spv338-submit{grid-column:1/-1}}
@media(max-width:820px){.spv-tables-page .spv338-parking-hero{min-height:150px;padding:25px}.spv-tables-page .spv338-parking-hero-brand{display:none}.spv-tables-page .spv338-parking-hero-copy h1{font-size:25px}.spv-tables-page .spv338-parking-form{grid-template-columns:repeat(2,minmax(0,1fr))}.spv-tables-page .spv338-parking-heading{align-items:flex-start;flex-direction:column;gap:8px}.spv-tables-page .spv338-parking-heading p{text-align:left}.spv-tables-page .spv338-list-heading{flex-direction:row;align-items:flex-end}.spv-tables-page .spv338-open-total{align-items:flex-end}.spv-tables-page .spv338-parking-create,.spv-tables-page .spv338-parking-open{padding:16px}}
@media(max-width:560px){.spv-tables-page .spv338-parking-hero{padding:22px 19px}.spv-tables-page .spv338-parking-nav{align-items:flex-start;flex-direction:column}.spv-tables-page .spv338-parking-form{grid-template-columns:1fr}.spv-tables-page .spv338-submit{grid-column:1}.spv-tables-page .spv338-submit .btn{width:100%}.spv-tables-page .spv338-list-heading{align-items:flex-start;flex-direction:column}.spv-tables-page .spv338-open-total{align-items:flex-start}}

/* v346 — Klíčové hospodářství: moderní profesionální layout */
.spv-key-v301{width:100%;max-width:1440px;margin:0 auto;padding-bottom:52px}
.spv-key-v301,.spv-key-v301 *{box-sizing:border-box}
.spv-key-v301 .spv346-key-hero{position:relative;isolation:isolate;overflow:hidden;min-height:176px;margin:0 0 14px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #2a3d4d;border-radius:16px;background:#153048 url('/assets/login-flora-art-v321.png?v=32120260908') center 48%/cover no-repeat;box-shadow:0 16px 38px rgba(0,0,0,.23);color:#fff}
.spv-key-v301 .spv346-key-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,26,40,.98) 0%,rgba(12,39,58,.88) 52%,rgba(11,33,49,.54) 100%)}
.spv-key-v301 .spv346-key-hero-copy{min-width:0;max-width:760px}
.spv-key-v301 .spv346-key-eyebrow{display:block;margin-bottom:8px;font-size:10px;font-weight:850;letter-spacing:.16em;color:#9fc0d5}
.spv-key-v301 .spv346-key-hero h1{margin:0 0 8px;font-size:32px;line-height:1.08;letter-spacing:-.025em;color:#fff}
.spv-key-v301 .spv346-key-hero p{margin:0;font-size:13px;line-height:1.5;color:#d4e2eb}
.spv-key-v301 .spv346-key-brand{flex:0 0 auto;text-align:right}.spv-key-v301 .spv346-key-brand b{display:block;font-size:13px;letter-spacing:.17em}.spv-key-v301 .spv346-key-brand small{display:block;margin-top:6px;font-size:9px;letter-spacing:.16em;color:#a9c4d5}
.spv-key-v301 .spv346-key-commandbar{display:grid;grid-template-columns:minmax(170px,1fr) auto auto;align-items:center;gap:12px;margin:0 0 16px;padding:10px 12px;border:1px solid rgba(126,157,181,.13);border-radius:13px;background:rgba(17,31,42,.72)}
.spv-key-v301 .spv346-key-back{color:#94a9b8;text-decoration:none;font-size:11px;font-weight:750}.spv-key-v301 .spv346-key-back:hover{color:#eef5f8}
.spv-key-v301 .spv346-key-command-actions{display:flex;align-items:center;gap:7px}
.spv-key-v301 .spv346-key-action{height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(126,157,181,.14);border-radius:9px;background:rgba(8,18,26,.34);color:#a9bbc6;text-decoration:none;font-size:9.5px;font-weight:800;white-space:nowrap;transition:.16s ease}
.spv-key-v301 .spv346-key-action:hover,.spv-key-v301 .spv346-key-action.is-active{border-color:rgba(92,159,196,.30);background:rgba(72,135,169,.12);color:#eaf4f8}.spv-key-v301 .spv346-key-action svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.spv-key-v301 .spv346-key-stats{display:flex;align-items:stretch;gap:7px}.spv-key-v301 .spv346-key-stats>div{min-width:94px;height:46px;padding:7px 10px;border:1px solid rgba(126,157,181,.12);border-radius:9px;background:rgba(8,18,26,.30);display:flex;flex-direction:column;justify-content:center}.spv-key-v301 .spv346-key-stats span{font-size:7.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#6f8493}.spv-key-v301 .spv346-key-stats strong{margin-top:3px;font-size:17px;line-height:1;color:#edf5f8;font-variant-numeric:tabular-nums}.spv-key-v301 .spv346-key-stats .has-open{border-color:rgba(231,174,72,.24);background:rgba(231,174,72,.07)}.spv-key-v301 .spv346-key-stats .has-open strong{color:#e9bd69}

.spv-key-v301 .spv-key-compose-card,.spv-key-v301 .spv-key-list-card,.spv-key-v301 .spv-key-admin-card{border:1px solid rgba(126,157,181,.12)!important;border-radius:14px!important;background:linear-gradient(155deg,rgba(18,31,43,.78),rgba(12,22,31,.74))!important;box-shadow:0 14px 34px rgba(0,0,0,.12)!important}
.spv-key-v301 .spv-key-compose-card{overflow:visible!important}.spv-key-v301 .spv-key-list-card,.spv-key-v301 .spv-key-admin-card{overflow:hidden!important}
.spv-key-v301 .spv-key-section-head{padding:17px 19px!important}.spv-key-v301 .spv-key-section-head strong{font-size:13px!important}.spv-key-v301 .spv-key-section-head span{font-size:9.5px!important}
.spv-key-v301 .spv-key-form{grid-template-columns:minmax(180px,.8fr) minmax(310px,1.45fr) minmax(220px,1fr) auto!important;gap:12px!important;padding:18px 19px 19px!important}
.spv-key-v301 .spv-key-form input{height:41px!important;border-radius:9px!important;font-size:11px!important}.spv-key-v301 .spv-key-submit{height:41px!important;border-radius:9px!important;min-width:160px!important}
.spv-key-v301 .spv-key-selected{min-height:52px!important;border-radius:9px!important}
.spv-key-v301 .spv-key-list-card{margin-top:14px!important}.spv-key-v301 .spv-key-toolbar{min-height:62px!important;padding:13px 17px!important}.spv-key-v301 .spv-key-toolbar strong{font-size:13px!important}.spv-key-v301 .spv-key-toolbar span{font-size:9px!important}
.spv-key-v301 .spv-key-toolbar-actions>a{height:34px!important;padding:0 11px!important;border-radius:8px!important;font-size:9px!important}.spv-key-v301 .spv-key-search{height:34px!important;min-width:190px!important;border-radius:8px!important}.spv-key-v301 .spv-key-search input{width:155px!important;font-size:9.5px!important}
.spv-key-v301 .spv-key-table{min-width:860px!important}.spv-key-v301 .spv-key-table th{height:38px!important;padding:0 13px!important;background:rgba(255,255,255,.018)!important;font-size:8px!important}.spv-key-v301 .spv-key-table td{height:54px!important;padding:9px 13px!important;font-size:10px!important}.spv-key-v301 .spv-key-table tbody tr:hover td{background:rgba(72,137,172,.045)!important}.spv-key-v301 .spv-key-number{border-radius:8px!important}.spv-key-v301 .spv-key-return-form input{height:34px!important;border-radius:8px!important}.spv-key-v301 .spv-key-return-form button{height:34px!important;border-radius:8px!important}

.spv-key-v301 .spv-key-admin-card{padding:0!important;margin-bottom:14px!important}.spv-key-v301 .spv-key-admin-hero{padding:18px 19px!important;background:rgba(255,255,255,.012)!important;border-bottom:1px solid rgba(126,157,181,.08)!important}.spv-key-v301 .spv-key-admin-tools{padding:12px 15px!important;background:rgba(4,12,18,.16)!important}.spv-key-v301 .spv-key-admin-table th{background:rgba(255,255,255,.018)!important}.spv-key-v301 .spv-key-admin-table td{background:transparent!important}.spv-key-v301 .spv-key-admin-table tbody tr:hover td{background:rgba(72,137,172,.045)!important}.spv-key-v301 .spv-key-editor-panel{margin:14px!important;border-radius:12px!important}

@media(max-width:1050px){.spv-key-v301 .spv346-key-commandbar{grid-template-columns:1fr auto}.spv-key-v301 .spv346-key-stats{grid-column:1/-1;justify-content:flex-end}.spv-key-v301 .spv-key-form{grid-template-columns:1fr 1.25fr!important}.spv-key-v301 .spv-key-date-field{grid-column:1!important;grid-row:auto!important}.spv-key-v301 .spv-key-picker-field{grid-column:2!important;grid-row:auto!important}.spv-key-v301 .spv-key-company-field{grid-column:1!important;grid-row:auto!important}.spv-key-v301 .spv-key-selected{grid-column:2!important;grid-row:auto!important}.spv-key-v301 .spv-key-submit{grid-column:1/-1!important;grid-row:auto!important;justify-self:end}}
@media(max-width:720px){.spv-key-v301 .spv346-key-hero{min-height:155px;padding:24px 20px}.spv-key-v301 .spv346-key-hero h1{font-size:26px}.spv-key-v301 .spv346-key-brand{display:none}.spv-key-v301 .spv346-key-commandbar{grid-template-columns:1fr}.spv-key-v301 .spv346-key-command-actions{grid-row:2;flex-wrap:wrap}.spv-key-v301 .spv346-key-stats{grid-column:1;justify-content:flex-start}.spv-key-v301 .spv-key-form{grid-template-columns:1fr!important}.spv-key-v301 .spv-key-date-field,.spv-key-v301 .spv-key-picker-field,.spv-key-v301 .spv-key-company-field,.spv-key-v301 .spv-key-selected,.spv-key-v301 .spv-key-submit{grid-column:1!important}.spv-key-v301 .spv-key-toolbar{align-items:flex-start!important;flex-direction:column!important}.spv-key-v301 .spv-key-toolbar-actions{width:100%;flex-wrap:wrap}.spv-key-v301 .spv-key-search{flex:1 1 100%!important}.spv-key-v301 .spv-key-search input{width:100%!important}}

/* v347 — chytré vyhledávání klíče při novém zapůjčení */
.spv-key-v301 .spv-key-picker-field>span::after{content:" · začni psát název nebo číslo";font-weight:600;color:#536c7a;text-transform:none;letter-spacing:0}
.spv-key-v301 .spv-key-picker>input[type=text]{font-size:10.5px!important}
.spv-key-v301 .spv-key-options{z-index:90}
.spv-key-v301 .spv-key-options-head{height:38px;padding:0 12px}
.spv-key-v301 .spv-key-options-head span{font-size:8.5px;color:#94a9b5}
.spv-key-v301 .spv-key-options-head small{padding:3px 7px;border-radius:999px;background:rgba(86,145,177,.10);color:#87aabd;font-variant-numeric:tabular-nums}
.spv-key-v301 .spv-key-option{min-height:52px}
.spv-key-v301 .spv-key-option-copy strong{font-size:10px}
.spv-key-v301 .spv-key-option-copy small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}


/* v349 — oprava živého filtrování klíčů + čistší správa klíčů */
.spv-key-v301 .spv-key-option[hidden]{display:none!important}
.spv-key-v301 .spv-key-options-empty[hidden]{display:none!important}
.spv-key-v301 .spv-key-admin-hero-actions{justify-content:flex-end}

/* v378 — TOPBAR: pravý ovládací blok podle vizuálního návrhu */
.topbar-actions{
    position:relative!important;
    margin-left:auto!important;
    padding-left:25px!important;
    gap:10px!important;
    min-height:48px;
    justify-content:flex-end!important;
}
.topbar-actions::before{
    content:"";
    position:absolute;
    left:5px;
    top:50%;
    width:1px;
    height:34px;
    transform:translateY(-50%);
    background:linear-gradient(180deg,transparent,rgba(52,211,197,.52) 22%,rgba(77,169,226,.34) 78%,transparent);
    box-shadow:0 0 10px rgba(44,204,194,.13);
}
.topbar-notification-v228,.topbar-settings-button{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    border-radius:12px!important;
    border:1px solid rgba(120,166,197,.13)!important;
    background:linear-gradient(145deg,rgba(20,48,65,.70),rgba(10,27,40,.76))!important;
    color:#91aabd!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 18px rgba(0,0,0,.12)!important;
}
.topbar-notification-v228:hover,.topbar-settings-button:hover{
    color:#dff7f4!important;
    border-color:rgba(49,215,193,.30)!important;
    background:linear-gradient(145deg,rgba(23,62,78,.82),rgba(10,34,48,.86))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 0 1px rgba(41,211,190,.04),0 8px 22px rgba(0,0,0,.16)!important;
    transform:translateY(-1px);
}
.topbar-notification-v228 svg,.topbar-settings-button svg{
    width:20px!important;
    height:20px!important;
    stroke-width:1.75!important;
}
.topbar-notification-badge-v228{
    top:-5px!important;
    right:-5px!important;
    min-width:17px!important;
    height:17px!important;
    border-radius:999px!important;
    border:2px solid #091b29!important;
    background:#e25261!important;
    box-shadow:0 3px 9px rgba(226,82,97,.28)!important;
    font-size:7.5px!important;
}
html[data-theme="light"] .topbar-actions::before,html.local-light-mode .topbar-actions::before,body.light-mode .topbar-actions::before{
    background:linear-gradient(180deg,transparent,rgba(30,145,153,.34) 22%,rgba(51,130,188,.22) 78%,transparent);
}
html[data-theme="light"] .topbar-notification-v228,html[data-theme="light"] .topbar-settings-button,
html.local-light-mode .topbar-notification-v228,html.local-light-mode .topbar-settings-button,
body.light-mode .topbar-notification-v228,body.light-mode .topbar-settings-button{
    background:linear-gradient(145deg,#fff,#f2f7fa)!important;
    border-color:rgba(64,105,134,.13)!important;
    color:#69879a!important;
    box-shadow:0 6px 16px rgba(42,73,94,.07)!important;
}
@media(max-width:760px){.topbar-actions{padding-left:12px!important}.topbar-actions::before{display:none}.topbar-notification-v228,.topbar-settings-button{width:38px!important;height:38px!important;flex-basis:38px!important}}


/* v379 — topbar right controls, cache-safe */
.topbar-actions{position:relative!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;margin-left:auto!important;gap:9px!important;min-height:52px!important;padding:0 4px 0 31px!important}
.topbar-actions::before{content:"";position:absolute;left:8px;top:50%;width:2px;height:34px;transform:translateY(-50%);background:linear-gradient(180deg,transparent,rgba(45,230,204,.88) 22%,rgba(60,173,232,.72) 78%,transparent);box-shadow:0 0 12px rgba(42,212,200,.30);border-radius:99px}
.topbar-actions::after{content:"";position:absolute;left:8px;bottom:-12px;width:178px;height:1px;background:linear-gradient(90deg,rgba(46,224,201,.82),rgba(61,173,231,.36) 55%,transparent);box-shadow:0 0 8px rgba(47,205,203,.16)}
.topbar-notification-v228,.topbar-settings-button{position:relative!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;flex:0 0 44px!important;padding:0!important;border-radius:12px!important;border:1px solid rgba(116,164,194,.17)!important;background:linear-gradient(180deg,rgba(22,47,64,.82),rgba(10,27,40,.90))!important;color:#9fb3c2!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 7px 16px rgba(0,0,0,.16)!important}
.topbar-notification-v228 svg,.topbar-settings-button svg{width:21px!important;height:21px!important}

/* ISSFLORA školení – běžné tlačítko v panelu Nastavení */
.local-settings-action-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;margin-top:8px;padding:0 12px;border:1px solid rgba(132,160,188,.11);border-radius:10px;background:rgba(255,255,255,.025);color:#9fb3c4;text-decoration:none;font-size:8.5px;font-weight:850;transition:.16s ease}
.local-settings-action-button:hover{background:rgba(255,255,255,.05);border-color:rgba(98,180,224,.2);color:#d7e5ee}
.local-settings-action-button svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;flex:0 0 auto}
html.local-light-mode .local-settings-action-button,html[data-theme="light"] .local-settings-action-button{background:#f8fbfd;border-color:#dce7ed;color:#536c7e}
html.local-light-mode .local-settings-action-button:hover,html[data-theme="light"] .local-settings-action-button:hover{background:#eef6fa;color:#24485f}

/* v393 - training row integrated into local settings */
.local-settings-training-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0;border-top:1px solid rgba(129,157,185,.065);color:inherit;text-decoration:none;transition:.16s ease}
.local-settings-training-row:hover .local-settings-training-copy strong{color:#e2edf4}
.local-settings-training-copy{display:block;min-width:0}
.local-settings-training-copy strong{display:block;color:#cbd9e5;font-size:9.5px;transition:.16s ease}
.local-settings-training-copy small{display:block;margin-top:3px;color:#667b8e;font-size:7.5px}
.local-settings-training-arrow{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.028);border:1px solid rgba(132,160,188,.08);color:#6e879a;transition:.16s ease}
.local-settings-training-row:hover .local-settings-training-arrow{background:rgba(77,170,216,.08);border-color:rgba(77,170,216,.15);color:#8bd2ef}
.local-settings-training-arrow svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html.local-light-mode .local-settings-training-copy strong,html[data-theme="light"] .local-settings-training-copy strong{color:#2d4658}
html.local-light-mode .local-settings-training-copy small,html[data-theme="light"] .local-settings-training-copy small{color:#78909f}
html.local-light-mode .local-settings-training-arrow,html[data-theme="light"] .local-settings-training-arrow{background:#f7fafc;border-color:#e1e9ee;color:#708999}
html.local-light-mode .local-settings-training-row:hover .local-settings-training-copy strong,html[data-theme="light"] .local-settings-training-row:hover .local-settings-training-copy strong{color:#173b52}
