:root{--bg:#f1f5f9;--card:#fff;--line:#d0d5dd;--text:#101828;--accent:#155eef;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}.wrap{max-width:1240px;margin:24px auto;padding:0 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:18px;box-shadow:0 18px 50px rgba(16,24,40,.08)}.top{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.nav{display:flex;gap:8px;flex-wrap:wrap}.btn,button{background:var(--accent);color:#fff;border:0;border-radius:12px;padding:11px 15px;text-decoration:none;font-weight:800;cursor:pointer}.btn.light{background:#fff;color:var(--accent);border:1px solid var(--line)}.btn.danger{background:var(--danger)}input,textarea,select{width:100%;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}textarea{min-height:130px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row{margin-bottom:14px}.muted{color:#667085}.danger{color:var(--danger)}.blockitem{border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px;background:#fff}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}@media(max-width:800px){.grid{grid-template-columns:1fr}}


/* v0.1.1 WYSIWYG */
.wysiwyg-wrap {
    margin: 10px 0 18px;
}
.wysiwyg-toolbar {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    border: 1px solid #d0d5dd;
    border-radius: 14px 14px 0 0;
    padding: 10px;
    background: #f8fafc;
}
.toolbar-field {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 13px;
}
.toolbar-field select,
.toolbar-field input[type=color] {
    min-height: 34px;
    padding: 4px 6px;
}
.wysiwyg-editor {
    min-height: 190px;
    border: 1px solid #d0d5dd;
    border-top: 0;
    border-radius: 0 0 14px 14px;
    background: #fff;
    padding: 16px;
    line-height: 1.55;
    outline: none;
}
.wysiwyg-editor:focus {
    box-shadow: inset 0 0 0 2px rgba(21,94,239,.18);
}
.wysiwyg-source {
    display: none;
}

.success{padding:10px 12px;border-radius:12px;background:#ecfdf3;color:#067647;font-weight:700}
.wysiwyg-toolbar button{white-space:nowrap}


/* v0.1.3 Blockaktionen */
.block-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}
.block-head h2{margin:0}
.block-head small{font-size:13px;color:#667085;font-weight:600}
.block-actions{display:flex;gap:8px;flex-wrap:wrap}
input[type=color]{min-height:42px;padding:4px}
.success{padding:10px 12px;border-radius:12px;background:#ecfdf3;color:#067647;font-weight:700}
.wysiwyg-toolbar button{white-space:nowrap}

.btn.danger,.danger{background:#b42318!important;color:#fff!important;border-color:#b42318!important}
.block-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}
.block-head h2{margin:0}.block-head small{font-size:13px;color:#667085;font-weight:600}
.block-actions{display:flex;gap:8px;flex-wrap:wrap}
input[type=color]{min-height:42px;padding:4px}
.success{padding:10px 12px;border-radius:12px;background:#ecfdf3;color:#067647;font-weight:700}
.wysiwyg-toolbar button{white-space:nowrap}


/* v0.1.7 Responsive Admin/Editor */
.auth-wrap{min-height:100vh;display:grid;place-items:center}
.auth-card{width:min(520px,100%)}
.danger-box{padding:10px 12px;border-radius:12px;background:#fff1f3;color:#b42318;font-weight:800}
.wrap{width:min(1280px,100%);padding:0 clamp(12px,3vw,22px)}
.card{overflow:hidden}
.blockitem{scroll-margin-top:16px}
.block-head{position:sticky;top:0;background:#fff;z-index:4;padding:10px 0;border-bottom:1px solid rgba(208,213,221,.55)}
.block-actions .btn,.block-actions button{white-space:nowrap}
.wysiwyg-editor{max-height:56vh;overflow:auto}
.wysiwyg-toolbar{position:sticky;top:0;z-index:3}
input[type=file]{background:#f8fafc}

@media(max-width:980px){
    .wrap{margin:14px auto}
    .card{padding:16px;border-radius:16px}
    .grid{grid-template-columns:1fr}
    .top{align-items:flex-start}
    .nav{width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:4px}
    .nav a,.btn,button{flex:0 0 auto}
    .block-head{position:relative}
    .block-actions{width:100%}
    .block-actions .btn,.block-actions button{flex:1 1 180px}
}

@media(max-width:640px){
    body{font-size:16px}
    .wrap{padding:0 10px;margin:10px auto}
    .card{padding:14px;margin-bottom:12px}
    .blockitem{padding:12px;border-radius:14px}
    .block-actions{display:grid;grid-template-columns:1fr;gap:8px}
    .btn,button,input,textarea,select{font-size:16px}
    .btn,button{width:100%;min-height:44px}
    .wysiwyg-toolbar{gap:6px}
    .wysiwyg-toolbar button{padding:9px 10px;font-size:14px;width:auto}
    .toolbar-field{width:100%;justify-content:space-between}
    .toolbar-field select,.toolbar-field input[type=color]{width:55%}
    .wysiwyg-editor{min-height:160px}
}

.danger-soft{background:#fff1f3;border-color:#fecdca;color:#912018}
.danger-soft p{color:#912018}

.range-live{font-weight:900;color:#155eef}
input[type=range]{width:100%;accent-color:#155eef}


/* v0.2.2 Bildvorschauen im Adminbereich */
.thumb-list{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:10px;
    padding:10px;
    border:1px solid #e4e7ec;
    border-radius:14px;
    background:#f8fafc;
}
.thumb-list img{
    width:86px;
    height:64px;
    object-fit:cover;
    border-radius:10px;
    border:1px solid #d0d5dd;
    background:linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%);
    background-size:14px 14px;
    background-position:0 0,0 7px,7px -7px,-7px 0;
}
.thumb-list.multi img{
    width:72px;
    height:54px;
}
.thumb-list small{
    color:#667085;
    word-break:break-all;
}

.admin-add-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.admin-add-actions form{margin:0!important}
@media(max-width:640px){.admin-add-actions{display:grid;grid-template-columns:1fr}.admin-add-actions button{width:100%}}


/* v0.4.21 Uploadstatus Trailblazer */
.upload-status{
    margin:8px 0 14px;
    padding:10px 12px;
    border:1px solid rgba(16,24,40,.12);
    border-radius:12px;
    background:rgba(255,255,255,.72);
}
.trail-logo-preview img{
    object-fit:contain!important;
    background:
        linear-gradient(45deg,#ddd 25%,transparent 25%),
        linear-gradient(-45deg,#ddd 25%,transparent 25%),
        linear-gradient(45deg,transparent 75%,#ddd 75%),
        linear-gradient(-45deg,transparent 75%,#ddd 75%)!important;
    background-size:14px 14px!important;
    background-position:0 0,0 7px,7px -7px,-7px 0!important;
}


/* v0.4.26 Blockvorlage exponiert oben */
.block-template-top{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    padding:18px 18px 14px;
    margin:-4px -4px 16px;
    border:2px solid rgba(37,99,235,.20);
    border-radius:18px;
    background:linear-gradient(135deg, rgba(37,99,235,.08), rgba(255,255,255,.78));
}
.template-prominent{
    flex:1 1 auto;
    max-width:680px;
    text-align:left;
}
.template-prominent label{
    display:block;
    margin:0 0 8px;
    font-weight:900;
    font-size:1.08rem;
    color:#101828;
    letter-spacing:.01em;
}
.template-prominent select{
    width:100%;
    min-height:46px;
    font-size:1.04rem;
    font-weight:800;
    border:2px solid rgba(37,99,235,.36);
    border-radius:12px;
    padding:8px 12px;
    background:#fff;
}
.active-prominent{
    flex:0 0 auto;
    min-height:46px;
    display:inline-flex!important;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    border-radius:12px;
    border:2px solid rgba(16,24,40,.14);
    background:#fff;
    font-size:1.03rem;
    font-weight:900;
    color:#101828;
    white-space:nowrap;
}
.active-prominent input{
    transform:scale(1.25);
    accent-color:#2563eb;
}
@media(max-width:760px){
    .block-template-top{
        align-items:stretch;
        flex-direction:column;
        gap:12px;
    }
    .template-prominent{
        max-width:none;
    }
    .active-prominent{
        justify-content:flex-start;
        width:max-content;
    }
}


/* v0.4.39 Einklappbare Blöcke */
.block-template-side{
    display:flex;
    align-items:center;
    gap:12px;
    flex:0 0 auto;
}
.block-collapse-toggle{
    min-height:46px;
    font-weight:800;
    white-space:nowrap;
}
.blockitem.is-collapsed{
    padding-bottom:18px;
}
.download-admin-item{
    margin:14px 0;
    padding:14px;
    border:1px solid rgba(16,24,40,.12);
    border-radius:14px;
    background:rgba(255,255,255,.72);
}
.download-admin-item h4{
    margin:0 0 10px;
}
.download-admin-item textarea,
.shutdown-admin-block textarea{
    width:100%;
    min-height:82px;
}
@media(max-width:760px){
    .block-template-side{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* v0.4.40 Einklappen/Ausklappen stabilisiert */
.blockitem.is-collapsed > :not(.block-template-top){
    display:none!important;
}
.blockitem.is-collapsed{
    padding-bottom:18px!important;
}
.blockitem.is-collapsed .block-template-top{
    margin-bottom:0!important;
}
.block-template-side{
    display:flex;
    align-items:center;
    gap:12px;
    flex:0 0 auto;
}
.block-collapse-toggle{
    min-height:46px;
    font-weight:800;
    white-space:nowrap;
    cursor:pointer;
}


/* v0.4.41 Cookie Consent Admin */
.cookie-admin-cat{
    padding:14px;
    border:1px solid rgba(16,24,40,.12);
    border-radius:14px;
    background:rgba(255,255,255,.72);
}
.admin-table{
    width:100%;
    border-collapse:collapse;
    margin-top:14px;
    overflow:auto;
}
.admin-table th,
.admin-table td{
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid rgba(16,24,40,.12);
    padding:9px 8px;
}


/* v0.4.44 Admin Block-Vorschau */
.preview-toggle-row{
    margin-top:4px;
}
.admin-block-preview{
    position:absolute;
    top:96px;
    right:18px;
    width:260px;
    max-width:calc(100% - 36px);
    padding:12px;
    border-radius:16px;
    background:rgba(16,24,40,.06);
    border:1px solid rgba(16,24,40,.12);
    z-index:2;
}
.blockitem{
    position:relative;
}
.admin-preview-box{
    margin-top:8px;
    border-radius:14px;
    min-height:120px;
    padding:12px;
    background:linear-gradient(135deg, rgba(21,94,239,.12), rgba(255,255,255,.85));
    overflow:hidden;
}
.admin-preview-title{
    font-weight:950;
    font-size:1.05rem;
}
.admin-preview-subtitle{
    opacity:.75;
    margin-top:5px;
}
.code-admin-block textarea{
    width:100%;
    font-family:"Courier New", monospace;
}
.maps-admin-block textarea,
.video-admin-block textarea{
    width:100%;
}
@media(max-width:1100px){
    .admin-block-preview{
        position:relative;
        top:auto;
        right:auto;
        width:auto;
        margin:12px 0;
    }
}


/* v0.4.45 Admin-Vorschau ohne Kollision + Responsive-Optimierung */
.admin-block-preview{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    width:auto!important;
    max-width:none!important;
    padding:14px!important;
    border-radius:18px!important;
    background:rgba(16,24,40,.045)!important;
    border:1px solid rgba(16,24,40,.12)!important;
    z-index:1!important;
    margin:8px 0 4px!important;
}
.admin-preview-box{
    margin-top:10px!important;
    border-radius:16px!important;
    min-height:110px!important;
    padding:16px!important;
    overflow:hidden!important;
    box-shadow:inset 0 0 0 1px rgba(16,24,40,.08)!important;
}
.admin-preview-img{
    display:block;
    max-width:180px;
    max-height:90px;
    object-fit:contain;
    margin-top:10px;
    border-radius:10px;
}
.blockitem{
    position:relative;
    overflow:visible;
}
.block-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
}
.block-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.block-actions .btn,
.block-actions button{
    min-height:44px;
}
.grid{
    align-items:start;
}
input,
select,
textarea,
button,
.btn{
    max-width:100%;
}
textarea{
    resize:vertical;
}
.thumb-list{
    max-width:100%;
    overflow:auto;
}
.thumb-list.multi{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.wrap{
    width:min(1480px, calc(100vw - 28px));
}
.card{
    overflow:visible;
}

/* Tablet */
@media(max-width:1024px){
    .wrap{
        width:min(100%, calc(100vw - 20px));
    }
    .grid{
        grid-template-columns:1fr!important;
    }
    .block-template-top{
        align-items:stretch!important;
        flex-direction:column!important;
    }
    .block-template-side{
        flex-direction:row!important;
        flex-wrap:wrap!important;
    }
    .template-prominent{
        max-width:none!important;
    }
    .block-actions{
        justify-content:flex-start;
        width:100%;
    }
}

/* Smartphone */
@media(max-width:680px){
    body{
        overflow-x:hidden;
    }
    .wrap{
        width:100%;
        padding:10px;
    }
    .card,
    .blockitem{
        border-radius:16px!important;
        padding:14px!important;
    }
    .top.card{
        padding:12px!important;
    }
    .top .nav,
    .nav{
        display:flex;
        gap:8px;
        overflow-x:auto;
        padding-bottom:4px;
        -webkit-overflow-scrolling:touch;
    }
    .top .nav a,
    .btn,
    button{
        min-height:46px;
        padding:11px 13px;
        white-space:nowrap;
    }
    .block-head h2{
        font-size:1.1rem;
        word-break:break-word;
    }
    .block-actions{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
    }
    .block-actions button{
        width:100%;
    }
    .block-template-top{
        padding:12px!important;
        border-radius:14px!important;
    }
    .template-prominent select{
        min-height:48px;
        font-size:1rem;
    }
    .active-prominent,
    .block-collapse-toggle{
        min-height:46px;
    }
    .block-template-side{
        align-items:stretch!important;
        flex-direction:column!important;
    }
    .block-template-side > *{
        width:100%;
        justify-content:center;
    }
    input[type="text"],
    input[type="url"],
    input[type="email"],
    input[type="number"],
    input:not([type]),
    select,
    textarea{
        width:100%!important;
        min-height:44px;
        font-size:16px!important;
    }
    .toolbar{
        display:flex;
        flex-wrap:wrap;
        gap:6px;
    }
    .toolbar button,
    .toolbar-field{
        flex:1 1 auto;
    }
    .wysiwyg-editor{
        min-height:180px;
    }
    .admin-block-preview{
        padding:10px!important;
    }
}


/* v0.4.46 echte Mini-Render-Vorschau */
.admin-block-preview.real-preview{
    position:relative!important;
    padding:14px!important;
    background:rgba(16,24,40,.045)!important;
    border:1px solid rgba(16,24,40,.12)!important;
    border-radius:18px!important;
    overflow:hidden!important;
}
.admin-preview-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:baseline;
    margin-bottom:10px;
}
.admin-preview-head small{
    opacity:.68;
}
.admin-preview-viewport{
    position:relative;
    width:100%;
    height:280px;
    overflow:hidden;
    border-radius:18px;
    background:#f2f4f7;
    border:1px solid rgba(16,24,40,.12);
}
.admin-preview-scale{
    width:1200px;
    min-height:720px;
    transform:scale(.28);
    transform-origin:top left;
    pointer-events:none;
}
.admin-preview-scale .block{
    min-height:520px!important;
    padding-top:70px!important;
    padding-bottom:70px!important;
}
.admin-preview-scale .site-header,
.admin-preview-scale .site-footer,
.admin-preview-scale script{
    display:none!important;
}
.admin-preview-scale .anim{
    opacity:1!important;
    transform:none!important;
}
.admin-preview-scale .inner{
    width:1040px!important;
}
.admin-preview-scale .wire-stage,
.admin-preview-scale .trailblazer-stage,
.admin-preview-scale .balls-stage-v37{
    min-height:520px!important;
}
.admin-preview-scale iframe{
    pointer-events:none!important;
}
.admin-preview-error{
    padding:18px;
    background:#7f1d1d;
    color:#fff;
    border-radius:12px;
}
@media(max-width:900px){
    .admin-preview-viewport{
        height:240px;
    }
    .admin-preview-scale{
        transform:scale(.22);
    }
}
@media(max-width:680px){
    .admin-preview-viewport{
        height:210px;
    }
    .admin-preview-scale{
        transform:scale(.18);
    }
}

.mini-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}
.mini-grid-3 label{display:grid;gap:6px}
.emergency-password-box code{display:block;margin-top:10px;padding:12px;border-radius:10px;background:#101828;color:#fff;font-size:1.12rem;word-break:break-all}
.info-box{padding:14px;border-radius:14px;background:rgba(16,24,40,.06);margin:14px 0}
@media(max-width:680px){.mini-grid-3{grid-template-columns:1fr}}

.table-scroll{overflow:auto;max-width:100%}
.admin-table code{white-space:nowrap}


/* v0.4.61 Admin-Vorschau: Scroller/Farbband sichtbar wie Frontend */
.admin-preview-scale .ticker-sine.ticker-gradient span,
.admin-preview-scale .ticker-letter-sine.ticker-gradient span,
.admin-preview-scale .ticker-jumping.ticker-gradient span{
    background:none!important;
    background-image:none!important;
    -webkit-background-clip:border-box!important;
    background-clip:border-box!important;
    opacity:1!important;
    filter:none!important;
    text-shadow:none!important;
    visibility:visible!important;
}
.admin-preview-scale .ticker-letter-sine>div{
    animation:letterSineScroll var(--letter-duration,18s) linear infinite!important;
}
.admin-preview-scale .ticker-jumping>div{
    animation:jumpingScroll var(--jump-scroll-duration,var(--jump-duration,12s)) linear infinite!important;
}
.admin-preview-scale .ticker-sine>div{
    animation:tickerSineMove var(--scroll-duration,20s) linear infinite!important;
}


/* v0.4.62 Mediatek */
.media-admin-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
    gap:16px;
}
.media-admin-card{
    display:grid;
    gap:8px;
    padding:12px;
    border:1px solid rgba(16,24,40,.12);
    border-radius:16px;
    background:rgba(255,255,255,.78);
}
.media-admin-card img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:12px;
    background:#eef2f6;
}
.media-picker{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
    gap:10px;
    margin:8px 0 14px;
}
.media-choice{
    display:grid;
    gap:6px;
    padding:8px;
    border:2px solid rgba(16,24,40,.12);
    border-radius:14px;
    cursor:pointer;
    background:#fff;
}
.media-choice:has(input:checked){
    border-color:#155eef;
    box-shadow:0 0 0 3px rgba(21,94,239,.14);
}
.media-choice input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.media-choice img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:10px;
    background:#eef2f6;
}
.media-choice span{
    font-size:12px;
    word-break:break-word;
}
.media-empty{
    min-height:92px;
    place-items:center;
    text-align:center;
}
@media(max-width:680px){
    .media-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v0.4.64 Mediatek Modal-Auswahl */
.media-picker-compact{
    display:grid;
    gap:10px;
    margin:8px 0 14px;
}
.media-selected-preview{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    min-height:54px;
    padding:10px;
    border:1px dashed rgba(16,24,40,.22);
    border-radius:14px;
    background:rgba(255,255,255,.68);
}
.media-selected-thumb{
    display:grid;
    gap:4px;
    width:96px;
}
.media-selected-thumb img{
    width:96px;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:10px;
    background:#eef2f6;
}
.media-selected-thumb small{
    font-size:11px;
    overflow:hidden;
    text-overflow:ellipsis;
}
.media-modal[hidden]{
    display:none!important;
}
.media-modal{
    position:fixed;
    inset:0;
    z-index:99999;
}
.media-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(2,6,23,.68);
    backdrop-filter:blur(4px);
}
.media-modal-panel{
    position:relative;
    width:min(1120px, calc(100vw - 28px));
    max-height:calc(100vh - 36px);
    margin:18px auto;
    overflow:auto;
    padding:18px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 28px 90px rgba(0,0,0,.34);
}
.media-modal-head,
.media-modal-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    position:sticky;
    background:#fff;
    z-index:2;
}
.media-modal-head{
    top:0;
    padding-bottom:12px;
}
.media-modal-actions{
    bottom:0;
    padding-top:12px;
    justify-content:flex-end;
}
.media-modal-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
    gap:12px;
}
.media-modal-choice{
    display:grid;
    gap:7px;
    text-align:left;
    border:2px solid rgba(16,24,40,.12);
    border-radius:16px;
    padding:8px;
    background:#fff;
    cursor:pointer;
}
.media-modal-choice.is-selected{
    border-color:#155eef;
    box-shadow:0 0 0 4px rgba(21,94,239,.14);
}
.media-modal-choice img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:12px;
    background:#eef2f6;
}
.media-modal-choice span{
    font-size:12px;
    word-break:break-word;
}
@media(max-width:680px){
    .media-modal-panel{
        width:calc(100vw - 16px);
        margin:8px auto;
        max-height:calc(100vh - 16px);
        border-radius:16px;
        padding:12px;
    }
    .media-modal-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


/* v0.4.65 Vorlagewechsel-Hinweis */
.template-reset-note{
    margin:10px 0;
    padding:12px 14px;
    border-radius:14px;
    background:#fff7ed;
    color:#9a3412;
    border:1px solid #fed7aa;
    font-weight:800;
}


/* v0.4.66 klare Trennung Inhaltsbild vs. Hintergrundbild */
.media-role-content-image,
.media-role-multiple-images,
.media-role-background-image{
    border:1px solid rgba(21,94,239,.18);
    border-radius:18px;
    padding:14px;
    background:rgba(21,94,239,.045);
}
.media-role-background-image{
    border-color:rgba(148,163,184,.35);
    background:rgba(148,163,184,.08);
}
.media-role-content-image h3,
.media-role-multiple-images h3,
.media-role-background-image h3{
    margin:0 0 6px;
}


/* v0.4.67 Texte je Bild bei Spalten-Bildern */
.image-column-text-admin{
    margin-top:16px;
    display:grid;
    gap:12px;
    padding:12px;
    border-radius:16px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(16,24,40,.10);
}
.image-column-text-row{
    display:grid;
    grid-template-columns:92px minmax(160px, 220px) 1fr;
    gap:10px;
    align-items:center;
}
.image-column-text-thumb{
    width:92px;
    aspect-ratio:4/3;
    border-radius:12px;
    background:#eef2f6;
    display:grid;
    place-items:center;
    overflow:hidden;
    color:#667085;
    font-size:12px;
}
.image-column-text-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.image-column-text-row textarea{
    width:100%;
}
@media(max-width:820px){
    .image-column-text-row{
        grid-template-columns:1fr;
    }
    .image-column-text-thumb{
        width:100%;
        max-width:220px;
    }
}


/* v0.4.70 Mediatek-Bilder immer in Rahmen einpassen */
.media-admin-card{
    overflow:hidden;
}
.media-admin-card img,
.media-choice img,
.media-modal-choice img,
.media-selected-thumb img{
    display:block!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#eef2f6!important;
}
.media-admin-card img{
    height:160px!important;
    aspect-ratio:auto!important;
}
.media-choice img,
.media-modal-choice img{
    height:120px!important;
    aspect-ratio:auto!important;
}
.media-selected-thumb img{
    width:96px!important;
    height:72px!important;
}
.media-admin-card strong,
.media-admin-card small{
    min-width:0;
    overflow-wrap:anywhere;
}

.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.dashboard-actions .btn{text-decoration:none}

.admin-table select{min-width:150px}.dashboard-actions form{display:inline-flex;margin:0}

.analysis-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.analysis-score-card{padding:18px;border:1px solid rgba(16,24,40,.12);border-radius:18px;background:#fff}
.score-circle{width:104px;height:104px;border-radius:999px;display:grid;place-items:center;font-size:34px;font-weight:950;background:#eef4ff;color:#155eef;margin:12px 0}
.ana-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-weight:800;font-size:12px}
.warn-soft{background:#fff7ed;color:#9a3412}
.success-soft{background:#ecfdf3;color:#027a48}

.score-pie{
    --score:0;
    --pie-color:#155eef;
    width:132px;
    height:132px;
    border-radius:50%;
    display:grid;
    place-items:center;
    margin:12px 0;
    background:conic-gradient(var(--pie-color) calc(var(--score)*1%), #e4e7ec 0);
    position:relative;
}
.score-pie::after{
    content:"";
    position:absolute;
    inset:14px;
    border-radius:50%;
    background:#fff;
}
.score-pie span{
    position:relative;
    z-index:1;
    font-size:30px;
    font-weight:950;
}
.score-pie.good{--pie-color:#12b76a}
.score-pie.mid{--pie-color:#f79009}
.score-pie.bad{--pie-color:#d92d20}
.btn.mini{padding:6px 9px;font-size:12px}


/* v0.4.78 Analysis responsive visuals */
.score-visual{
    display:grid;
    gap:12px;
    align-items:center;
}
.score-bar-wrap{
    width:100%;
    max-width:360px;
}
.score-bar{
    position:relative;
    height:18px;
    border-radius:999px;
    background:linear-gradient(90deg,#d92d20 0%,#f79009 52%,#12b76a 100%);
    box-shadow:inset 0 0 0 1px rgba(16,24,40,.18);
}
.score-marker{
    position:absolute;
    top:50%;
    width:16px;
    height:28px;
    border-radius:8px;
    background:#101828;
    border:3px solid #fff;
    box-shadow:0 4px 12px rgba(0,0,0,.24);
    transform:translateY(-50%);
}
.score-bar-labels{
    display:flex;
    justify-content:space-between;
    font-size:12px;
    color:#667085;
    margin-top:5px;
}
.analysis-score-card{
    display:grid;
    align-content:start;
}
@media(max-width:760px){
    .analysis-score-grid{
        grid-template-columns:1fr!important;
    }
    .score-visual{
        grid-template-columns:120px 1fr;
    }
    .score-visual p{
        grid-column:1 / -1;
    }
    .score-pie{
        width:112px;
        height:112px;
    }
    .admin-table{
        font-size:13px;
    }
}
@media(max-width:520px){
    .score-visual{
        grid-template-columns:1fr;
    }
    .score-pie{
        margin-inline:auto;
    }
}


/* v0.4.79 robuste Analyse-Grafiken */
.score-pie{
    background:conic-gradient(var(--pie-color) 0 var(--score-deg,0deg), #e4e7ec var(--score-deg,0deg) 360deg)!important;
}
.score-marker{
    left:clamp(0px, var(--score-left,0%), calc(100% - 16px))!important;
}
.analysis-metric-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:12px;
}
.analysis-metric-grid > div{
    padding:14px;
    border:1px solid rgba(16,24,40,.12);
    border-radius:16px;
    background:#fff;
    display:grid;
    gap:5px;
}
.analysis-metric-grid strong{
    color:#344054;
}
.analysis-metric-grid span{
    font-size:22px;
    font-weight:900;
    color:#155eef;
}
@media(max-width:680px){
    .analysis-metric-grid{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:460px){
    .analysis-metric-grid{
        grid-template-columns:1fr;
    }
}


/* v0.4.80 Analyse-Grafiken als echte SVG, unabhängig von CSS-Gradient-Support */
.score-svg-wrap{
    width:132px;
    height:132px;
    display:grid;
    place-items:center;
    margin:10px 0;
}
.score-svg{
    width:132px;
    height:132px;
    display:block;
}
.score-bar-svg{
    width:100%;
    max-width:360px;
    height:42px;
}
.score-bar-svg svg{
    width:100%;
    height:42px;
    display:block;
}

.range-label-row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    font-size:13px;
    font-weight:800;
    color:#344054;
    margin:6px 0 4px;
}
@media(max-width:560px){
    .range-label-row{
        font-size:12px;
        flex-direction:column;
        gap:2px;
    }
}

.path-cell{
    max-width:260px;
    overflow-wrap:anywhere;
    font-size:12px;
}
.table-scroll{
    width:100%;
    overflow:auto;
}

.image-compare-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:16px;
}
.image-compare-card{
    border:1px solid rgba(16,24,40,.12);
    border-radius:18px;
    padding:14px;
    background:#fff;
    display:grid;
    gap:10px;
}
.image-compare-card h3{
    margin:0;
    font-size:16px;
}
.image-compare-pair{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.image-compare-pair > div{
    display:grid;
    gap:6px;
    padding:8px;
    border-radius:14px;
    background:#f8fafc;
    min-width:0;
}
.image-compare-pair img{
    width:100%;
    height:150px;
    object-fit:contain;
    background:#eef2f6;
    border-radius:10px;
}
.image-compare-pair small{
    font-size:12px;
    color:#667085;
}
@media(max-width:560px){
    .image-compare-grid{
        grid-template-columns:1fr;
    }
    .image-compare-pair{
        grid-template-columns:1fr;
    }
}

/* v0.4.87 FAQ admin */
.faq-admin-panel{
    grid-column:1/-1;
    border:1px solid rgba(21,94,239,.18);
    border-radius:18px;
    padding:16px;
    background:rgba(21,94,239,.045);
    display:grid;
    gap:14px;
}
.faq-admin-item{
    border:1px solid rgba(16,24,40,.12);
    border-radius:16px;
    padding:14px;
    background:#fff;
    display:grid;
    gap:10px;
}
.faq-admin-item h4{
    margin:0;
}
.check-row{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
.check-row label{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    font-weight:700;
}
@media(max-width:760px){
    .check-row{
        display:grid;
        grid-template-columns:1fr;
    }
}

.faq-flag-help{
    grid-column:1/-1;
    background:#f8fafc;
    border-radius:12px;
    padding:10px 12px;
}

/* v0.4.90 Galerie / Long Text Admin */
.gallery-admin-panel,
.longtext-admin-panel{
    grid-column:1/-1;
    border:1px solid rgba(16,24,40,.12);
    border-radius:18px;
    padding:16px;
    background:#fff;
    display:grid;
    gap:14px;
}
.gallery-admin-panel h3,
.longtext-admin-panel h3{
    margin:0;
}

.media-rename-form{
    display:grid;
    gap:6px;
    margin-top:8px;
}
.media-rename-form input{
    width:100%;
}

/* v0.4.92 Galerie Admin: Text direkt unter Bild */
.gallery-image-admin-panel{
    grid-column:1/-1;
}
.gallery-admin-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;
}
.gallery-admin-card{
    border:1px solid rgba(16,24,40,.14);
    border-radius:16px;
    background:#fff;
    padding:12px;
    display:grid;
    gap:9px;
}
.gallery-admin-card img{
    width:100%;
    height:150px;
    object-fit:contain;
    background:#eef2f6;
    border-radius:12px;
}
.gallery-admin-placeholder{
    height:150px;
    display:grid;
    place-items:center;
    border:1px dashed rgba(16,24,40,.25);
    border-radius:12px;
    color:#667085;
    background:#f8fafc;
    text-align:center;
    padding:10px;
}
.gallery-admin-card textarea{
    width:100%;
}

/* v0.4.94 SEO/GEO analysis status + current text */
.status-badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px}
.status-ok{background:#ecfdf3;color:#027a48}
.status-bad{background:#fef3f2;color:#b42318}
.analysis-current-text{margin-top:10px;padding:10px 12px;border-left:4px solid #d92d20;background:#fff1f3;color:#b42318;border-radius:10px;font-weight:700}
.link-rel-options{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.link-rel-options label{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;background:#f8fafc;border:1px solid rgba(16,24,40,.12);border-radius:999px;padding:5px 8px}

/* v0.4.95 Analysis layout containment */
.analysis-table{
    table-layout:fixed;
    width:100%;
}
.analysis-table th,
.analysis-table td,
.admin-table th,
.admin-table td{
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word;
    vertical-align:top;
}
.analysis-table td:nth-child(5){
    min-width:260px;
}
.analysis-current-text{
    max-width:100%;
    overflow:auto;
    white-space:pre-wrap;
}
.table-scroll{
    width:100%;
    max-width:100%;
    overflow-x:auto;
}
.card{
    max-width:100%;
}
@media(max-width:900px){
    .analysis-table{
        min-width:760px;
    }
}

/* v0.4.95 Login captcha/hardening UI */
.captcha-box{display:grid;gap:8px;margin:12px 0}
.captcha-graphic{
    width:100%;
    min-height:74px;
    display:grid;
    place-items:center;
    font-size:30px;
    font-weight:950;
    letter-spacing:4px;
    color:#101828;
    border-radius:16px;
    background:
        radial-gradient(circle at 20% 25%, rgba(21,94,239,.18), transparent 28%),
        radial-gradient(circle at 70% 70%, rgba(180,35,24,.16), transparent 30%),
        repeating-linear-gradient(35deg, #eef4ff 0 8px, #fff 8px 16px);
    border:1px solid rgba(16,24,40,.16);
    user-select:none;
}
button:disabled,input:disabled{opacity:.55;cursor:not-allowed}

.media-filter-form{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.media-filter-form input{min-width:220px}

.wysiwyg-toolbar [data-clear-format]{background:#fff1f3;border-color:#fecdca;color:#b42318;font-weight:900}

/* v0.5.6 Mediatek Bild drehen/beschneiden */
.media-edit-tools{
    margin-top:10px;
    padding:10px;
    border:1px solid rgba(16,24,40,.12);
    border-radius:14px;
    background:#f8fafc;
    display:grid;
    gap:10px;
}
.media-edit-tools h4{
    margin:0;
}
.media-inline-tools,
.media-crop-form{
    display:grid;
    gap:8px;
}
.media-crop-form .mini-grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}
.media-crop-form input,
.media-inline-tools select{
    width:100%;
}
.media-edit-selected-link{
    margin-left:6px;
}
@media(max-width:560px){
    .media-crop-form .mini-grid-2{
        grid-template-columns:1fr;
    }
    .media-edit-selected-link{
        margin-left:0;
        margin-top:6px;
    }
}

/* v0.5.7 Rahmen-Option im Blockeditor */
.block-frame-admin{
    border:1px solid rgba(16,24,40,.12);
    background:#f8fafc;
    border-radius:16px;
    padding:14px;
    display:grid;
    gap:10px;
}
.block-frame-admin h3{
    margin:0;
}
.mini-grid-4{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:10px;
}

.media-color-form{
    display:grid;
    gap:8px;
    padding-top:8px;
    border-top:1px solid rgba(16,24,40,.12);
}
.media-color-form h4{
    margin:0;
}
.media-color-form label{
    display:grid;
    gap:4px;
}


/* v0.5.9 Mediatek Live-Editor */
.media-editor-toggle{margin-top:8px}
.media-editor-panel{margin-top:12px;padding:14px;border:1px solid rgba(16,24,40,.12);border-radius:16px;background:#f8fafc;display:grid;gap:12px}
.media-preview-wrap{display:grid;gap:10px}
.media-preview-stage{display:grid;place-items:center;background:#fff;border:1px solid rgba(16,24,40,.12);border-radius:14px;min-height:260px;padding:10px;overflow:hidden}
.media-preview-canvas{max-width:100%;height:auto;border-radius:10px;background:#fff}
.media-editor-form{display:grid;gap:10px}
.media-editor-actions{display:flex;gap:8px;flex-wrap:wrap}
.media-rgb-grid label,.mini-grid-2 label,.mini-grid-4 label{display:grid;gap:4px}
@media(max-width:700px){.media-preview-stage{min-height:220px}.media-editor-actions{grid-template-columns:1fr;display:grid}}

/* v0.6.0 Mediatek: eigenes Bildbearbeitungsfenster */
.media-admin-card img{
    width:100%;
    max-height:210px;
    object-fit:contain;
    background:#f8fafc;
    border-radius:12px;
}
.media-edit-window{
    max-width:1480px;
}
.media-editor-full{
    display:grid;
    grid-template-columns:minmax(420px,1.35fr) minmax(320px,.65fr);
    gap:18px;
    align-items:start;
}
.media-preview-stage-large{
    min-height:calc(100vh - 220px);
    display:grid;
    place-items:center;
    background:#f8fafc;
    border:1px solid rgba(16,24,40,.12);
    border-radius:18px;
    padding:14px;
    overflow:hidden;
}
.media-preview-canvas{
    max-width:100%;
    width:100%;
    height:auto;
    background:#fff;
    border-radius:14px;
    box-shadow:0 14px 38px rgba(16,24,40,.10);
}
.media-editor-form{
    display:grid;
    gap:12px;
    position:sticky;
    top:18px;
}
.media-editor-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.mini-grid-3{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:10px;
}
@media(max-width:980px){
    .media-editor-full{
        grid-template-columns:1fr;
    }
    .media-preview-stage-large{
        min-height:360px;
    }
    .media-editor-form{
        position:static;
    }
}


/* v0.6.5 Medieneditor: Skalierung, Komprimierung, Live-Schätzung */
.media-estimate-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:8px 0 2px;
}
.media-estimate-box{
    border:1px solid rgba(16,24,40,.12);
    border-radius:16px;
    background:#f8fafc;
    padding:14px;
    display:grid;
    gap:6px;
}
.media-estimate-box strong{font-size:15px}
.media-editor-form small.muted{display:block;margin-top:6px;line-height:1.4}
@media(max-width:760px){
    .media-estimate-grid{grid-template-columns:1fr}
}

/* v0.6.6 Bildauswahl: Auflösung und Dateigröße */
.media-meta{
    display:block;
    color:#667085;
    font-size:12px;
    font-weight:700;
    line-height:1.35;
    margin-top:3px;
}
.media-selected-thumb{
    display:inline-grid;
    gap:4px;
    align-items:start;
}
.media-selected-thumb img{
    width:96px;
    height:72px;
    object-fit:contain;
    background:#f8fafc;
    border:1px solid rgba(16,24,40,.10);
    border-radius:10px;
}
.media-modal-choice .media-meta{
    color:#475467;
    padding:0 8px 8px;
}
.media-modal-choice span{
    display:block;
    padding:6px 8px 0;
}


/* v0.6.7 WebP-Vorschaubilder in Pickern/Blockvorschauen */
.thumb-list.multi{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.thumb-card{
    display:inline-grid;
    gap:6px;
    align-items:start;
}
.thumb-card small{
    display:block;
    max-width:140px;
    color:#667085;
}
