:root{
    --bg:#f5f7fa;
    --card:#ffffff;
    --text:#17202a;
    --muted:#667085;
    --line:#e4e7ec;
    --primary:#111827;
    --primary-hover:#263244;
    --danger:#b42318;
    --danger-bg:#fef3f2;
    --success:#067647;
    --success-bg:#ecfdf3;
    --warning:#b54708;
    --warning-bg:#fffaeb;
    --radius:16px;
    --shadow:0 8px 28px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
body{margin:0}
a{color:inherit}
.container{width:min(1120px,calc(100% - 32px));margin:0 auto}
.topbar{background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-weight:800;text-decoration:none;letter-spacing:-.02em}
nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
nav a{font-size:14px;text-decoration:none;color:#344054}
nav a:hover{color:#000}
.user{font-size:13px;color:var(--muted)}
main{padding:36px 0 72px}
.hero{padding:26px 0 24px}
.hero h1,.page-head h1,.auth-card h1{font-size:clamp(30px,5vw,48px);letter-spacing:-.04em;margin:4px 0 10px}
.hero p{max-width:720px;color:var(--muted);font-size:17px;line-height:1.6;margin:0}
.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:800;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.form-card{max-width:820px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.span-2{grid-column:span 2}
.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:650}
.field small,.muted{font-size:13px;color:var(--muted);font-weight:400}
input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:12px 13px;font:inherit;color:var(--text);background:#fff;outline:none}
input:focus,select:focus,textarea:focus{border-color:#667085;box-shadow:0 0 0 3px rgba(102,112,133,.12)}
textarea{resize:vertical}
.checkbox{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:16px}
.checkbox input{width:auto;margin-top:3px}
.checkbox span{display:flex;flex-direction:column;gap:4px}
.checkbox small{color:var(--muted)}
.danger-check{background:var(--danger-bg);border-color:#fecdca}
.primary,.secondary,.filter,.link-button{border-radius:10px;font:inherit;font-weight:700;cursor:pointer}
.primary{border:0;background:var(--primary);color:white;padding:12px 18px}
.primary:hover{background:var(--primary-hover)}
.secondary{background:white;color:#344054;border:1px solid #d0d5dd;padding:9px 12px;text-decoration:none}
.submit{margin-top:22px;width:100%;font-size:16px;padding:14px}
.hidden{display:none!important}
.open-ticket-heading{padding:14px 16px;background:#f9fafb;border:1px solid var(--line);border-radius:12px 12px 0 0;display:flex;flex-direction:column;gap:4px}
.open-ticket-heading span,.open-ticket-none,.open-ticket-loading{color:var(--muted);font-size:13px}
.open-ticket-list{border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;overflow:hidden}
.open-ticket-card{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line)}
.open-ticket-card:first-child{border-top:0}
.open-ticket-card.selected{background:#f0fdf4}
.open-ticket-none,.open-ticket-loading{padding:14px 16px;background:#fff;border:1px dashed #d0d5dd;border-radius:12px}
.ticket-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.ticket-meta.big{margin-top:12px}
.ticket-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#475467}
.status,.critical{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}
.status-open{background:#eff8ff;color:#175cd3}
.status-progress{background:var(--warning-bg);color:var(--warning)}
.status-done{background:var(--success-bg);color:var(--success)}
.critical{background:var(--danger-bg);color:var(--danger)}
.supplement-notice{margin-top:18px;padding:14px 16px;border-radius:12px;background:#ecfdf3;color:#05603a;font-size:14px}
.link-button{background:none;border:0;padding:0;margin-left:8px;text-decoration:underline;color:inherit}
.flash{padding:13px 15px;border-radius:12px;margin-bottom:16px;border:1px solid transparent}
.flash.success{background:var(--success-bg);color:var(--success);border-color:#abefc6}
.flash.error{background:var(--danger-bg);color:var(--danger);border-color:#fecdca}
.auth-wrap{min-height:62vh;display:grid;place-items:center}
.auth-card{width:min(440px,100%)}
.auth-card .field{margin:16px 0}
.auth-card .primary{width:100%}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}
.page-head h1{margin-bottom:0}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filter{padding:8px 11px;border:1px solid var(--line);background:white;text-decoration:none;font-size:13px}
.filter.active{background:#111827;color:white;border-color:#111827}
.ticket-list{display:flex;flex-direction:column;gap:12px}
.ticket-row{text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px}
.ticket-row:hover{border-color:#c7cdd6}
.ticket-row h2{font-size:18px;margin:3px 0 7px}
.arrow{font-size:34px;color:#98a2b3}
.empty{text-align:center;color:var(--muted)}
.detail-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}
.card h2{margin-top:0}
.details{display:grid;grid-template-columns:140px 1fr;gap:12px 16px;margin:0}
.details dt{color:var(--muted);font-size:13px}
.details dd{margin:0}
.file-grid{display:flex;gap:8px;flex-wrap:wrap}
.file-grid.compact{margin-top:10px}
.file-card{display:inline-flex;padding:8px 10px;border:1px solid var(--line);border-radius:9px;text-decoration:none;font-size:13px;background:#f9fafb}
.timeline-card{margin-top:20px}
.timeline{display:flex;flex-direction:column}
.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:14px;padding:0 0 22px;position:relative}
.timeline-item:not(:last-child):before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:2px;background:#eaecf0}
.timeline-dot{width:12px;height:12px;border-radius:50%;background:#667085;margin-top:5px;z-index:1}
.timeline-head{display:flex;justify-content:space-between;gap:12px}
.timeline-head span,.timeline-status{font-size:12px;color:var(--muted)}
.timeline-item p{white-space:normal;line-height:1.55}
.admin-list{display:flex;flex-direction:column}
.admin-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.admin-row:first-child{padding-top:0}
.admin-row:last-child{border-bottom:0;padding-bottom:0}
code{background:#f2f4f7;padding:2px 5px;border-radius:5px}
@media(max-width:760px){
    .nav{align-items:flex-start;flex-direction:column;padding:16px 0}
    nav{gap:12px}
    main{padding-top:22px}
    .form-grid,.detail-grid{grid-template-columns:1fr}
    .span-2{grid-column:span 1}
    .page-head{align-items:flex-start;flex-direction:column}
    .open-ticket-card{align-items:flex-start;flex-direction:column}
    .details{grid-template-columns:1fr}
    .details dt{margin-top:8px}
    .ticket-row{align-items:flex-start}
}

/* V3: kompakte Ticket-Suche und Fahrzeugfilter */
.ticket-toolbar{
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px;
    margin-bottom:26px;
    overflow:visible;
}
.ticket-search-input-wrap{
    flex:1;
    min-width:0;
    position:relative;
    display:flex;
    align-items:center;
    height:44px;
    border:1px solid #d0d5dd;
    border-radius:11px;
    background:#fff;
}
.ticket-search-input-wrap:focus-within{border-color:#667085;box-shadow:0 0 0 3px rgba(102,112,133,.12)}
.ticket-search-input-wrap input{
    height:42px;
    border:0;
    box-shadow:none!important;
    background:transparent;
    padding:10px 38px 10px 40px;
}
.toolbar-search-icon{
    position:absolute;
    left:13px;
    width:18px;
    height:18px;
    color:#98a2b3;
    pointer-events:none;
}
.toolbar-clear-search{
    position:absolute;
    right:9px;
    top:50%;
    transform:translateY(-50%);
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    text-decoration:none;
    border-radius:8px;
    color:#667085;
    font-size:20px;
}
.toolbar-clear-search:hover{background:#f2f4f7;color:#101828}
.toolbar-icon-button{
    position:relative;
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    border:1px solid #d0d5dd;
    border-radius:11px;
    background:#fff;
    color:#344054;
    cursor:pointer;
}
.toolbar-icon-button:hover{background:#f9fafb;border-color:#98a2b3}
.toolbar-icon-button.active{background:#f2f4f7;border-color:#667085;color:#101828}
.toolbar-icon-button svg{width:20px;height:20px}
.toolbar-submit{background:#111827;color:#fff;border-color:#111827}
.toolbar-submit:hover{background:#263244;border-color:#263244}
.filter-active-dot{
    position:absolute;
    top:7px;
    right:7px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#175cd3;
    box-shadow:0 0 0 2px #fff;
}
.vehicle-filter-popover{
    position:absolute;
    z-index:50;
    top:calc(100% + 8px);
    right:54px;
    width:min(360px,calc(100vw - 40px));
    padding:16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:0 18px 45px rgba(16,24,40,.14);
}
.filter-popover-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.filter-enabled-label{padding:3px 7px;border-radius:999px;background:#eff8ff;color:#175cd3;font-size:11px;font-weight:800}
.compact-field{gap:6px}
.filter-popover-actions{display:flex;gap:8px;margin-top:12px}
.small-button{padding:9px 12px;font-size:13px;text-align:center}
.result-summary{font-size:13px;color:var(--muted);margin:-12px 2px 18px}
.ticket-list-spaced{margin-top:2px}

/* V3: Passwortseiten */
.auth-link{display:block;text-align:center;margin-top:14px;font-size:14px;color:#475467}
.button-link{display:inline-flex;text-decoration:none;justify-content:center}

/* V3: kleine Foto-Thumbnails + Lightbox */
.photo-grid{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:12px;
    align-items:flex-start;
}
.photo-grid.compact{margin-top:12px;gap:8px}
.photo-preview{
    display:block;
    flex:0 0 140px;
    width:140px;
    max-width:140px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:11px;
    background:#f9fafb;
    text-decoration:none;
}
.photo-preview img{
    display:block!important;
    width:140px!important;
    height:100px!important;
    max-width:140px!important;
    max-height:100px!important;
    object-fit:cover!important;
    background:#eef1f5;
}
.photo-preview span{
    display:block;
    max-width:100%;
    padding:7px 8px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:11px;
    color:#475467;
}
.photo-preview:hover{border-color:#98a2b3;box-shadow:0 5px 18px rgba(16,24,40,.08)}
.compact-photo{flex-basis:112px;width:112px;max-width:112px}
.compact-photo img{width:112px!important;height:78px!important;max-width:112px!important;max-height:78px!important}
.photo-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(10,15,25,.88);display:flex;align-items:center;justify-content:center;padding:28px}
.photo-lightbox-content{max-width:min(1200px,94vw);max-height:92vh;display:flex;flex-direction:column;align-items:center;gap:10px}
.photo-lightbox-content img{display:block;max-width:100%;max-height:82vh;object-fit:contain;border-radius:10px;background:#111}
.photo-lightbox-caption{color:white;font-size:13px;text-align:center;max-width:90vw;overflow-wrap:anywhere}
.photo-lightbox-close{position:fixed;top:16px;right:20px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:white;font-size:30px;line-height:1;cursor:pointer}
.photo-lightbox-close:hover{background:rgba(255,255,255,.24)}
body.lightbox-open{overflow:hidden}

/* V3: Benutzerverwaltung */
.users-page-head{margin-bottom:18px}
.user-create-card{margin-bottom:30px}
.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.section-heading-row h2{margin:0 0 4px}
.section-heading-row p{margin:0}
.user-create-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    align-items:end;
    margin-top:18px;
}
.user-password-field{grid-column:span 2}
.user-create-action{display:flex;align-items:flex-end;height:100%}
.user-create-action .primary{width:100%}
.user-list-heading{margin-bottom:12px}
.users-list{display:flex;flex-direction:column;gap:10px}
.user-list-row{
    display:grid;
    grid-template-columns:46px minmax(0,1fr) 44px;
    align-items:center;
    gap:14px;
    padding:15px 17px;
}
.user-list-row.is-inactive{opacity:.68}
.user-avatar{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#f2f4f7;
    border:1px solid #eaecf0;
    font-size:15px;
    font-weight:800;
    color:#344054;
}
.user-list-main{min-width:0}
.user-list-name-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.user-list-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;color:var(--muted);font-size:12px}
.user-role-badge,.user-state-badge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800}
.user-role-badge{background:#f2f4f7;color:#475467}
.user-role-badge.admin{background:#eef4ff;color:#3538cd}
.user-state-badge.active{background:#ecfdf3;color:#067647}
.user-state-badge.inactive{background:#f2f4f7;color:#667085}
.icon-edit-button{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid #d0d5dd;
    border-radius:10px;
    color:#475467;
    background:#fff;
    text-decoration:none;
}
.icon-edit-button:hover{background:#f9fafb;border-color:#98a2b3;color:#101828}
.icon-edit-button svg{width:18px;height:18px}
.edit-user-page-head p{margin:7px 0 0}
.edit-user-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:20px;align-items:start}
.edit-user-form .form-grid{margin-top:18px}
.switch-row{display:flex;align-items:flex-start;gap:12px;margin-top:20px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#f9fafb}
.switch-row input{width:auto;margin-top:3px}
.switch-row span{display:flex;flex-direction:column;gap:3px}
.switch-row small{color:var(--muted)}
.edit-user-actions{margin-top:20px;display:flex;justify-content:flex-end}
.compact-details{grid-template-columns:110px 1fr}
.danger-zone{margin-top:24px;padding-top:20px;border-top:1px solid #fecdca}
.danger-zone h3{margin:0 0 6px;color:#b42318}
.danger-zone p{margin:0 0 14px;color:#667085;font-size:13px;line-height:1.45}
.danger-button{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #f04438;border-radius:10px;background:#fff;color:#b42318;font:inherit;font-weight:750;cursor:pointer}
.danger-button:hover{background:#fef3f2}
.danger-button svg{width:17px;height:17px}
.self-account-note{margin-top:22px;padding:12px;border-radius:10px;background:#f9fafb;color:#667085;font-size:13px;line-height:1.45}

@media(max-width:900px){
    .user-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .user-password-field{grid-column:span 1}
    .edit-user-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
    .ticket-toolbar{padding:8px;margin-bottom:22px}
    .toolbar-submit{display:none}
    .vehicle-filter-popover{right:8px;top:calc(100% + 6px)}
    .photo-preview{flex-basis:118px;width:118px;max-width:118px}
    .photo-preview img{width:118px!important;height:86px!important;max-width:118px!important;max-height:86px!important}
    .compact-photo{flex-basis:100px;width:100px;max-width:100px}
    .compact-photo img{width:100px!important;height:70px!important;max-width:100px!important;max-height:70px!important}
    .photo-lightbox{padding:16px}
    .user-create-grid{grid-template-columns:1fr}
    .user-list-row{grid-template-columns:40px minmax(0,1fr) 38px;padding:13px}
    .user-avatar{width:38px;height:38px}
    .user-list-meta{flex-direction:column;gap:2px}
    .edit-user-actions .primary{width:100%}
}

.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}

/* V5: Footer und Informationsseiten */
.site-footer{
    margin-top:auto;
    border-top:1px solid var(--line);
    background:#fff;
}
.footer-inner{
    min-height:96px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:28px;
    padding-top:22px;
    padding-bottom:22px;
}
.footer-brand{display:flex;flex-direction:column;gap:3px;min-width:0}
.footer-brand strong{font-size:14px;color:#101828}
.footer-brand span,.footer-copy{font-size:12px;color:var(--muted)}
.footer-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.footer-links a{font-size:13px;color:#475467;text-decoration:none;font-weight:650}
.footer-links a:hover{color:#101828;text-decoration:underline}
.footer-copy{white-space:nowrap;text-align:right}

body{min-height:100vh;display:flex;flex-direction:column}
main.container{flex:1 0 auto}

.legal-page{max-width:860px;margin:0 auto}
.legal-head{margin-bottom:22px}
.legal-head h1{font-size:clamp(30px,5vw,46px);letter-spacing:-.04em;margin:4px 0 10px}
.legal-head p{margin:0;color:var(--muted);line-height:1.6}
.legal-card{padding:28px}
.legal-card h2{font-size:20px;margin:30px 0 10px}
.legal-card h2:first-child{margin-top:0}
.legal-card h3{font-size:16px;margin:22px 0 8px}
.legal-card p,.legal-card li{font-size:14px;line-height:1.65;color:#344054}
.legal-card ul{padding-left:20px}
.legal-card address{font-style:normal;line-height:1.7;color:#344054}
.legal-card a{color:#175cd3;text-decoration:none}
.legal-card a:hover{text-decoration:underline}
.legal-note{margin:20px 0 0;padding:14px 16px;border:1px solid #eaecf0;border-radius:12px;background:#f9fafb;color:#475467;font-size:13px;line-height:1.55}
.info-grid{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px 18px;margin:16px 0}
.info-grid dt{font-size:13px;color:var(--muted)}
.info-grid dd{margin:0;font-size:14px;color:#344054}
.support-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.support-mail{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:10px;background:#111827;color:#fff!important;font-weight:750;text-decoration:none!important}
.support-mail:hover{background:#263244}

@media(max-width:760px){
    .footer-inner{grid-template-columns:1fr;gap:14px;align-items:flex-start}
    .footer-copy{text-align:left}
    .legal-card{padding:20px}
    .info-grid{grid-template-columns:1fr;gap:3px}
    .info-grid dd{margin-bottom:10px}
}

/* V6: Branding, Favicon und klar getrennte Hauptnavigation */
.brand{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:max-content;
}
.brand-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    object-fit:contain;
    border-radius:10px;
}
.main-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    flex-wrap:wrap;
}
.nav-group{
    display:flex;
    align-items:center;
    gap:6px;
    padding:4px;
    border:1px solid #eaecf0;
    border-radius:12px;
    background:#f9fafb;
}
.nav-account-links{
    margin-left:2px;
    background:#fff;
}
.main-nav .nav-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 10px;
    border:1px solid transparent;
    border-radius:8px;
    font-size:13px;
    font-weight:650;
    line-height:1;
    color:#344054;
    text-decoration:none;
    white-space:nowrap;
    transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.main-nav .nav-link:hover{
    background:#fff;
    border-color:#d0d5dd;
    color:#101828;
}
.nav-user{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 10px;
    border-radius:8px;
    background:#f2f4f7;
    color:#475467;
    font-size:12px;
    font-weight:750;
    white-space:nowrap;
}
.main-nav .nav-link-login{
    background:#111827;
    color:#fff;
}
.main-nav .nav-link-login:hover{
    background:#263244;
    border-color:#263244;
    color:#fff;
}
.main-nav .nav-link-logout{
    color:#b42318;
}
.main-nav .nav-link-logout:hover{
    background:#fef3f2;
    border-color:#fecdca;
    color:#b42318;
}

@media(max-width:980px){
    .nav{align-items:flex-start;flex-direction:column;padding:12px 0}
    .main-nav{width:100%;justify-content:flex-start}
}
@media(max-width:760px){
    .brand-icon{width:38px;height:38px;flex-basis:38px}
    .brand span{font-size:14px}
    .main-nav{gap:8px}
    .nav-group{width:100%;overflow-x:auto;justify-content:flex-start}
    .nav-account-links{width:auto;max-width:100%}
}


/* V7: Fahrbereitschaft – Meldung vs. Bearbeiterentscheidung */
.drivability-badge{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:4px 8px;
    font-size:11px;
    font-weight:800;
    line-height:1.25;
}
.drivability-reported{
    background:#fff7ed;
    color:#9a3412;
    border:1px solid #fed7aa;
}
.drivability-drivable{
    background:var(--success-bg);
    color:var(--success);
    border:1px solid #abefc6;
}
.drivability-restricted{
    background:#fffbeb;
    color:#92400e;
    border:1px solid #fbbf24;
}
.drivability-alert{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin:0 0 20px;
    padding:16px 18px;
    border-radius:16px;
    border:1px solid transparent;
    box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.drivability-alert-restricted{
    background:#fffbeb;
    border-color:#f59e0b;
    color:#78350f;
}
.drivability-alert-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#f59e0b;
    color:#fff;
    font-weight:900;
    font-size:18px;
}
.drivability-alert strong{display:block;font-size:17px;margin-bottom:3px}
.drivability-alert span{display:block;line-height:1.45}
.drivability-review-meta{
    margin-top:6px;
    color:var(--muted);
    font-size:12px;
}


/* V8: Werkstatttermine und Ticket-Zuordnung */
.workshop-intro{margin:8px 0 0;max-width:720px;line-height:1.55}
.workshop-create-card{margin-bottom:24px}
.workshop-section-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}
.workshop-section-head h2{margin:0}
.workshop-section-head p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.workshop-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.workshop-span-2{grid-column:span 2}
.workshop-create-actions{display:flex;justify-content:flex-end;margin-top:18px}
.workshop-list{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.workshop-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    text-decoration:none;
    padding:20px 22px;
}
.workshop-row:hover{border-color:#c7cdd6}
.workshop-row h2{font-size:18px;margin:3px 0 7px}
.workshop-row-main{min-width:0}
.workshop-type-badge,
.workshop-status,
.workshop-ticket-count{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:4px 8px;
    font-size:11px;
    font-weight:800;
    line-height:1.25;
}
.workshop-type-badge{background:#f2f4f7;color:#475467;border:1px solid #e4e7ec}
.workshop-status-due{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
.workshop-status-scheduled{background:#eff8ff;color:#175cd3;border:1px solid #b2ddff}
.workshop-status-completed{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.workshop-status-cancelled{background:#f2f4f7;color:#667085;border:1px solid #d0d5dd}
.workshop-ticket-count{background:#eef4ff;color:#3538cd;border:1px solid #c7d7fe}
.workshop-ticket-count.large{font-size:13px;padding:5px 10px}
.workshop-detail-grid{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
    gap:20px;
    align-items:start;
}
.workshop-detail-grid aside .field{margin-bottom:15px}
.workshop-details{grid-template-columns:145px 1fr}
.workshop-tickets-card{margin-top:20px}
.workshop-assigned-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.workshop-assigned-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:15px 0;
    border-bottom:1px solid var(--line);
}
.workshop-ticket-link{display:block;text-decoration:none;min-width:0}
.workshop-ticket-link strong{display:block;color:#101828}
.workshop-ticket-link:hover strong{text-decoration:underline}
.workshop-assign-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:end;
    margin-top:20px;
}
.workshop-empty-inline{padding:18px 0;text-align:left}
.workshop-inline-link{
    display:inline-flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    text-decoration:none;
    color:#344054;
}
.workshop-inline-link:hover strong{text-decoration:underline}
.workshop-inline-link>span:last-child{font-size:12px;color:var(--muted)}
.ticket-workshop-card{margin-top:20px}
.ticket-workshop-assignment-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:12px;
}
.ticket-workshop-assignment-form small a{color:#175cd3}
.workshop-scheduled-field input{font-variant-numeric:tabular-nums}

@media(max-width:900px){
    .workshop-detail-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
    .workshop-form-grid{grid-template-columns:1fr}
    .workshop-span-2{grid-column:span 1}
    .workshop-create-actions .primary{width:100%}
    .workshop-row{align-items:flex-start}
    .workshop-section-head{flex-direction:column}
    .workshop-assigned-row{align-items:flex-start;flex-direction:column}
    .workshop-assign-form,
    .ticket-workshop-assignment-form{grid-template-columns:1fr}
    .workshop-assign-form .primary,
    .ticket-workshop-assignment-form .primary{width:100%}
}


/* V10.1: Melder-Lesezugriff */
.readonly-notice{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 18px;padding:14px 16px;border:1px solid #d0d5dd;border-radius:12px;background:#f9fafb;color:#344054}
.readonly-notice strong{display:inline-flex;align-items:center;margin:0;padding:4px 8px;border-radius:999px;background:#eef2f6;color:#101828;font-size:12px;font-weight:800;line-height:1.2}
.readonly-notice span{display:block;margin:0;font-size:13px;line-height:1.5}
.readonly-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;background:#f2f4f7;color:#667085;border:1px solid #d0d5dd}
.open-ticket-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media(max-width:640px){.open-ticket-actions{width:100%;justify-content:flex-start}}

/* V10.1.4: read-only ticket notice – external stylesheet only (CSP compatible) */
.readonly-notice-v1014,
.readonly-notice {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 12px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid #d0d5dd;
  border-radius: 12px;
  background: #f9fafb;
  color: #344054;
}
.readonly-notice-v1014 > strong,
.readonly-notice > strong {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  margin: 0;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef2f6;
  color: #101828;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}
.readonly-notice-v1014 > span,
.readonly-notice > span {
  display: block;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}

/* V11: Delete/tombstone */
.empty-state-card{max-width:760px;margin:36px auto;padding:28px;}
.card-separator{border:0;border-top:1px solid var(--border,#d9dee7);margin:24px 0 18px;}
.danger-button{display:inline-flex;align-items:center;gap:8px;border:1px solid #d92d20;background:#fff;color:#b42318;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;}
.danger-button:hover{background:#fff1f0;}
.ticket-watch-indicator{display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;line-height:1;color:#2563eb;}

/* V11.1: Ticket-Beobachtung im Browser */
.ticket-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ticket-watch-form{margin:0}
.ticket-watch-button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line,#d9dee7);background:var(--card,#fff);color:inherit;border-radius:999px;padding:9px 13px;font:inherit;font-weight:650;cursor:pointer}
.ticket-watch-button:hover{transform:translateY(-1px)}
.ticket-watch-button.active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
@media(max-width:640px){.ticket-head-actions{justify-content:flex-start}}

/* V11.1.1: Ticketkopf – Aktionen dürfen sich nicht überlappen */
.page-head > div:first-child{min-width:0}
.ticket-head-actions{flex:0 0 auto;flex-wrap:nowrap;align-self:flex-end}
.ticket-watch-form{display:flex;flex:0 0 auto}
.ticket-watch-button,.ticket-head-actions .secondary{white-space:nowrap}
@media(max-width:760px){
  .ticket-head-actions{width:100%;justify-content:flex-start;align-self:flex-start;flex-wrap:wrap}
}

/* V11.1.2: robust ticket header action layout */
.ticket-head-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  justify-items:end !important;
  align-items:stretch !important;
  flex:0 0 auto !important;
  align-self:flex-end !important;
  width:max-content !important;
  max-width:100% !important;
}
.ticket-head-actions .ticket-watch-form,
.ticket-head-actions .secondary{
  margin:0 !important;
  width:auto !important;
  min-width:0 !important;
}
.ticket-head-actions .ticket-watch-button,
.ticket-head-actions .secondary{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}
@media(max-width:760px){
  .ticket-head-actions{
    width:100% !important;
    justify-items:start !important;
    align-self:flex-start !important;
  }
}


/* V11.1.3: einfacher Beobachten-Button ohne Emoji; feste, kollisionsfreie Aktion */
.ticket-head-actions{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  gap:12px !important;
  width:auto !important;
  max-width:none !important;
  position:static !important;
}
.ticket-head-actions .ticket-watch-form{
  display:block !important;
  margin:0 !important;
  position:static !important;
}
.ticket-head-actions .ticket-watch-button{
  display:inline-block !important;
  width:auto !important;
  min-width:0 !important;
  padding:9px 14px !important;
  border-radius:10px !important;
  white-space:nowrap !important;
  transform:none !important;
}
.ticket-head-actions .secondary{
  display:inline-block !important;
  width:auto !important;
  white-space:nowrap !important;
  position:static !important;
}
@media(max-width:760px){
  .ticket-head-actions{align-items:flex-start !important;}
}
