
body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:#f3f1eb;
    color:#222;
}

.wrap{
    max-width:1050px;
    margin:50px auto;
    padding:0 22px;
}

.panel{
    background:#fff;
    padding:28px;
    border:1px solid #ddd8cd;
}

h1{font-weight:500}

.top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-bottom:24px;
}

.btn,
button{
    display:inline-block;
    border:1px solid #bbb;
    background:#fff;
    padding:9px 13px;
    text-decoration:none;
    color:#222;
    cursor:pointer;
    border-radius:4px;
}

.btn.primary,
button.primary{
    background:#222;
    color:#fff;
    border-color:#222;
}

label{
    display:block;
    font-weight:600;
    font-size:13px;
    margin:18px 0 6px;
}

input[type=text],
input[type=password],
input[type=number],
textarea{
    width:100%;
    box-sizing:border-box;
    padding:10px;
    border:1px solid #bbb;
    background:#fff;
    font:inherit;
}

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

table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
}

th,td{
    text-align:left;
    padding:12px;
    border-bottom:1px solid #ddd;
    font-size:14px;
}

.msg{
    padding:10px 12px;
    background:#eef3ea;
    border:1px solid #cbd8c2;
    margin-bottom:18px;
}

.err{
    padding:10px 12px;
    background:#f8eeee;
    border:1px solid #e0c3c3;
    margin-bottom:18px;
}

.small{
    font-size:13px;
    color:#666;
}

.actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

/* ---------- WYSIWYG EDITOR ---------- */

.editor-shell{
    border:1px solid #bdb9b0;
    background:#fff;
}

.editor-toolbar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:5px;
    padding:8px;
    border-bottom:1px solid #d7d3ca;
    background:#f7f5f0;
    position:sticky;
    top:0;
    z-index:5;
}

.editor-toolbar .tool{
    margin:0;
    min-height:34px;
    padding:6px 10px;
    border:1px solid transparent;
    background:transparent;
    border-radius:4px;
    font-size:13px;
}

.editor-toolbar .tool:hover{
    background:#fff;
    border-color:#c8c3ba;
}

.editor-toolbar .tool.active{
    background:#222;
    color:#fff;
}

.tool-separator{
    width:1px;
    height:23px;
    background:#d3cec4;
    margin:0 3px;
}

.toolbar-spacer{
    flex:1 1 auto;
}

.wysiwyg{
    min-height:520px;
    padding:28px 32px;
    outline:none;
    font-family:Georgia,serif;
    font-size:18px;
    line-height:1.8;
    color:#333;
}

.wysiwyg p{
    margin:0 0 1.2em;
}

.wysiwyg h2{
    margin:2em 0 .65em;
    font-size:26px;
    font-weight:400;
}

.wysiwyg blockquote{
    margin:1.6em 0;
    padding-left:20px;
    border-left:2px solid #aaa;
    color:#555;
    font-style:italic;
}

.wysiwyg ul,
.wysiwyg ol{
    margin:1em 0 1.4em 1.8em;
}

.wysiwyg .divider{
    margin:2.2em 0;
    text-align:center;
    color:#999;
    letter-spacing:.3em;
}

.html-editor{
    display:none;
    min-height:520px;
    border:0;
    resize:vertical;
    padding:24px;
    outline:none;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:14px;
    line-height:1.55;
    background:#1f1f1f;
    color:#eee;
}

.editor-help{
    margin-top:8px;
}

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

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

    .wysiwyg{
        min-height:420px;
        padding:20px 18px;
        font-size:17px;
    }

    .editor-toolbar{
        position:static;
    }

    .toolbar-spacer{
        display:none;
    }
}

/* Besucherstatistik */
.stats-panel{
    margin:24px 0 28px;
    padding:22px;
    border:1px solid #ddd;
    border-radius:12px;
    background:#fafafa;
}
.stats-panel h2{
    margin:0 0 16px;
    font-size:18px;
    font-weight:500;
}
.stats-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px;
}
.stat{
    padding:15px 12px;
    border:1px solid #e3e3e3;
    border-radius:9px;
    background:#fff;
}
.stat span{
    display:block;
    color:#777;
    font-size:11px;
    margin-bottom:7px;
}
.stat strong{
    font-size:24px;
    font-weight:500;
}
@media(max-width:760px){
    .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

